#1 需求分析的基本任务:定义软件使用领域与约束,确定接口与通信,建模并定义需求规格说明书。
#2 需求分析的原则: 从用户角度考虑需求,以流程为主线,尽量重用旧软件,划分需求的优先级,需求变更及时反馈。
#3 需求分析的内容:功能需求(描述系统提供的服务和某些特殊行为),性能需求(规定了软件系统需要满足的时间与空间要求),领域需求(与系统的具体应用范围有关),其他需求(法律、道德)等等
#4 需求工程的活动:可行性分析,需求获取,需求分析与建模和需求评审
可行性研究:(1)技术可行性(2)操作可行性(3)经济可行性(4)法律可行性
#5 需求获取技术
(1)个别会谈与小组会议。谈话提纲:用户背景,系统背景,维护。5W2H
(2)问卷调查
(3)面向用例的场景分析
(4)快速原型技术:在系统的开发前期就让用户尽早地接触系统,对系统原型进行评估,指出不足之处并提出修改意见。
*1:抛弃型原型法,可用于构造一个功能简单且质量要求不高的系统原型;
*2:演化型原型法,可用于构造一个功能简单且满足一定质量的系统原型;
快速原型技术,避免了软件开发结束才能得到结果所引发的问题,增进软件人员和用户对需求共同的理解,使得模糊、不确定的需求清晰化。
#6 结构化需求分析与建模
结构化需求分析的核心是数据,实体关系模型主要描述数据建模过程。
数据对象,属性,关系和基数
#7 DFD图
数据源是系统的外部接口,它表明系统数据的来源及系统结果的去向;数据加工是系统的变换部分,表明不同数据是通过哪些功能完成的变换。
DFD图分层的思想:自外向内,自顶向下,逐层细化,逐步精化。