软件工程可行性研究(ppt 71页)_第1页
软件工程可行性研究(ppt 71页)_第2页
软件工程可行性研究(ppt 71页)_第3页
软件工程可行性研究(ppt 71页)_第4页
软件工程可行性研究(ppt 71页)_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。v可行性研究的前四个步骤实质上构成一个循环。 定义问题分析问题导出一个试探性的解重新定义问题符合系统目标?YN8导出和评价供选择的解法导出和评价供选择的解法v分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。1.从技术角度出发考虑解决问题的不同方案。例如,24节中将举例说明在数据流图上划分不同的自动化边界 2.根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求系统的响应时间不超过几秒钟,显然应该排除任何批处理方案。3.考虑操作方面的可行性。分析员

5、应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。4.考虑经济方面的可行性。分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。在这些估计数字的基础上,对每个可能的系统进行成本效益分析。(参看26节)v制定实现进度表。通常只需要估计生命周期每个阶段的工作量。9推荐行动方针推荐行动方针v做出一个关键性的决定:是否继续进行这项开发工程。v如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。 10草拟开发计划草拟

6、开发计划v为推荐的系统草拟一份开发计划:1.工程进度表2.估计对各种开发人员和各种资源的需要情况。3.估计系统生命周期每个阶段的成本。4.最后应该给出下一个阶段(需求分析)的详细进度表和成本估计。11书写文档提交审查书写文档提交审查v写成清晰的文档,请用户和使用部门的负责人仔细审查。122.3 2.3 系统流程图系统流程图v系统流程图是描绘物理系统的传统工具。v它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。v系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。v尽管系统流程图使用的某些符号和程序流程图中用

7、的符号相同,但是它却是物理数据流程图而不是程序流程图。 2.3.1 2.3.1 符号符号13基本符号基本符号 v一个符号表示系统中的一个部件。 符号符号名名 称称说说 明明处理能改变数据值或数据位置的加工或部件,例如,程序、处理机、人工加工等都是处理。输入输出表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号。连接指出转到图的另一部分或从图的另一部分转来,通常在同一页上。换页连接指出转到另一页图上或由另一页图转来。数据流用来连接其他符号,指明数据流动方向。14系统符号系统符号 152.3.2 2.3.2 例子例子v某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种

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

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

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

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

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

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

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

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

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

17、的定义的集合。v数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。 472.5.1 数据字典的内容v一般说来,数据字典应该由对下列四类元素的定义组成:(1)数据流(2)数据流分量(即,数据元素)(3)数据存储(4)处理。 v本书中数据字典将主要由对数据的定义组成。数据处理的定义用其它工具(如IPO图或PDL)描述更方便。48数据字典中记录的数据元素的信息 v一般信息:名字,别名,描述等。v定义:数据类型,长度,结构等。v使用特点:值的范围,使用频率,使用方式输入/输出/本地,条件值等。v控制信息:来源,用户,使用它的程序,改变权,使

18、用权等。v分组信息:父结构,从属结构,物理位置-记录、文件和数据库等。 49出现别名主要原因 v对于同样的数据,不同的用户使用了不同的名字;v一个分析员在不同时期对同一个数据使用了不同的名字;v两个分析员分别分析同一个数据流时,使用了不同的名字。 502.5.2 定义数据的方法v数据字典中的定义就是对数据自顶向下的分解。v一般说来,当分解到不需要进一步定义,每个和工程有关的人也都清楚其含义的元素时,这种分解过程就完成了。51数据元素组成数据的方式 1.顺序即以确定次序连接两个或多个分量;2.选择即从两个或多个可能的元素中选取一个;3.重复即把指定的分量重复零次或多次。4.可选即一个分量是可有可

19、无的(重复零次或一次)。52符号1 v 意思是等价于(或定义为)v 意思是和(即,连接两个分量)v 意思是或(即,从方括弧内列出的若干个分量中选择一个)53符号24. 意思是重复(即,重复花括弧内的分量)5.( )意思是可选(即,圆括弧里的分量可有可无)542.5.3 数据字典的用途v数据字典最重要的用途是作为分析阶段的工具。 v数据字典中包含的每个数据元素的控制信息是很有价值的。容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块作出相应的改变。 v最后,数据字典是开发数据库的第一步。552.5.4 数据字典的实现v三种途径:1.全人工过程2.全自动化过程(利用数据字典处理程序)

20、3.混合过程(用正文编辑程序、报告生成程序等已有的使用程序帮助人工过程)56数据字典具有的特点 1.通过名字能方便地查阅数据的定义。2.没有冗余。3.尽量不重复在规格说明的其它组成部分中已经出现的信息。4.容易更新和修改。5.能单独处理描述每个数据元素的信息。6.定义的书写方法简单方便而且严格。57数据字典的例子1v名字:定货报表名字:定货报表v别名:定货信息v描述:每天一次送给采购员的需要定货的零件表v定义:定货报表=零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者v位置:输出到打印机58数据字典的例子2v名字:零件编号名字:零件编号v别名:v描述:唯一地标识库存清单中一个特定

21、零件的关键域v定义:零件编号=8字符8v位置:定货报表、定货信息、库存清单59数据字典的例子3v名字:定货数量名字:定货数量v别名:v描述:某个零件一次定货的数量v定义:定货数量=1数字5v位置:定货报表、定货信息602.6 成本/效益分析v成本效益分析的目的 要从经济角度分析开发一个特定的新系统是否划算,从而帮助使用部门负责人正确地作出是否投资于这项开发工程的决定。 612.6.1 成本估计v软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。1.代码行技术2.任务分解技术3.自动估计成本技术622.6.2 成本/效益分析的方法v成本效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益。v运行费用:系统的操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用。v系统的经济效益:因使用新系统而增加的收入加上使用新系统可以节省的运行费用。63相关概念11.货币的时间价值v假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为: FP(1 i)n v反之,如果n年后能收入F元钱,那么这些钱的现在价值是 P F(1 i)n 64相关概念22.投资回收期v通常用投资回收期衡量一项开发工程的价值。v所谓投资回收期就是使累计的经济效益等于最初投资所需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论