软工总结(三)——需求分析
需求是软件存活进而发展的原动力,没有需求,软件存在的价值就会没有任何意义。做好需求分析才能抓住我们开发软件的主要目的,描述出系统功能性能,确定接口约束,定义有效性需求成为其关键任务。

实际上需求分析已成为开发过程中最难的工作,主要由其特点所决定:
1.用户与开发人员很难进行交流;
2.用户的需求是不断变化的;
3.系统变更的代价呈非线性增长,其系统中发现的错误越晚发现,更改将会越难实现。
也正是由于这些困难,之前的可行性研究决定项目取舍变得很有必要。
随着人们经验的积累,针对过程中的困难,专家们提出了很多需求分析的原则,方便我们更好的去分析需求。
对于需求分析的过程:
1.问题识别:充分理解软件、确定综合需求以及对其实现的条件和标准进行识别;
2.分析综合:逐步细化所有软件功能,找出各元素之间联系,接口特性及设计限制,综合得出系统解决
方案,给出详细逻辑模型;
3.编写文档:《需求规格说明书》、《数据要求说明书》、《用户手册》、完善《实施计划》
4.评审:从需求一致性、文档、接口等方面对该阶段进行评审,以进行下一阶段。
其综合分析的过程涉及到很多方法都是需要我们学习的:
1.SA:DFD,全面描述信息系统逻辑模型,用少数几种符号综合的反映出信息在系统系统中的流动、处理和
存储情况。他拥有总体概念强,易与计算机处理相对照,同时也有不直观、人工绘制工作量大的缺点。
DD,对分析过程中不了解条目的解释
结构化英语:机读性强
判定表:适用于逻辑验证与优化
判定树:直观
IPO图、层次方框图、PSL、PSA
2.原型:探索、实验、计划
3.动态分析方法:动态迁移图、Petri网
需求分析过程中,列出了很多工具,也都存在各自的优缺点,对于开发不同的系统应充分考虑其特性,选择合适的工具对其需求进行有效的分析。