《可行性报告-2 可行性研究.ppt》由会员分享,可在线阅读,更多相关《可行性报告-2 可行性研究.ppt(45页珍藏版)》请在第一文库网上搜索。
1、2022-8-221第二章 可行性研究软件工程(Software Engineering)2022-8-222第二章可行性研究第二章可行性研究(1)了解可行性研究的任务、过程;)了解可行性研究的任务、过程;(2)掌握系统流程图、数据流图和数据)掌握系统流程图、数据流图和数据字典等工具的使用;字典等工具的使用;(3)会对软件项目做成本效益分析;)会对软件项目做成本效益分析;2022-8-223开发软件要回答三个问题 Why to do? 可行性研究 What to do?需求分析 How to do? 系统设计2022-8-224可行性研究的任务回答是否可行回答是否可行最短时间最小代价目标目标
2、可行性(可行性(feasibility)研究是探讨在)研究是探讨在定义阶段所确定的问题定义阶段所确定的问题是否有可行的是否有可行的解。通过定义和分析问题,最终提出一个符合系统目标的高层次逻辑模型解。通过定义和分析问题,最终提出一个符合系统目标的高层次逻辑模型(Logical Model)。三个方面的可行性三个方面的可行性技术可行性:使用现有的技术能否实现这个系统使用现有的技术能否实现这个系统 。经济可行性:从成本和经济效益考虑是否值得开发从成本和经济效益考虑是否值得开发 。操作可行性:系统的操作方式对用户是否可行。系统的操作方式对用户是否可行。可行性研究的成本约占总成本的可行性研究的成本约占总
3、成本的5%10%。2022-8-225可行性研究可行性研究可行性研究的任务可行性研究的任务用最小的代价在尽可能短的时间内确定问题是否能够解决。问题定义 可行性可行性研究研究问题定义 正确 ?问题定义阶段审查审查系系 统统 的的逻辑模型逻辑模型技术可行性经济可行性操作可行性实实 际际 的的物理系统物理系统否是系统实现方案若干 可行性研究需要的时间长短取决于工程的规模,一般来说,其成本只能占预期的工程总成本的5%10%.可行性研究可行性研究的结论的结论可行性研究阶段任务可行性研究阶段任务(示意图示意图)2022-8-226可行性研究的步骤复查系统的规模和目标研究现正在 使用的系统新系统的高层逻辑模
4、型重新定义问题 导出和评价 供选择的解法推荐行动方针草拟开发计划书写文档提交审查用户分析员是否符合系统目标 逻辑模型逻辑模型表达了系统表达了系统分析员对新系统必须作什分析员对新系统必须作什么工作、完成什么任务的么工作、完成什么任务的理解理解.1. 是否继续该工程的开发的建议是否继续该工程的开发的建议2. 所选择解决方案的解法的说明所选择解决方案的解法的说明3. 比较仔细的成本比较仔细的成本/效益分析效益分析2022-8-227系统流程图系统流程图系统流程图:描绘物理系统的工具,其基本思想是用图形符号以黑盒子形式描绘系统流程图:描绘物理系统的工具,其基本思想是用图形符号以黑盒子形式描绘 系统里面
5、的每个部件(程序、文件、数据库、表格、人工过程等)系统里面的每个部件(程序、文件、数据库、表格、人工过程等), 表达的是信息在系统各部件之间流动的情况。表达的是信息在系统各部件之间流动的情况。常用符号处理输入/输出连接换页连接数据流文档磁带联机存储磁盘显示人工输入 人工操作例子事务库存清单程序定货信息报告生成程序定货报告库存清单主文件2022-8-228系统流程图举例 问题描述:一仓库存储各种零件,仓库管理员每日要对零件的数量进行实时更新,若某种零件的数量少于某个值(库存量临界值)则应产生订货报告,规定每天向采购部送一张订货报表。 系统处理描述: 由终端将零件数量的变化输入到计算机中,程序1处
6、理该变化并存储新的数据值,程序2生成订货信息,形成订货报告。2022-8-229系统流程图举例事务事务库存清单程序库存清单程序定货定货信息信息报告生成程序报告生成程序定货报告定货报告库存清单库存清单主文件主文件2022-8-2210数据流图 数据流图数据流图(Data Flow Diagram)(Data Flow Diagram)是是一种图形化技术,描绘信息流和数据一种图形化技术,描绘信息流和数据从输入移动到输出的过程中所经历的从输入移动到输出的过程中所经历的变换,是系统的逻辑模型,可不考虑变换,是系统的逻辑模型,可不考虑具体的处理细节。具体的处理细节。 前一页数据流图容易理解,是分析员和用
7、户之间很好的通信工具。2022-8-2211数据流图的符号数据源点数据源点(source)/(source)/终点终点(sink) (sink) 变换数据的处理变换数据的处理(process) (process) 数据存储数据存储 (data store)(data store)数据流数据流(data flow)(data flow) 前一页 表示数据流之间是表示数据流之间是“与与”关系;关系;+ 表示表示“或或”关系;关系; 表示只能从中选一个。表示只能从中选一个。2022-8-2212n有时数据的源点和终点相同再重复画一个同样的符号(正方形或立方体)表示数据的终点。n有时数据存储也需要重复
8、,以增加数据流图的清晰程度。n为了避免可能引起的误解,如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画(n-1)条短斜线做标记。2022-8-2213数据流图的绘制 步骤:分析问题,找出源点或终点,处理,数据存储和数据流;画出包含数据源点/终点以及处理的基本系统模型,如图2.5;把基本系统模型细化,描绘系统的主要功能,即产生功能级数据流图;对功能级数据流图中描绘的系统细化。2022-8-2214 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价
9、格,主要供应者,次要供应者。 零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。例子2022-8-2215 数据流图有4种成分:源点或终点,处理,数据存储和数据流。 第一步可以从问题描述中提取数据流图的4种成分: u首先首先考虑数据的源点和终点源点和终点,从上面对系统的描述可以知道“采购部每天需要一张定货报表”,“通过放在仓库中的CRT终端把事务报告给定货系统”,所以采购员是数据终点,而仓库管理员是数据源点。u接下来考虑处理,接下来考虑处理,再一次阅读问题描述,“采购部需要报表”,显然他们还没有这种报表,因此必须有一个
10、用于产生报表的处理。事务的后果是改变零件库存量,然而任何改变数据的操作都是处理,因此对事务进行的加工是另一个处理。u最后,考虑数据流和数据存储最后,考虑数据流和数据存储:系统把定货报表送给采购部,因此定货报表是一个数据流;事务需要从仓库送到系统中,显然事务是另一个数据流。产生报表和处理事务这两个处理在时间上明显不匹配每当有一个事务发生时立即处理它,然而每天只产生一次定货报表。因此,用来产生定货报表的数据必须存放一段时间,也就是应该有一个数据存储2022-8-2216定货系统的基本系统模型2022-8-2217 从基本系统模型这样非常高的层次开始画数据流图是一个好办法。在这个高层次的数据流图上是
11、否列出了所有给定的数据源点/终点是一目了然的,因此它是很有价值的通信工具。2022-8-2218u两个数据存储:处理事务需要“库存清单”数据;产生报表和处理事务在不同时间,因此需要存储“定货信息”。u另外两个数据流,它们与数据存储相同。这是因为从一个数据存储中取出来的或放进去的数据通常和原来存储的数据相同,也就是说,数据存储和数据流只不过是同样数据的两种不同形式。u在图中给处理和数据存储都加了编号,这样做的目的是便于引用和追踪。2022-8-2219定货系统的功能级数据流图2022-8-2220数据流图的绘制 接下来应该对功能级数据流图中描绘的系统主要功能进接下来应该对功能级数据流图中描绘的系
12、统主要功能进一步细化。一步细化。 注意:分层细化时必须保持信息连续性对处理进行编号的方法2022-8-2221把处理事务的功能进一步分解后的数据流图2022-8-2222 面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。分层2022-8-2223数据流图的分量命名为数据流(或数据存储)命名名字名字(name)(name)应代表整个数据流应代表整个数据流的内容。的内容。不要空洞、
13、泛指,要有具体含不要空洞、泛指,要有具体含 义。义。如果对某个数据流命名有困难如果对某个数据流命名有困难 时,尝试重新分解。时,尝试重新分解。 前一页2022-8-2224数据流图的分量命名为处理命名 通常应先为数据流命名再为与之相关的通常应先为数据流命名再为与之相关的处理命名处理命名 。名字应反映整个处理的功能而不是一部名字应反映整个处理的功能而不是一部分。分。名字最好由一个具体的及物动词和一个名字最好由一个具体的及物动词和一个具体的宾语组成,如产生报表等。具体的宾语组成,如产生报表等。通常名字中只包括一个动词。通常名字中只包括一个动词。如果对某个处理命名有困难时,应重新如果对某个处理命名有
14、困难时,应重新分解分解 。前一页2022-8-2225数据流图的分量命名 为数据源点/终点命名时采用它们在问题中习惯使用的名字即可,如采购员等。为数据源点/终点命名2022-8-2226数据流图的用途1、画数据流图的画数据流图的基本目的基本目的是交流信息。是交流信息。该种描绘方法简单清析,可提供有关人该种描绘方法简单清析,可提供有关人员讨论、审查,也是分析设计的重要工员讨论、审查,也是分析设计的重要工具。具。 前一页2022-8-2227数据流图的用途注意:在一张数据流程图上描述的处理超过注意:在一张数据流程图上描述的处理超过了了59个,就比较难于理解,应分层个,就比较难于理解,应分层细化处理
15、细化处理 。如图如图2.62.6和图和图2.72.7:图图2.62.6描绘出系统的两个处理:处理事务和描绘出系统的两个处理:处理事务和产生报表产生报表图图2.72.7将处理事务的功能进一步分解将处理事务的功能进一步分解2022-8-22282、数据流图的另一个主要用途是作为分析和设计的工具。 当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。2022-8-2229处理定货 以批量方式更新库存清单 前一页2022-8-2230应应用用举举例例12更新库存
16、清单以联机方式更新库存清单 前一页2022-8-2231数据字典数据字典 数据字典数据字典(Data Dictionary)(Data Dictionary)是是数据的信息的集合,即对数据流图数据的信息的集合,即对数据流图中包含的所有元素中包含的所有元素(element)(element)的定的定义的集合。义的集合。 数据字典的作用是为设计人员数据字典的作用是为设计人员提供关于数据的描述信息。提供关于数据的描述信息。前一页2022-8-2232数据字典的内容数据字典的内容 数据字典应由对下列四类元素的定义数据字典应由对下列四类元素的定义组成。对于数据处理的定义,用组成。对于数据处理的定义,用IPO(Input IPO(Input Process Output)Process Output)、PDLPDL(Process Design Process Design Language)Language)等更方便等更方便 。数据流数据流 数据流分量数据流分量数据存储数据存储 处理处理前一页数据字典2022-8-2233数据字典 一般信息:一般信息:名字、别名、描述等。名字、别名、描述等。 定