软件工程《软件工程导论(第五版)》第二章可行性研究掌握可行性研究的任务;数据流图的用途、基本符号、绘制过程及应用;数据字典的用途和建立理解可行性研究过程;系统流程图的基本符号和分层的概念了解成本估计的技术和成本效益分析的方法重点:可行性研究任务;数据流图基本符号、绘制过程及应用;数据字典的建立及用途。数据流图的应用。可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业可行性研究的目的说明软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。用最小的代价在尽可能短的时间内确定问题是否能够并且值得解决。可行性研究一般占预期工程总成本的5%~10%。可行性研究的国家标准定义了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业请看教程P36可行性研究报告功能说明软件项目的实现在技术上、经济上和社会因素上的可行性,评述为合理地达到开发目标可供选择的各种可能的实现方案,说明并论证所选定实施方案的理由。可行性研究报告的撰写模板可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业可行性分析的描述手段:系统流程图、数据流图什么是系统流程图概括地描绘物理系统的传统工具基本思想:用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等),表达数据在系统各部件之间流动的情况。符号P39例子:某装配厂仓库管理示例分层描绘复杂系统时,所采取分层次地描绘的方法。第一步:建立高层次的系统流程图,描绘系统总体概貌,表明系统的关键功能。第二步:分别对每个关键功能进行扩展,到合适的详细程度,画在单独的一页纸上。第三步:可以多次扩展,直到描述完整。优点:便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业什么是数据流图(DataFlowDiagram)描述数据处理过程的工具。通过图形的方法,从数据传递和数据处理的角度,刻画数据流从输入到输出的移动变换过程。数据流的三个重要属性数据流名字数据组成流向什么是数据流图(DataFlowDiagram)数据流图的四个成分源点或终点处理数据流数据存储符号P41仓库管理系统例子需求:某加工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要订货的零件。需再次订货的零件应该列出下列数据:零件编号、零件名称、订货数量、目前价格,主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事物报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。需要注意的几个问题适当地命名。“数据存储”代表数据静止状态,“数据流”代表数据的运动状态;注意数据流与控制流的区别;通常数据流图中忽略出错处理、打开或关闭文件之类的内务处理。若数据的源点和终点相同,则应该有两个箭头和这个数据源(终)点相连;或重复画一个源(终)点。数据流图的层次结构对于大型系统,往往采用自顶向下逐层分解的方法,用分层数据流图表示所有数据流和加工。对任何一个数据流图来说,它的上层图为父图,在它的下一层的图为子图。数据流图的层次结构说明在多层数据流图中,顶层流图仅包含一个数据处理,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其数据处理不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一数据处理可能继续细化,形成子图。数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素;数据流图的主图必须包括前述四种基本元素,缺一不可;数据流图的主图上的数据流必须封闭在外部实体之间;每个数据处理至少有一个输入数据流和一个输出数据流;在数据流图中,需按层给数据处理框编号。编号表明该处理所处层次及上下层的亲子关系;数据流图的原则规定任何一个数据流子图必须与它上一层的一个数据加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡;可以在数据流图中加入物质流,帮助用户理解数据流图;图上每个元素都必须有名字;数据流图中不可夹带控制流;初画时可以忽略琐碎的细节,以集中精力于主要数据流。数据流图的用途作为分析员和用户以及相关人员的交流工具作为分析和设计的工具数据流图辅助物理系统设计示例以批量方式更新库存清单数据流图数据流图辅助物理系统设计示例以联机方式更新库存清单数据流图可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业什么是数据字典(DD,datadictionary)是对数据流图中包含的所有元素的定义的集合,使得每个图形元素的名字都有一个精确的、严格的定义。数据流图和词典结合在一起,能清楚地表达数据处理的要求,构成了“需求说明书”数据字典的内容数据流数据元素数据存储数据处理定义数据的方法定义数据的符号定义数据的方法定义数据流数据流名说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量定义数据的方法定义数据元素什么是数据元素•数据元素(数据项)指数据处理中最小的,不可再分的单位。数据元素描述的组成:•数据元素名•类型:数字(离散值,连续值),文字(编码类型)•长度•取值范围•相关的数据元素及数据结构定义数据的方法定义数据存储数据存储描述的组成:•数据文件名•简述:存放的是什么数据•输入数据•输出数据•数据文件组成:数据结构•存储方式:顺序,直接,关键码•存取频率航班信息文件={航空公司名称+航班号+起点+终点+日期+起飞时间+降落时间}航空公司名称=2{字母}4字母=“A”…“Z”航班号=3{十进制数字}3十进制数字=“0”…“9”起点=终点=1{汉字}10起飞时间=降落时间=时+分时=“00”…“23”分=“00”…“59”日期=年+月+日年=[2000|2001|2002|2004]月=“01”…“12”日=“01”…“31”重复项:起点=终点=1{汉字}10航空公司名称=2{字母}4航班号=3{十进制数字}3组合项:日期=年+月+日起飞时间=降落时间=时+分选择项:年=[2000|2001|2002|2004]原数据项:字母=“A”…“Z”十进制数字=“0”…“9”时=“00”…“23”分=“00”…“59”月=“01”…“12”日=“01”…“31”定义数据的方法定义数据处理示例:•数据处理名:登记报名单•编号:1.0•激活条件:收到报名单•数据处理组成{1.1检查报名单+1.2编准考证号+1.3登记考生}•执行频率:2000次/日可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业成本/效益分析什么是成本/效益分析从经济角度分析开发一个特定的新系统是否划算,帮助客户负责人作出是否投资的决定。主要包括成本估计和成本效益分析。成本估计成本包括开发成本和运行成本。开发成本估计技术•代码行技术根据经验和历史数据,估算实现一个功能需要多少源程序行数,用每行代码的平均成本乘以行数。成本/效益分析成本估计开发成本估计技术•任务分解技术将软件开发工程分解成若干个相对独立的任务,分别估算,然后累加得出总成本。可以按阶段分解;也可以按功能分解。成本/效益分析成本估计开发成本估计技术•自动估计成本技术采用自动估计成本的软件工具,需要有长期搜集的大量历史数据为基础,并需要良好的数据库系统支持。运行成本估计根据操作人员数量、工作时间、消耗的物资等估计。成本/效益分析成本/效益分析方法货币的时间价值:以银行利率表示货币的时间价值。投资回收期:累计的经济效益等于最初的投资所需要的时间。纯收入:整个软件生命期内,累计经济效益(折合成现在值)与投资之差。投资回收率可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业可行性研究的任务可行性研究过程系统流程图数据流图数据字典成本/效益分析总结课后作业制作系统流程图和数据流图需求:商场业务处理系统假设某商场的经营业务。商场进货时,先发订货单给供应商,供应商收到订货单,将商品发给商场,商场货到付款,供应商收款后,将收据发给商场;当顾客到商场采购商品时,先下购物订单,商场查询库存中是否有此种商品,若有则发货给顾客;若没有,则向供应商订货,货到之后再销售给顾客;顾客收到货物之后付款,商场开收据给顾客;商场对货物的管理方面要求知道每种货物详细的销售情况。