软件工程基础与实例分析第二章可行性分析_第1页
软件工程基础与实例分析第二章可行性分析_第2页
软件工程基础与实例分析第二章可行性分析_第3页
软件工程基础与实例分析第二章可行性分析_第4页
软件工程基础与实例分析第二章可行性分析_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

软件工程基础与实例分析第二章可行性分析2主要学习内容:可行性研究的任务可行性研究的步骤系统流程图数据流图数据字典成本/效益分析32.1问题定义

简单描述问题问题定义是整个软件工程的第一个步聚,甚至可以说软件工程里面各个项目的第一个步骤,问题定义可能是来源于不同的领域,不同的方面,所谓问题定义一般来说是用一句话,就是一个句话来描述我想做什么,这种问题定义在现实生活中,可能有两个主要的来源,一个主要来源是做软件产品,另一个是软件的委托开发,不同的问题来源引起不同的问题定义.

42.2可行性研究的任务技术可行性使用现有的技术能实现这个系统吗?经济可行性这个系统的经济效益能超过它的开发成本吗?操作可行性系统的操作方式在这个用户组织内行得通吗?

不是解决问题,而是确定是否可解\值得解52.3可行性研究的过程1复查系统规模和目标2研究目前正在使用的系统3导出新系统的高层逻辑模型4重新定义问题5导出和评价供选择的解法6推荐行动方针7草拟开发计划

1)任务分解,确定负责人

2)大致进度规划

3)财务预算

4)风险分析及对策8书写文档提交审查62.4可行性研究阶段使用的工具系统流程图-1基本符号7

系统流程图-1基本符号(续)8系统流程图—2例题例题1:某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。变化仓库零

库存量件临界值库存清单XX:————————XX:————…………库存<

临界值定货报告9第一种分析方法:用小型计算机处理更新库存清单主文件和产生定货报告任务。零件库存量的每次变化称为事务。由放在仓库中的CRT终端输入到计算机中。系统中库存清单程序对事务处理。更新磁盘上库存清单主文件每天报告生成程序打印定货报告库存管理模块输入变更记录报告生成模块订货信息订货报告库存图库存管理系统的系统流程图10事务库存清单程序库存清单主文件报告生成程序定货报告即库存量变化定货信息=第二种分析方法事务:表示一个新请求的到达,是到达的事务,如库存里面到批货,如零件。或从库存里面有一个领料单,领部分零件。库存清单程序处理事务,领走多少零件,库存减多少,新到多少零件库存增多少写到库存清单文件。11

数据流图(DFD)是一种图形化技术,描绘信息和数据从输入移动到输出的过程所经受的变换。数据流图中没有任何具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,是逻辑模型。1符号数据流图—对可行性信息分析Input/outputDatastoragefunctionDataflow数据源点/终点变换数据的处理数据存储数据流12定期和活期取款只能反回一个单,或是取,或是存小角在储户手中,缺角支票在银行中++数据流图附加符号含义132数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统14图2-4分层数据流图15在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层只要是模块的最底层就是底层流图,不管是第二层还是第三层的底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。163命名为数据流图(或数据存储)命名跟数据本身相关联(1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。(2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。(3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该尝试进行重新分解。

17为处理命名。表征数据是怎样处理的。不要出现是什么处理,最好是接收事物,然后事物是怎样处理的,比如说,更新库存数据等(1)通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。(2)名字应该反映整个处理的功能,而不是它的一部分功能。(3)名字最好由一个具体的及物动词,加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。(4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。(5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。18数据流图—对可行性信息分析4)例子数据流图以分析数据为基本单位,为什么分析数据,不用系统流程图,系统流程图以功能划分为主,做个计算机系统,不是要做什么功能,而是要处理什么信息,计算机已经变质为一个信息处理的工具,是以信息处理为核心,需要用数据流图来表示现在有什么数据是最关键的,至于怎样处理计算机里面关系不大.仓库管理员是一个输入,输入一个事务1表示第1个处理模块,名叫处理事务或事务处理单元或事务处理程序D1为编号,数据D1叫库存清单交换数据也叫库存清单采购员采购员仓库管理员定货系统定货报表事务图2-5定货系统的最主要业务处理流图19采购员仓库管理员1事务处理2产生报表库存清单D1定货信息D2定货信息库存清单定货信息定货报表事务图2-6定货系统的第一层数据流图一级数据流图或功能级数据流图,可看到事务大概走向20图2-7定货系统的第二层数据流图仓库管理员库存清单D1库存清单采购员1.3事务处理2产生报表定货信息D2定货信息定货信息定货报表事务1.1接收事务1.2更新库存库存信息事务数据流图分层细化时必须保持信息连续性,跟前一层的信息完全一样。215)检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素,并且必须包括前述四种基本元素,缺一不可。数据流图的主图上的数据流必须封闭在外部实体之间。每个加工至少有一个输入数据流和一个输出数据流。在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系。规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。可以在数据流图中加入物质流,帮助用户理解数据流图。图上每个元素都必须有名字。数据流图中不可夹带控制流。初画时可以忽略琐碎的细节,以集中精力于主要数据流。22

数据的信息的集合也就是对数据流图中所包含的所有元素的定义的集合,如D1,D2这些数据的所有元素集合。1)数据字典的内容数据流数据流分量(数据元素)------别名(出现的原因?)数据存储处理数据字典相当于一个字典或多张卡片,数据表示什么,有什么功能或以查字典。数据字典232)定义数据的方法顺序以确定次序连接两个或多个分量。标识符=字母字符+数字串选择两个或多个中选一个。字母或数字=[字母|数字]重复把指定分量重复一次或多次。字母数字串=1{字母或数字}5可选分量可有可无重复()3)用途分析阶段工具4)例子名字:零件编号别名:描述:唯一地标识库存清单中一个特定零件的关键域定义:零件编号=8{字符}8位置:定货报告定货信息库存清单}数据结构24数据流描述

