文档介绍:软件的定义—可行性分析
马丽
《软件工程》
第二章软件的定义
本章全部内容如下:
1、项目可行性分析
2、项目需求分析
3、数据流分析技术
4、数据库概念设计*
开发软件要回答三个问题
Why to do? —可行性研究
What to do?—需求分析
How to do? —系统设计
项目可行性分析
项目的筹备、规划与准备是软件项目实施的前期工作,它由两个重要的工作阶段构成:一是项目规划及可行性分析;二是项目需求分析。
项目准备阶段的第一个工作,是项目的总体规划。首先要做的是明确系统的需求,也就是用户要计算机解决什么问题,即问题定义。
系统分析员应该深入现场,了解用户单位对系统的要求,调查开发背景,进行市场调研。经过调查分析,分析员要在较短的时间内对问题进行抽象、概括,并把自己的认识写成书面报告,即项目需求报告,提交给用户方面进行讨论审查。
项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问题的概括,项目的目标,项目的规模及对可行性研究的具体建议(即需要用的时间和成本)等等。
。
项目需求报告
2008年10月
1.   项目:××公司工资管理系统
2. 问题:在公司日常工资管理工作中,现有系统所承担的工作只能实现工资管理的简单功能,已无法适应目前工作中处理大量数据(如日常打印工资条等)要求,工作效率低下,容易出错。
3. 项目目标:为了提高公司日常工资管理的效率与准确率,而开发该项软件。该软件应逐步向本市各企业推广。
4. 项目范围:硬件主要利用现有的计算机网络,增配少量专用设备,软件开发费用预计20000元。
5. 初步设想:实现××公司工资管理系统,包括工资录入、数据查询、工资条、工资统计、部门设置、人员设置、项目设置等具体功能。要求将各种输出数据以表单形式打印;系统各模块具有添加新数据的功能;系统软件具有权限功能,使不同的用户具有不同的权限;建立后的数据库需要加密。
:由分析员和××公司工资管理部门进行,主要对公司日常工资管理规程和系统实施方案进行研究。建议进行大约3天的可行性研究,研究费用不超过200元。
一般的做法是分析员和用户方面的人员一起阅读讨论这份报告,通过修改得到一份双方都满意的文档。
当分析员和用户双方就项目需求取得了完全一致的看法,项目的可行性研究即可开始。
一、可行性分析的概念
回答是否可行?
最小代价
最短时间
三个方面的可行性
技术可行性
经济可行性
社会可行性
项目可行性分析---Why to do?
并不是任何问题都有简单明了的解决办法,事实上,许多问题不可能在预定的系统规模和期限之内解决。如果问题没有可行的解决办法,那么花费在这项开发工程上的时间、资源、人力和经费都是无谓的浪费。
可行性分析就是解决一个项目是否有可行解以及是否值得去解的问题。该阶段的主要任务就是用最小的代价在尽可能短的时间内确定问题是否能够得到解决,从而确定问题是否能够解决。
二、可行性分析的目标
识别用户要求
评价系统的可行性
进行经济分析和技术分析
把功能分配给硬件、软件、人、数据库和其它系统元素
建立成本和进度限制
生成系统规格说明,形成所有后续工程的基础
可行性分析的出发点是前阶段所书写的文档(即项目需求报告),对于项目需求报告中所确定的目标和规模,如果正确就进一步确认,如果错误则及时修改,为做出正确的可行性分析打好基础。
具体地说,分析员应从下面三个方面对项目做出可行性分析:
(1)技术可行性:使用现有的技术能实现这个系统吗?
(2)经济可行性:这个系统的经济效益能超过它的开发成本吗?(详细在后面介绍成本/效益分析)
(3)操作可行性:系统的操作方式在该用户组织内行得通吗?
必要时还应该进一步从法律、社会效益等更广泛的角度研究每种解法的可行性。
三、可行性分析的主要任务