首页计算机计算机软件软件工程 02 第二章 可行性研究.pptx

02 第二章 可行性研究.pptx

页数:66页文件大小:474.6 KB来源: 软件工程ppt课件

本课件围绕可行性研究的目的与四项内容展开,讲解系统流程图与数据流图的符号体系、绘制方法、命名规则与实际用途,并给出数据字典的定义方法与成本效益分析的主要技术。

第2章可行性研究章节页,说明可行性研究要回答所定义的问题是否存在可行的解决办法
可行性研究成本说明页,指出所需时间取决于工程规模,成本约占工程总成本的5%到10%
技术可行性说明页,分析现有技术能否实现系统、开发人员与软硬件资源是否齐备
查看本课件的文字版(共 66 页,供检索与复制)

第1页:第2章 可行性研究

第2章 可行性研究:第2章:可行性研究可行性研究就是要回答“所定义的问题有可行的解决办法吗?”。可行性研究的目的是:用最小的代价在尽可能短的时间内确定问题是否有解,以及是否值得去解

第2页:可行性研究的成本与时间

可行性研究的成本与时间:可行性研究所需的时间取决于工程的规模,所需要的成本要占工程总成本的5%~10%

第3页:技术可行性

技术可行性:可行性研究的内容:1)技术可行性技术可行性要分析各种技术因素,例如:使用现有的技术能否实现这个系统?是否有胜任开发该项目的熟练技术人员?能否按期得到开发该项目所需的软件、硬件资源?

第4页:经济可行性

经济可行性:2)经济可行性对经济合理性进行评价,所要考虑的问题是:这个系统的经济效益能否超过它的开发成本?这就需要对项目进行价格/利益分析,即“投入/产出”分析。由于利益分析取决于软件系统的特点,因此在软件开发之前,很难对新系统产生的效益作出精确的定量描述,所以往往采用一些估算方法

第5页:操作可行性

操作可行性:3)操作可行性操作可行性评价系统运行后会引起的各方面变化,如:对组织机构管理模式、用户工作环境等产生的影响

第6页:社会可行性

社会可行性:4)社会可行性社会可行性主要讨论法律方面和使用方面的可行性。例如,被开发软件的权利归属问题、软件所使用的技术是否会造成侵权等问题

第7页:可行性研究的步骤(上)

可行性研究的步骤(上)

  • 复查系统规模和目标
  • 研究目前正在使用的系统
  • 导出新系统的高层逻辑模型(数据流图、数据字典)
  • 重新定义问题

第8页:可行性研究的步骤(下)

可行性研究的步骤(下)

  • 导出和评价供选择的解法(物理解决方案)
  • 推荐行动方案
  • 草拟开发计划
  • 书写文档提交审查

第9页:系统流程图的基本符号

系统流程图的基本符号:系统流程图(描绘物理系统的工具)2.3.1符号符号名称说明处理如:程序,处理机,人工加工输入/输出连接换页连接数据流表示输入或输出同一页上图的连接不同页上图的连接指明数据流动方向图

第10页:系统流程图的系统符号

系统流程图的系统符号:符号名称说明穿孔卡片文档磁带联机存储磁盘磁鼓显示人工输入人工操作辅助操作通信链路穿孔卡片输入/输出,或穿孔卡片文件打印输出,或打印终端输入数据磁带输入/输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等磁盘输入/输出,或磁盘上文件、数据库磁鼓输入/输出,或磁鼓上文件、数据库显示器部件人工输入数据,如填写表格人工完成的处理使用辅助设备进行的脱机操作通过远程通信线路传送数据图

第11页:库存清单系统的系统流程图

库存清单系统的系统流程图:例子事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图

第12页:数据流图的基本符号

数据流图的基本符号:数据流图(描绘数据在系统中流动的逻辑过程)2.4.1符号或或或数据源点或终点变换数据的处理数据存储数据流图

第13页:数据流图的附加符号

数据流图的附加符号:TABC*TABC*附加符号TABC+TABC+

第14页:处理与数据存储的含义

处理与数据存储的含义:注意:“处理”可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;“数据存储”可表示:一个文件、文件的一部分、数据库记录等等;数据流图忽略出错处理、打开文件、关闭文件

