
软件工程导论第五第二章.ppt
61页第第2 2章:可行性研究章:可行性研究• 可可行行性性研研究究就就是是要要回回答答““所所定定义义的的问问题题有有可可行的解决办法吗?行的解决办法吗?””•可可行行性性研研究究的的目目的的是是::用用最最小小的的代代价价在在尽尽可可能能短短的的时时间间内内确确定定问问题题是是否否有有解解,,以以及及是是否否值得去解值得去解2.1 可行性研究的任务Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• 可可行行性性研研究究所所需需的的时时间间取取决决于于工工程程的的规规模模,,所所需需要要的成本要占工程总成本的的成本要占工程总成本的5%~10%5%~10%Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•可行性研究的内容:可行性研究的内容:•1 1))技术可行性技术可行性•技术可行性要分析各种技术因素,例如:技术可行性要分析各种技术因素,例如:•使用现有的技术能否实现这个系统?使用现有的技术能否实现这个系统?•是否有胜任开发该项目的熟练技术人员是否有胜任开发该项目的熟练技术人员•能否按期得到开发该项目所需的软件、硬件资源?能否按期得到开发该项目所需的软件、硬件资源?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2 2))经济可行性经济可行性• 对经济合理性进行评价,所要考虑的问题是对经济合理性进行评价,所要考虑的问题是• 这个系统的经济效益能否超过它的开发成本?这个系统的经济效益能否超过它的开发成本?• 这这就就需需要要对对项项目目进进行行价价格格/ /利利益益分分析析,,即即““投投入入/ /产产出出””分析。
分析• 由由于于利利益益分分析析取取决决于于软软件件系系统统的的特特点点,,因因此此在在软软件件开开发发之之前前,,很很难难对对新新系系统统产产生生的的效效益益作作出出精精确确的的定定量量描描述述,,所所以往往采用一些估算方法以往往采用一些估算方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•3 3))操作可行性•操操作作可可行行性性评评价价系系统统运运行行后后会会引引起起的的各各方方面面变变化化,,如如::对对组组织织机机构构管管理理模模式式、、用用户户工工作作环环境境等等产产生生的的影响 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•4 4))社会可行性社会可行性• 社社会会可可行行性性主主要要讨讨论论法法律律方方面面和和使使用用方方面的可行性。
面的可行性• 例例如如,,被被开开发发软软件件的的权权利利归归属属问问题题、、软软件所使用的技术是否会造成侵权等问题件所使用的技术是否会造成侵权等问题Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.2 可行性研究的步骤可行性研究的步骤 •1 1)复查系统规模和目标;)复查系统规模和目标;•确认目标问题确认目标问题•2 2)研究目前正在使用的系统;)研究目前正在使用的系统;•确认成本,缺点,流程图,接口等确认成本,缺点,流程图,接口等•3 3)导出新系统的高层逻辑模型(数据流图、数据字典);)导出新系统的高层逻辑模型(数据流图、数据字典);•输入输出,数据格式输入输出,数据格式•4 4)重新定义问题;)重新定义问题; Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.2 可行性研究的步骤可行性研究的步骤 •5 5)导出和评价供选择的解法(物理解决方案);)导出和评价供选择的解法(物理解决方案);•6 6)推荐行动方案;)推荐行动方案;•7 7)草拟开发计划;)草拟开发计划;•8 8)书写文档提交审查。
书写文档提交审查 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.3 2.3 系统流程图系统流程图 (描绘物理系统的工具)(描绘物理系统的工具)•2.3.1 2.3.1 符号符号 符号符号名称名称说明说明处理处理如:程序,处理机,人工加工如:程序,处理机,人工加工输入输入/输出输出连接连接换页连接换页连接数据流数据流表示输入或输出表示输入或输出同一页上图的连接同一页上图的连接不同页上图的连接不同页上图的连接指明数据流动方向指明数据流动方向图图2.1 基本符号基本符号Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.符号符号名称名称说明说明穿孔卡片穿孔卡片文档文档磁带磁带联机存储联机存储磁盘磁盘磁鼓磁鼓显示显示人工输入人工输入人工操作人工操作辅助操作辅助操作通信链路通信链路穿孔卡片输入穿孔卡片输入/输出,或穿孔卡片文件输出,或穿孔卡片文件打印输出,或打印终端输入数据打印输出,或打印终端输入数据磁带输入磁带输入/输出,或表示磁带文件输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等任何种类磁盘存储,如磁盘、磁鼓等磁盘输入磁盘输入/输出,或磁盘上文件、数据库输出,或磁盘上文件、数据库磁鼓输入磁鼓输入/输出,或磁鼓上文件、数据库输出,或磁鼓上文件、数据库显示器部件显示器部件人工输入数据,如填写表格人工输入数据,如填写表格人工完成的处理人工完成的处理使用辅助设备进行的脱机操作使用辅助设备进行的脱机操作通过远程通信线路传送数据通过远程通信线路传送数据图图2.2 系统符号系统符号Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2.3.2 2.3.2 例子例子 事务事务库存清单程序库存清单程序报告生成程序报告生成程序定货定货信息信息定货报告定货报告库存清单库存清单主文件主文件图图2.3 库存清单系统的系统流程图库存清单系统的系统流程图•2.3.2 2.3.2 复杂复杂 分分层层 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.4 2.4 数据流图(描绘数据在系统中流动的逻辑过程)数据流图(描绘数据在系统中流动的逻辑过程)•2.4.1 2.4.1 符号符号 或或或或或或数据源点或终点数据源点或终点变换数据的处理变换数据的处理数据存储数据存储数据流数据流图图2.4 基本符号的含义基本符号的含义Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.TABC*TABC*附加符号附加符号TABC+TABC+Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•注意:注意:•““处理处理””可表示:单个程序、一系列程序、程可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;序的一个模块、人工处理过程等等;•““数据存储数据存储””可表示:一个文件、文件的一部可表示:一个文件、文件的一部分、数据库记录等等;分、数据库记录等等;•数据流图数据流图忽略忽略出错处理、打开文件、关闭文件。
出错处理、打开文件、关闭文件Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2.4.2 2.4.2 绘制数据流图的绘制数据流图的例子例子 事务事务库存清单程序库存清单程序报告生成程序报告生成程序定货定货信息信息定货报告定货报告库存清单库存清单主文件主文件图图2.3 库存清单系统的系统流程图库存清单系统的系统流程图Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2.4.2 2.4.2 绘制数据流图的绘制数据流图的例子例子 仓库仓库管理员管理员采购员采购员定货系定货系统统事务事务定货报表定货报表图图2.5 定货系统的基本系统模型定货系统的基本系统模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.4.2 绘绘制数据流制数据流图图的的例子例子 库存清单库存清单仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.6 定货系统的功能级数据流图定货系统的功能级数据流图处理处理事务事务1产生产生报表报表2D1库存清单库存清单D2定货信息定货信息定货信息定货信息定货信息定货信息Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•组成该例子的数据流图的元素组成该例子的数据流图的元素源点源点/终点终点处理处理 采购员采购员 仓库管理员仓库管理员 产生报表产生报表 处理事务处理事务数据流数据流数据存储数据存储 订货报表订货报表 零件编号零件编号 零件名称零件名称 订货数量订货数量 目前价格目前价格 主要供应商主要供应商 次要供应商次要供应商 事务事务 零件编号零件编号 事务类型事务类型 数量数量 订货信息订货信息 (见订货报表)(见订货报表) 库存清单库存清单 零件编号零件编号 库存量库存量 库存量临界值库存量临界值Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• 上述数据流图所描述的功能上述数据流图所描述的功能够详细了吗?够详细了吗?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.4.2 绘绘制数据流制数据流图图的的例子例子 仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.7 定货系统进一步分解后的数据流图定货系统进一步分解后的数据流图更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2定货信息定货信息接收接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•1 1))为数据流(或数据存储)命名为数据流(或数据存储)命名• A A..名名字字应应该该代代表表整整个个数数据据流流((或或数数据据存存储)的内容;储)的内容;• B B..不不要要使使用用空空洞洞的的、、缺缺乏乏具具体体含含义义的的名名字(如字(如““数据数据””、、““输入输入””);); 2.4.3 命名命名Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• C C.如果为某个数据流(或数据存储)起名字时.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;造成的,应该试试重新分解数据流图; Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2 2))为处理命名为处理命名• A A..通通常常先先为为数数据据流流命命名名,,然然后后再再为与之相关联的处理命名;为与之相关联的处理命名;• B B.名字应该反映整个处理的功能;.名字应该反映整个处理的功能;• C C..应应该该尽尽量量避避免免空空洞洞笼笼统统的的动动词词做名字,如做名字,如““处理处理””、、““加工加工””;; Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• D D..通通常常用用一一个个动动词词命命名名,,如如果果必必须须用用两两个个动动词词才才能能描描述述整整个个处处理理的的功功能能,,则则可可能能要把这个处理分解成两个处理更恰当;要把这个处理分解成两个处理更恰当;• E E..如如果果在在为为某某个个处处理理命命名名时时遇遇到到困困难难,,则则很很可可能能是是发发现现了了分分解解不不当当的的情情况况,,应应考考虑虑重新分解。
重新分解Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• 通常,为通常,为““数据源点数据源点/ /终点终点””命名时,采用它们在问题命名时,采用它们在问题域中习惯使用的名字(如域中习惯使用的名字(如““仓库管理员仓库管理员””、、““采购员采购员””)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•1 1)利用它作为交流信息的工具;)利用它作为交流信息的工具;•研究超过研究超过5-95-9个便难于理解个便难于理解 分层分层•2 2)作为软件分析和设计的工具作为软件分析和设计的工具2.4.4 数据流图的用途数据流图的用途 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.4.4 数据流数据流图图的用途的用途 仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.8 这种自动化边界建议以联机方式更新库存清单这种自动化边界建议以联机方式更新库存清单更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2定货信息定货信息接收接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•图图2.8 对应的物理实现硬件方案对应的物理实现硬件方案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2.4.4 2.4.4 数据流图的用途数据流图的用途 仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.9 这种自动化边界暗示以批量方式更新库存清单这种自动化边界暗示以批量方式更新库存清单更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2 定货信息定货信息接收接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息D3 事务事务Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•图图2.9 对应的物理实现硬件方案对应的物理实现硬件方案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.5 数据字典数据字典 • 数据字典数据字典:对数据流图中包含的所有元:对数据流图中包含的所有元素的定义的集合;素的定义的集合;• 可行性研究阶段,数据流图与数据字典可行性研究阶段,数据流图与数据字典共同构成系统的共同构成系统的逻辑模型逻辑模型。
Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2.5.1 2.5.1 数据字典的内容数据字典的内容•数据字典应该对下列元素进行定义:数据字典应该对下列元素进行定义:• 1 1)数据流;)数据流;• 2 2)数据元素(数据流分量);)数据元素(数据流分量);• 3 3)数据存储;)数据存储;• 4 4)处理 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•1 1))数据元素字典数据元素字典定义定义•其定义的基本内容有:其定义的基本内容有:• A A.数据元素编号、名称及其含义;.数据元素编号、名称及其含义;• B B.数据类型和长度;.数据类型和长度;• C C.合理取值;.合理取值;• D D..其其他他内内容容,,如如它它与与其其它它数数据据的的逻辑关系等。
逻辑关系等2.5.2 定义数据的方法定义数据的方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•数据元素字典数据元素字典定义实例:定义实例:数据元素编号数据元素编号::DC001数据元素名称数据元素名称:考试成绩:考试成绩别名别名:成绩、分数:成绩、分数简述简述:学生考试成绩,分五个等级:学生考试成绩,分五个等级类型类型/长度长度:两个字节,字符类型:两个字节,字符类型取值取值/含义含义:优:优 [90-100] 良良 [80-89] 中中 [70-79] 及格及格 [60-69] 不及格不及格 [0-59]有关数据项或结构有关数据项或结构:学生成绩档案:学生成绩档案有关处理逻辑有关处理逻辑:计算成绩:计算成绩 图图2.10 数据元素字典定义数据元素字典定义Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2))数据流字典数据流字典定义定义•其定义的基本内容有:其定义的基本内容有:• A.数据流编号及名称;.数据流编号及名称;• B.数据流来源;.数据流来源;• C.数据流去处;.数据流去处;• D.数据流的组成;.数据流的组成; • E.流通量;.流通量;• F.峰值。
.峰值Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•数据流字典数据流字典定义实例:定义实例:数据流编号数据流编号::DF001数据流名称数据流名称:订票单:订票单简述简述:订票时填写的订票单:订票时填写的订票单数据流来源数据流来源:外部实体:外部实体“乘客乘客”数据流去处数据流去处:处理逻辑:处理逻辑“预订机票预订机票”数据流组成数据流组成:订单编号:订单编号 日期日期 乘客号乘客号 航班号航班号 状态状态 订单失效日期订单失效日期流通量流通量:每天:每天300份份高峰值流通量高峰值流通量:每天早上:每天早上9::00,约,约160份份图图2.11 数据流字典定义数据流字典定义Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•3))数据存储数据存储字典定义字典定义•其定义的基本内容有:其定义的基本内容有:• A.数据存储编号及名称;.数据存储编号及名称;• B.数据存储的组成;.数据存储的组成;• C.其它要求。
.其它要求Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•4))数据处理数据处理字典定义字典定义•其定义的基本内容有:其定义的基本内容有:• A.数据处理编号及名称;.数据处理编号及名称;• B.简单描述;.简单描述;• C.输入.输入/输出;输出;• D.功能描述;.功能描述;• E.有关数据存储.有关数据存储 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•数据处理数据处理字典定义实例:字典定义实例:数据处理编号数据处理编号::DP001数据处理名称数据处理名称:编辑订票:编辑订票简述简述:接收从终端录入的订票单,检验是否正确:接收从终端录入的订票单,检验是否正确输入输入:乘客订单,来源:外部实体:乘客订单,来源:外部实体“乘客乘客”输出输出::1.合格订单,去处:处理逻辑合格订单,去处:处理逻辑“确定订票确定订票” 2.不及格订单,去处:外部实体不及格订单,去处:外部实体“乘客乘客”功能描述:功能描述:……(略)(略)图图2.12 数据处理字典定义数据处理字典定义Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•5 5)组成数据项的表示方法)组成数据项的表示方法• = = 表示表示““等价于等价于””或或““定义为定义为””• + + 表示表示““与与””• [ ][ ]与与 | | 表示表示““或或””• { }{ } 表示重复表示重复• ( )( ) 表示可选项表示可选项• 通讯录通讯录={={通讯地址通讯地址} }• 通通讯讯地地址址= =姓姓名名+ +邮邮编编+[+[省省| |直直辖辖市市| |自自治治区区]+[]+[市市| |县县]+]+街道街道+ +门牌号门牌号+ +()() Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•1. 1. 作为分析阶段的重要工具;作为分析阶段的重要工具;•通讯接口通讯接口•2. 2. 数据元素的控制信息非常有用;数据元素的控制信息非常有用;•分析数据对模块的影响分析数据对模块的影响•3. 3. 有助于开发数据库。
有助于开发数据库2.5.3 数据字典的用途数据字典的用途Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.实现实现数据字典:数据字典: 1)程序)程序处处理;理; 2)卡片式人工)卡片式人工书书写;写;2.5.4 数据字典的实现数据字典的实现Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.6 成本成本/效益分析效益分析 •1 1))代码行技术代码行技术• 软件成本软件成本 = = 每行代码的平均成本每行代码的平均成本××估计估计的源代码总行数的源代码总行数 2.6.1 成本估计成本估计Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2))任任务务分解技分解技术术 软软件件开开发发项项目目分分解解为为若若干干个个相相对对独独立立的的任任务务,分,分别别估估计计每个每个单单独任独任务务的成本:的成本: 单单独独任任务务成成本本 = 任任务务所所需需人人力力估估计计值值×每每人每月平均工人每月平均工资资;; 软软件开件开发项发项目目总总成本估成本估计计 = 各个各个单单独任独任务务成本估成本估计值计值之和。
之和 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• 常用的办法是按开发阶段划分任务,典型环常用的办法是按开发阶段划分任务,典型环境下各个开发阶段需要使用的人力百分比大致如下:境下各个开发阶段需要使用的人力百分比大致如下:任务任务人力(%)人力(%)可行性研究可行性研究需求分析需求分析设计设计编码与单元测试编码与单元测试综合测试综合测试总计总计510252040100Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•3 3))自动估计成本技术自动估计成本技术• 采用自动估计成本的软件工具估计采用自动估计成本的软件工具估计 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•1))Putnam 模型模型• 1978年年Putnam提出的,一种动态多变量模型:提出的,一种动态多变量模型:软件开发成本估算的经验模型:软件开发成本估算的经验模型:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• Ck为技术状态常数,它反映为技术状态常数,它反映“妨碍开发进展妨碍开发进展的限制的限制”,取值因开发环境而异,见下表:,取值因开发环境而异,见下表:Ck的典型的典型值值开开发环发环境境开开发环发环境境举举例例2000差差没有系没有系统统的开的开发发方法,缺乏文档和复方法,缺乏文档和复审审8000好好有合适的系有合适的系统统的开的开发发方法,有充分的方法,有充分的文档和复文档和复审审11000优优有自有自动动的开的开发发工具和技工具和技术术Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2))COCOMO模型模型(constructive cost model)• 这是由这是由TRW公司开发,公司开发,Boehm提出的结构化成本估算提出的结构化成本估算模型,是一种精确的、易于使用的成本估算方法。
模型,是一种精确的、易于使用的成本估算方法• 基本基本COCOMO模型估算工作量和进度的公式如下:模型估算工作量和进度的公式如下:• 工工 作作 量:量: MM = r×(KDSI)c (人月)(人月)• 开发时间:开发时间: TDKV = a×(MM)b (月)(月)• DSI:源指令条数,不包括注释,:源指令条数,不包括注释,1KDSI = 1000DSI• MM:开发工作量(以人月计),:开发工作量(以人月计),1MM = 19 人日人日 = 152 人时人时 =1/12 人年人年• 经验常数经验常数 r, c, a, b 取决于项目的总体类型取决于项目的总体类型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• COCOMO模型中,考虑开发环境,软件开发模型中,考虑开发环境,软件开发项目的类型可以分为项目的类型可以分为3种:种:•1))组织型组织型(organic) • 相对较小、较简单的软件项目。
开发人员对开相对较小、较简单的软件项目开发人员对开发目标理解比较充分,与软件系统相关的工作经发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(束较小,程序的规模不是很大(<50000行)行) Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2))嵌入型嵌入型(embedded)• 要求在紧密联系的硬件、软件和操作的限制条要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合件下运行,通常与某种复杂的硬件设备紧密结合在一起对接口,数据结构,算法的要求高软在一起对接口,数据结构,算法的要求高软件规模任意件规模任意• 如大而复杂的事务处理系统,大型如大而复杂的事务处理系统,大型/超大型操超大型操作系统,航天用控制系统,大型指挥系统等作系统,航天用控制系统,大型指挥系统等。
Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•3))半独立型半独立型((semidetached))• 介于上述两种软件之间规模和复杂度都属于介于上述两种软件之间规模和复杂度都属于中等或更高最大可达中等或更高最大可达30万行Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•COCOMO模型按其详细程度可以分为三级:模型按其详细程度可以分为三级:•1))基本基本COCOMO模型模型• 是一个静态单变量模型,它用一个以已估算出来的是一个静态单变量模型,它用一个以已估算出来的原代码行数原代码行数(LOC)为自变量的经验函数计算软件开发工为自变量的经验函数计算软件开发工作量Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•基本基本COCOMO模型模型•通过统计通过统计63个历史项目的历史数据,得到如下计算公式:个历史项目的历史数据,得到如下计算公式:总总体体类类型型工作量工作量所需开所需开发时间发时间组织组织型型MM = 2.4×(KDSI)1.05TDKV = 2.5×(MM)0.38半独立型半独立型MM = 3.0×(KDSI)1.12TDKV = 2.5×(MM)0.35嵌入型嵌入型MM = 3.0×(KDSI)1.20TDKV = 2.5×(MM)0.32Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2))中级中级COCOMO模型模型• 在基本在基本COCOMO模型的基础上,再用涉及模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整产品、硬件、人员、项目等方面的影响因素调整工作量的估算。
工作量的估算•3))详细详细COCOMO模型模型• 包括中级包括中级COCOMO模型的所有特性,但更模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设进一步考虑了软件工程中每一步骤(如分析、设计)的影响计)的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•1))货币的时间价值货币的时间价值• 假假设设年年利利率率为为i,如如果果现现在在存存入入P元元钱钱,,则则n年以后可以得到的钱数为:年以后可以得到的钱数为:• • 反反之之,,如如果果n年年后后能能收收入入F元元钱钱,,那那么么这这些些钱现在的价值是:钱现在的价值是: 2.6.2 成本成本/效益分析效益分析Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.• 例:修改一个已有的库存管理系统,估计需要例:修改一个已有的库存管理系统,估计需要50005000元,元,系统修改后使用系统修改后使用5 5年,每年可节省年,每年可节省25002500元。
请进行成本元请进行成本/ /效益效益分析Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•表表1 1:将来的收入折算成现在值:将来的收入折算成现在值 年年将来将来值值(元)(元)(1+0.12)n现现在在值值(元)(元)累累计计的的现现在在值值(元)(元)125001.122232.142232.14225001.251992.984225.12325001.401779.456004.57425001.571588.807593.37525001.761418.579011.94Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•2))投资回收期投资回收期• 第一、第二年回收:第一、第二年回收:4225元元 • 第三年用于回收投资要:第三年用于回收投资要:• ( 5000 - 4225 ) / 1779 = 0.44年年 • 总的投资回收期总的投资回收期 = 2.44年年3))纯收入纯收入 9011.94 - 5000 = 4011.94 (元)(元)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.•4))投资回收率投资回收率• 其中:其中:P是现在的投资额;是现在的投资额;• Fi是第是第i年年底的效益(年年底的效益(i=1,2,3,…,n));• n是系统的使用寿命(一般假设是系统的使用寿命(一般假设n=5););• j是投资回收率。
是投资回收率•上述修改系统的工程的投资回收率是上述修改系统的工程的投资回收率是41%-42%Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.第第2 2章小结章小结•◇◇ 可行性分析可行性分析报报告告• 说说明明该软该软件开件开发项发项目的目的实现实现在技在技术术上、上、经济经济上和社会上和社会因素上的可行性,因素上的可行性,评评述述为为了合理地达到开了合理地达到开发发目目标标可供可供选选择择的各种可能的各种可能实实施方案,施方案,说说明并明并论证论证所所选选定定实实施方案的施方案的理由•◇◇ 项项目开目开发计发计划划• 为软为软件件项项目目实实施方案制施方案制订订出具体出具体计计划,划,应该应该包括各部包括各部分工作的分工作的负责负责人人员员、开、开发发的的进进度、开度、开发经费发经费的的预预算、所算、所需的硬件及需的硬件及软软件件资资源等Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.。












