软件工程导论-可行性研究.pptx
《软件工程导论-可行性研究.pptx》由会员分享,可在线阅读,更多相关《软件工程导论-可行性研究.pptx(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程导论Software Engineering主讲:张虎主讲:张虎E-mail:1Chap02 Chap02 可行性研究可行性研究v可行性研究的任务可行性研究的任务v可行性研究过程可行性研究过程v系统流程图系统流程图v数据流图数据流图v数据字典数据字典(内容、方法、用途、实现)(内容、方法、用途、实现)v成本成本/效益分析效益分析(成本估计、分析方法)(成本估计、分析方法)可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究的目的不是解决问题,而是确定问题是否值得去解。解决;可行性研究的目的不
2、是解决问题,而是确定问题是否值得去解。22.1 2.1 可行性研究的任务可行性研究的任务u可行性研究实质上是要进行一次大大压缩简化了的系统分析可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程:系统分析和设计的过程:p 分析和澄清问题定义分析和澄清问题定义p 导出系统的逻辑模型探索系统实现方案:导出系统的逻辑模型探索系统实现方案:技术可行性:现有的技术技术可行性:现有的技术 经济可行性:开发成本经济可行性:开发成本 操作可行性:用户操作操作可行性:用户操作p实现进度实现
3、进度p可行性研究的成本:预期的工程总成本的可行性研究的成本:预期的工程总成本的51032.2 2.2 可行性研究的步骤可行性研究的步骤1.1.复查系统规模和目标复查系统规模和目标 2.2.研究目前正在使用的系统研究目前正在使用的系统3.3.导出新系统的高层逻辑模型导出新系统的高层逻辑模型4.4.重新定义问题重新定义问题5.5.导出和评价供选择的解法导出和评价供选择的解法6.6.推荐行动方针推荐行动方针7.7.草拟开发计划草拟开发计划8.8.书写文档提交审查书写文档提交审查4复查系统规模和目标复查系统规模和目标v对问题定义阶段书写的关于规模和目标的报告书进一步复查对问题定义阶段书写的关于规模和目
4、标的报告书进一步复查确认。改正报告书中的叙述模糊、不正确的地方。这个步骤确认。改正报告书中的叙述模糊、不正确的地方。这个步骤的工作,的工作,实质上是为了确保分析员正在解决的问题确实是要实质上是为了确保分析员正在解决的问题确实是要求他解决的问题求他解决的问题。进一步复查确认进一步复查确认进一步复查确认进一步复查确认“规模和目标报告书规模和目标报告书规模和目标报告书规模和目标报告书”5研究目前正在使用的系统研究目前正在使用的系统正在使用的系统的基本功能以及某些缺点正在使用的系统的基本功能以及某些缺点分析现有系统的文档资料和使用手册,实地考分析现有系统的文档资料和使用手册,实地考察现有系统察现有系统
5、描绘现有系统的高层系统流程图并确认描绘现有系统的高层系统流程图并确认记录现有系统的接口记录现有系统的接口6导出新系统的高层逻辑模型导出新系统的高层逻辑模型v设计过程通常总是从设计过程通常总是从现有的物理系统现有的物理系统出发,再参考现有系统出发,再参考现有系统的逻辑模型,设想的逻辑模型,设想目标系统的逻辑模型目标系统的逻辑模型,最后根据目标系统,最后根据目标系统的逻辑模型建造的逻辑模型建造新的物理系统新的物理系统。v使用使用数据流图数据流图,描绘数据在系统中流动和处理的情况,从而,描绘数据在系统中流动和处理的情况,从而概括地表达出对新系统的设想。概括地表达出对新系统的设想。v通常为了把新系统描
6、绘得更清晰准确,还应该有一个初步的通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据。数据字典,定义系统中使用的数据。v数据流图和数据字典共同定义了新系统的逻辑模型,以后可数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。以从这个逻辑模型出发设计新系统。7重新定义问题重新定义问题v分析员应该和用户一起再次复查问题定义、工程规模和目标,分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。这次复查应该把数据流图和数据字典作为讨论的基础。v可行性研究的前四个步骤实质上构成一个循环。可行
7、性研究的前四个步骤实质上构成一个循环。定义问题定义问题分析问题分析问题导出一个试探性的解导出一个试探性的解重新定义问题重新定义问题符合系统目标?符合系统目标?YN8导出和评价供选择的解法导出和评价供选择的解法v分析员应该从他建议的系统逻辑模型出发,导出若干个较高分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。层次的(较抽象的)物理解法供比较和选择。1.1.从技术角度出发考虑解决问题的不同方案。例如,从技术角度出发考虑解决问题的不同方案。例如,2 24 4节中将举例说节中将举例说明在数据流图上划分不同的自动化边界明在数据流图上划分不同的自动化边界 2.
8、2.根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求系统的响应时间不超过几秒钟,显然应该排除任何批处理方案。系统的响应时间不超过几秒钟,显然应该排除任何批处理方案。3.3.考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。角度看用户不能接受的方案。4.4.考虑经济方面的可行性。考虑经济方面的可行性。分析员应该估
9、计余下的每个可能的系统的开发成本和运行费用,并且估计分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。在这些估计数字的基础上,对每个可能的系统进行成本效益分析。(参在这些估计数字的基础上,对每个可能的系统进行成本效益分析。(参看看2 26 6节)节)v制定实现进度表。制定实现进度表。通常只需要估计生命周期每个阶段的工作量。通常只需要估计生命周期每个阶段的工作量。9推荐行动方针推荐行动方针v做出一个关键性的决定:是否继续进行这项开发工程。做出一个关键性的决定:是否
10、继续进行这项开发工程。v如果分析员认为值得继续进行这项开发工程,那么他应该选如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。择一种最好的解法,并且说明选择这个解决方案的理由。10草拟开发计划草拟开发计划v为推荐的系统草拟一份开发计划:为推荐的系统草拟一份开发计划:1.工程进度表工程进度表2.估计对各种开发人员和各种资源的需要情况。估计对各种开发人员和各种资源的需要情况。3.估计系统生命周期每个阶段的成本。估计系统生命周期每个阶段的成本。4.最后应该给出下一个阶段(需求分析)的详细进度表和最后应该给出下一个阶段(需求分析)的详细进度表和成本估
11、计。成本估计。11书写文档提交审查书写文档提交审查v写成清晰的文档,请用户和使用部门的负责人仔细审查写成清晰的文档,请用户和使用部门的负责人仔细审查。122.3 2.3 系统流程图系统流程图v系统流程图是描绘物理系统的传统工具。系统流程图是描绘物理系统的传统工具。v它的基本思想是用图形符号以黑盒子形式描绘系统它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人里面的每个部件(程序,文件,数据库,表格,人工过程等等)。工过程等等)。v系统流程图表达的是信息在系统各部件之间流动的系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程
12、。情况,而不是对信息进行加工处理的控制过程。v尽管系统流程图使用的某些符号和尽管系统流程图使用的某些符号和程序流程图使程序流程图使用用的符号相同,但是它却是物理数据流程图而不是程的符号相同,但是它却是物理数据流程图而不是程序流程图。序流程图。2.3.1 2.3.1 符号符号13基本符号基本符号 v一个符号表示系统中的一个部件。一个符号表示系统中的一个部件。符号符号名名 称称说说 明明处理处理能能改改变变数数据据值值或或数数据据位位置置的的加加工工或或部部件件,例例如如,程程序、处理机、人工加工等都是处理。序、处理机、人工加工等都是处理。输入输出输入输出表表示示输输入入或或输输出出(或或既既输输
13、入入又又输输出出),是是一一个个广广义义的不指明具体设备的符号。的不指明具体设备的符号。连接连接指指出出转转到到图图的的另另一一部部分分或或从从图图的的另另一一部部分分转转来来,通通常在同一页上。常在同一页上。换页连接换页连接指出转到另一页图上或由另一页图转来。指出转到另一页图上或由另一页图转来。数据流数据流用来连接其他符号,指明数据流动方向。用来连接其他符号,指明数据流动方向。14系统符号系统符号 152.3.2 2.3.2 例子例子v某装配厂有一座存放零件的仓某装配厂有一座存放零件的仓库,仓库中现有的各种零件的库,仓库中现有的各种零件的数量以及每种零件的库存量数量以及每种零件的库存量临临界
14、值界值等数据记录在库存清单主等数据记录在库存清单主文件中。当仓库中零件数量有文件中。当仓库中零件数量有变化时,应该及时修改库存清变化时,应该及时修改库存清单主文件,如果那种零件的库单主文件,如果那种零件的库存量少于它的库存量临界值,存量少于它的库存量临界值,则应该报告给采购部门以便定则应该报告给采购部门以便定货,规定每天向采购部门送一货,规定每天向采购部门送一次定货报告。次定货报告。v习惯画法是使信息在图中从顶习惯画法是使信息在图中从顶向下,从左向右流动。向下,从左向右流动。系统流程图系统流程图162.3.3 2.3.3 分层分层v首先用一张高层次的系统流程图描绘系统总体概貌,表明系首先用一张
15、高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。统的关键功能。v然后分别把每个关键功能扩展到适当的详细程度,画在单独然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。的一页纸上。v这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。步深入地了解一个复杂的系统。172.4 数据流图1v数据流图描绘系统的逻辑模型,图中没有任数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中何具体的物理元素,只是描绘信息在系统中流动和处理的情况。流动和处理的情况。182.4 数据流图2v因
16、为数据流图是逻辑系统的图形表示,即使因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所不是专业的计算机技术人员也容易理解,所以是极好的通信工具。以是极好的通信工具。v此外,设计数据流图只需考虑系统必须完成此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很地实现这些功能,所以它也是软件设计的很好的出发点。好的出发点。19四种基本符号 v表示数据的源点或终点。表示数据的源点或终点。v表示变换数据的处理。表示变换数据的处理。v表示数据存储(静止数据)。表示数据存储(静止数据
17、)。v表示数据流,即特定数据的流动表示数据流,即特定数据的流动方向(流动数据)。方向(流动数据)。20三个附加符号 v*:*:表示数据之间是表示数据之间是“与与”关系。关系。v+:表示数据之间是:表示数据之间是“或或”关系。关系。v :表示数据之间是:表示数据之间是“互斥互斥”关系(只能从关系(只能从中选一个)。中选一个)。21说明v数据存储和数据流都是数据,仅仅所处的状数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。数据流是处于运动中的数据。22说明v有时数据的源点和终点相同。如果只用一个有时数据的源
18、点和终点相同。如果只用一个符号代表数据的源点和终点,则至少有两个符号代表数据的源点和终点,则至少有两个箭头和这个符号相连(一个进一个出,)可箭头和这个符号相连(一个进一个出,)可能其中一条箭头相当长,这将降低数据流图能其中一条箭头相当长,这将降低数据流图的清晰度,如果代表同一个事物的同样符号的清晰度,如果代表同一个事物的同样符号在图中出现在在图中出现在n n个地方,则在这个符号的一个个地方,则在这个符号的一个角上画角上画n-1n-1条短斜线做标记。条短斜线做标记。23说明v数据流与程序流程图中用箭头表示的控制流数据流与程序流程图中用箭头表示的控制流有本质不同,千万不要混淆。有本质不同,千万不要
19、混淆。v熟悉程序流程图的初学者在画数据流图时,熟悉程序流程图的初学者在画数据流图时,往往试图在数据流图中表现分支条件或循环,往往试图在数据流图中表现分支条件或循环,殊不知这样做将造成混乱,画不出正确的数殊不知这样做将造成混乱,画不出正确的数据流图。据流图。24说明v在数据流图中应该描绘所有可能的数据流向,在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。而不应该描绘出现某个数据流的条件。v数据流图的基本要点是描绘数据流图的基本要点是描绘“做什么做什么”而不而不考虑考虑“怎样做怎样做”。25例子v问题定义:一家工厂的采购部每天需要一张定货报问题定义:一家工厂的采购部每天需
20、要一张定货报表,报表按零件编号排序,表中列出所有需要再次表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的库称为事务,通过放在仓库中的CRTCRT终端把事务报告终端把事务报告给定货系统。当某个零件的库存数量少于库存量临给定货系统。当某个零件的库存数量少于库存量临界值时就应该再次定货。界值时就应该再次定货。26提取
21、数据流图的四种成分1 v“通过放在仓库中的通过放在仓库中的CRTCRT终端把事务报告给定货系统终端把事务报告给定货系统”仓库管理员是数据源点。仓库管理员是数据源点。v“采购部每天需要一张定货报表采购部每天需要一张定货报表”采购员是数采购员是数据终点。据终点。v“采购部需要报表采购部需要报表”用于产生报表的处理。用于产生报表的处理。v“事务的后果是改变零件库存量事务的后果是改变零件库存量”对事务进行对事务进行的加工的处理。的加工的处理。27提取数据流图的四种成分2v“系统把定货报表送给采购部系统把定货报表送给采购部”定货报表是一定货报表是一个数据流。个数据流。v“事务需要从仓库送到系统中事务需要
22、从仓库送到系统中”事务是一个数事务是一个数据流。据流。v“每当有一个事务发生时立即处理它,然而每天只每当有一个事务发生时立即处理它,然而每天只产生一次定货报表产生一次定货报表”应该有一个数据存储保存应该有一个数据存储保存产生定货报表的数据。产生定货报表的数据。v“当某个零件的库存数量少于库存量临界值时就应当某个零件的库存数量少于库存量临界值时就应该再次定货该再次定货”应该有一个数据存储保存库存清应该有一个数据存储保存库存清单数据。单数据。28数据流图的四种成分29定货系统的基本系统模型 仓库仓库 管理员管理员定货定货系统系统采购采购员员事务事务 定货报表定货报表 30定货系统的功能级数据流图
23、31把处理功能进一步分解后的数据流图 32注意1.1.当进一步分解将涉及如何具体地实现一个功当进一步分解将涉及如何具体地实现一个功能时就不应该再分解了。能时就不应该再分解了。v例如:为什么不进一步分解例如:为什么不进一步分解“产生报表产生报表”这这个功能呢?定货报表中需要的数据在存储的个功能呢?定货报表中需要的数据在存储的定货信息中全都有,产生报表只不过是按一定货信息中全都有,产生报表只不过是按一定顺序排列这些信息,再按一定格式打印出定顺序排列这些信息,再按一定格式打印出来。然而这些考虑纯属具体实现的细节,不来。然而这些考虑纯属具体实现的细节,不应该在数据流图中表现。应该在数据流图中表现。33
24、注意2.2.当对数据流图分层细化时必须保持信息连续当对数据流图分层细化时必须保持信息连续性。性。v也就是说,当把一个处理分解为一系列处理也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必时,分解前和分解后的输入输出数据流必须相同。须相同。34注意3.应该注意在图中对处理进行编号的方法。应该注意在图中对处理进行编号的方法。352.4.3 命名v数据流图中每个成分的命名是否恰当,直接数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。影响数据流图的可理解性。36为数据流(或数据存储)命名1.1.名字应代表整个数据流(或数据存储)的内名字应代表整个数据流(或数据存储
25、)的内容,而不是仅仅反映它的某些成分。容,而不是仅仅反映它的某些成分。2.2.不要使用空洞的、缺乏具体含义的名字(如:不要使用空洞的、缺乏具体含义的名字(如:“数据数据”、“信息信息”、“输入输入”等)。等)。3.3.如果在为数据流(或数据存储)起名字时遇如果在为数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解到了困难,则很可能是因为对数据流图分解不恰当造成的,应尝试重新分解,看是否能不恰当造成的,应尝试重新分解,看是否能克服这个困难。克服这个困难。37为处理命名11.1.通常先为数据流命名,然后再为与之相关联通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 可行性研究
限制150内