共京部電大学 42一个需求分析的案例 祸不单行的是,C来找A的麻烦:“你们的项目延期半年多了,经费 也用光了,请尽快结束项目。” A的那位项目经理为此每天愁眉苦脸,他的上司请来几位参谋商量对 策,设法把事情搞定。 大家挖空心思只想出一个馊主意:既然套子是B下的,那么就把套子 还给B。要设法把“那么好”的网管产品转让给B,只要B能给我们成 本费,以后就跟B拜拜 这个案例的问题根源在于进行软件开发之前没有搞清楚网 管软件的需求,这都是B,A,E闭门造车惹的祸。 最可悲的是,相关责任人关心的是如何把事情“完成”, 而不是深刻了解用户的具体需求。 这种类似的事情在软件开发行业中经常发生而且还会继续 发生,最主要的是每发生一次就损失大量的人力和物力。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 6 4.2 一个需求分析的案例 ◆ 祸不单行的是,C来找A的麻烦:“你们的项目延期半年多了,经费 也用光了,请尽快结束项目。” ◆ A的那位项目经理为此每天愁眉苦脸,他的上司请来几位参谋商量对 策,设法把事情搞定。 ◆ 大家挖空心思只想出一个馊主意:既然套子是B下的,那么就把套子 还给B。要设法把“那么好”的网管产品转让给B,只要B能给我们成 本费,以后就跟B拜拜。 ◆ 这个案例的问题根源在于进行软件开发之前没有搞清楚网 管软件的需求,这都是B,A,E闭门造车惹的祸。 ◆ 最可悲的是,相关责任人关心的是如何把事情“完成”, 而不是深刻了解用户的具体需求。 ◆ 这种类似的事情在软件开发行业中经常发生而且还会继续 发生,最主要的是每发生一次就损失大量的人力和物力
共京部電大学 43需求分析的必要性 需求分析是一项必须的软件工程活动。它 在系统需求分析和软件设计之间起到桥梁 的作用: 它使得软件开发人员在系统分析的基础上深入描述软 件的功能和性能、指明软件和其他系统元素的接口, 建立软件必须满足的约束条件。 它允许软件开发人员对关键问题进行细化,并构建相 应的分析模型:数据、功能和行为模型。 分析模型成为设计模型的基础,需求规格说明书也为 软件测试人员和用户提供了软件质量评估的依据。 它能准确表达用户对系统的各项要求。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 7 4.3 需求分析的必要性 ◆ 需求分析是一项必须的软件工程活动。它 在系统需求分析和软件设计之间起到桥梁 的作用: ➢ 它使得软件开发人员在系统分析的基础上深入描述软 件的功能和性能、指明软件和其他系统元素的接口, 建立软件必须满足的约束条件。 ➢ 它允许软件开发人员对关键问题进行细化,并构建相 应的分析模型:数据、功能和行为模型。 ➢ 分析模型成为设计模型的基础,需求规格说明书也为 软件测试人员和用户提供了软件质量评估的依据。 ➢ 它能准确表达用户对系统的各项要求
3共家季44需求分析的对象、任务和目标 ◆软件需求分析的对象是用户要求 ◆其任务是要准确地定义新系统的目标。回答系统 必须“做什么”的问题并编制需求规格说明书 作为目标系统的参考,需求分析的任务就是借助 于(业务)系统的逻辑模型导出目标系统的逻辑 模型,解决目标系统的“做什么”的问题。 怎么做 模型化 抽象化做什么 解 当前系统) (物理模型)+(逻辑模型)一导需 出求 表 具体化 实例化 达 目标系统 物理模型 逻辑模型 求 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 8 4.4 需求分析的对象、任务和目标 ◆ 软件需求分析的对象是用户要求。 ◆ 其任务是要准确地定义新系统的目标。回答系统 必须“做什么”的问题并编制需求规格说明书。 ◆ 作为目标系统的参考,需求分析的任务就是借助 于(业务)系统的逻辑模型导出目标系统的逻辑 模型,解决目标系统的“做什么”的问题
共京部電大学 4.5需求分析建模的原则 需求分析方法的一组操作性原则是 1.问题的信息域必须被表示和理解。 2.软件将完成的功能必须被定义。 3.软件的行为(作为外部事件的结果)必须被表示。 4.描述信息、功能和行为的模型必须被划分,使得可 以用层次的方式揭示细节 5.分析过程应该遵从自顶向下,逐层细化的原则。 组三元模型:第1条原则表示需要建立数据模 型,第2条和第3条原则表示需要建立功能和行为 模型。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 9
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 9 4.5 需求分析建模的原则 ◆ 需求分析方法的一组操作性原则是: 1. 问题的信息域必须被表示和理解。 2. 软件将完成的功能必须被定义。 3. 软件的行为(作为外部事件的结果)必须被表示。 4. 描述信息、功能和行为的模型必须被划分,使得可 以用层次的方式揭示细节。 5. 分析过程应该遵从自顶向下,逐层细化的原则。 ◆ 一组三元模型:第1条原则表示需要建立数据模 型,第2条和第3条原则表示需要建立功能和行为 模型
共京部電大学 4.6需求工程的指导性原则 首先要正确地理解问题,再建立分析模型。 记录每个需求的起源及原因,保证需求的可回溯性。 开发一个能使用户能够了解人机交互过程的原型。因为 对软件质量的感觉经常基于对界面“友好性”的感觉 使用多个需求视图。建立数据模型、功能模型和行为模 型,为软件工程师提供三种不同的视图,增加识别不 给需求赋予优先级。紧张的开发时间要求尽量避免一次 性实现每个软件需求,应采用迭代增量的开发模型。 努力删除歧义性。因为大多数需求以自然语言描述,存 在歧义性的可能性,正式的技术评审是发现并删除歧义 性的一种有效方法 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 10
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 10 4.6需求工程的指导性原则 ◆ 首先要正确地理解问题,再建立分析模型。 ◆ 记录每个需求的起源及原因,保证需求的可回溯性。 ◆ 开发一个能使用户能够了解人机交互过程的原型。因为 对软件质量的感觉经常基于对界面“友好性”的感觉。 ◆ 使用多个需求视图。建立数据模型、功能模型和行为模 型,为软件工程师提供三种不同的视图,增加识别不一 致性的基础。 ◆ 给需求赋予优先级。紧张的开发时间要求尽量避免一次 性实现每个软件需求,应采用迭代增量的开发模型。 ◆ 努力删除歧义性。因为大多数需求以自然语言描述,存 在歧义性的可能性,正式的技术评审是发现并删除歧义 性的一种有效方法