可行性研究课件_第1页
可行性研究课件_第2页
可行性研究课件_第3页
可行性研究课件_第4页
可行性研究课件_第5页
已阅读5页,还剩177页未读 继续免费阅读

下载本文档

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

文档简介

第二章可行性研究第二章可行性研究第2章可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析2.7小结第2章可行性研究2.1可行性研究的任务三个时期:八个阶段:软件生命周期软件定义软件开发软件维护问题定义可行性研究需求分析概要设计详细设计编码和单元测试综合测试运行维护系统设计系统实现三个时期:八个阶段:软件生命周期软件定义软件开发软件维护问题问题定义阶段目的:弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费。任务:在向用户调查的基础上,编写《关于系统规模和目标的报告书

》。例:教材销售系统学生购买学校教材的手续可能是:先找系办公室开购书申请(用于确定学生可购买的书),凭申请找教材科开购书证明(确定是否卖完),向出纳员交付书款获得领书单,然后到书库找保管员领书。问题定义阶段目的:弄清用户需要计算机解决的问题根本所在,以及关于系统规模和目标的报告书

1.项目名称:教材销售系统2.问题:人工发售教材手续繁杂,且易出错。3.项目目标:建立一个高效率、无差错的微机教材销售系统。4.项目规模:利用现有微型计算机,软件开发费用不超过5000元。5.初步想法:建议在系统中增加对缺书的统计与采购功能。6.可行性研究:建议进行大约10天的可行性研究,研究费用不超过500元。关于系统规模和目标的报告书可行性研究回答“对于上一个阶段所确定的问题有行得通的解决办法吗?”系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程。研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。

可行性研究回答“对于上一个阶段所确定的问题有行得通的解决办法2.1可行性研究的任务可行性研究的目的:不是解决问题,而是确定问题是否值得去解决。可行性研究的实质:进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

2.1可行性研究的任务可行性研究的目的:可行性研究的内容:首先进一步分析和澄清问题定义,导出系统的逻辑模型;然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案);对每种解法都研究它的可行性,至少应该从三方面研究每种解法的可行性

。可行性研究的内容:主要方面:技术可行性,使用现有的技术能实现这个系统吗?经济可行性,这个系统的经济效益能超过它的开发成本吗?操作可行性,系统的操作方式在这个用户组织内行得通吗?其他方面:法律(社会)可行性,系统是否侵犯他人、集体或国家的利益,是否违反法律?主要方面:分析员应该为每个可行的解法制定一个粗略的实现进度。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%~10%。分析员应该为每个可行的解法制定一个粗略的实现进度。2.2可行性研究过程1.复查系统规模和目标对问题定义阶段书写的关于规模和目标的报告书进一步复查确认。2.研究目前正在使用的系统

新的目标系统必须也能完成旧系统的基本功能;另一方面,新系统必须能解决旧系统中存在的问题。

2.2可行性研究过程1.复查系统规模和目标3.导出新系统的高层逻辑模型现有的物理系统→现有系统的逻辑模型→目标系统的逻辑模型(→新的物理系统

)4.进一步定义问题分析员应该和用户一起再次复查问题定义、工程规模和目标。可行性研究的前4个步骤实质上构成一个循环。

3.导出新系统的高层逻辑模型5.导出和评价供选择的解法首先从技术角度出发排除不可行方案;其次考虑操作可行性,去掉用户不能接受的方案;接下来考虑经济可行性,估计余下的每个可能的系统的开发成本和运行费用,进行成本/效益分析;最后为每个在各方面都可行的系统制定实现进度表。5.导出和评价供选择的解法工程进度表阶段所需时间(月)可行性研究0.5需求分析1概要设计0.5详细设计1实现2总计5工程进度表阶段所需时间(月)可行性研究0.5需求分析1概要设6.推荐行动方针根据可行性研究结果应该做出的一个关键性决定是,是否继续进行这项开发工程。若继续开发,选择一种最好的解法,说明选择这个解决方案的理由。6.推荐行动方针7.草拟开发计划分析员应该为所推荐的方案草拟一份开发计划,制定工程进度表、估计对各类开发人员和各种资源的需要情况、估计系统生命周期每个阶段的成本、给出下一个阶段(需求分析)的详细进度表和成本估计。7.草拟开发计划8.书写文档提交审查把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。8.书写文档提交审查可行性研究报告的编写1引言

1.1编写目的

1.2背景

1.3定义

1.4参考资料2可行性研究的前提

2.1要求

2.2目标

2.3条件、假定和限制

2.4进行可行性研究的方法

2.5评价尺度可行性研究报告的编写1引言2可行性研究的前提可行性研究报告的编写3对现有系统的分析

3.1数据流程和处理流程

3.2工作负荷

3.3费用开支

3.4人员

3.5设备

3.6局限性4所建议的系统

4.1对所建议系统的说明

