软件工程第3章(NEW).pptVIP

  • 15
  • 0
  • 约1.11万字
  • 约 83页
  • 2017-11-15 发布于河南
  • 举报
软件工程第3章(NEW)

第3章 需求分析 3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求 3.9 小结 习题 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。 不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作。 在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。 只有用户才真正知道自己需要什么,但是他们并不知道怎样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来; 分析员知道怎样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户对软件的需求。 用于需求分析的结构化分析方法都遵守下述准则: (1) 理解并描述问题的信息域 = 建立数据模型。 (2) 定义软件应完成的功能 = 建立功能模型。 (3) 描述外部事件结果的软件行为 = 建立行为模型。 (4) 对模型进行分解 = 用层次的方式展示细节。 3.1 需求分析的任务 3.1.1 确定对系统的综合要求 1. 功能需求 指定系统必须提供的服务。(例如,ATM存取款) 2. 性能需求 指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。 (例如, 存取款响应时间应该小于30秒) 3. 可靠性和可用性需求 定量地指定系统的可靠性。 (例如,ATM存取款系统一个月故障不得超过2次) 4. 出错处理需求 说明系统对环境错误应该怎样响应。 (例如,如果它接收到从另一个银行系统发来的违反协议格式的消息,应该做什么? ) 5. 接口需求 描述应用系统与它的环境通信的格式。 常见的接口需求有: 用户接口需求; (例如,用户输入数字0-9) 硬件接口需求; 软件接口需求; 通信接口需求。 6. 约束 说明用户或环境强加给项目的限制条件。 (例如,ATM存取款以100元为计量单位) 常见的约束有: 精度; 工具和语言约束; 设计约束; 应该使用的标准; 应该使用的硬件平台。 7. 逆向需求 逆向需求说明软件系统不应该做什么。 (例如,ATM存取款系统不打印以往账户清单) 8. 将来可能提出的要求 明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 以便设计过程中对系统将来可能的扩充和修改预做准备 。 (例如,ATM存取款系统将来可能接受国外发行的信用卡存取款) 3.1.2 分析系统的数据要求 任何一个软件系统本质上都是信息处理系统,必须分析系统的数据要求,这是软件需求分析的一个重要任务。 分析系统的数据要求通常采用建立数据模型的方法 。 复杂的数据由许多基本的数据元素组成,为了提高可理解性,常常利用图形工具辅助描绘数据结构。 常用的图形工具有层次方框图和Warnier图。 3.1.3 导出系统的逻辑模型 通过上述分析系统的综合要求和数据要求可以导出系统的详细的逻辑模型. 通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。 3.1.4 修正系统开发计划 根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。 3.2 与用户沟通获取需求的方法 3.2.1 访谈 访谈是广泛使用的需求分析技术。 访谈有两种基本形式: 正式访谈时, 系统分析员将提出一些事先准备好的具体问题。 在非正式访谈中, 分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。 当需要调查大量人员的意见时,向被调查人分发调查表是一个十分有效的做法。 分析员仔细阅读收回的调查表,然后再有针对性地访问一些用户,以便向他们询问在分析调查表时发现的新问题。 在访问用户的过程中使用情景分析技术往往非常有效。 情景分析就是对用户将来使用目标系

文档评论(0)

1亿VIP精品文档

相关文档