检查并确定是否值得为项目或产品投入时间、金钱和资源。这样的评估活动称为“可行性分析”。
在软件项目开发过程中,只要资源和时间不受限制,几乎所有项目都是可行的。然而,由于受到资源和交付时间的限制,使得软件系统的开发变得越来越困难。因此,尽早对软件项目的可行性进行细致而谨慎的分析是十分必要的。
记住:可行性分析的目的不是解决问题,而是确定问题是否可解并且是否值得去解。
我们认为用户要的是否就是实际客户真正想要的。为此,
了解现有系统存在的问题。只了解现有系统做什么,不去管怎么做。
采用工具:系统(业务)流程图。
是一种极好的分析和设计工具,它有助于开发人员和用户交流,在可行性分析中,可以通过绘制系统(业务)流程图了解要开发的系统的大概的业务处理流程、范围和功能等。
一个实验教学申请系统的例子如下:
应该告诉用户“What”,而不是“How”
使用工具:数据流图 和 数据字典
是用来描述系统逻辑模型的一种图形工具。
数据流图从数据传递和处理的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
数据流图的符号
数据流是数据在系统内传播的路径,由一组固定的数据项组成。除了与数据存储之间的数据流不用命名外,数据流名应该用名词或名词短语命名。
数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可理解为写入文件或更新文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。
处理也称为数据加工,它对数据流进行某些操作或变换。每个处理也要有名字,通常用动词短语,简明地描述完成什么处理。在分层次的数据流图中,处理还应有编号。
外部实体是软件系统外部环境中的实体(包括人员、组织或其他软件系统),也称为数据源点或终点。一般只出现在数据流图的顶层图中。
数据流图举例:银行办理取款手续的数据流图:
数据流图的层次化
在用数据流图来描述功能模型的时候,将某些复杂的处理进行分解的话,还可以得到更加详细的数据流图,这就是数据流图的层次化。
下图是一个用数据流图描述发行付款通知书的处理过程。
其中「发行付款通知书」这个处理可以被分解成3个子处理和一个数据存储。
下图是付款通知书发行过程的详细的数据流图。
上图中作为「销售(服务)合同」内部数据要素的「顾客ID」和「合同金额」被分解了。这样的数据构造,将用后述的数据字典来加以管理。
通常,在可行性分析阶段,为了掌握系统的大致(或概要)的数据流和处理过程,只画系统的顶层数据流图。
从第二层开始的详细数据流图在需求分析阶段来绘制。
数据字典的作用是: 对于数据流图中出现的所有被命名的图形元素作为一个词条以字典的方式加以定义,使得每一个图形元素的名字都有一个确切的解释。
数据词典主要定义四类条目:
不过,对加工或处理的定义用其他工具(如IPO或PDL等)描述更加方便,因此,通常情况下,数据字典将主要由对数据的定义组成。
数据字典与数据流图的关系:
从系统高层次逻辑模型出发,探索若干种可供选择的系统实现方案,对每种方案都应该仔细研究它的可行性。 一般说来,至少应该从下述几个方面分析几种方案的可行性。
可行性矩阵模板示例:
分析员必须提供建议的解决方案,以及其他解决方案。应说明为什么选择了建议的解决方案。可以使用可行性矩阵来说明。
可行性分析的结论通常是以下四种:
可行性分析报告的内容要求及写法说明:
1.引言
说明编写本文档的目的,项目的名称、背景,本文档用到的专业术语和参考资料等。
2.可行性分析的前提
说明开发项目的功能、性能、基本要求和要达到的目标,各种限制条件、可行性分析方法和决定可行性的主要因素。
3.对现有系统的分析
说明现有系统的处理流程和数据流程、工作负荷、各项费用的支出、所需各类专业技术人员和数量、所需各种设备,现有系统存在的问题。
4.所建设系统的可行性分析
简要说明所建设系统的处理流程和数据流程,与现有系统比较的优越性,采用所建议系统对用户的影响, 对各种设备、现有软件、开发环境和运行环境的影响, 对经费支出的影响,对技术可行性的评价。
5.所建设系统的经济可行性分析
说明所建设系统的各种支出、各种效益、收益/投资比,资金回收周期。
6.社会因素的可行性分析
说明法律因素对合同责任、侵犯专利权和侵犯版权等问题的分析,说明用户使用可行性是否满足用户行政管理,工作制度等要求。
7.其他可选方案
说明其他可选方案,并说明未被推荐的理由。
8.结论意见
说明项目是否能开发,还需要什么条件才能被开发, 对项目目标有何变动等。
可行性分析小结
如果想了解需求分析可以看看这篇文章:
软件工程的需求分析_软件工程需求分析_不学无术BruceYoung的博客-CSDN博客什么是需求? 什么是软件需求?什么是需求分析? 为什么要做需求分析?需求分析做什么? 需求分析怎么做?如何获取用户需求? 常用的获取需求的方法有哪些?结构化需求分析方法的步骤、方法和常用工具?各种工具的作用是什么? 什么是数据规范化?什么是需求规格说明? 需求规格说明撰写什么内容? 为什么描述需求规格说明比较困难? 谁负责编写需求规格说明书? 谁使用需求规格说明书? 好的需求规格说明应满足什么条件?...https://blog.csdn.net/qq_59125846/article/details/125373799