页数:66页文件大小:474.6 KB来源: 软件工程ppt课件
本课件围绕可行性研究的目的与四项内容展开,讲解系统流程图与数据流图的符号体系、绘制方法、命名规则与实际用途,并给出数据字典的定义方法与成本效益分析的主要技术。
第2章 可行性研究:第2章:可行性研究可行性研究就是要回答“所定义的问题有可行的解决办法吗?”。可行性研究的目的是:用最小的代价在尽可能短的时间内确定问题是否有解,以及是否值得去解
可行性研究的成本与时间:可行性研究所需的时间取决于工程的规模,所需要的成本要占工程总成本的5%~10%
技术可行性:可行性研究的内容:1)技术可行性技术可行性要分析各种技术因素,例如:使用现有的技术能否实现这个系统?是否有胜任开发该项目的熟练技术人员?能否按期得到开发该项目所需的软件、硬件资源?
经济可行性:2)经济可行性对经济合理性进行评价,所要考虑的问题是:这个系统的经济效益能否超过它的开发成本?这就需要对项目进行价格/利益分析,即“投入/产出”分析。由于利益分析取决于软件系统的特点,因此在软件开发之前,很难对新系统产生的效益作出精确的定量描述,所以往往采用一些估算方法
操作可行性:3)操作可行性操作可行性评价系统运行后会引起的各方面变化,如:对组织机构管理模式、用户工作环境等产生的影响
社会可行性:4)社会可行性社会可行性主要讨论法律方面和使用方面的可行性。例如,被开发软件的权利归属问题、软件所使用的技术是否会造成侵权等问题
可行性研究的步骤(上)
可行性研究的步骤(下)
系统流程图的基本符号:系统流程图(描绘物理系统的工具)2.3.1符号符号名称说明处理如:程序,处理机,人工加工输入/输出连接换页连接数据流表示输入或输出同一页上图的连接不同页上图的连接指明数据流动方向图
系统流程图的系统符号:符号名称说明穿孔卡片文档磁带联机存储磁盘磁鼓显示人工输入人工操作辅助操作通信链路穿孔卡片输入/输出,或穿孔卡片文件打印输出,或打印终端输入数据磁带输入/输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等磁盘输入/输出,或磁盘上文件、数据库磁鼓输入/输出,或磁鼓上文件、数据库显示器部件人工输入数据,如填写表格人工完成的处理使用辅助设备进行的脱机操作通过远程通信线路传送数据图
库存清单系统的系统流程图:例子事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图
数据流图的基本符号:数据流图(描绘数据在系统中流动的逻辑过程)2.4.1符号或或或数据源点或终点变换数据的处理数据存储数据流图
数据流图的附加符号:TABC*TABC*附加符号TABC+TABC+
处理与数据存储的含义:注意:“处理”可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;“数据存储”可表示:一个文件、文件的一部分、数据库记录等等;数据流图忽略出错处理、打开文件、关闭文件
定货系统的系统流程图:绘制数据流图的例子事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图
定货系统的基本系统模型:绘制数据流图的例子仓库管理员采购员定货系统事务定货报表图
定货系统的功能级数据流图:绘制数据流图的例子库存清单仓库管理员采购员事务定货报表图2.6定货系统的功能级数据流图处理事务1产生报表2D1库存清单D2定货信息定货信息定货信息
数据流图组成元素清单:组成该例子的数据流图的元素处理源点/终点产生报表处理事务采购员仓库管理员数据存储数据流订货信息(见订货报表)库存清单零件编号库存量库存量临界值订货报表零件编号零件名称订货数量目前价格主要供应商次要供应商事务零件编号事务类型数量
数据流图分解程度的思考:上述数据流图所描述的功能够详细了吗?
定货系统进一步分解的数据流图:绘制数据流图的例子仓库管理员采购员事务定货报表图2.7定货系统进一步分解后的数据流图更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息
数据流与数据存储的命名规则
命名困难时的处理办法:C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图
处理的命名规则
处理命名与分解的关系
数据源点与终点的命名:通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)
数据流图的用途
以联机方式更新库存清单:数据流图的用途仓库管理员采购员事务定货报表图2.8这种自动化边界建议以联机方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息
图2.8对应的物理实现方案:图2.8对应的物理实现硬件方案
以批量方式更新库存清单:数据流图的用途仓库管理员采购员事务定货报表图2.9这种自动化边界暗示以批量方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息D3事务
图2.9对应的物理实现方案:图2.9对应的物理实现硬件方案
数据字典的定义:数据字典:对数据流图中包含的所有元素的定义的集合;可行性研究阶段,数据流图
数据字典的内容
数据元素字典定义的内容
数据元素字典定义实例:考试成绩(DC001):下表列出相关数据。
| 定义项 | 内容 |
|---|---|
| 数据元素编号 | DC001 |
| 数据元素名称 | 考试成绩 |
| 别名 | 成绩、分数 |
| 简述 | 学生考试成绩,分五个等级 |
| 类型/长度 | 两个字节,字符类型 |
| 取值/含义 | 优[90-100];良[80-89];中[70-79];及格[60-69];不及格[0-59] |
| 有关数据项或结构 | 学生成绩档案 |
| 有关处理逻辑 | 计算成绩 |
数据流字典定义的内容
数据流字典定义实例:订票单(DF001):下表列出相关数据。
| 定义项 | 内容 |
|---|---|
| 数据流编号 | DF001 |
| 数据流名称 | 订票单 |
| 简述 | 订票时填写的订票单 |
| 数据流来源 | 外部实体“乘客” |
| 数据流去处 | 处理逻辑“预订机票” |
| 数据流组成 | 订单编号、日期、乘客号、航班号、状态、订单失效日期 |
| 流通量 | 每天300份 |
| 高峰值流通量 | 每天早上9:00,约160份 |
数据存储字典定义的内容
数据处理字典定义的内容
数据处理字典定义实例:编辑订票(DP001):下表列出相关数据。
| 定义项 | 内容 |
|---|---|
| 数据处理编号 | DP001 |
| 数据处理名称 | 编辑订票 |
| 简述 | 接收从终端录入的订票单,检验是否正确 |
| 输入 | 乘客订单,来源:外部实体“乘客” |
| 输出 | 合格订单,去处:处理逻辑“确定订票”;不合格订单,去处:外部实体“乘客” |
| 功能描述 | (原文略) |
note:源文件输出项原文写作“不及格订单”,此处按语义修正为“不合格订单”。
组成数据项的表示方法:5)组成数据项的表示方法=表示“等价于”或“定义为”+表示“与”[]与|表示“或”{}表示重复()表示可选项通讯录={通讯地址}通讯地址=姓名+邮编+[省|直辖市|自治区]+[市|县]+街道+门牌号+(电话)
数据字典的用途
数据字典的实现方式
代码行成本估计技术:成本/效益分析1)代码行技术软件成本=每行代码的平均成本×估计的源代码总行数
任务分解成本估计技术:2)任务分解技术软件开发项目分解为若干个相对独立的任务,分别估计每个单独任务的成本:单独任务成本=任务所需人力估计值×每人每月平均工资;软件开发项目总成本估计=各个单独任务成本估计值之和
典型环境下各开发阶段所需人力的百分比:下表列出相关数据。
| 任务 | 人力(%) |
|---|---|
| 可行性研究 | 5 |
| 需求分析 | 10 |
| 设计 | 25 |
| 编码与单元测试 | 20 |
| 综合测试 | 40 |
| 总计 | 100 |
note:源文件该表数字粘连为“510252040100”,此处按各阶段标准值拆分还原。
自动估计成本技术:3)自动估计成本技术采用自动估计成本的软件工具估计
Putnam成本估算模型:1)Putnam模型1978年Putnam提出的,一种动态多变量模型:软件开发成本估算的经验模型
Putnam模型技术状态常数Ck的典型值:下表列出相关数据。
| Ck的典型值 | 开发环境 | 开发环境举例 |
|---|---|---|
| 2000 | 差 | 没有系统的开发方法,缺乏文档和复审 |
| 8000 | 好 | 有合适的系统的开发方法,有充分的文档和复审 |
| 11000 | 优 | 有自动的开发工具和技术 |
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取决于项目的总体类型
组织型软件项目:COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种:1)组织型(organic)相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行)
嵌入型软件项目:2)嵌入型(embedded)要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等
半独立型软件项目:3)半独立型(semidetached)介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可达30万行
COCOMO模型的三级划分:COCOMO模型按其详细程度可以分为三级:1)基本COCOMO模型是一个静态单变量模型,它用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量
基本COCOMO模型的工作量与开发时间公式:下表列出相关数据。
| 总体类型 | 工作量MM | 所需开发时间TDKV |
|---|---|---|
| 组织型 | MM = 2.4×(KDSI)^1.05 | TDKV = 2.5×(MM)^0.38 |
| 半独立型 | MM = 3.0×(KDSI)^1.12 | TDKV = 2.5×(MM)^0.35 |
| 嵌入型 | MM = 3.0×(KDSI)^1.20 | TDKV = 2.5×(MM)^0.32 |
note:指数与系数取自源文件统计63个历史项目所得公式,MM为开发工作量(人月),TDKV为开发时间(月)。
中级与详细COCOMO模型
货币的时间价值:1)货币的时间价值假设年利率为i,如果现在存入P元钱,则n年以后可以得到的钱数为:反之,如果n年后能收入F元钱,那么这些钱现在的价值是:2.6.2成本/效益分析
成本效益分析例题:例:修改一个已有的库存管理系统,估计需要5000元,系统修改后使用5年,每年可节省2500元。请进行成本/效益分析
表1 将来的收入折算成现在值:下表列出相关数据。
| 年 | 将来值(元) | (1+0.12)^n | 现在值(元) | 累计的现在值(元) |
|---|---|---|---|---|
| 1 | 2500 | 1.12 | 2232.14 | 2232.14 |
| 2 | 2500 | 1.25 | 1992.98 | 4225.12 |
| 3 | 2500 | 1.40 | 1779.45 | 6004.57 |
| 4 | 2500 | 1.57 | 1588.80 | 7593.37 |
| 5 | 2500 | 1.76 | 1418.57 | 9011.94 |
note:年利率按12%计算,源文件(1+0.12)^n列取两位小数,此处保留源文件原值。
投资回收期与纯收入
投资回收率
第2章小结:◇可行性分析报告说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。◇项目开发计划为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等
第3章 需求分析:第3章:需求分析3.1.1确定对系统的综合要求1.功能需求2.性能需求如:相应时间(速度)、主存容量、磁盘容量、安全性、等。3.1需求分析的任务
系统综合要求的其他方面
需求分析的三项任务:导出系统的逻辑模型包括完善的数据流图、实体-联系图、状态转换图、数据字典、主要的处理算法(IPO图)等。3.1.2分析系统的数据要求通过建立数据模型来分析,如数据字典、层次方框图、Warnier图,并将数据结构规范化。3.1.4修正系统开发计划修订前期制定的开发进度计划、等
与用户沟通的访谈方法:与用户沟通获取需求的方法3.2.1访谈正式访谈:系统分析员提出事先准备好的问题。非正式访谈:提出一些用户可以自由回答的开放性问题,鼓励被访者说出自己的想法。需要访问大量人员时,利用调查表访问较佳
面向数据流自顶向下求精:分析追踪数据流图用户复查细化数据流图有补充修正无补充修正需要分解不需分解图3.1需求分析基本过程借助数据流图、数据字典、IPO图等,细化、完善详细的数据流图,等到各处理环节对应的功能
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}