可行性分析
根据软件工程的思想,可将整个软件生存周期分为三个阶段,分别是定义阶段、开发阶段、维护阶段。而在开发一个软件之前必须要先进行计划,软件计划与可行性分析都在定义阶段之内。
任务:是确定问题,而不是解决问题。
步骤:首先要分析当前的系统,抽象出原系统的逻辑模型;然后根据问题定义导出新系统的高级逻辑模型;还要提出几种方案,再推荐一个方案;随后要写出可行性分析报告,最后提交上级和专家审查。
可行性分析要从多个方面来进行分析,一般从经济、技术、操作、法律、时间、成本效益等方面进行讨论。
成本估计的方法:1.参数化算法主要适用于开发过类似的项目,按照公式只需要替换参数就可以大概估算出软件的成本;2.代码行方法:主要根据整个软件的有效代码行数来确定;3.任务分解:将整个软件分成各个模块,逐个估算,最后整合。
可行性分析报告的格式
- 1. 引言
1.1编写目的
1.2项目背景
1.3定义
1.4参考资料 - 2.项目概述
2.1工作内容
2.2条件与限制
2.3产品
2.4运行环境
2.5服务
2.6验收标准 - 3.实施计划
3.1任务分解
3.2进度
3.3预算
3.4关键问题 - 4.人员组织及分工
- 5.交付期限
- 6.专题计划要点
软件需求分析
软件需求分析是软件工程中开发阶段的第一步,首先要对软件的需求进行分析和定义。
任务:1.描述软件的功能和性能要求;2.确定软件设计的约束和同其它系统元素的接口细节;3.定义其它有效性需求。
原则:1.表达和理解问题的信息域和功能域;2.以层次化的方式对问题进行分解和细化。
方法:需求分析的方法有很多,大多数方法都是由信息驱动的。 其中面向数据流的结构化分析方法(SA):用到的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。
注意:用户手册是在软件需求分析阶段完成的,而不是等软件开发完成才开始写。
需求规格说明的格式:
- 1.引言
1.1编写目的
1.2项目背景
1.3定义
1.4参考资料 - 2.任务概述
2.1目标
2.2运行环境
2.3条件与限制 - 3.数据描述
3.1静态数据
3.2动态数据
3.4数据词典
3.5数据采集 - 4.功能需求
4.1功能划分
4.2功能描述 - 5.性能需求
5.1数据精确度
5.2时间特性
5.3适应性 - 6.运行需求
6.1用户界面
6.2硬件接口
6.3软件接口
6.4故障需求 - 7.其他需求
安全性、可维护行等。