资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2.1,可行性研究任务,2.2,可行性研究过程,2.3,系统流程图,2.4,数据流图,2.5,数据字典,2.6,成本,/,效益分析,第,2,章 可行性研究,软件工程导论可行性研究报告,第1页,三个时期:,八个阶段:,软件生命周期,软件定义,软件开发,软件维护,问题定义,可行性研究,需求分析,概要设计,详细设计,编码和单元测试,综合测试,运行维护,系统设计,系统实现,软件工程导论可行性研究报告,第2页,问题定义阶段,目标:,搞清用户需要计算机处理问题根本所在,以及项目所需资源和经费。,任务:,在向用户调查基础上,编写,关于系统规模和目标汇报书,。,例:教材销售系统,学生购置学校教材手续可能是:先找系办公室开购书申请(用于确定学生可购置书),凭申请找教材科开购书证实(确定是否卖完),向出纳员交付书款取得领书单,然后到书库找保管员领书。,软件工程导论可行性研究报告,第3页,关于系统规模和目标汇报书,1.,项目名称:教材销售系统,2.,问题:人工出售教材手续繁杂,且易犯错。,3.,项目目标:建立一个高效率、无差错微机教材销售系统。,4.,项目规模:利用现有微型计算机,软件开发费用不超出,5000,元。,5.,初步想法:提议在系统中增加对缺书统计与采购功效。,6.,可行性研究:提议进行大约,10,天可行性研究,研究费用不超出,500,元。,软件工程导论可行性研究报告,第4页,第,2,章 可行性研究,回答“对于上一个阶段所确定问题有行得通处理方法吗,?”,系统分析员需要进行一次大大压缩和简化了系统分析和设计过程。,研究问题范围,探索这个问题是否值得去解,是否有可行处理方法。,软件工程导论可行性研究报告,第5页,2.1,可行性研究任务,可行性研究目标:,不是处理问题,而是确定问题是否值得去处理。,可行性研究实质:,进行一次大大压缩简化了系统分析和设计过程,也就是在较高层次上以较抽象方式进行系统分析和设计过程。,软件工程导论可行性研究报告,第6页,可行性研究内容:,首先深入分析和澄清问题定义,导出系统逻辑模型;,然后从系统逻辑模型出发,探索若干种可供选择主要解法,(,即系统实现方案,),;,对每种解法都研究它可行性,,,最少应该从三方面研究每种解法可行性,。,软件工程导论可行性研究报告,第7页,主要方面:,技术可行性,使用现有技术能实现这个系统吗,?,经济可行性,这个系统经济效益能超出它开发成本吗,?,操作可行性,系统操作方式在这个用户组织内行得通吗,?,其它方面:,运行可行性,系统运行方式是否可行?,法律可行性,系统是否侵犯他人、集体或国家利益,是否违反法律?,软件工程导论可行性研究报告,第8页,分析员应该为每个可行解法制订一个粗略实现进度。,假如问题没有可行解,分析员应该提议停顿这项开发工程,以防止时间、资源、人力和金钱浪费;假如问题值得解,分析员应该推荐一个很好处理方案,而且为工程制订一个初步计划。,可行性研究需要时间长短取决于工程规模。普通说来,可行性研究成本只是预期工程总成本,5%,10%,。,软件工程导论可行性研究报告,第9页,2.2,可行性研究过程,1.复查系统规模和目标,对问题定义阶段书写关于规模和目标报告书进一步复查确认。,2.研究目前正在使用系统,新目标系统必须也能完成旧系统基本功能;其次,新系统必须能解决旧系统中存在问题。,软件工程导论可行性研究报告,第10页,3.,导出新系统高层逻辑模型,现有物理系统,现有系统逻辑模型,目标系统逻辑模型,新物理系统,4.,深入定义问题,分析员应该和用户一起再次复查问题定义、工程规模和目标。,可行性研究前,4,个步骤实质上组成一个循环。,软件工程导论可行性研究报告,第11页,5.,导出和评价供选择解法,首先从技术角度出发排除不可行方案;,其次考虑操作可行性,去掉用户不能接收方案;,接下来考虑经济可行性,预计余下每个可能系统开发成本和运行费用,进行成本,/,效益分析;,最终为每个在各方面都可行系统制订实现进度表。,软件工程导论可行性研究报告,第12页,工程进度表,阶段,所需时间(月),可行性研究,0.5,需求分析,1,概要设计,0.5,详细设计,1,实现,2,总计,5,软件工程导论可行性研究报告,第13页,6.,推荐行动方针,依据可行性研究结果应该做出一个关键性决定是,是否继续进行这项开发工程。,若继续开发,选择一个最好解法,说明选择这个处理方案理由。,软件工程导论可行性研究报告,第14页,7.,草拟开发计划,分析员应该为所推荐方案草拟一份开发计划,制订工程进度表、预计对各类开发人员和各种资源需要情况、预计系统生命周期每个阶段成本、给出下一个阶段,(,需求分析,),详细进度表和成本预计。,软件工程导论可行性研究报告,第15页,项目实施计划,1.,系,统概述,包含项目目标,主要功效,系统特点,以及关于开发工作安排,2.,系统,资源,包含开发和运行该系统所需要各种资源,如硬件、软件、人员和组织机构等,3.,费用预算:分阶段人员费用、机时费用及其它费用,4.,进度安排:各阶段起始时间、完成文档及验证方式,5.,要交付,产品清单,软件工程导论可行性研究报告,第16页,8.,书写文档提交审查,把可行性研究各个步骤工作结果写成清楚文档,请用户、客户组织责任人及评审组审查,以决定是否继续这项工程及是否接收分析员推荐方案。,软件工程导论可行性研究报告,第17页,2.3,系统流程图,系统流程图:,是概括地描绘物理系统传统工具。,用图形符号以黑盒子形式描绘组成系统每个,部件,(,程序,文档,数据库,人工过程等,),。,表示是,数据在系统各部件之间流动,情况,而不是对数据进行加工处理控制过程。,软件工程导论可行性研究报告,第18页,2.3.1,符号,基本符号:,5,个,以概括方式抽象地描绘一个实际系统。,软件工程导论可行性研究报告,第19页,系统符号:,11,个,更详细描绘物理系统。,软件工程导论可行性研究报告,第20页,软件工程导论可行性研究报告,第21页,2.3.2,例子,例,1,:,某装配厂有一座存放零件仓库,仓库中现有各种零件数量以及每种零件库存量临界值等数据统计在库存清单主文件上。当仓库零件数量发生改变时,应该及时修改库存清单主文件。假如哪种零件库存量少于它库存临界值,则应该汇报给采购部门方便定货,要求天天向采购部门送一次定货汇报。,该装配厂使用一台小型计算机,处理更新库存清单主文件和产生定货汇报。零件库存量每一次改变称为一个事务,由放在仓库中,CRT,终端输入到计算机中;系统中库存清单程序对事务进行处理,更新存放在磁盘上库存清单主文件,而且把必要订货信息写在磁带上。最终,天天由汇报生成程序读一次磁带,而且打印出订货汇报。,软件工程导论可行性研究报告,第22页,部件:,包含程序、文档、数据库、人工过程等,程序:,更新库存清单程序,产生定货汇报程序,文档:定货汇报,数据:磁盘上库存清单主文件,磁带上定货信息,CRT,终端输入事务,人工过程:无,软件工程导论可行性研究报告,第23页,库存清单系统系统流程图,软件工程导论可行性研究报告,第24页,2.3.3,分层,首先用一张高层次系统流程图描绘系统总体概貌,表明系统关键功效;,然后分别把每个关键功效扩展到适当详细程度,画在单独一页纸上。,第一层:描绘系统关键功效(仅用基本符号),软件工程导论可行性研究报告,第25页,第二层:扩展系统关键功效,软件工程导论可行性研究报告,第26页,第三层:合成后系统流程图,软件工程导论可行性研究报告,第27页,例,2,:教材销售系统,人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证实,向出纳员交付书款取得领书单,然后到书库找保管员领书。,软件工程导论可行性研究报告,第28页,人工教材销售系统流程图,软件工程导论可行性研究报告,第29页,计算机教材销售系统:由计算机实现有效性审查(不该购置或已卖完教材),收书款和发书仍由人工完成。开购书申请和购书证实可一步完成,增加缺书统计和采购功效。,软件工程导论可行性研究报告,第30页,计算机,教材销售系统流程图,软件工程导论可行性研究报告,第31页,2.4,数据流图,数据流图,(DFD),:,是一个图形化技术,它描绘信息流和数据从输入移动到输出过程中所经受变换。,在数据流图中没有任何详细物理部件,它只是描绘数据在软件中流动和被处理逻辑过程。,软件工程导论可行性研究报告,第32页,2.4.1,符号,基本符号:,软件工程导论可行性研究报告,第33页,数据源点,/,终点:,通常是人或部门,可重复表示;,处理:,一个处理框能够代表一系列程序、单个程序或程序一个模块;,数据存放:,能够表示一个文件、文件一部分、数据库元素或统计一部分等,数据存放是处于静止状态数据;,数据流:,描绘全部可能数据流向,而不应该描绘出现某个数据流条件,数据流是处于运动中数据。,软件工程导论可行性研究报告,第34页,附加符号:,星号(*):表示“与”关系,软件工程导论可行性研究报告,第35页,加号(,+,):表示“或”关系,软件工程导论可行性研究报告,第36页,异或(,):表示互斥关系,软件工程导论可行性研究报告,第37页,2.4.2,例子,例,1,:,假设采购部天天需要一张定货报表,报表按零件编号排序,表中列出全部需要再次定货零件。对于每个需要再次定货零件,应该列出下述数据:零件编号,零件名称,定货数量,当前价格,主要供给者,次要供给者。零件入库或出库称为事务,经过放在仓库中,CRT,终端把事务汇报给定货系统。当某种零件库存量少于库存量临界值时,就应该再次定货。,软件工程导论可行性研究报告,第38页,画数据流图步骤:,1.,从问题描述中提取数据流图,4,种成份,数据源点,/,终点,“经过放在仓库中,CRT,终端把事务汇报给定货系统”,仓库管理员,是数据源点;,“采购部天天需要一张定货报表”,采购员,是数据终点。,处理,“采购部需要报表”,,产生报表,;,事务后果是改变零件库存量,所以对事务进行加工是另一个处理,处理事务。,软件工程导论可行性研究报告,第39页,数据流:,“系统把定货报表送给采购部”,定货报表,;,“,事务需要从仓库送到系统中”,事务,。,数据存放:,处理事务和产生报表这两个处理在时间上显著不匹配,用来产生定货报表定货信息必须存放一段时间,定货信息,;,零件库存量和库存量临界值需要存放,库存清单。,软件工程导论可行性研究报告,第40页,源点:仓库管理员,终点:采购员,处理:产生报表、处理事务,数据流:,定货报表,事务,零件编号,零件名称,定货数量,当前价格,主要供给者,次要供给者,零件编号,事务类型,数量,数据存放:,定货信息,同定货报表,库存清单,零件编号,库存量,库存量临界值,软件工程导论可行性研究报告,第41页,2.,画基本系统模型,由若干个数据源点,/,终点和一个处理组成。,定货系统基本系统模型,软件工程导论可行性研究报告,第42页,3.,细化,描绘系统主要功效(功效级数据流图),定货系统功效级数据流图,软件工程导论可行性研究报告,第43页,4.,对系统主要功效深入细化,把处理事务功效深入分解后数据流图,软件工程导论可行性研究报告,第44页,细化时注意:,当深入分解包括怎样详细实现一个功效时就不应该再分解了。,当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后输入输出数据流必须相同。,注意对处理进行编号方法。,软件工程导论可行性研究报告,第45页,2.4.3,命名,1.,为数据流,(,或数据存放,),命名,完整性;,详细性;,起名字碰到了困难时,试试重新分解。,软件工程导论可行性研究报告,第46页,2.,为处理命名,通常先为数据流命名,然后再为与之相关联处理命名;,完整性;,及物动词,+,宾语,详细性;,通常名字中仅包含一个动词,不然进行分解;,命名时碰到困难,应考虑重新分解。,3.,为数据源点,/,终点命名,采取它们在问题域中习惯名字。,软件工程导论可行性研究报告,第47页,2.4.4,用途,作为交流信息工具,供相关人员审查确认,供用户了解和评价,数据流图应该分层,超出,9,个时应该画分图,作为分析和设计工具,描绘系统所完成功效,辅助物理系统设计时,以定时要求为指南,画出许多组自动化边界,对应不一样物理系统。,导出更详细设计步骤,面向数据流设计方法,软件工程导论可行性研究报告,第48页,以批量方式更新库存清单,软件工程导论可行性研究报告,第49页,以联机方式更新库存清单,软件工程导论可行性研究报告,第50页,例,2,:,高考录用统分子系统,功效以下:,(1),计算标准分,依据考生原始分计算标准分,存入考生分数文件;,(2),计算录用线分,依据标准分和招生计划文件中招生人数,计算录用线分,存入录用线文件。,软件工程导论可行性研究报告,第51页,1.,提取数据流图四种成份,数据源点和终点:,考生,处理:,(1),计算标准分,(2),计算录用线分,数据存放:,(1),考生分数文件,(2),招生计划文件,(3),录用线文件,数据流:,原始分;标准分;,招生人数;录用线分,软件工程导论可行性研究报告,第52页,2.,画基本数据流图,软件工程导论可行性研究报告,第53页,3.,画功效级数据流图,软件工程导论可行性研究报告,第54页,例,3,:教材销售系统,人工:先找系办公室开购书申请,凭申请找教材科开购书证实,向出纳员交付书款取得领书单,然后到书库找保管员领书。,计算机:包含销售和采购两大功效。,销售时,依据学生用书表和教材库存清单对购书单进行有效性审查,经过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,依据领书单更新教材库存清单。,采购时,将缺书表中信息汇总生成采购单,新书进库时更新教材库存清单。,软件工程导论可行性研究报告,第55页,人工教材销售系统数据流图,软件工程导论可行性研究报告,第56页,基本数据流图,软件工程导论可行性研究报告,第57页,功效级数据流图,软件工程导论可行性研究报告,第58页,销售功效细化数据流图,软件工程导论可行性研究报告,第59页,采购功效细化数据流图,软件工程导论可行性研究报告,第60页,2.5,数据字典,数据字典:,是关于数据信息集合,也就是对数据流图中包含全部元素定义集合。,数据流图和数据字典共同组成系统逻辑模型。,软件工程导论可行性研究报告,第61页,2.5.1,数据字典内容,数据字典组成:,数据流,数据流分量,(,即数据元素,),数据存放,处理,(,用其它工具描述更方便,如,IPO,图,),软件工程导论可行性研究报告,第62页,在数据字典中统计数据元素以下信息:,普通信息,定义,使用特点,控制信息,分组信息,软件工程导论可行性研究报告,第63页,2.5.2,定义数据方法,方法:,对数据自顶向下分解。,数据组成方式,(,三种基本类型,),:,次序 以确定次序连接两个或多个分量;,选择 从两个或多个可能元素中选取一个;,重复 即把指定分量重复零次或屡次。,附加类型:,可选 即一个分量是可有可无,(,重复零次或一次,),。,软件工程导论可行性研究报告,第64页,符号:,=,意思是等价于,(,或定义为,),;,+,意思是和,(,即,连接两个分量,),;,意思是或,(,即,从方括弧内列出若干个分量中选择一个,),,通惯用“,|”,号隔开供选择分量;,意思是重复,(,即,重复花括弧内分量,),;经常使用上限和下限深入注释表示重复花括弧。,(),意思是可选,(,即,圆括弧里分量可有可无,),。,软件工程导论可行性研究报告,第65页,例,1,:,标识符,=,字母字符,+,字母数字串,字母数字串,=0,字母或数字,7,字母或数字,=,字母字符数字字符,软件工程导论可行性研究报告,第66页,例,2,:,购书单,=,学号,+,姓名,+,书号,+,数量,+,单价,+,总价,+,书费累计,学生用书表,=,学院编号,+,专业编号,+,年级,+,书号,年级,=1|2|3|4,学号,=10,数字,10,软件工程导论可行性研究报告,第67页,2.5.3,数据字典用途,数据字典最主要用途是作为分析阶段工具;,数据字典中包含每个数据元素控制信息是很有价值。很轻易预计改变一个数据将产生影响;,数据字典是开发数据库第一步,而且是很有价值一步。,软件工程导论可行性研究报告,第68页,2.5.4,数据字典实现,计算机实现:,当前,数据字典几乎总是作为,CASE,(计算机辅助软件工程)“结构化分析与设计工具”一部分实现。在开发大型软件系统过程中,数据字典规模和复杂程度快速增加,人工维护数据字典几乎是不可能。,人工实现:,采取卡片形式书写数据字典,每张卡片上保留描述一个数据信息。每张卡片上主要应该包含下述这么一些信息:名字、别名、描述、定义、位置。,软件工程导论可行性研究报告,第69页,名字:定货报表,别名:定货信息,描述:天天一次送给采购员需要定货零件表,定义:定货报表,=,零件编号,+,零件名称,+,定货数量,+,当前价格,+,主要供,应者,+,次要供给者,位置:输出到打印机,名字:零件编号,别名:,描述:惟一地标识库存清单中一个特定零件关键域,定义:零件编号,=8,字符,8,位置:定货报表,定货信息,库存清单,名字:定货数量,别名:,描述:某个零件一次定货数量,定义:定货数量,=1,数字,5,位置:定货报表,定货信息,软件工程导论可行性研究报告,第70页,2.6,成本,/,效益分析,成本,/,效益分析目标正是要从经济角度分析开发一个特定新系统是否划算,从而帮助客户组织责任人正确地作出是否投资于这项开发工程决定。,软件工程导论可行性研究报告,第71页,2.6.1,成本预计,1.,代码行技术,方法:通常依据经验和历史数据预计实现一个功效需要源程序行数。一旦预计出源代码行数以后,用每行代码平均成本乘以行数就能够确定软件成本。每行代码平均成本主要取决于软件复杂程度和工资水平。,特点:简单;当有以往开发类似工程历史数据可供参考时,这个方法是非常有效。,软件工程导论可行性研究报告,第72页,功效,生产率,(,行,/,人月,),预计行数,每行成本,(,元行,),成本,(,元,),人力,(,人月,),获取实时数据,92,840,108,90720,9.1,更新数据库,102,1210,54,65340,11.8,脱机分析,134,600,72,43200,4.4,产生汇报,145,450,33,14850,3.1,实时控制,80,1100,135,148500,13.7,总计,362610,42.1,代码行技术分析一个过程控制系统:,软件工程导论可行性研究报告,第73页,2.,任务分解技术,方法:首先把软件开发工程分解为若干个相对独立任务。再分别预计每个单独开发任务成本,最终累加起来得出软件开发工程总成本。预计每个任务成本时,通常先预计完成该项任务需要用人力,(,以人月为单位,),,再乘以每人每个月平均工资而得出每个任务成本。,软件工程导论可行性研究报告,第74页,任务分解技术预计软件开发成本:,任务,预计人力(人月),元人月,成本(元),需求分析,5.0,10200,51000,设计,15.0,9600,144000,编码和单元测试,8.0,7950,63600,综合测试,16.5,8700,143550,总计,44.5,402150,软件工程导论可行性研究报告,第75页,3.,自动预计成本技术,方法:采取自动预计成本软件工具,特点:能够减轻人劳动,而且使得预计结果更客观。不过,采取这种技术必须有长久搜集大量历史数据为基础,而且需要有良好数据库系统支持。,软件工程导论可行性研究报告,第76页,2.6.2,成本,/,效益分析方法,成本,/,效益分析要预计开发成本、运行费用和新系统将带来经济效益。,运行费用:取决于系统操作费用,(,操作员人数,工作时间,消耗物资等等,),和维护费用。,系统经济效益:等于因使用新系统而增加收入加上使用新系统能够节约运行费用。,软件工程导论可行性研究报告,第77页,成本,/,效益分析包括,4,个概念:,1.,货币时间价值,通惯用利率形式表示货币时间价值。,假设年利率为,i,,假如现在存入,P,元,则,n,年后能够得到钱数为,F,=,P,(1+,i,),n,反之,假如,n,年后能收入,F,元钱,那么这些钱现在价值是,P,=,F,/(1+,i,),n,软件工程导论可行性研究报告,第78页,2.,投资回收期,所谓投资回收期就是使累计经济效益等于最初投资所需要时间。,通惯用投资回收期衡量一项开发工程价值。,例:投资回收期,=2+774.88/1779.44=2.44,年,软件工程导论可行性研究报告,第79页,3.,纯收入,纯收入是在整个生命周期之内系统累计经济效益,(,折合成现在值,),与投资之差。,这相当于比较投资开发一个软件系统和把钱存在银行中,(,或贷给其它企业,),这两种方案优劣。,例:纯收入,=9011.94 5000=4011.94,元,软件工程导论可行性研究报告,第80页,4.,投资回收率,用来衡量投资效益大小,而且能够把它和年利率相比较。,P,=,F,1,/(1+,j,)+,F,2,/(1+,j,),2,+,F,n,(1+,j,),n,其中:,P,是现在投资额;,F,i,是第,i,年年底效益;,n,是系统使用寿命;,j,是投资回收率。,例:投资回收率,=41%42%,软件工程导论可行性研究报告,第81页,练习题:,习题,2.5,北京某高校可用电话号码有以下几类:,校内电话号码由,4,位数字组成,第,1,位数字不是,0,;,校外电话又分为本市电话和外地电话两类;,拨校外电话需先拨,0,;,若是本市电话则再接着拨,8,位数字,(,第,1,位不是,0),;,若是外地电话则拨,3,位区码再拨,8,位电话号码,(,第,1,位不是,0),。,软件工程导论可行性研究报告,第82页,电话号码,=,校内电话号码,|,校外电话号码,校内电话号码,=,非零数字,+3,位数字,校外电话号码,=,本市号码,|,外地号码,本市号码,=0+8,位数字,外地号码,=0+3,位数字,+8,位数字,非零数字,=1|2|3|4|5|6|7|8|9,3,位数字,=3,数字,3,8,位数字,=,非零数字,+7,位数字,7,位数字,=7,数字,7,软件工程导论可行性研究报告,第83页,
展开阅读全文