第3章软件需求分析 软件需求 需求分析过程 传统方法的分析建模 举例 安交通大学刘海岩
西安交通大学 刘海岩 1 第3章 软件需求分析 ⚫软件需求 ⚫需求分析过程 ⚫传统方法的分析建模 ⚫举例
31软件需求 1、需求的概念 需求( requirements): Jones定义为用户所需要的软 件必须达到的目标和能力。 Lethbridge定义为需求是关于 系统将要完成什么工作的一段描述,他们必须经过所有相 关人员的认可,其目的是彻底的解决用户的问题 需求是一段描述.:意思是每个需求是相对短小简明 的一段信息,表现为一个事实。它可以是一段话或用各种 图表示。一组需求的集合成为需求文档。 关于系统将要完成什么工作:需求描述了系统应 当完成的任务,不描述系统将如何实现。 必须经过所有相关人员的认可.:意指需求必须经 过评审,才能成为正式的需求。 其目的是彻底的解决用户的问题。有助于解决用户 的问题,该需求才有存在的价值。 安交通大学刘海岩
西安交通大学 刘海岩 2 3.1 软件需求 1、需求的概念 需求(requirements): Jones 定义为用户所需要的软 件必须达到的目标和能力。Lethbridge定义为需求是关于 系统将要完成什么工作的一段描述,他们必须经过所有相 关人员的认可,其目的是彻底的解决用户的问题。 • 需求是一段描述…:意思是每个需求是相对短小简明 的一段信息,表现为一个事实。它可以是一段话或用各种 图表示。一组需求的集合成为需求文档。 •…关于系统将要完成什么工作…:需求描述了系统应 当完成的任务,不描述系统将如何实现。 •…必须经过所有相关人员的认可…:意指需求必须经 过评审,才能成为正式的需求。 •…其目的是彻底的解决用户的问题。有助于解决用户 的问题,该需求才有存在的价值
需求的类型 (1)功能性需求:描述系统应该做什么,即为用户和其 它系统完成的功能、提供的服务。 2)非功能性需求:必须遵循的标准,外部界面的细节, 实现的约束条件,质量属性等等 非功能需求限定了选择解决问题方案的范围,如运行 平台、实现技术、编程语言和工具等。 例:将飞机订票系统中的以下方面做如下的划分,F代表 “功能性”,NF代表“非功能性”,Ⅹ代表“不应当是需 求”。简要的说明功能性或非功能性需求的种类。对于不 应当是需求的方面,说明其原因 安交通大学刘海岩
西安交通大学 刘海岩 3 2、需求的类型 (1) 功能性需求:描述系统应该做什么,即为用户和其 它系统完成的功能、提供的服务。 (2) 非功能性需求:必须遵循的标准,外部界面的细节, 实现的约束条件,质量属性等等。 非功能需求限定了选择解决问题方案的范围,如运行 平台、实现技术、编程语言和工具等。 例:将飞机订票系统中的以下方面做如下的划分,F代表 “功能性”,NF代表“非功能性”,X代表“不应当是需 求”。简要的说明功能性或非功能性需求的种类。对于不 应当是需求的方面,说明其原因
如何输入有关航班、乘客及订票信息。F:输入 什么信息要出现在机票和报告中。F:输出。 如何计算乘机费用。F:计算 什么信息必须存储在旅行社和其他人访问的数据库中 F:数据存储。 这个系统应该设计成可以处理旅行常客计划 NF:增强的容限。 这个系统在任何时候都必须是可用的。一周中只允许有2 分钟宕机时间 NF:有效性 必须使用排序算法根据离开时间对航班排序 Ⅹ:这是一个设计问题。 安交通大学刘海岩
西安交通大学 刘海岩 4 • 如何输入有关航班、乘客及订票信息。F:输入。 • 什么信息要出现在机票和报告中。F:输出。 • 如何计算乘机费用。F:计算。 • 什么信息必须存储在旅行社和其他人访问的数据库中。 F:数据存储。 • 这个系统应该设计成可以处理旅行常客计划。 NF:增强的容限。 • 这个系统在任何时候都必须是可用的。一周中只允许有2 分钟宕机时间。 NF:有效性。 • 必须使用排序算法根据离开时间对航班排序。 X:这是一个设计问题
3、需求的描述 1)结构化语言 (2)图形化表示 (3)数学描述(形式化描述) 4、软件需求文档(需求规格化说明) 是需求分析阶段的产品,是所有其他开发和管理活 动的基础。对系统开发过程中其他活动的影响: 项目经理根据它制定或修改开发计划。 设计人员根据它进行系统设计 测试人员根据它编写测试计划,设计测试用例。 产品发布人员根据它编写产品介绍和用户文档 培训人员根据它编写培训教程。 安交通大学刘海岩
西安交通大学 刘海岩 5 3、需求的描述 (1)结构化语言 (2)图形化表示 (3)数学描述(形式化描述) 4、软件需求文档(需求规格化说明) 是需求分析阶段的产品,是所有其他开发和管理活 动的基础。对系统开发过程中其他活动的影响: • 项目经理根据它制定或修改开发计划。 • 设计人员根据它进行系统设计。 • 测试人员根据它编写测试计划,设计测试用例。 • 产品发布人员根据它编写产品介绍和用户文档。 • 培训人员根据它编写培训教程