02章 可行性研究

  • 并非任何问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。
  • 如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。
  • 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.1 可行性研究的任务

可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
在这里插入图片描述

  • 首先,进一步分析和澄清问题定义
  • 然后,分析员应该导出系统的逻辑模型
  • 最后,探索若干种可供选择的主要解法

至少应该从下述3个方面研究每种解法的可行性:

在这里插入图片描述

2.2 可行性研究过程

在这里插入图片描述
1.复查系统规模和目标

分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。

2.研究目前正在使用的系统

现有的系统是信息的重要来源。显然,如果目前有一个系统正被人使用,那么这个系统必定能完成某些有用的工作,因此,新的目标系统必须也能完成它的基本功能;另一方面,如果现有的系统是完美无缺的,用户自然不会提出开发新系统的要求,因此,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。
应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统。
常见的错误做法是花费过多时间去分析现有的系统。
没有一个系统是在“真空”中运行的,绝大多数系统都和其他系统有联系。

3.导出新系统的高层逻辑模型

优秀的设计过程通常是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。

4.进一步定义问题

可行性研究的前4个步骤实质上构成一个循环。分析员定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。

5.导出和评价供选择的解法

分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的物理解法供比较和选择。
其次可以考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。
接下来应该考虑经济方面的可行性。分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。
最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表,这个进度表不需要制定得很详细,通常只需要估计生命周期每个阶段的工作量。

6.推荐行动方针

根据可行性研究结果应该决定的一个关键性问题是: 是否继续进行这项开发工程?分析员必须清楚地表明他对这个关键性决定的建议。如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。通常客户主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析。

7.草拟开发计划书

分析员应该为所推荐的方案草拟一份开发计划,除了制定工程进度表之外还应该估计对各类开发人员和各种资源的需要情况,应该指明什么时候使用以及使用多长时间。此外还应该估计系统生命周期每个阶段的成本。最后应该给出下一个阶段(需求分析)的详细进度表和成本估计。

8.写文档提交审查

应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。

2.3 系统流程图

系统流程图是概括地描绘物理系统的传统工具

基本思想:

用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。

系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。

2.3.1符号

利用符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操作等。
在这里插入图片描述
在这里插入图片描述

2.3.2例子

以一个简单的例子进行讲解。某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便订货,规定每天向采购部门送一次订货报告。

该装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。
如下图所示。
在这里插入图片描述

2.3.3分层

面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。

2.4 数据流图

概念:
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

2.4.1 符号

在这里插入图片描述
在这里插入图片描述

2.4.2 例子

在这里插入图片描述
第一步可以从问题描述中提取数据流图的4种成分:
在这里插入图片描述
第二步:再一次阅读问题描述,“采购部需要报表”
在这里插入图片描述
第三步:考虑数据流和数据存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4.3 命名

数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。因此,给这些成分起名字时应该仔细推敲。

数据流命名时应注意的问题

在这里插入图片描述
在这里插入图片描述

2.4.4 用途

1、画数据流图的基本目的是利用它作为交流信息的工具。

2、数据流图的另一个主要用途是作为分析和设计的工具。

3、数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统

2.5 数据字典

概念
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

2.5.1 内容

在这里插入图片描述
数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述3个原因:

  • 对于同样的数据,不同的用户使用了不同的名字。
  • 一个分析员在不同时期对同一个数据使用了不同的名字。
  • 两个分析员分别分析同一个数据流时,使用了不同的名字。

2.5.2 定义数据的方法

由数据元素组成数据的方式只有下述3种基本类型:

  • 顺序即以确定次序连接两个或多个分量。
  • 选择即从两个或多个可能的元素中选取一个。
  • 重复即把指定的分量重复零次或多次。
第4种关系算符

在这里插入图片描述

2.5.3 数据字典的用途

  • 数据字典最重要的用途是作为分析阶段的工具
  • 数据字典中包含的每个数据元素的控制信息是很有价值的
  • 数据字典是开发数据库的第一步,而且是很有价值的一步。

2.5.4 数据字典的实现

目前,数据字典几乎总是作为CASE“结构化分析与设计工具”的一部分实现的。在开发大型软件系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的。

在开发小型软件系统时暂时没有数据字典处理程序,建议采用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。

下面给出第2.4节的例子中几个数据元素的数据字典卡片,以具体说明数据字典卡片中上述几项内容的含义。
在这里插入图片描述

2.6 成本/效益分析

2.6.1 成本估计

软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。成本估计不是精确的科学,因此应该使用几种不同的估计技术以便相互校验。

下面简单介绍3种估算技术。

  • 代码行技术
  • 任务分解技术
  • 自动估计成本技术

任务分解技术最常用的办法是按开发阶段划分任务。典型环境下各个开发阶段需要使用的人力的百分比大致如下表所示:

在这里插入图片描述

2.6.2 成本/效益分析的方法

成本/效益分析方法主要从四个方面考虑

  • 货币的时间价值
  • 投资回收期
  • 纯收入
  • 投资回收率
货币的时间价值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本章小结

1.了解可行性研究的必要性,以及如何进行可行性研究
2.学习系统流程图、数据流图
3.学习数据字典的概念、用途及实现
4.成本/效益分析方法

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱上纯净的蓝天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值