4.2数据流程和处理流程

4.3改进之处

4.4影响

4.5局限性

4.6技术条件方面的可行性可行性研究报告的编写3对现有系统的分析4所建议的系统可行性研究报告的编写5可选择的其它系统方案

5.1可选择的其它系统15.2可选择的其它系统2

......6投资及收益分析

6.1支出

6.2收益

6.3收益/投资比

6.4投资回收周期

6.5敏感性分析7社会条件方面的可行性

7.1法律方面的可行性

7.2使用方面的可行性可行性研究报告的编写5可选择的其它系统方案6投资及收益分8结论可以立即开始进行需要增加资源才能开始,例如增加投资或人力。需要推迟到某些条件具备后才能开始,例如组织机构的调整。需要对系统目标作某些修改才能开始。不能或没有必要进行,例如经济上不合理,投资相差太大。8结论2.3系统流程图系统流程图:是概括地描绘物理系统的传统工具。用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。2.3系统流程图系统流程图:2.3.1符号基本符号:5个,以概括的方式抽象地描绘一个实际系统。2.3.1符号基本符号:5个,以概括的方式抽象地描绘一系统符号:11个,更具体的描绘物理系统。系统符号:11个,更具体的描绘物理系统。第02章可行性研究课件2.3.2例子

例1:

某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件上。当仓库零件数量发生变化时,应该及时修改库存清单主文件。如果哪种零件的库存量少于它的库存临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。该装配厂使用一台小型计算机,处理更新库存清单主文件和产生定货报告。零件库存量的每一次变化称为一个事务,由放在仓库中CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。2.3.2例子例1:部件:包括程序、文档、数据库、人工过程等程序:更新库存清单程序产生定货报告程序文档:定货报告数据:磁盘上的库存清单主文件磁带上的定货信息

CRT终端输入事务人工过程:无部件:包括程序、文档、数据库、人工过程等2.3.3分层

首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能;然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。

第一层:描绘系统关键功能(仅用基本符号)2.3.3分层首先用一张高层次的系统流程图描绘系统总体第二层:扩展系统关键功能

第二层:扩展系统关键功能第三层:合成后的系统流程图第三层:合成后的系统流程图例2:教材销售系统人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。例2:教材销售系统人工教材销售的系统流程图人工教材销售的系统流程图计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完的教材),收书款和发书仍由人工完成。开购书申请和购书证明可一步完成,增加缺书统计和采购功能。计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完计算机教材销售的系统流程图计算机教材销售的系统流程图2.4数据流图数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。2.4数据流图数据流图(DFD):2.4.1符号基本符号:2.4.1符号基本符号:数据源点/终点:通常是人或部门,可重复表示;处理:一个处理框可以代表一系列程序、单个程序或程序的一个模块;数据存储:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据;数据流:描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件,数据流是处于运动中的数据。数据源点/终点:通常是人或部门,可重复表示;附加符号:星号(*):表示“与”关系附加符号:加号(+):表示“或”关系加号(+):表示“或”关系异或(⊕):表示互斥关系异或(⊕):表示互斥关系2.4.2例子例1:

假设采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件,应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存量少于库存量的临界值时,就应该再次定货。2.4.2例子例1:画数据流图的步骤:1.从问题描述中提取数据流图的4种成分数据的源点/终点“通过放在仓库中的CRT终端把事务报告给定货系统”——仓库管理员是数据源点;“采购部每天需要一张定货报表”——采购员是数据终点。处理“采购部需要报表”,——产生报表;事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理——处理事务。画数据流图的步骤:数据流:“系统把定货报表送给采购部”——定货报表;“通过放在仓库中的CRT终端把事务报告给定货系统”——事务。数据存储:处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存放一段时间——定货信息;零件库存量和库存量临界值需要存储——库存清单。数据流:源点:仓库管理员终点:采购员处理:产生报表、处理事务数据流:定货报表事务零件编号零件名称定货数量目前价格主要供应者次要供应者零件编号事务类型数量数据存储:定货信息——同定货报表库存清单零件编号库存量库存量临界值源点:仓库管理员处理:产生报表、处理事务数据流:零件编号零件2.画基本系统模型由若干个数据源点/终点和一个处理(XX系统)组成。定货系统的基本系统模型2.画基本系统模型定货系统的基本系统模型3.细化,描绘系统的主要功能(功能级数据流图)定货系统的功能级数据流图3.细化,描绘系统的主要功能(功能级数据流图)定货系统的功4.对系统主要功能进一步细化把处理事务的功能进一步分解后的数据流图4.对系统主要功能进一步细化把处理事务的功能进一步分解后的细化时注意:当进一步分解涉及如何具体的实现一个功能时,就不应该再分解了。当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同—父图和子图的数据流要平衡。注意对处理进行编号的方法。细化时注意:2.4.3命名1.为数据流(或数据存储)命名完整性;具体性;起名字遇到了困难时,试试重新分解。2.4.3命名1.为数据流(或数据存储)命名2.为处理命名通常先为数据流命名,然后再为与之相关联的处理命名;完整性;及物动词+宾语(如:计算平均分);通常名字中仅包括一个动词,否则进行分解;命名时遇到困难,应考虑重新分解。3.为数据源点/终点命名采用它们在问题域中习惯的名字(如仓库管理员、采购员)。