第15页:定货系统的系统流程图

定货系统的系统流程图:绘制数据流图的例子事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图

第16页:定货系统的基本系统模型

定货系统的基本系统模型:绘制数据流图的例子仓库管理员采购员定货系统事务定货报表图

第17页:定货系统的功能级数据流图

定货系统的功能级数据流图:绘制数据流图的例子库存清单仓库管理员采购员事务定货报表图2.6定货系统的功能级数据流图处理事务1产生报表2D1库存清单D2定货信息定货信息定货信息

第18页:数据流图组成元素清单

数据流图组成元素清单:组成该例子的数据流图的元素处理源点/终点产生报表处理事务采购员仓库管理员数据存储数据流订货信息(见订货报表)库存清单零件编号库存量库存量临界值订货报表零件编号零件名称订货数量目前价格主要供应商次要供应商事务零件编号事务类型数量

第19页:数据流图分解程度的思考

数据流图分解程度的思考:上述数据流图所描述的功能够详细了吗?

第20页:定货系统进一步分解的数据流图

定货系统进一步分解的数据流图:绘制数据流图的例子仓库管理员采购员事务定货报表图2.7定货系统进一步分解后的数据流图更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息

第21页:数据流与数据存储的命名规则

数据流与数据存储的命名规则

  • 为数据流(或数据存储)命名A.名字应该代表整个数据流(或数据存储)的内容
  • 不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”)

第22页:命名困难时的处理办法

命名困难时的处理办法:C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图

第23页:处理的命名规则

处理的命名规则

  • 为处理命名A.通常先为数据流命名,然后再为与之相关联的处理命名
  • 名字应该反映整个处理的功能
  • 应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”

第24页:处理命名与分解的关系

处理命名与分解的关系

  • 通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当
  • 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解

第25页:数据源点与终点的命名

数据源点与终点的命名:通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)

第26页:数据流图的用途

数据流图的用途

  • 利用它作为交流信息的工具
  • 作为软件分析和设计的工具

第27页:以联机方式更新库存清单

以联机方式更新库存清单:数据流图的用途仓库管理员采购员事务定货报表图2.8这种自动化边界建议以联机方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息

第28页:图2.8对应的物理实现方案

图2.8对应的物理实现方案:图2.8对应的物理实现硬件方案

第29页:以批量方式更新库存清单

以批量方式更新库存清单:数据流图的用途仓库管理员采购员事务定货报表图2.9这种自动化边界暗示以批量方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息D3事务

第30页:图2.9对应的物理实现方案

图2.9对应的物理实现方案:图2.9对应的物理实现硬件方案

第31页:数据字典的定义

数据字典的定义:数据字典:对数据流图中包含的所有元素的定义的集合;可行性研究阶段,数据流图

第32页:数据字典的内容

数据字典的内容

  • 数据流
  • 数据元素(数据流分量)
  • 数据存储
  • 处理

第33页:数据元素字典定义的内容

数据元素字典定义的内容

  • 数据元素字典定义其定义的基本内容有
  • 数据元素编号、名称及其含义
  • 数据类型和长度
  • 合理取值
  • 其他内容,如它与其它数据的逻辑关系等

第34页:数据元素字典定义实例

数据元素字典定义实例:考试成绩(DC001):下表列出相关数据。

数据元素字典定义实例:考试成绩(DC001)
定义项内容
数据元素编号DC001
数据元素名称考试成绩
别名成绩、分数
简述学生考试成绩,分五个等级
类型/长度两个字节,字符类型
取值/含义优[90-100];良[80-89];中[70-79];及格[60-69];不及格[0-59]
有关数据项或结构学生成绩档案
有关处理逻辑计算成绩

第35页:数据流字典定义的内容

数据流字典定义的内容

  • 数据流字典定义其定义的基本内容有
  • 数据流编号及名称
  • 数据流来源
  • 数据流去处
  • 数据流的组成
  • 流通量
  • 峰值

第36页:数据流字典定义实例

数据流字典定义实例:订票单(DF001):下表列出相关数据。

