软件系统可行性研究报告
- 格式:docx
- 大小:149.89 KB
- 文档页数:19
软件系统可行性研究报告
第二章 可行性研究
我们在做任何工作往常,务必明确工作的性质、任务、制定完成任务的计划。显然完成一个软件系统的开发,也应解决好类似的问题。明确软件开发系统的任务,完成任务的价值,制定出完成任务的计划,是软件系统可行性研究的目的。
2.1 可行性研究
2.1.1可行性研究的任务
假如不限时间、不限资源、则任何研制项目都是可行的!然而在开发以计算机为基础的系统时,需要用最小的代价,在尽可能短的时间内确定问题是否能够解决。这种可行性研究的目的是确定我们所研究的问题是否值得去解,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。
可行性研究的实质就是要进行一次压缩,简化了的系统分析与设计的过程,也就是在较高层次上以较抽象方式进行系统分析与系统设计的过程,可行性研究应着重考虑如下五个方面。
1.技术可行性。是指使用现有的技术能否实现这个系统。它包含开发风险——在限制条件范围内达到必需的功能与性能;资源配置——指现有的技术人员是否胜任,开发系统的软、
硬件资源是否能如期得到;技术——指现有的技术是否已进展到这样的水平,能够支持系统 的研制。
2.经济可行性。指新系统的经济效益能否超过开发成本。包含评价经济的合理性,权衡支出的费用与收到的利益,正确估计开发费用与最终从所开发的系统获得的收入与利益。其中经济的合理性包含成本/效益分析,长期的总体的经营策略,对其他获利中心或者获利产品 的影响,开发工作需用资源的购置费用、潜在的市场等等。
3.运行可行性。指为新系统规定的运行方式是否可行。假如新系统是建立在原先已担负其他任务的计算机系统上,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。
4.操作可行性。指系统的操作方式在这个用户组织内是否行得通。它包含人事政策,科技政策与必要的管理措施。
5.法律可行性。指新系统的开发是否会侵犯他人、集体或者国家的利益,是否违反了国家的法律,并由此而承担法律责任。
可行性研究并不保证一个系统经济上明显合理、技术风险低,很少法律问题,而且不存在其他合理方案。然而,我们之因此要进行可行性研究,其目的是对以后的行动方针提出建议。假如问题没有可行的解,那么分析员应该建议停止这项开发工程,以避免时间、资源、人力与金钱的浪费。假如问题值得解,那么分析员应该推荐一个较好的解决方案,并为工程制定一个初步计划。
可行性研究需要的时间长短取决于系统的规模。通常来说,可行性研究的成本只是预期工程总成本的5~10%。 2.1.2 可行性研究的步骤
1.复查系统规模与目标。要认真阅读与分析分析员在问题定义阶段书写的关于系统目标与规模的报告书,确定报告书的内容,修改不确切的叙述,清晰地描述对目标系统的一切限制与约束,确保分析员提交的报告书确实是用户要求解决的问题。
2.研究现有的系统。现有系统是信息的重要来源,现有系统要完成的工作,就是新系统所务必具备的功能。现有系统存在的缺点,新系统务必加以改进。现有系统所不具备的功能,
又是用户务必的,则新系统一定要预以增加。现有系统所需要的费用是新系统的一个重要的
投资根据。这样的调查研究,是熟悉一个陌生应用领域的最快方法。既能够使新系统脱胎而
生,又不全盘照抄。另外还要注意现有系统与其他系统之间的通信接口,这是新系统设计的 重要约束条件。
3.导出新系统的高层逻辑模型。软件工程设计总是从现有的物理系统出发,导出现有物理系统的逻辑模型;再以现有物理系统的逻辑模型为基础,设计出新系统的高层逻辑模型;最后根据高层逻辑模型建造新的物理系统。根据新系统的功能与约束条件,我们能够使用数据流图(DFD图)来描绘数据在系统中流淌与处理的情况,使用数据字典来定义系统中使用的数据,从而完成新系统的逻辑模型。至于物理系统使用系统流程图来表示。
4.重新定义问题。新系统的逻辑模型是否能满足用户的要求,分析员与用户应该一起进行复审。复审以数据流图与数据字典为根据,对问题的定义、工程模型与目标进行审查。假如有分岐与遗漏等问题,应立即进行改正。
上述可行性研究步骤实质上是一个循环,即定义系统目标—→复查系统目标与规模—→研究现有系统—→设计新系统—→再定义系统目标。重复这个循环过程,直到提出的新系统逻辑模型完全符合系统目标与规模为止。
5.提出供选择的方案。从系统的逻辑模型出发,以系统要求为目标,利用在数据流图上划分自动化边界的方法,我们能够提出若干种较高层次的物懂得法供用户选择。针对多种供选方案,用户应从如下三个方面进行筛选:
(1) 从技术角度排除那些不现实的方案;
(2) 从操作角度去掉那些操作方式或者操作过程用户不能同意的方案;
(3) 从经济角度估算每个可能系统的成本/效益。通常来说,只有投资估计能带来利润的系统才值得开发。
只有在技术、操作经济等方面都可行的系统,我们才为其制定实现进度表。此进度表不需要很全面,只是要估计生存周期每个阶段的工作量。
6.推荐建议方案。在对上一步提出的各类可行方案的分析、比较的基础上,向用户提出推荐的方案,在推荐方案中应清晰地说明
(1) 本项目的开发价值;
(2) 推荐这个方案的理由;
(3) 制定实现项目的进度表。
7.决策。使用部门的负责人根据经济实力及分析员在可行性研究阶段对开发此项工程成本/效益情况的分析结论,决定是否继续这项开发工程。
8.制定开发计划。分析员应为推荐的系统制定一份开发计划,它包含工程的进度、人材资源的需求及使用、设备资源的需求及使用(软、硬件工具)、估算生存周期每个阶段的成本等,最后给出下一阶段(需求分析)的全面进度表与成本估计。
9.书写文档提交审查。把上述可行性研究各个步骤的结果写成清晰的文档,请用户与使用部门的负责人认真审查,也能够召开论证会。论证会成员由用户、使用部门负责人及有关方面的专家构成,负责对提出的方案进行论证,最后由论证会成员签署意见,指明该开发计划是否通过。
2.1.3 可行性论证报告的要紧内容
1.系统概述。是对问题的简单陈述,包含系统的开发目的、目标、业务对象与范围,新系统与它的各子系统的功能与特性,新系统与当前系统的比较,所需资源与费用与进度的概况等。
2.可行性分析。这是报告的主体部分,包含新系统在经济上、技术上、操作上、运行上、
法律上的可行性,与对新系统的主客观条件的分析。若存在多种方案,则应对各类方案进
行比较,指明推荐的方案。
3.限制。指对系统开发有影响的管理方面与技术方面的限制,包含项目的外部环境、接口、设计与实现、资源、费用或者进度等。
4.费用。估算软、硬件费用,制定出费用限额并注明。
5.拟定开发计划。它包含工程进度表,人员配备情况,资源配备情况,估算出每个阶段的成本、约束条件等。
6.结论意见。综上分析,说明新系统是否可行,其结论分为下列三类:
(1) 可立即进行;
(2) 推迟进行;
(3) 不能或者不值得进行。
2.2 系统流程图
系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件。包含程序、文件、数据库与各类表格、人工过程等。它表达了信息在系统各部件之间的流淌情况。请读者注意它与程序流程图之间的区别。
2.2.1 符号
国家标准(GB1526-89)《信息处理——数据流程图、程序流程图、系统流程图、程序网络图与系统资源图的文件编制符号及约定》为我们推荐了一套标准符号与使用约定。该标准是与国际标准化组织公布的标准ISO5807-85 Information processing documentation symbols
and conventions for data, program and system flowcharts, program network charts
and system resources charts相一致。系统流程图含有5种基本符号,如图2-1所示。11
种系统符号如图2-2所示。
符号 名称 说明
处理 能改变数据值或者数据位置的加工或者部件,比如,程序、处理机、人工加工等都是处理。
输入/输出 表示输入或者输出(或者既输入又输出),是一个广义的不指明具体设备的符号。
连接 指出转到图的另一部分或者从图的另一部分转来,通
常在同一页上。
换页连接 指出转到另一页图上或者由另一页图转来。
数据流
用来连接其他符号,指明数据流淌方向。
图2-1 基本符号
符号 名称 说明
穿孔卡片 表示用穿孔卡片输入或者输出,也可表示一个穿孔卡片文件。
文 档 通常表示打印输出,也可表示用打印终端输入数据。
磁 带 磁带输入/输出,或者表示一个磁带文件。
联机存储 表示任何种类的联机存储,包含磁盘、磁鼓、软盘与海量存储器件等。
磁 盘 磁盘输入/输出,也可表示存储在磁盘上的文件或者数
据库。
磁 鼓 磁鼓输入/输出,也可表示存储在磁鼓上的文件或者数据库。
显 示 CRT终端或者类似的显示部件,可用于输入或者输出,也可既输入又输出。
人工输入 人工输入数据的脱机处理,比如,填写表格。
人工操作 人工完成的处理,比如,会计在工资支票上签名。
辅助操作 使用设备进行的脱机操作。
通信链路 通过远程通信线路或者链路传送数据。
图2-2 系统符号
2.2.2 应用
系统流程图是一种极好的设计工具,它有助于开发人员与用户交流信息,利用系统的每个具体物理元素能够更准确地估计成本与制定系统的开发进度。
下面通过例子来说明系统流程图的使用。
例 某工厂有一座零件仓库,仓库中现有各类零件的数量与每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量发生变化时,应及时修改库存清单主文件。当某种零件的库存量少于它的库存量临界值时,则应报告给采购部门以便定货。规定每天向采购部门送一次定货报告。
工厂使用一台微机处理更新库存清单主文件与产生定货报告的任务。仓库中的每一项业务都通过CRT终端输入到计算机中。系统中的库存清单程序负责对事务进行处理,更新存储在磁盘上的库存清单主文件,把必要的定货信息写在磁带上。每天由报告生成程序读一次磁带,生成并打印出定货报告。如图2-3所示。
图中的箭头确定了信息流淌的途径,关于复杂的系统,能够使用分层描述的方法来描绘整个系统。用一张高层次的系统流程图描绘系统总体概貌,然后分别把每个关键功能扩展到