需求分析1
2022-09-16
需求分析
需求分析的定义:
需求分析是指在开发一个新的或升级一个已有的软件系统时描写新系统的目的、范围、定义和功能时所需要做的所有工作。
需求分析的特点:
用户与开发人员很难进行交流
用户的需求是动态变化的
需求变更的代价呈非线性增长
需求分析的实质:
需求分析是软件定义时期(软件定义时期包含问题定义、可行性研究、需求分析三个部分)的最后一个阶段,它的实质是确定“系统必须做什么”这个问题,即系统必须完成哪些工作。
需求分析中需要完成的任务:
(1)确定对整个软件系统的综合要求,综合要求包括:
①用户需要实现的各类功能需求(必须提供的服务)
②整个系统需要实现的对性能的要求(例如:安全性、速度、响应时间、主存容量......)
③对系统可靠性和可用性的要求
④出错处理需求(例如:如果该设计的应用程序接收到来自其他系统的违反传输协议格式的消息,该应用程序应该做出何种处理?这里的解决方案交给了出错处理要求进行处理)
⑤接口需求(接口:是指同一个计算机不同功能之间的通信规则。接口需求:指的是设计的应用系统与它所处的系统环境通信的格式。常见的接口需求有:用户接口需求、硬件接口需求、软件接口需求、通信接口需求)
⑥约束(即统一标准,例如:使用的工具和语言、应该使用的标准、应该使用的硬件平台)
⑦逆向需求(类似于排除法、即该软件系统不应该/不需要做什么。一般如果产生需求有产生二义性情况时,推荐使用)。
⑧将来可能提出的要求(提前预测可能之后会提出的需求,留出一些接口,用来之后修改或者对接)
(2)分析系统的数据要求(就是画出/写出本次设计的软件系统各种与需要的有关数据定义或者数据之间有联系的图),常画的数据图有:
①E-R图:用于建立数据模型的图。
②数据字典:全面准确地定义数据。
③层次方块图或Warnier图:描述数据结构。
④数据规范化转换:范式(去除数据的冗余度)。
(3)导出系统的逻辑模型(即将上面的对设计的软件系统的分析进行归纳总结,利用各类数据图对导出的逻辑模型进行描述)
导出系统的逻辑模型常用的数据图有:
数据流图、E-R图、状态转换图、数据字典,除数据图之外,还包含主要的处理算法。
(4)修正系统开发计划
软件需求分析经历的5个阶段:
(1)需求获取
(2)需求分析与建模
(3)编写软件需求规格说明
(4)需求验证
(5)需求管理
需求分析建模:
需求分析建模的形式:
①数据模型:E-R图
②功能模型:数据流图
③行为模型:状态转换图
软件需求规格说明书包含的内容:
有关系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。