数据流字典定义实例:订票单(DF001)
定义项内容
数据流编号DF001
数据流名称订票单
简述订票时填写的订票单
数据流来源外部实体“乘客”
数据流去处处理逻辑“预订机票”
数据流组成订单编号、日期、乘客号、航班号、状态、订单失效日期
流通量每天300份
高峰值流通量每天早上9:00,约160份

第37页:数据存储字典定义的内容

数据存储字典定义的内容

  • 数据存储字典定义其定义的基本内容有
  • 数据存储编号及名称
  • 数据存储的组成
  • 其它要求

第38页:数据处理字典定义的内容

数据处理字典定义的内容

  • 数据处理字典定义其定义的基本内容有
  • 数据处理编号及名称
  • 简单描述
  • 输入/输出
  • 功能描述
  • 有关数据存储

第39页:数据处理字典定义实例

数据处理字典定义实例:编辑订票(DP001):下表列出相关数据。

数据处理字典定义实例:编辑订票(DP001)
定义项内容
数据处理编号DP001
数据处理名称编辑订票
简述接收从终端录入的订票单,检验是否正确
输入乘客订单,来源:外部实体“乘客”
输出合格订单,去处:处理逻辑“确定订票”;不合格订单,去处:外部实体“乘客”
功能描述(原文略)

note:源文件输出项原文写作“不及格订单”,此处按语义修正为“不合格订单”。

第40页:组成数据项的表示方法

组成数据项的表示方法:5)组成数据项的表示方法=表示“等价于”或“定义为”+表示“与”[]与|表示“或”{}表示重复()表示可选项通讯录={通讯地址}通讯地址=姓名+邮编+[省|直辖市|自治区]+[市|县]+街道+门牌号+(电话)

第41页:数据字典的用途

数据字典的用途

  • 1.作为分析阶段的重要工具
  • 2.数据元素的控制信息非常有用
  • 3.有助于开发数据库

第42页:数据字典的实现方式

数据字典的实现方式

  • 程序处理
  • 卡片式人工书写

第43页:代码行成本估计技术

代码行成本估计技术:成本/效益分析1)代码行技术软件成本=每行代码的平均成本×估计的源代码总行数

第44页:任务分解成本估计技术

任务分解成本估计技术:2)任务分解技术软件开发项目分解为若干个相对独立的任务,分别估计每个单独任务的成本:单独任务成本=任务所需人力估计值×每人每月平均工资;软件开发项目总成本估计=各个单独任务成本估计值之和

第45页:各开发阶段人力百分比

典型环境下各开发阶段所需人力的百分比:下表列出相关数据。

典型环境下各开发阶段所需人力的百分比
任务人力(%)
可行性研究5
需求分析10
设计25
编码与单元测试20
综合测试40
总计100

note:源文件该表数字粘连为“510252040100”,此处按各阶段标准值拆分还原。

第46页:自动估计成本技术

自动估计成本技术:3)自动估计成本技术采用自动估计成本的软件工具估计

第47页:Putnam成本估算模型

Putnam成本估算模型:1)Putnam模型1978年Putnam提出的,一种动态多变量模型:软件开发成本估算的经验模型

第48页:技术状态常数Ck的典型值

Putnam模型技术状态常数Ck的典型值:下表列出相关数据。

Putnam模型技术状态常数Ck的典型值
Ck的典型值开发环境开发环境举例
2000差没有系统的开发方法,缺乏文档和复审
8000好有合适的系统的开发方法,有充分的文档和复审
11000优有自动的开发工具和技术

第49页:COCOMO模型概述与公式

COCOMO模型概述与公式:2)COCOMO模型(constructivecostmodel)这是由TRW公司开发,Boehm提出的结构化成本估算模型,是一种精确的、易于使用的成本估算方法。基本COCOMO模型估算工作量和进度的公式如下:工作量:MM=r×(KDSI)c(人月)开发时间:TDKV=a×(MM)b(月)DSI:源指令条数,不包括注释,1KDSI=1000DSIMM:开发工作量(以人月计),1MM=19人日=152人时=1/12人年经验常数r,c,a,b取决于项目的总体类型

第50页:组织型软件项目

组织型软件项目:COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种:1)组织型(organic)相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行)

第51页:嵌入型软件项目

嵌入型软件项目:2)嵌入型(embedded)要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等

第52页:半独立型软件项目