名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表数据流来源:来自仓库管理员事务处理数据流去向:采购员数据流组成:零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者位置:输出到打印机25数据元素描述

名字:零件编号别名:描述:唯一地标识库存清单中一个特定零件的关键域类型:字符长度:8取值范围:0000~9999位置:定货报表定货信息库存清单26数据文件的描述

名字:库存清单别名:描述:存放每个零件的信息输入数据:库存清单输出数据:库存清单数据文件组成:零件编号+零件名称+入库数量+出库数据+库存量+入库日期+出库日期+经办人存储方式:关键码272.5成本/效益分析1、成本估计代码行技术跟据经验和历史数据估计实现一个功能需要的源程序行数。每行代码的平均成本源代码行数(每行平均成本取决于工资水平和复杂程度)任务分解技术最常用按开发阶段划分任务,估计每个任务的成本,最后累加得出软件开发工程总成本,通常先估计完成该项任务需要的人力(人/月),再乘以每人每月平均工资得出每个任务成本。典型环境下各个开发阶段需要使用的人力的百分比如表自动估计成本技术任务人力(%)

可行性研究5

需求分析15

设计25

编码和单元测试20

综合测试35282、成本效益分析的方法货币的时间价值体现。假设年得率为I,如果现在存入P元,则n年后可以得到的钱数为F=P(1+i)n,反之,如果n年后能收入F元,那么这些钱现在的价值是P=F/(1+i)n投资回收期。使累计的经济效益等于最初投资所需要的时间。回收期越短就越快获得利润纯收入。整个生命周期内系统的累计经济效益(折合成现在值)与投资之差。相当于比较投资开发一个软件系统和把钱存在银行(或贷给其他企业)两种方案优劣。如果纯收入为0,工程预期效益和在银行存款额样,则开发系统有风险,不值得投资,如果纯收入小于0,则不值得投资。投资回收率。把资金存入银行或贷给其它企业能获得利息,常用年利率衡量利息多少,设想把数量等于投资额的资金存入银行,每年从银行取回的钱等于每年预期可以获得的效益,在时间等于系统寿命时,正好把银行中存款全部取光,年利率是多少,这个假想的年利率就等于投资回收率。29例:在工程设计中用CAD系统来取代大部分人工设计工作,每年可节省9.6万元。若软件生存期为5年,则5年可节省48万元,而开发这个CAD系统共投资20万元。分析:不能简单地把20万元同48万元相比较,因为前者是现在投资的钱,而后者是5年以后节省的钱,需要把5年内每年预计节省的钱折合成现在的价值才能进行比较。(1)货币的时间价值体现设年利率为5%,利用上面计算货币现在价值的公式,可以算出引入CAD系统后,每年预计节省的钱的现在价值,如下表。年将来值(元)(1+i)n现在值(元)累计的现在值(元)19.61.059.14299.142929.61.10258.707517.851339.61.15768.292826.143249.61.21557.897934.041159.61.27637.521941.563030(2)投资回收期。例2.1中,引入CAD系统两年以后,可以节省17.85万元,比最初投资还少2.15万元,但第三年可以节省8.29万元,则:2.15/8.29=0.259

温馨提示

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

评论

0/150

提交评论