2.为处理命名2.4.4数据流图的用途

作为交流信息的工具供有关人员审查确认供用户理解和评价数据流图应该分层,超过7个时应该画分图作为分析和设计的工具描绘系统所完成的功能导出更详细的设计步骤——面向数据流的设计方法2.4.4数据流图的用途作为交流信息的工具例2:高考录取统分子系统功能如下:

(1)计算标准分——根据考生原始分计算标准分,存入考生分数文件;

(2)计算录取线分——根据标准分和招生计划文件中的招生人数,计算录取线分,存入录取线文件。

例2:高考录取统分子系统1.提取数据流图的四种成分数据源点和终点:考生处理:(1)计算标准分

(2)计算录取线分数据存储:(1)考生分数文件

(2)招生计划文件

(3)录取线文件数据流:原始分;标准分;招生人数;录取线分

1.提取数据流图的四种成分2.画基本数据流图2.画基本数据流图3.画功能级数据流图3.画功能级数据流图例3:教材销售系统人工:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。计算机:包括销售和采购两大功能。销售时,根据学生用书表和教材库存清单对购书单进行有效性审查,通过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,根据领书单更新教材库存清单。采购时,将缺书表中的信息汇总生成采购单,新书进库时更新教材库存清单。例3:教材销售系统基本数据流图基本数据流图功能级数据流图功能级数据流图销售功能细化的数据流图销售功能细化的数据流图采购功能细化的数据流图采购功能细化的数据流图2.5数据字典数据字典(DataDictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难以发挥作用。只有把数据流图及对数据流图中每个元素精确定义的数据字典放在一起,才能共同构成系统的规格说明,它们也是“需求规格说明书”的主要组成部分。2.5数据字典数据字典(DataDictionary,简2.5数据字典2.5.1数据字典的内容及格式数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下4类条目:数据流、数据项、数据存储及基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,一般不在字典中说明。1.数据流条目数据流条目给出了数据流图中数据流的定义,通常列出该数据流的各组成数据项。由数据项组成数据流或数据存储的方式由3种类型构成:2.5数据字典2.5.1数据字典的内容及格式(1)顺序:按确定次序连接两个或多个分量。(2)选择:从两个或多个分量中选择一个。(3)重复:将指定的分量重复0次或多次。在定义数据流或数据存储组成时,使用表2-2给出的符号。表2-2数据字典定义中使用的符号(1)顺序:按确定次序连接两个或多个分量。表2-2数据字例如,定义审核借书数据流图中借书数据流:借书=借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员编号密码={字母}86或者6{字母}8

操作员编号=“GLY001”··“GLY100”

借阅方式=[教师|学生]例如,定义审核借书数据流图中借书数据流:完整数据流条目主要内容及举例如下:数据流名称:借书别名:借书单简述:读者借书时填写的单据来源:读者去向:加工1“审核借书”数据流量:500份/天组成:借书证编号+借阅日期十书名+借阅方式+密码+借阅人+操作员编号其中数据流量指单位时间内(每小时或每天或每周或每月)的传输次数(相应动作发生的次数)。完整数据流条目主要内容及举例如下:2.数据存储条目数据存储条目是对数据存储的定义,主要内容及举例如下:数据存储名称:借书文件别名:无简述:存放读者借书信息组成:借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员编号组织方式:数据文件,以借书证编号为关键字进行索引查询要求:要求能立即查询并修改2.数据存储条目3.数据项条目数据项条目是不可再分解的数据单位,其定义格式及举例如下:数据项名称:借书证编号别名:无简述:本系统中所有读者的借书证编号类型:字符串长度:10取值范围及含义:第1位:教师/学生第2~3位:部门或系别第4~7位:科室或班级第8~10位:顺序编号3.数据项条目4.加工条目加工条目是用来说明DFD中基本加工的处理逻辑的,由于上层的加工是由下层的基本加工分解而来,只要有了基本加工(最底层)的说明,就可理解其他加工。加工条目的主要内容及举例如下:4.加工条目对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工把输入数据流变换为输出数据流的加工规则。加工逻辑说明必须描述实现加工的策略(即做什么)而不是实现加工的细节。加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的。第02章可行性研究课件加工说明组成输入数据加工逻辑输出数据加工说明描述工具结构化语言判定表判定树

描述把输入数据流变换为输出数据流的加工规则,是加工说明的主体。加工说明组成输入加工输出加工说明描述工具结构化判定判定自然语言+结构化形式(1)结构化语言选择结构如果<条件><策略>

If<condition><policy>如果<条件>

则<策略1>

否则<策略2>情况1<条件><策略1>…

…情况n<条件><策略n>If<condition>

then<policy1>Otherwise<policy2>case1<condition><policy1>…

…casen<condition><policyn>循环结构对

…,<策略>重复以下<策略>直至<条件>Foreach…,<policy>Repeatthefollowing:<policy>Until<condition>自然语言+结构化形式(1)结构化语言选如果<条件>If商店业务处理系统中“检查发货单”if发货单金额超过$500thenif欠款超过了60天then

在偿还欠款前不予批准

else(欠款未超期)发批准书,发货单

else(发货单金额未超过$500)

if欠款超过60天then

发批准书,发货单及赊欠报告

else(欠款未超期)发批准书,发货单

商店业务处理系统中“检查发货单”if发货单金额超过$500(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适(2)判定表如果数据流图的加工需要依赖于以“检查发货单”为例以“检查发货单”为例(3)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发出批准书、发货单欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单(3)判定树判定树也是用来表达加工逻辑2.5数据字典2.5.2数据字典的用途数据流图只描述了系统的“分解”,系统由哪几部分组成,各部分之间的联系,并没有对各个数据流、加工及数据存储进行详细说明。例如:数据流、数据存储的名字并不能反映其中的数据成分、数据项目内容和数据特性,在加工中不能反映处理过程等。分析人员仅靠“图”来完整地理解一个系统的逻辑功能是不可能的。数据字典是分析阶段重要的工具。在数据字典中建立的定义有助于改进分析员和用户之间的通信,对数据的严密的定义有助于改进在不同的开发人员或不同的开发小组之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多麻烦的接口问题。2.5数据字典2.5数据字典2.5.3数据字典的实现实现数据字典有两种途径;人工过程和全自动化过程(利用数据字典处理程序)。不论使用哪种途径实现的数据字典都应该具有下述特点:①通过名字能方便地查阅数据的定义;②没有冗余;③尽量不重复在规格说明的其他组成部分中已经出现的信息;④容易更新和修改;⑤能单独处理描述每个数据元素的信息;⑥定义的书写方法简单方便而且严格。随着软件规模的不断增加,数据字典的规模和复杂程度也在迅速增加,人工过程维护数据字典几乎是不可能的。目前,数据字典基本上是作为CASE分析与设计工具的一部分实现的。2.5数据字典2.5.3数据字典的实现如果暂时还没有自动的数据字典处理程序并且开发的是小型软件,建议采用卡片形式书写数据字典,每张卡片上保存描述一个数据元素的信息。每张卡片上主要应该包含下述信息:名字、别名、描述、定义、位置。手工建立数据字典的内容用卡片形式存放,其步骤如下:(1)按4类条目规范的格式印制卡片。(2)在卡片上分别填写各类条目的内容。(3)先按图号顺序排列,同一图号的所有条目按数据流、数据项、数据存储和加工的顺序排列。如果暂时还没有自动的数据字典处理程序并且开发的是小型软件,建(4)同一图号中的同一类条目(如数据流卡片)可按名字的字典顺序存放;加工一般按编号顺序存放。(5)同一成分在父图和子图都出现时,则只在父图上定义。(6)建立索引目录。这种做法较好地实现数据字典的管理要求,特别是更新和修改起来很方便,能够单独处理每个数据元素的信息。当开发过程进展到能够知道数据元素的控制信息和使用特点时,把这些信息记录在卡片的背面。(4)同一图号中的同一类条目(如数据流卡片)可按名字的字典顺实例分析【例2-1】某高校内部用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为市内电话和长途电话,拨校外电话需先拨0,如果是市内电话再接着拨8位电话号码(第1位不是0),如果是长途电话则先拨3位区码,再拨8位电话号码(第1位不是0)。请用数据字典中介绍的符号,定义上述电话号码。实例分析【例2-1】某高校内部用的电话号码有以下几类:校内电实例分析解析:电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字校外电话号码=[市内号码|长途号码]市内号码=数字零+8位数字长途号码=数字零+3位数字+8位数字数字零=0非零数字=[1|2|3|4|5|6|7|8|9]3位数字=3{数字}38位数字=非零数字+7位数字7位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8|9]实例分析解析:电话号码=[校内电话号码|校外电话号码]2.6成本/效益分析

成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。2.6成本/效益分析成本/效益分析的目的:

2.6.1

成本估计---人力成本估计

软件开发成本主要表现为人力消耗

(乘以平均工资则得到开发费用)

估算技术

1.代码行技术

2.任务分解技术3.自动估计成本技术2.6.1成本估计---人力成本估计

代码行技术根据经验和历史数据估计实现一个功能需要的源程序行数,用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和工资水平。代码行技术是比较简单的定量估算方法。当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。代码行技术根据经验和历史数据估计实现一个功能需要的源任务分解技术首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。任务分解技术首先把软件开发工程分解为若干个相对独立的自动估计成本技术

采用自动估计成本的软件工具可以减轻人的劳动,并且使得估计的结果更客观。但是,采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的数据库系统支持。自动估计成本技术采用自动估计成本的2.6.2成本/效益分析的方法成本/效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益,然后从经济角度判断这个系统是否值得投资。运行费用取决于系统的操作费用(操作员人数,工作时间,消耗的物资等)和维护费用。系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。注意:总的效益和生命周期的长度有关,所以应该合理地估计软件的寿命。投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。2.6.2成本/效益分析的方法成本/效益分析的第一步是估计

成本/效益分析使用的几个概念

1.货币的时间价值通常用利率表示货币的时间价值。设年利率为i,现存入P元,则n年后可得钱数为

F=P(1+i)n

这就是P元钱在n年后的价值。反之,若n年后能收入F元,那么这些钱现在的价值是

P=F/(1+i)n2.投资回收期

投资回收期是衡量一个开发工程价值的经济指标。投资回收期就是积累的经济效益等于最初的投资所需要的时间。投资回收期越短,就能越快获得利润。成本/效益分析使用的几个概念1.货币的时间价值成本/效益分析使用的几个概念

3.纯收入

工程的纯收入是衡量工程价值的另一项经济指标。纯收入就是在整个生存周期之内系统的累计经济效益(折合成现在值)与投资之差。

如果纯收入小于零,那么显然这项工程不值得投资。只有当纯收入大于零,才能考虑投资。

成本/效益分析使用的几个概念3.纯收入

4.投资回收率:ReturnonInvestment

Income/Investment

用来衡量投资效益的大小,并且可以把它和年利率相比较。

P=F1/(1+j)+F2/(1+j)2+…+Fn(1+j)n

其中:P是现在的投资额;Fi是第i年年底的效益;n是系统的使用寿命;j是投资回收率。

通常投资回收率=41%~42%(越高越好)

4.投资回收率:ReturnonInvestment演讲完毕,谢谢观看!演讲完毕,谢谢观看!第二章可行性研究第二章可行性研究第2章可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析2.7小结第2章可行性研究2.1可行性研究的任务三个时期:八个阶段:软件生命周期软件定义软件开发软件维护问题定义可行性研究需求分析概要设计详细设计编码和单元测试综合测试运行维护系统设计系统实现三个时期:八个阶段:软件生命周期软件定义软件开发软件维护问题问题定义阶段目的:弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费。任务:在向用户调查的基础上,编写《关于系统规模和目标的报告书

》。例:教材销售系统学生购买学校教材的手续可能是:先找系办公室开购书申请(用于确定学生可购买的书),凭申请找教材科开购书证明(确定是否卖完),向出纳员交付书款获得领书单,然后到书库找保管员领书。问题定义阶段目的:弄清用户需要计算机解决的问题根本所在,以及关于系统规模和目标的报告书

1.项目名称:教材销售系统2.问题:人工发售教材手续繁杂,且易出错。3.项目目标:建立一个高效率、无差错的微机教材销售系统。4.项目规模:利用现有微型计算机,软件开发费用不超过5000元。5.初步想法:建议在系统中增加对缺书的统计与采购功能。6.可行性研究:建议进行大约10天的可行性研究,研究费用不超过500元。关于系统规模和目标的报告书可行性研究回答“对于上一个阶段所确定的问题有行得通的解决办法吗?”系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程。研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。

可行性研究回答“对于上一个阶段所确定的问题有行得通的解决办法2.1可行性研究的任务可行性研究的目的:不是解决问题,而是确定问题是否值得去解决。可行性研究的实质:进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

2.1可行性研究的任务可行性研究的目的:可行性研究的内容:首先进一步分析和澄清问题定义,导出系统的逻辑模型;然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案);对每种解法都研究它的可行性,至少应该从三方面研究每种解法的可行性

。可行性研究的内容:主要方面:技术可行性,使用现有的技术能实现这个系统吗?经济可行性,这个系统的经济效益能超过它的开发成本吗?操作可行性,系统的操作方式在这个用户组织内行得通吗?其他方面:法律(社会)可行性,系统是否侵犯他人、集体或国家的利益,是否违反法律?主要方面:分析员应该为每个可行的解法制定一个粗略的实现进度。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%~10%。分析员应该为每个可行的解法制定一个粗略的实现进度。2.2可行性研究过程1.复查系统规模和目标对问题定义阶段书写的关于规模和目标的报告书进一步复查确认。2.研究目前正在使用的系统

新的目标系统必须也能完成旧系统的基本功能;另一方面,新系统必须能解决旧系统中存在的问题。

2.2可行性研究过程1.复查系统规模和目标3.导出新系统的高层逻辑模型现有的物理系统→现有系统的逻辑模型→目标系统的逻辑模型(→新的物理系统

)4.进一步定义问题分析员应该和用户一起再次复查问题定义、工程规模和目标。可行性研究的前4个步骤实质上构成一个循环。

3.导出新系统的高层逻辑模型5.导出和评价供选择的解法首先从技术角度出发排除不可行方案;其次考虑操作可行性,去掉用户不能接受的方案;接下来考虑经济可行性,估计余下的每个可能的系统的开发成本和运行费用,进行成本/效益分析;最后为每个在各方面都可行的系统制定实现进度表。5.导出和评价供选择的解法工程进度表阶段所需时间(月)可行性研究0.5需求分析1概要设计0.5详细设计1实现2总计5工程进度表阶段所需时间(月)可行性研究0.5需求分析1概要设6.推荐行动方针根据可行性研究结果应该做出的一个关键性决定是,是否继续进行这项开发工程。若继续开发,选择一种最好的解法,说明选择这个解决方案的理由。6.推荐行动方针7.草拟开发计划分析员应该为所推荐的方案草拟一份开发计划,制定工程进度表、估计对各类开发人员和各种资源的需要情况、估计系统生命周期每个阶段的成本、给出下一个阶段(需求分析)的详细进度表和成本估计。7.草拟开发计划8.书写文档提交审查把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。8.书写文档提交审查可行性研究报告的编写1引言

1.1编写目的

1.2背景

1.3定义

1.4参考资料2可行性研究的前提

2.1要求

2.2目标

2.3条件、假定和限制

2.4进行可行性研究的方法

2.5评价尺度可行性研究报告的编写1引言2可行性研究的前提可行性研究报告的编写3对现有系统的分析

3.1数据流程和处理流程

3.2工作负荷

3.3费用开支

3.4人员

3.5设备

3.6局限性4所建议的系统

4.1对所建议系统的说明

4.2数据流程和处理流程

4.3改进之处

4.4影响

4.5局限性

4.6技术条件方面的可行性可行性研究报告的编写3对现有系统的分析4所建议的系统可行性研究报告的编写5可选择的其它系统方案

5.1可选择的其它系统15.2可选择的其它系统2

......6投资及收益分析

6.1支出

6.2收益

6.3收益/投资比

6.4投资回收周期

6.5敏感性分析7社会条件方面的可行性

7.1法律方面的可行性

7.2使用方面的可行性可行性研究报告的编写5可选择的其它系统方案6投资及收益分8结论可以立即开始进行需要增加资源才能开始,例如增加投资或人力。需要推迟到某些条件具备后才能开始,例如组织机构的调整。需要对系统目标作某些修改才能开始。不能或没有必要进行,例如经济上不合理,投资相差太大。8结论2.3系统流程图系统流程图:是概括地描绘物理系统的传统工具。用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。2.3系统流程图系统流程图:2.3.1符号基本符号:5个,以概括的方式抽象地描绘一个实际系统。2.3.1符号基本符号:5个,以概括的方式抽象地描绘一系统符号:11个,更具体的描绘物理系统。系统符号:11个,更具体的描绘物理系统。第02章可行性研究课件2.3.2例子

例1:

某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件上。当仓库零件数量发生变化时,应该及时修改库存清单主文件。如果哪种零件的库存量少于它的库存临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。该装配厂使用一台小型计算机,处理更新库存清单主文件和产生定货报告。零件库存量的每一次变化称为一个事务,由放在仓库中CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。2.3.2例子例1:部件:包括程序、文档、数据库、人工过程等程序:更新库存清单程序产生定货报告程序文档:定货报告数据:磁盘上的库存清单主文件磁带上的定货信息

CRT终端输入事务人工过程:无部件:包括程序、文档、数据库、人工过程等2.3.3分层

首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能;然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。

第一层:描绘系统关键功能(仅用基本符号)2.3.3分层首先用一张高层次的系统流程图描绘系统总体第二层:扩展系统关键功能

第二层:扩展系统关键功能第三层:合成后的系统流程图第三层:合成后的系统流程图例2:教材销售系统人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。例2:教材销售系统人工教材销售的系统流程图人工教材销售的系统流程图计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完的教材),收书款和发书仍由人工完成。开购书申请和购书证明可一步完成,增加缺书统计和采购功能。计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完计算机教材销售的系统流程图计算机教材销售的系统流程图2.4数据流图数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。2.4数据流图数据流图(DFD):2.4.1符号基本符号:2.4.1符号基本符号:数据源点/终点:通常是人或部门,可重复表示;处理:一个处理框可以代表一系列程序、单个程序或程序的一个模块;数据存储:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据;数据流:描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件,数据流是处于运动中的数据。数据源点/终点:通常是人或部门,可重复表示;附加符号:星号(*):表示“与”关系附加符号:加号(+):表示“或”关系加号(+):表示“或”关系异或(⊕):表示互斥关系异或(⊕):表示互斥关系2.4.2例子例1:

假设采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件,应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存量少于库存量的临界值时,就应该再次定货。2.4.2例子例1:画数据流图的步骤:1.从问题描述中提取数据流图的4种成分数据的源点/终点“通过放在仓库中的CRT终端把事务报告给定货系统”——仓库管理员是数据源点;“采购部每天需要一张定货报表”——采购员是数据终点。处理“采购部需要报表”,——产生报表;事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理——处理事务。画数据流图的步骤:数据流:“系统把定货报表送给采购部”——定货报表;“通过放在仓库中的CRT终端把事务报告给定货系统”——事务。数据存储:处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存放一段时间——定货信息;零件库存量和库存量临界值需要存储——库存清单。数据流:源点:仓库管理员终点:采购员处理:产生报表、处理事务数据流:定货报表事务零件编号零件名称定货数量目前价格主要供应者次要供应者零件编号事务类型数量数据存储:定货信息——同定货报表库存清单零件编号库存量库存量临界值源点:仓库管理员处理:产生报表、处理事务数据流:零件编号零件2.画基本系统模型由若干个数据源点/终点和一个处理(XX系统)组成。定货系统的基本系统模型2.画基本系统模型定货系统的基本系统模型3.细化,描绘系统的主要功能(功能级数据流图)定货系统的功能级数据流图3.细化,描绘系统的主要功能(功能级数据流图)定货系统的功4.对系统主要功能进一步细化把处理事务的功能进一步分解后的数据流图4.对系统主要功能进一步细化把处理事务的功能进一步分解后的细化时注意:当进一步分解涉及如何具体的实现一个功能时,就不应该再分解了。当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同—父图和子图的数据流要平衡。注意对处理进行编号的方法。细化时注意:2.4.3命名1.为数据流(或数据存储)命名完整性;具体性;起名字遇到了困难时,试试重新分解。2.4.3命名1.为数据流(或数据存储)命名2.为处理命名通常先为数据流命名,然后再为与之相关联的处理命名;完整性;及物动词+宾语(如:计算平均分);通常名字中仅包括一个动词,否则进行分解;命名时遇到困难,应考虑重新分解。3.为数据源点/终点命名采用它们在问题域中习惯的名字(如仓库管理员、采购员)。

