{可行性报告}软件工程可行性研究ppt71页

上传人:精****库 文档编号:140957554 上传时间:2020-08-03 格式:PPTX 页数:71 大小:913.63KB
返回 下载 相关 举报
{可行性报告}软件工程可行性研究ppt71页_第1页
第1页 / 共71页
{可行性报告}软件工程可行性研究ppt71页_第2页
第2页 / 共71页
{可行性报告}软件工程可行性研究ppt71页_第3页
第3页 / 共71页
{可行性报告}软件工程可行性研究ppt71页_第4页
第4页 / 共71页
{可行性报告}软件工程可行性研究ppt71页_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《{可行性报告}软件工程可行性研究ppt71页》由会员分享,可在线阅读,更多相关《{可行性报告}软件工程可行性研究ppt71页(71页珍藏版)》请在金锄头文库上搜索。

1、,软件工程导论Software Engineering,主讲:吕晓华 E-mail: ,1,Chap02 可行性研究,可行性研究的任务 可行性研究过程 系统流程图 数据流图 数据字典(内容、方法、用途、实现) 成本/效益分析(成本估计、分析方法),可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究的目的不是解决问题,而是确定问题是否值得去解。,2,2.1 可行性研究的任务,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程: 分析和澄清问题定义 导出系统的逻辑模型探索系统实现方案: 技术可

2、行性:现有的技术 经济可行性:开发成本 操作可行性:用户操作 实现进度 可行性研究的成本:预期的工程总成本的510,3,2.2 可行性研究的步骤,复查系统规模和目标 研究目前正在使用的系统 导出新系统的高层逻辑模型 重新定义问题 导出和评价供选择的解法 推荐行动方针 草拟开发计划 书写文档提交审查,4,复查系统规模和目标,对问题定义阶段书写的关于规模和目标的报告书进一步复查确认。改正报告书中的叙述模糊、不正确的地方。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。 进一步复查确认“规模和目标报告书”,5,研究目前正在使用的系统,正在使用的系统的基本功能以及某些缺点

3、分析现有系统的文档资料和使用手册,实地考察现有系统 描绘现有系统的高层系统流程图并确认 记录现有系统的接口,6,导出新系统的高层逻辑模型,设计过程通常总是从现有的物理系统出发,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。 使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出对新系统的设想。 通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据。 数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。,7,重新定义问题,分析员应该和用户一起再次复查问题定义、工程规模和目标,这

4、次复查应该把数据流图和数据字典作为讨论的基础。 可行性研究的前四个步骤实质上构成一个循环。,8,导出和评价供选择的解法,分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。 从技术角度出发考虑解决问题的不同方案。例如,24节中将举例说明在数据流图上划分不同的自动化边界 根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求系统的响应时间不超过几秒钟,显然应该排除任何批处理方案。 考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。 考虑经济方面的可行性。

5、分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。 在这些估计数字的基础上,对每个可能的系统进行成本效益分析。(参看26节) 制定实现进度表。 通常只需要估计生命周期每个阶段的工作量。,9,推荐行动方针,做出一个关键性的决定:是否继续进行这项开发工程。 如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。,10,草拟开发计划,为推荐的系统草拟一份开发计划: 工程进度表 估计对各种开发人员和各种资源的需要情况。 估计系统生命周期每个阶段的成本。 最后应该给出下一个阶段(需求

6、分析)的详细进度表和成本估计。,11,书写文档提交审查,写成清晰的文档,请用户和使用部门的负责人仔细审查。,12,2.3 系统流程图,系统流程图是描绘物理系统的传统工具。 它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。 系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。 尽管系统流程图使用的某些符号和程序流程图中用的符号相同,但是它却是物理数据流程图而不是程序流程图。,2.3.1 符号,13,基本符号,一个符号表示系统中的一个部件。,14,系统符号,15,2.3.2 例子,某装配厂有一座存放零件的仓库,

7、仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果那种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。 习惯画法是使信息在图中从顶向下,从左向右流动。,系统流程图,16,2.3.3 分层,首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。 然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。 这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,提示:下一节-2.4 数据流图,17,2.4 数据流图1

8、,数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。,18,2.4 数据流图2,因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。 此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。,19,四种基本符号,表示数据的源点或终点。 表示变换数据的处理。 表示数据存储(静止数据)。 表示数据流,即特定数据的流动方向(流动数据)。,20,三个附加符号,* : 表示数据之间是“与”关系。 + :表示数据之间是“或”关系。 :表示数据之间是“

