需求分析— 作为软件开发流程的第二步,解决的主要是”做什么“的问题,深入描述了软件的功能和性能,确定软件设计的约束和同其他系统元素的接口,定义了其它一些有效性需求,如环境需求、可靠性需求、界面需求等等。软件开发,能否获得成功,需求分析占有举足轻重的位置。
流程:
上图为软件需求分析部分的总结。
其中,写加工逻辑说明有三个工具:
结构化英语 | 用户描述需求,介于自然语言和形式化语言之间的语言 |
判定表 | 用于解决多个逻辑关系 |
判定树 | 用来表达加工逻辑的一种工具,较直观 |
就三个性能方面的比较:
机器可读性 | 判断表、结构化英语>判断树 |
直观性 | 判断树>判断表、结构化英语 |
逻辑验证、优化能力 | 判断表>判断树、结构化英语 |
总之,需求分析解决''做什么''问题,是软件设计的一张蓝图。