2.为处理命名2.4.4数据流图的用途

作为交流信息的工具供有关人员审查确认供用户理解和评价数据流图应该分层,超过7个时应该画分图作为分析和设计的工具描绘系统所完成的功能导出更详细的设计步骤——面向数据流的设计方法2.4.4数据流图的用途作为交流信息的工具例2:高考录取统分子系统功能如下:

(1)计算标准分——根据考生原始分计算标准分,存入考生分数文件;

(2)计算录取线分——根据标准分和招生计划文件中的招生人数,计算录取线分,存入录取线文件。

例2:高考录取统分子系统1.提取数据流图的四种成分数据源点和终点:考生处理:(1)计算标准分

(2)计算录取线分数据存储:(1)考生分数文件

(2)招生计划文件

(3)录取线文件数据流:原始分;标准分;招生人数;录取线分

1.提取数据流图的四种成分2.画基本数据流图2.画基本数据流图3.画功能级数据流图3.画功能级数据流图例3:教材销售系统人工:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。计算机:包括销售和采购两大功能。销售时,根据学生用书表和教材库存清单对购书单进行有效性审查,通过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,根据领书单更新教材库存清单。采购时,将缺书表中的信息汇总生成采购单,新书进库时更新教材库存清单。例3:教材销售系统基本数据流图基本数据流图功能级数据流图功能级数据流图销售功能细化的数据流图销售功能细化的数据流图采购功能细化的数据流图采购功能细化的数据流图2.5数据字典数据字典(DataDictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难以发挥作用。只有把数据流图及对数据流图中每个元素精确定义的数据字典放在一起,才能共同构成系统的规格说明,它们也是“需求规格说明书”的主要组成部分。2.5数据字典数据字典(DataDictionary,简2.5数据字典2.5.1数据字典的内容及格式数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下4类条目:数据流、数据项、数据存储及基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,一般不在字典中说明。1.数据流条目数据流条目给出了数据流图中数据流的定义,通常列出该数据流的各组成数据项。由数据项组成数据流或数据存储的方式由3种类型构成:2.5数据字典2.5.1数据字典的内容及格式(1)顺序:按确定次序连接两个或多个分量。(2)选择:从两个或多个分量中选择一个。(3)重复:将指定的分量重复0次或多次。在定义数据流或数据存储组成时,使用表2-2给出的符号。表2-2数据字典定义中使用的符号(1)顺序:按确定次序连接两个或多个分量。表2-2数据字例如,定义审核借书数据流图中借书数据流:借书=借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员编号密码={字母}86或者6{字母}8

操作员编号=“GLY001”··“GLY100”

借阅方式=[教师|学生]例如,定义审核借书数据流图中借书数据流:完整数据流条目主要内容及举例如下:数据流名称:借书别名:借书单简述:读者借书时填写的单据来源:读者去向:加工1“审核借书”数据流量:500份/天组成:借书证编号+借阅日期十书名+借阅方式+密码+借阅人+操作员编号其中数据流量指单位时间内(每小时或每天或每周或每月)的传输次数(相应动作发生的次数)。完整数据流条目主要内容及举例如下:2.数据存储条目数据存储条目是对数据存储的定义,主要内容及举例如下:数据存储名称:借书文件别名:无简述:存放读者借书信息组成:借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员编号组织方式:数据文件,以借书证编号为关键字进行索引查询要求:要求能立即查询并修改2.数据存储条目3.数据项条目数据项条目是不可再分解的数据单位,其定义格式及举例如下:数据项名称:借书证编号别名:无简述:本系统中所有读者的借书证编号类型:字符串长度:10取值范围及含义:第1位:教师/学生第2~3位:部门或系别第4~7位:科室或班级第8~10位:顺序编号3.数据项条目4.加工条目加工条目是用来说明DFD中基本加工的处理逻辑的,由于上层的加工是由下层的基本加工分解而来,只要有了基本加工(最底层)的说明,就可理解其他加工。加工条目的主要内容及举例如下:4.加工条目对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工把输入数据流变换为输出数据流的加工规则。加工逻辑说明必须描述实现加工的策略(即做什么)而不是实现加工的细节。加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的。第02章可行性研究课件加工说明组成输入数据加工逻辑输出数据加工说明描述工具结构化语言判定表判定树

描述把输入数据流变换为输出数据流的加工规则,是加工说明的主体。加工说明组成输入加工输出加工说明描述工具结构化判定判定自然语言+结构化形式(1)结构化语言选择结构如果<条件><策略>

If<condition><policy>如果<条件>

则<策略1>

否则<策略2>情况1<条件><策略1>…

…情况n<条件><策略n>If<condition>

then<policy1>Otherwise<policy2>case1<condition><policy1>…

…casen<condition><policyn>循环结构对

…,<策略>重复以下<策略>直至<条件>Foreach…,<policy>Repeatthefollowing:<policy>Until<condition>自然语言+结构化形式(1)结构化语言选如果<条件>If商店业务处理系统中“检查发货单”if发货单金额超过$500thenif欠款超过了60天then

在偿还欠款前不予批准

else(欠款未超期)发批准书,发货单

else(发货单金额未超过$500)

if欠款超过60天then

发批准书,发货单及赊欠报告

else(欠款未超期)发批准书,发货单

商店业务处理系统中“检查发货单”if发货单金额超过$500(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适(2)判定表如果数据流图的加工需要依赖于以“检查发货单”为例以“检查发货单”为例(3)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发出批准书、发货单欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单(3)判定树判定树也是用来表达加工逻辑2.5数据字典2.5.2数据字典的用途数据流图只描述了系统的“分解”,系统由哪几部分组成,各部分之间的联系,并没有对各个数据流、加工及数据存储进行详细说明。例如:数据流、数据存储的名字并不能反映其中的数据成分、数据项目内容和数据特性,在加工中不能反映处理过程等。分析人员仅靠“图”来完整地理解一个系统的逻辑功能是不可能的。数据字典是分析阶段重要的工具。在数据字典中建立的定义有助于改进分析员和用户之间的通信,对数据的严密的定义有助于改进在不同的开发人员或不同的开发小组之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多麻烦的接口问题。2.5数据字典2.5数据字典2.5.3数据字典的实现实现数据字典有两种途径;人工过程和全自动化过程(利用数据字典处理程序)。不论使用哪种途径实现的数据字典都应该具有下述特点:①通过名字能方便地查阅数据的定义;②没有冗余;③尽量不重复在规格说明的其他组成部分中已经出现的信息;④容易更新和修改;⑤能单独处理描述每个数据元素的信息;⑥定义的书写方法简单方便而且严格。随着软件规模的不断增加,数据字典的规模和复杂程度也在迅速增加,人工过程维护数据字典几乎是不可能的。目前,数据字典基本上是作为CASE分析与设计工具的一部分实现的。2.5数据字典2.5.3数据字典的实现如果暂时还没有自动的数据字典处理程序并且开发的是小型软件,建议采用卡片形式书写数据字典,每张卡片上保存描述一个数据元素的信息。每张卡片上主要应该包含下述信息:名字、别名、描述、定义、位置。手工建立数据字典的内容用卡片形式存放,其步骤如下:(1)按4类条目规范的格式印制卡片。(2)在卡片上分

温馨提示

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

最新文档

评论

0/150

提交评论