9、互斥”关系(只能从中选一个)。,21,说明,数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。,22,说明,有时数据的源点和终点相同。如果只用一个符号代表数据的源点和终点,则至少有两个箭头和这个符号相连(一个进一个出,)可能其中一条箭头相当长,这将降低数据流图的清晰度,如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画n-1条短斜线做标记。,23,说明,数据流与程序流程图中用箭头表示的控制流有本质不同,千万不要混淆。 熟悉程序流程图的初学者在画数据流图时,往往试图在数据流图中表现分支条件或循环,殊不知这样做将造成混乱,

10、画不出正确的数据流图。,24,说明,在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。 数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。,25,例子,问题定义:一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某个零件的库存数量少于库存量临界值时就应该再次定货。,26,提取数据流图的四种成分1,“通过放在仓库中的CRT终端把事务报告给定货系统”仓

11、库管理员是数据源点。 “采购部每天需要一张定货报表”采购员是数据终点。 “采购部需要报表” 用于产生报表的处理。 “事务的后果是改变零件库存量” 对事务进行的加工的处理。,27,提取数据流图的四种成分2,“系统把定货报表送给采购部” 定货报表是一个数据流。 “事务需要从仓库送到系统中” 事务是一个数据流。 “每当有一个事务发生时立即处理它,然而每天只产生一次定货报表” 应该有一个数据存储保存产生定货报表的数据。 “当某个零件的库存数量少于库存量临界值时就应该再次定货” 应该有一个数据存储保存库存清单数据。,28,数据流图的四种成分,29,定货系统的基本系统模型,30,定货系统的功能级数据流图,

12、31,把处理功能进一步分解后的数据流图,32,注意,当进一步分解将涉及如何具体地实现一个功能时就不应该再分解了。 例如:为什么不进一步分解“产生报表”这个功能呢?定货报表中需要的数据在存储的定货信息中全都有,产生报表只不过是按一定顺序排列这些信息,再按一定格式打印出来。然而这些考虑纯属具体实现的细节,不应该在数据流图中表现。,33,注意,当对数据流图分层细化时必须保持信息连续性。 也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。,34,注意,应该注意在图中对处理进行编号的方法。,35,2.4.3 命名,数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解

13、性。,36,为数据流(或数据存储)命名,名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。 不要使用空洞的、缺乏具体含义的名字(如:“数据”、“信息”、“输入”等)。 如果在为数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应尝试重新分解,看是否能克服这个困难。,37,为处理命名1,通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。 名字应该反映整个处理的功能,而不是它的一部分功能。 名字最好由一个具体的及物动词,加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼

14、统的动词作名字。,38,为处理命名2,通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。,39,为数据源点/终点命名,采用它们在问题域中习惯使用的名字(如“采购员”、“仓库管理员”等),40,2.4.4 用途1,画数据流图的基本目的是利用它作为交流信息的工具。 数据流图的另一个主要用途是作为分析和设计的工具。 可以根据系统的逻辑模型考虑系统的物理实现。当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,

15、每组自动化边界可能意味着一个不同的物理系统。,41,例1,可以联机地接收事务并放入队列中,然而更新库存清单、处理定货和产生报表以批量方式进行。当然,这种方案需要增加一个数据存储以存放事务数据。,42,数据流图,43,例2,改变自动化边界,把处理11、12和13放在同一个边界内。 这个系统将联机地接收事务、更新库存清单和处理定货及输出定货信息;然而处理2将以批量方式产生定货报表。,44,数据流图,45,2.4.4 用途2,数据流图对更详细的设计步骤也有帮助。 本书第五章将讲述从数据流图出发映射出软件结构的方法面向数据流的设计方法。,46,2.5 数据字典,数据字典是关于数据的信息的集合,也就是对

16、数据流图中包含的所有元素的定义的集合。 数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。,47,2.5.1 数据字典的内容,一般说来,数据字典应该由对下列四类元素的定义组成: (1)数据流 (2)数据流分量(即,数据元素) (3)数据存储 (4)处理。 本书中数据字典将主要由对数据的定义组成。数据处理的定义用其它工具(如IPO图或PDL)描述更方便。,48,数据字典中记录的数据元素的信息,一般信息:名字,别名,描述等。 定义:数据类型,长度,结构等。 使用特点:值的范围,使用频率,使用方式输入/输出/本地,条件值等。 控制信息:来源,用户,使用它的程序,改变权,使用权等。 分组信息:父结构,从属结构,物理位置-记录、文件和数据库等。,49,出现别名主要原因,对于同样的数据,不同的用户使用了不同的名字; 一个分析员在不同时期对同一个数据使用了不同的名字; 两个分析员分别分析同一个数据流时,使用了不同的名字。,50,2.5.2 定义数据的方法,数据字典中的定义就是对数据自顶向下的分解。 一般说来,当分解到

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号