半独立型软件项目:3)半独立型(semidetached)介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可达30万行

第53页:COCOMO模型的三级划分

COCOMO模型的三级划分:COCOMO模型按其详细程度可以分为三级:1)基本COCOMO模型是一个静态单变量模型,它用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量

第54页:基本COCOMO模型计算公式

基本COCOMO模型的工作量与开发时间公式:下表列出相关数据。

基本COCOMO模型的工作量与开发时间公式
总体类型工作量MM所需开发时间TDKV
组织型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.32

note:指数与系数取自源文件统计63个历史项目所得公式,MM为开发工作量(人月),TDKV为开发时间(月)。

第55页:中级与详细COCOMO模型

中级与详细COCOMO模型

  • 中级COCOMO模型在基本COCOMO模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算
  • 详细COCOMO模型包括中级COCOMO模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设计)的影响

第56页:货币的时间价值

货币的时间价值:1)货币的时间价值假设年利率为i,如果现在存入P元钱,则n年以后可以得到的钱数为:反之,如果n年后能收入F元钱,那么这些钱现在的价值是:2.6.2成本/效益分析

第57页:成本效益分析例题

成本效益分析例题:例:修改一个已有的库存管理系统,估计需要5000元,系统修改后使用5年,每年可节省2500元。请进行成本/效益分析

第58页:将来收入折算成现在值

表1 将来的收入折算成现在值:下表列出相关数据。

表1 将来的收入折算成现在值
年将来值(元)(1+0.12)^n现在值(元)累计的现在值(元)
125001.122232.142232.14
225001.251992.984225.12
325001.401779.456004.57
425001.571588.807593.37
525001.761418.579011.94

note:年利率按12%计算,源文件(1+0.12)^n列取两位小数,此处保留源文件原值。

第59页:投资回收期与纯收入

投资回收期与纯收入

  • 投资回收期第
  • 第二年回收:4225元第三年用于回收投资要:( 5000-4225 ) / 1779 = 0.44年总的投资回收期= 2.44年
  • 纯收入9011.94-5000 = 4011.94(元)

第60页:投资回收率

投资回收率

  • 投资回收率其中:P是现在的投资额;Fi是第i年年底的效益(i=1,2,3,…,n);n是系统的使用寿命(一般假设n=
  • j是投资回收率。上述修改系统的工程的投资回收率是41%-42%

第61页:第2章小结

第2章小结:◇可行性分析报告说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。◇项目开发计划为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等

第62页:第3章 需求分析

第3章 需求分析:第3章:需求分析3.1.1确定对系统的综合要求1.功能需求2.性能需求如:相应时间(速度)、主存容量、磁盘容量、安全性、等。3.1需求分析的任务

第63页:系统综合要求的其他方面

系统综合要求的其他方面

  • 3.可靠性和可用性需求
  • 4.出错处理需求系统发现错误时采取的行动,主要在系统关键部分设置
  • 5.接口需求用户接口、硬件接口、软件接口、通信接口、等
  • 6.约束精度、工具和语言、设计约束、硬件约束、标准,等
  • 7.逆向需求
  • 8.将来可能提出的要求

第64页:需求分析的三项任务

需求分析的三项任务:导出系统的逻辑模型包括完善的数据流图、实体-联系图、状态转换图、数据字典、主要的处理算法(IPO图)等。3.1.2分析系统的数据要求通过建立数据模型来分析,如数据字典、层次方框图、Warnier图,并将数据结构规范化。3.1.4修正系统开发计划修订前期制定的开发进度计划、等

第65页:与用户沟通的访谈方法

与用户沟通的访谈方法:与用户沟通获取需求的方法3.2.1访谈正式访谈:系统分析员提出事先准备好的问题。非正式访谈:提出一些用户可以自由回答的开放性问题,鼓励被访者说出自己的想法。需要访问大量人员时,利用调查表访问较佳

第66页:面向数据流自顶向下求精

面向数据流自顶向下求精:分析追踪数据流图用户复查细化数据流图有补充修正无补充修正需要分解不需分解图3.1需求分析基本过程借助数据流图、数据字典、IPO图等,细化、完善详细的数据流图,等到各处理环节对应的功能

顶部目录