一、可行性研究:
目的:用最小的代价,尽可能短的时间内确定是否解决问题
问题定义阶段的工作:
1.确定系统的功能需求、性能需求、可靠性需求、安全以及保密、资源、开发费用、开发进度要求
1.可行性研究的任务:
1.技术可行性
2.经济可行性
3.操作可行性
二、需求分析
目的:明确用户对软件系统的功能、性能、行为等方面的期望,回答软件系统‘必须做什么’
系统功能需求
系统性能需求
可靠性和可用性需求
错误处理需求
接口需求
约束
逆向需求
将来可能提出的需求
需求获取的方法:
1.正式和非正式与用户访谈、调查表、情景分析
2.面向数据流自顶向下结构化分析
3.简易的应用规格说明书
4.快速建立软件原型
分析建模与规格说明
1.分析建模
数据模型(ER图)、功能模型(数据流图)、行为模型(状态图)
2.软件需求规格说明书
消除自然语言书写软件需求可能存在的不一致、歧义、含糊等,用形象话的方法描述
软件需求的验证:
1.下面四个方法
1.一致性所有要求必须是一致的,任何一条需求不能和其他需求相互矛盾
2.完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能
3.现实性是指定的需求应当是现有的硬件技术和软件技术基本上可以实现的
4.有效性必须证明需求是正确有效地,确实能解决用户对面的问题
2.验证软件需求的方法
3.用于需求分析的软件工具
RSL(需求陈述语言)
PSL/PSA(问题陈述语言/问题陈述分析程序)
三、形式化说明技术
自然语言描述需求都是非形式化的方法。
一种方法有坚实的数学基础,他就是形式化的。