软件工程导论之第3章需求分析第五版

上传人:博****1 文档编号:578122622 上传时间:2024-08-23 格式:PPT 页数:61 大小:1.17MB
返回 下载 相关 举报
软件工程导论之第3章需求分析第五版_第1页
第1页 / 共61页
软件工程导论之第3章需求分析第五版_第2页
第2页 / 共61页
软件工程导论之第3章需求分析第五版_第3页
第3页 / 共61页
软件工程导论之第3章需求分析第五版_第4页
第4页 / 共61页
软件工程导论之第3章需求分析第五版_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《软件工程导论之第3章需求分析第五版》由会员分享,可在线阅读,更多相关《软件工程导论之第3章需求分析第五版(61页珍藏版)》请在金锄头文库上搜索。

1、青岛科技大学信息学院 第第3章章 软件需求分析软件需求分析教学目的与要求:教学目的与要求: 深刻理解需求分析阶段的概念及任务,深刻理解需求分析阶段的概念及任务,熟练掌握熟练掌握ER图,图,HIOP图的画法。图的画法。教学重点:需求分析阶段的任务、方法、教学重点:需求分析阶段的任务、方法、具体任务。具体任务。教学难点:写出需求规格说明书教学难点:写出需求规格说明书青岛科技大学信息学院第第3章章 需求分析需求分析3.1 需求分析的任务需求分析的任务3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.3 分析建模与规格说明分析建模与规格说明3.4 实体实体-联系图联系图3.5 数据规范化数据

2、规范化青岛科技大学信息学院3.6 状态转换图状态转换图3.7 其他图形工具其他图形工具3.8 验证软件需求验证软件需求3.9 小结小结习题习题青岛科技大学信息学院3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法 需求获取的关键在于通过与用户的沟通和交流,收集需求获取的关键在于通过与用户的沟通和交流,收集和理解用户的各项要求。和理解用户的各项要求。 3.2.(1) 访谈访谈-访问用户和用户领域的专家访问用户和用户领域的专家 (2) 需求讨论会需求讨论会 (3) 问卷调查问卷调查 (4) 现场考察现场考察 3.2.(5) 快速建立软件原型快速建立软件原型 -原型化方法原型化方法 (6)基于

3、用例的方法基于用例的方法单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式1.1.用户面谈用户面谈 用户面谈用户面谈 一种理解商业功能和商业规则的最有效方法一种理解商业功能和商业规则的最有效方法 面谈过程需要认真的计划和准备面谈过程需要认真的计划和准备 面谈之前面谈之前 确立面谈目的确立面谈目的 确定要包括的相关用户确定要包括的相关用户 确定参加会议的项目小组成员确定参加会议的项目小组成员 建立要讨论的问题和要点列表建立要讨论的问题和要点列表 复查有关文档和资料复查有关文档和资料 确立时间和地点确立时间和地点 通知所有参加者有关会议的目的、时间

4、和地点通知所有参加者有关会议的目的、时间和地点 52 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式1.用户面谈 面谈过程需要认真的计划和准备(续)面谈过程需要认真的计划和准备(续) -进行面谈进行面谈 衣着得体,准时到达衣着得体,准时到达 寻找异常和错误情况寻找异常和错误情况 深入调查细节深入调查细节 详细记录详细记录 指出和记录下未回答条目和未解决问题指出和记录下未回答条目和未解决问题 -面谈之后面谈之后 复查笔记的准确性、完整性和可理解性复查笔记的准确性、完整性和可理解性 把所收集的信息转化为适当的模型和文档把所收集的信息转化为适当的

5、模型和文档 确定需要进一步澄清的问题域确定需要进一步澄清的问题域 适当的时候向参加会议的每一个人发一封感谢信适当的时候向参加会议的每一个人发一封感谢信53 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式2.需求专题讨论会 需求专题讨论会需求专题讨论会 - - 项目主要风险承担人在短暂而紧凑的时间段内集中项目主要风险承担人在短暂而紧凑的时间段内集中在一起,在一起, 一般为一般为 1 1 至至 2 2 天,与会者可以在应用需求天,与会者可以在应用需求上达成共识、对操作过程尽快取得统一意见。上达成共识、对操作过程尽快取得统一意见。 优点优点 -协

6、助建立一支高效的团队,围绕项目成功的目标;协助建立一支高效的团队,围绕项目成功的目标;- - - 所有的风险承担人都畅所欲言;所有的风险承担人都畅所欲言; -促进风险承担人和开发团队之间达成共识;促进风险承担人和开发团队之间达成共识;- - - 揭露和解决那些妨碍项目成功的行政问题;揭露和解决那些妨碍项目成功的行政问题;- - - 能够很快地产生初步的系统定义。能够很快地产生初步的系统定义。 54 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式2.需求专题讨论会 专题讨论会准备- 参加会议人员:主持人、用户、技术人员、项目组人员- 安排日程

7、:通常在具有相应支持设备的专用房间进行 举行会议- 可能出现行政间的责备或冲突,主持人应掌握讨论气氛并控制会场。- 会议最重要的部分是自由讨论阶段,这种技术非常符合专题讨论会的气氛,并且营造一种创造性的和积极的氛围,同时可以获得所有相关者的意见。- 注意分配会议时间,记录所有言论。55 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式2.需求专题讨论会56 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式3.问卷调查 问卷调查问卷调查 - 可用于确认假设和收集统计倾向数据 - 问卷需要快速回

8、答,允许匿名方式 存在问题存在问题 - 相关的问题不能事先决定-问题背后的假设对答案造成偏颇,如这符合你的期望吗?- 难以探索一些新领域- 难以继续用户的模糊响应 在在完完成成最最初初的的面面谈谈和和分分析析后后,可可作作为为一一项项协协作作技技术术可可以收到良好的效果。以收到良好的效果。 57 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式4.现场考察 现场观察商业过程和工作流程- 掌握用户如何实际使用一个系统以及到底用户需要哪些信息,最好的办法是亲自观察用户是如何完成实际工作的。 一般方法- 对办公室进行快速浏览,了解布局、设备要求和使

9、用、工作流总体情况。- 安排几个小时观察用户是如何实际完成他们的工作,理解用户实际使用计算机系统和处理事务的细节。-像用户一样接受训练和做实际工作,发现关键问题和瓶颈。 注意:观察可能使用户紧张。58 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式5.原型化方法原型化方法 原型化方法- 一个软件原型是所提出的新产品的部分实现,帮助开发人员、用户以及客户更好地理解系统的需求,它比开发人员常用的技术术语更易于理解。 建立原型的原因- 解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使

10、他们的想象更具体化。 基于 WEB 的应用系统原型- 使用 HTML 进行界面设计59 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式6.基于用例的方法基于用例的方法 用用例例建建模模是是以以任任务务和和用用户户为为中中心心的的,开开发发和和描描述述用用户户需要系统做什么。需要系统做什么。 用例建模的步骤- 确定系统的参与者- 确定场景- 确定系统用例- 确定用例之间的关系- 编写用例描述文档60 青岛科技大学信息学院3.3.1分析建模分析建模1、问题识别、问题识别 双方确定对问题的综合需求。基于项目有双方确定对问题的综合需求。基于项目有关

11、的软件的关的软件的功能、性能、环境、用户界面、可功能、性能、环境、用户界面、可靠性、安全性、保密性、可移植性、可维护性、靠性、安全性、保密性、可移植性、可维护性、等方面的需求。等方面的需求。3.3 分析建模与规格说明分析建模与规格说明 需求分析的步骤需求分析的步骤2、分析和综合导出软件的逻辑模型、分析和综合导出软件的逻辑模型青岛科技大学信息学院2、分析和综合导出软件的逻辑模型、分析和综合导出软件的逻辑模型 1)分析人员对获取的需求进行一致的分析检查,)分析人员对获取的需求进行一致的分析检查,逐步细化软件功能,逐步细化软件功能,划分各子功能;划分各子功能; 2)对系统)对系统数据域进行分解数据域

12、进行分解,分配到各子功能上;,分配到各子功能上; 3)用图文结合的形式,)用图文结合的形式,建立新系统的逻辑模型和建立新系统的逻辑模型和物理视图。物理视图。 物理视图指系统数据输入输出使用什物理视图指系统数据输入输出使用什么设备或方式,例键盘输入、数据扫描、数据传送么设备或方式,例键盘输入、数据扫描、数据传送等方式等方式。3.3.2 软件需求规格说明软件需求规格说明青岛科技大学信息学院3.3.2 软件需求规格说明软件需求规格说明 软件需求规格说明书,是需求分析阶段软件需求规格说明书,是需求分析阶段得出的最主要的文档。得出的最主要的文档。 补充:补充:需求分析阶段要编写文档:需求分析阶段要编写文

13、档: 1 1)编写)编写“需求规格说明书需求规格说明书” 2 2)编写初步用户手册)编写初步用户手册 3 3)编写)编写“确认测试计划确认测试计划”( (为系统完成后确认验收的为系统完成后确认验收的依据依据).). 4 4) 修改完善软件开发计划修改完善软件开发计划 需求规格说明书写法见实验指导书需求规格说明书写法见实验指导书3.4 实体实体-联系图(联系图(E-R图)图)青岛科技大学信息学院应该包括在应该包括在SRSSRS(需求规格说明)中的内容中的内容- - 功能:功能: 软件应该提供什么功能?软件应该提供什么功能?-外部接口:外部接口:软件如何与人、系统硬件和其他系统等进行相互软件如何与

14、人、系统硬件和其他系统等进行相互 作用?作用?- - 性能:性能: 软件系统在运行速度、可用性、响应时间、恢复时间软件系统在运行速度、可用性、响应时间、恢复时间 等方面有等方面有什么要求?什么要求?- - 特性:特性:软件系统在可移植性、可维护性、安全性等方面有什软件系统在可移植性、可维护性、安全性等方面有什 么考虑?么考虑?设计约束:设计约束:是否存在必要的标准、开发语言、数据库、资源是否存在必要的标准、开发语言、数据库、资源 限制、运行限制、运行环境等因素的影响和策略?环境等因素的影响和策略?不不应该包括在应该包括在SRS 中的内容中的内容- - 项目开发计划项目开发计划: : 如成本、人

15、员、进度、工具、方法等如成本、人员、进度、工具、方法等 - - 产品保证计划产品保证计划 : : 如配置管理、验证与测试、如配置管理、验证与测试、 质量保证等质量保证等- - 软件设计细节软件设计细节: : 需求通常用于表达需求通常用于表达“做什么做什么”, 而不描述而不描述“如何做如何做”。青岛科技大学信息学院编写需求规格说明的原则编写需求规格说明的原则 原则原则 1:只描述只描述“做什么做什么”而无须描述而无须描述“怎么做怎么做” 原则原则 2:必须说明必须说明运行环境运行环境 原则原则 3:考虑用户、分析员和实现者的交流考虑用户、分析员和实现者的交流 -对形式化和自然语言之间作出恰当的选

16、择对形式化和自然语言之间作出恰当的选择 - 明确明确的理解最重要,不存在十全十美的软件规的理解最重要,不存在十全十美的软件规格说明书格说明书 青岛科技大学信息学院编写需求规格说明的原则编写需求规格说明的原则原则原则 4:力求寻找到恰如其分的需求详细程度力求寻找到恰如其分的需求详细程度 - 一个有益的原则就是编写单个的可测试需求文档一个有益的原则就是编写单个的可测试需求文档 - 建议将建议将可测试可测试的需求作为衡量软件产品规模大小的尺度的需求作为衡量软件产品规模大小的尺度 原则原则 5:文档段落不宜太长文档段落不宜太长 简短简短 - 记住:不要在需求说明中使用记住:不要在需求说明中使用“和和/

17、或或”、“等等等等”之类的词之类的词原则原则 6 6:避免使用模糊的、主观的术语避免使用模糊的、主观的术语- 如如用用户户友友好好、容容易易、简简单单、迅迅速速、有有效效、许许多多、最最新新技技术术、 优优越越的的、可可接接受的、最大化、最小化、提高等受的、最大化、最小化、提高等- 不可验证不可验证 建议:建议:采用一种采用一种标准的标准的SRS 模板模板 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求工程 需求工程是应用已证实有效的原理和方法,并通过合适的工具和符号,系统地描述出待开发系统及其行为特征和相关约束。活动持续进行的需求管理

18、需求需求获取需求分析需求验证规格说明工作产品已确认的需求规格会议记录等分析模型需求规格说明书说明书22 青岛科技大学信息学院为了把用户的数据要求清楚、准确地描述出来,系统分析员为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型通常建立一个概念性的数据模型(也称为信息模型也称为信息模型)。数据模。数据模型中包含型中包含3种相互关联的信息:种相互关联的信息:数据对象数据对象、数据对象的、数据对象的属性属性及数据对象彼此间相互连接的及数据对象彼此间相互连接的关系关系。3.4.1 数据对象数据对象 3.4.2 属性属性 3.4.3 联系联系3.4.4 实体实体-联系图的符

19、号联系图的符号 通常,通常,使用实体使用实体- -联系图联系图(entity-relationship (entity-relationship diagram)diagram)来建立数据模型来建立数据模型。可以把实体。可以把实体- -联系图简称为联系图简称为ERER图,图,相应地可把用相应地可把用ERER图描绘的数据模型称为图描绘的数据模型称为ERER模型。模型。3.4 实体实体-联系图(联系图(E-R图)图)ER信息模型的设计信息模型的设计青岛科技大学信息学院 ER信息模型的设计信息模型的设计E R方方 法法 是是 英英 文文 entity relationship approach 的的

20、简简称称,译译作作实实体体一一联联系系方方法法。此此法法通通过过ER图图形形表表示示信信息息世世界界中中的的实实体体、属属性性、关系的模型。关系的模型。1)ER图图约约定定:实实体体用用方方框框表表示示,联联系系用用菱菱形形框框表表示示。框内填入相应的实体名,联系名及属性名。框内填入相应的实体名,联系名及属性名。下下图图举举了了三三个个例例子子,表表示示了了二二个个实实体体间间的的联联系系,而三个例子由三种不同的联系方法。而三个例子由三种不同的联系方法。单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式三个例子三个例子青岛科技大学信息学院三个例

21、子,表示了二个实体间的联系,而三个例子由三种不同的联系方法。第一种情况第一种情况青岛科技大学信息学院第一种情况:是一对一的关系,一个工厂只有一个正厂长。第二种情况:是一对多的联系,一个仓库存放多种和多个产品;第三种情况:是多对多的联系,一个学生要学习多门课程,而一门课程又有多名学生学习,所以是多对多的联系。同同时时从从图图中中也也可可看看出出联联系系也也可可能能有有属属性性,如如存存放放有有属属性数量,学习有属性成绩等。性数量,学习有属性成绩等。2)如何设计)如何设计ER图图先先画画出出局局部部ER图图,再再对对局局部部ER加加以以综综合合,产产生生一个总体一个总体ER图图单击此处编辑母版标题

22、样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式n n先画出局部先画出局部先画出局部先画出局部ERER图,再对局部图,再对局部图,再对局部图,再对局部ERER加以综合,加以综合,加以综合,加以综合,产生一个总体产生一个总体产生一个总体产生一个总体ERER图。图。图。图。青岛科技大学信息学院 软件系统经常使用各种长期保存的信息,这些信息通软件系统经常使用各种长期保存的信息,这些信息通常以一定方式常以一定方式组织并存储在数据库或文件中组织并存储在数据库或文件中,为减少

23、数据冗余,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。要把数据结构规范化。下面给出第一、第二和第三范式的定义下面给出第一、第二和第三范式的定义:(1) (1) 第一范式在第一范式在同一表中没有重复项出现同一表中没有重复项出现,如果有则,如果有则应将重复项去掉。应将重复项去掉。 每个属性值都必须是原子值,即仅仅是一个简单值每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。而不含内部结构。3.5 数据规范化数据规范化(2) 第二范式满足第一范式条件第二范式满足第一范式条件青岛科技大学信息学

24、院(2) (2) 第二范式满足第一范式条件,而且每个非关键字第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定属性都由整个关键字决定( (而不是由关键字的一部分来而不是由关键字的一部分来决定决定) )。 每个表必须有一个(而且仅一个)数据元素为主关键每个表必须有一个(而且仅一个)数据元素为主关键字,其它元素与主关键字一一对应。字,其它元素与主关键字一一对应。(3) (3) 第三范式符合第二范式的条件,每个非关键字属第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描

25、述仅是对另一个非关键字属性的进一步描述( (即一个非关即一个非关键字属性值不依赖于另一个非关键字属性值键字属性值不依赖于另一个非关键字属性值) )。 表中的所有数据元素,不但要能够唯一地被主关键字所表中的所有数据元素,不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立标识,而且它们之间还必须相互独立,不存在其它的函数关系。,不存在其它的函数关系。 3.6 状态转换图状态转换图青岛科技大学信息学院 根据本章开头讲的结构化分析的第根据本章开头讲的结构化分析的第3条准则,在需求分条准则,在需求分析过程中应该建立起软件系统的行为模型。状态转换图析过程中应该建立起软件系统的行为模型。状态转换图

26、(简简称为状态图称为状态图)通过描绘系统的状态及引起系统状态转换的事通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作事件的结果系统将做哪些动作(例如,处理数据例如,处理数据)。因此,状。因此,状态图提供了行为建模机制,可以满足第态图提供了行为建模机制,可以满足第3条分析准则的要求。条分析准则的要求。 (面向对象模型中介绍)(面向对象模型中介绍)3.6 状态转换图(状态转换图(略)略)3.7 其他图形工具其他图形工具青岛科技大学信息学院3.7 其他图形工具其他图形工具3.7.1

27、层次方框图层次方框图(H图)图) 层次方框图是用层次方框图是用树形结构树形结构的一系列的一系列多层次多层次的的矩形框矩形框描绘数据的层次结构。描绘数据的层次结构。 树形结构的树形结构的顶层顶层是是一个一个单独的矩形框,它代表单独的矩形框,它代表完整的数据结构完整的数据结构,下面的各层矩形框代表这个数据,下面的各层矩形框代表这个数据的的子集子集,最底层的各个框代表组成这个数据的实际,最底层的各个框代表组成这个数据的实际数据元素数据元素(不能再分割的元素不能再分割的元素)。3.7.2 Warnier图图青岛科技大学信息学院图图3.5 层次方框图的一个例子层次方框图的一个例子青岛科技大学信息学院 法

28、国计算机科学家法国计算机科学家Warnier提出了表示信息层次结构的另提出了表示信息层次结构的另外一种图形工具。和层次方框图类似,外一种图形工具。和层次方框图类似,Warnier图也用树形结图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。的描绘手段。3.7.2 Warnier图图HIPO图图图图3.6 Warnier图的一个例子图的一个例子青岛科技大学信息学院3.7.3 HIPO图图HIPO( Hierarchy Plus InputProcessOutput)图图,是是IBM公公司司于于70年年代代中中期期在在层

29、层次次结结构构图图的的基基础础上上,做做出出的的一一种种描描述述系系统统结结构构和和模模块块内内部部处处理理功功能能的的工工具具。 HIPO图图,有有H图图和和IPO图图两部分组成两部分组成。H图图描描述述整整个个系系统统的的设设计计结结构构合合格格模模块块之之间间的的关关系系,H图图画画n层层,每每层层根根据据经经验验一一般般为为310个个模模块块,层次(层次(n层)按具体情况定。层)按具体情况定。IPO图图描描述述某某一一特特定定模模块块内内部部的的处处理理过过程程和和输输入入输输出出关系。关系。HIPO图一般有图一般有1张张H图图,多张多张 IPO图图组成组成 层次模块结构图层次模块结构

30、图单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式H图特点图特点单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式层次模块结构图(层次模块结构图(H图)图) 1 1、H H图图基基本本做做法法:是是将将系系统统划划分分为为若若干干子子系系统统,子系统下再划分为若干的模块,大模块内再分子模块。子系统下再划分为若干的模块,大模块内再分子模块。 2 2、H H图图特特点点:主主要要关关心心模模块块的的外外部部属属性性,不不关关心心模模块块的的内内部部,即即只只关关心心它它是是什什么么能能够够作作什什

31、么么,不不关关心心它它怎怎么做。(怎么做么做。(怎么做IPOIPO图解决)图解决) 3 3、模模块块的的定定义义( (什什么么是是模模块块) ):具具有有输输入入输输出出、逻逻辑辑功功能、运行程序和内部数据这四种属性的一个程序。能、运行程序和内部数据这四种属性的一个程序。IPOIPO图图 IPO IPO图是输入、处理、输出图的简称图是输入、处理、输出图的简称图图3.7 IPO图的一个例子图图的一个例子图青岛科技大学信息学院图图3.7 IPO图的一个例子图图的一个例子图c.5.4.4上组模块送入出入库单据1核对纪录2核对价格3核对用户纪录4记录合格将合格标志送回上一级模块c.5.4.4模块编号:

32、c.5.5.8图图3.8 改进的改进的IPO图的形式图的形式青岛科技大学信息学院图图3.8 改进的改进的IPO图的形式图的形式本书建本书建议使用议使用一种改一种改进的进的IPO图图(也称也称为为IPO表表),3.8 验证软件需求验证软件需求单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求工程 需求工程是应用已证实有效的原理和方法,并通过合适的工具和符号,系统地描述出待开发系统及其行为特征和相关约束。活动持续进行的需求管理需求需求获取需求分析需求验证规格说明工作产品已确认的需求规格会议记录等分析模型需求规格说明书说明书22 青岛科技大学信息

33、学院 需求验证需求验证是检验需求能否满足客户的意愿。是检验需求能否满足客户的意愿。 需求验证的技术需求验证的技术-需求评审需求评审:由不同代表(如分析员、客户、设计人:由不同代表(如分析员、客户、设计人 员、测试员、测试 人员)组成的评审小组以会议形式对需求人员)组成的评审小组以会议形式对需求进行系统性分析。进行系统性分析。 -原型评价:原型评价:客户和用户在一个可运行的系统模型上实客户和用户在一个可运行的系统模型上实 际检验际检验 系统是否符合他们的真正需要。系统是否符合他们的真正需要。- - 测试用例生成:测试用例生成:通过设计具体的测试方法,发现通过设计具体的测试方法,发现 需求中的许需

34、求中的许 多问题。多问题。3.8 验证软件需求验证软件需求3.8.2 验证软件需求的方法验证软件需求的方法单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式3.8.1 从哪些方面验证软件需求的正确性从哪些方面验证软件需求的正确性 33 需需求求验验证证主主要要围围绕绕需需求求规规格格说说明明的的质质量量特特性性展开展开。它主要是:它主要是: 正确性正确性 无二义性无二义性 完整性完整性 可验证性可验证性 一致性一致性 可修改性可修改性 可跟踪性可跟踪性 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副

35、标题样式需求规格说明的质量特性需求规格说明的质量特性 正确性正确性 需求规格说明对系统功能、行为、性能等的描述必须需求规格说明对系统功能、行为、性能等的描述必须 与用户的期望相吻合,代表了用户的真正需求。与用户的期望相吻合,代表了用户的真正需求。 审查需求的正确性应该考虑的问题审查需求的正确性应该考虑的问题- 用户参与需求过程的程度如何?用户参与需求过程的程度如何?- - 每一个需求描述是否准确地反映了用户的需要?每一个需求描述是否准确地反映了用户的需要? - - 系统用户是否已经认真考虑了每一项描述?系统用户是否已经认真考虑了每一项描述? - 需求可以追溯到来源吗?需求可以追溯到来源吗? 举

36、例:下面的需求描述正确吗?举例:下面的需求描述正确吗?- - 在用户每次存钱的时候系统将进行信用检查。在用户每次存钱的时候系统将进行信用检查。34 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性需求规格说明的质量特性 无二义性无二义性 - - 需求规格说明中的描述对于所有人都只能有一种需求规格说明中的描述对于所有人都只能有一种 明确统一的解释。明确统一的解释。 审查需求的无二义性应该考虑的问题审查需求的无二义性应该考虑的问题- - 需求规格说明是否有术语词汇表?需求规格说明是否有术语词汇表?- - 具有多重含义或未知含

37、义的术语是否已经定义?具有多重含义或未知含义的术语是否已经定义? - - 需求描述是否可量化和可验证?需求描述是否可量化和可验证?- 每一项需求都有测试准则吗?每一项需求都有测试准则吗? 举例:下面的需求描述是无歧义的吗?举例:下面的需求描述是无歧义的吗?- - 如果用户试图透支,系统将采取适当的行动。如果用户试图透支,系统将采取适当的行动。35 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性需求规格说明的质量特性 完整性完整性 - - 需求规格说明应该包括软件要完成的全部任务,需求规格说明应该包括软件要完成的全部任务

38、, 不能遗漏任不能遗漏任 何必要的需求信息。何必要的需求信息。 审查需求的完整性应该考虑的问题审查需求的完整性应该考虑的问题 - - 是否存在遗漏的功能或业务过程?是否存在遗漏的功能或业务过程? - - 在每个定义的功能之间是否有接口?在每个定义的功能之间是否有接口? - - 是否有信息或消息在所定义的功能之间传递?是否有信息或消息在所定义的功能之间传递?- - - 是否定义了功能的使用者?是否定义了功能的使用者?- - 是否已经清楚地定义了用户与功能之间的交互?是否已经清楚地定义了用户与功能之间的交互? - - 是否定义了与外部过程和系统之间的接口?是否定义了与外部过程和系统之间的接口? 3

39、6 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性需求规格说明的质量特性 审查需求的完整性应该考虑的问题(续)审查需求的完整性应该考虑的问题(续) - - 所描述的功能是否可以映射到业务过程中?所描述的功能是否可以映射到业务过程中? - - 文档中是否存在待确定的需求引用?文档中是否存在待确定的需求引用? - - 文档中是否存在未定义的术语和引用?文档中是否存在未定义的术语和引用? - - 文档的各个部分都完整吗?文档的各个部分都完整吗?- - 需求包括非功能属性的说明吗?需求包括非功能属性的说明吗?- 是否考虑了软件

40、性能?是否考虑了软件性能? 是否考虑了安全性要求?是否考虑了安全性要求? 是否考虑了可靠性?是否考虑了可靠性? 是否考虑了系统容量问题?是否考虑了系统容量问题?37 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性 可验证性可验证性 - - 需需求求规规格格说说明明中中描描述述的的需需求求都都可可以以运运用用一一些些可可行行的的手手段段对对其其 进行验证和确认。进行验证和确认。 审查需求的可验证性应该考虑的问题审查需求的可验证性应该考虑的问题 - - 在在需需求求文文档档中中是是否否存存在在不不可可验验证证的的陈陈述述,

41、诸诸如如“用用户户界界面面友友 好好”、“容容易易”、“简简单单”、“快快速速”、“健健壮壮”、“最最新技术新技术”等?等? - - 所有描述都是具体的和可测量的吗?所有描述都是具体的和可测量的吗? 举例:下面的两个需求描述中哪一个难以验证?举例:下面的两个需求描述中哪一个难以验证? - 系统将在系统将在 20 秒内响应所有有效的请求。秒内响应所有有效的请求。 - 如果用户试图透支,系统将采取适当的行动。如果用户试图透支,系统将采取适当的行动。 38 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性 一致性一致性 - -

42、 需求规格说明对各种需求的描述不能存在矛盾,如术语使用需求规格说明对各种需求的描述不能存在矛盾,如术语使用 冲冲突、功能和行为特性方面的矛盾以及时序上的不一致等。突、功能和行为特性方面的矛盾以及时序上的不一致等。 审查需求的一致性应该考虑的问题审查需求的一致性应该考虑的问题 - - 文档的组织形式是否易于一致?文档的组织形式是否易于一致? - - 不同功能的描述之间是否存在矛盾?不同功能的描述之间是否存在矛盾? - - 是否存在有矛盾的需求描述或术语?是否存在有矛盾的需求描述或术语? - - 文档中是否存在时序上的不一致?文档中是否存在时序上的不一致? 举例:下面的两个需求描述是否有矛盾?举例

43、:下面的两个需求描述是否有矛盾? - 系统允许立即使用所存的资金。系统允许立即使用所存的资金。 - 只有在手工验证所存资金后,系统才能允许使用。只有在手工验证所存资金后,系统才能允许使用。 39 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性 可修改性可修改性 - - 需需求求规规格格说说明明的的格格式式和和组组织织方方式式应应保保证证后后续续的的修修改改能能够够比比较较 容易和协调一致容易和协调一致。 审查需求的可修改性应该考虑的问题审查需求的可修改性应该考虑的问题 - - 是否存在明显的需求交叉引用?是否存在明显的

44、需求交叉引用? - - 是否有内容列表和索引?是否有内容列表和索引? - - 是是否否存存在在冗冗余余的的需需求求,即即同同一一个个需需求求的的描描述述出出现现在在文文档档的的不不 同地方?如果存在,它们是交叉引用吗?同地方?如果存在,它们是交叉引用吗? 40 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求规格说明的质量特性 可跟踪性可跟踪性 - 每每一一项项需需求求都都能能与与其其对对应应的的来来源源、设设计计、源源代代码码和和测测试试用用例例 联系起来。联系起来。 可跟踪性的两种形式可跟踪性的两种形式 - - 每每一一项项需需求求都

45、都可可以以在在早早期期的的文文档档中中追追溯溯到到其其来来源源,例例如如备备忘忘 录、法规、会议记录等;录、法规、会议记录等; - - 每每一一项项需需求求都都有有唯唯一一的的名名称称或或索索引引号号,与与后后期期实实现现对对应应。 举例:下面的需求描述记录了早期的文档来源。举例:下面的需求描述记录了早期的文档来源。 - 系统将在系统将在 20 秒内响应所有有效的请求。秒内响应所有有效的请求。 来自与用户的面谈,备忘录编号来自与用户的面谈,备忘录编号 #1234 41 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求管理需求管理 需需求求

46、管管理理是是分分析析变变更更影影响响并并控控制制变变更更的的过过程程,主主要要包包 括变更控制、版本控制和需求跟踪等活动。括变更控制、版本控制和需求跟踪等活动。 需求管理变更控制版本控制需求跟踪需求状态跟踪 建议变更 确定需求文档 定义对其它需 定义需求状态 分析影响的版本求的连接链 跟踪需求的每 作出决策 确定单个需求 定义对其它系一个状态 交流文档的版本统元素的连接 合并链 测量需求的稳定性42 青岛科技大学信息学院需求描述示例需求描述示例 举例举例 预订图书,如果可能的话,应预订图书,如果可能的话,应当根据图书编号的列表在线确认所输当根据图书编号的列表在线确认所输入的图书编号。入的图书编

47、号。青岛科技大学信息学院需求描述示例需求描述示例 举例举例 如果可能的话,应当根据图书编号的列表在线确认所输入的图书编号。如果可能的话,应当根据图书编号的列表在线确认所输入的图书编号。 问题问题“如果可能的话如果可能的话”意味着什么?意味着什么? “ “应当应当”是否精确?是否精确?改正?改正? 系统必须根据在线的图书编号列表确认所输入的图书编号。系统必须根据在线的图书编号列表确认所输入的图书编号。如果在图书编号列表中查不到该图书的编号,或者当进行图如果在图书编号列表中查不到该图书的编号,或者当进行图书编号确书编号确 认时图书编号列表不可访问,系统必须显示一个出认时图书编号列表不可访问,系统必

48、须显示一个出错信息并且拒错信息并且拒 绝预订。绝预订。 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求描述示例 举例 1 产品必须在固定的时间间隔内提供状态信产品必须在固定的时间间隔内提供状态信息,并且每次时间间隔不得小于息,并且每次时间间隔不得小于 60 60 秒。秒。 ? ? ? ? 问题- 上述需求描述有什么缺陷?- 如何改正?46 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求描述示例与改正 改正改正 后台任务管理器应该在用户界面的指定区域显示状态信息。后台任务管理器应该

49、在用户界面的指定区域显示状态信息。 (1 1)在后台任务进程启动之后,消息必须每隔)在后台任务进程启动之后,消息必须每隔 6010 6010 秒更秒更新一新一 次,并且保持连续的可见性。次,并且保持连续的可见性。(2 2)如果正在正常处理后台任务进程,那么后台任务管理)如果正在正常处理后台任务进程,那么后台任务管理器必须显示后台任务进程已完成的百分比。器必须显示后台任务进程已完成的百分比。 (3 3)当完成后台任务时,后台任务管理器必须显示一个)当完成后台任务时,后台任务管理器必须显示一个“已完已完 成成”的信息。的信息。(4 4)如果后台任务中止执行,那么后台任务管理器必须显)如果后台任务中

50、止执行,那么后台任务管理器必须显示一示一 个出错信息。个出错信息。47 青岛科技大学信息学院 传统软件工程方法学使用结构化分析技术,传统软件工程方法学使用结构化分析技术,完成分析用户需求的工作。完成分析用户需求的工作。需求分析是发现、求精、需求分析是发现、求精、建模、规格说明和复审的过程建模、规格说明和复审的过程。第一步第一步是进一步了解用户当前所处的情况,是进一步了解用户当前所处的情况,发现发现用户用户所面临的所面临的问题问题和对目标系统的和对目标系统的基本需求基本需求;接下来接下来应该与用户深入交流,对用户的基本需求应该与用户深入交流,对用户的基本需求反复反复细化逐步求精细化逐步求精,以得

51、出对目标系统的完整、准确和具,以得出对目标系统的完整、准确和具体的需求。体的需求。 具体地说,应该确定系统具体地说,应该确定系统必须具有的必须具有的功能、功能、性能、可靠性和可用性,性能、可靠性和可用性,必须实现的必须实现的出错处理需求、出错处理需求、接口需求和逆向需求,接口需求和逆向需求,必须满足的必须满足的约束条件,并且约束条件,并且预预测测系统的发展前景。系统的发展前景。3.9 小结小结青岛科技大学信息学院 在在需求分析阶段还应该写出软件需求规格说明书,经过需求分析阶段还应该写出软件需求规格说明书,经过严格评审并得到用户确认之后,作为这个阶段的最终成果。严格评审并得到用户确认之后,作为这

52、个阶段的最终成果。通常主要从一致性、完整性、现实性和有效性等通常主要从一致性、完整性、现实性和有效性等4 4个方面复审个方面复审软件需求规格说明书。软件需求规格说明书。 多数人习惯于使用多数人习惯于使用实体实体- -联系图联系图建立建立数据模型数据模型,使用,使用数据流图数据流图建立建立功能模型功能模型,使用,使用状态图状态图建立建立行为模型行为模型。读者应。读者应该掌握这些图形的基本符号,并能正确地使用这些符号建立该掌握这些图形的基本符号,并能正确地使用这些符号建立软件系统的模型。软件系统的模型。 为了提高可理解性,还可以用为了提高可理解性,还可以用层次方框图或层次方框图或WarnierWa

53、rnier图等图形工具辅助描绘系统中的数据结构。图等图形工具辅助描绘系统中的数据结构。 概括地说,任何一个计算机系统的基本功能都是把概括地说,任何一个计算机系统的基本功能都是把输入数据转变成输出信息,算法定义了转变的规则。因此,输入数据转变成输出信息,算法定义了转变的规则。因此,没有对算法的了解就不能确切知道系统的功能。没有对算法的了解就不能确切知道系统的功能。IPOIPO图是描述图是描述算法的有效工具。算法的有效工具。第第3章章 软件需求分析软件需求分析练习题练习题 1. 1.请举例说明使用自然语言描述用户需求和系统请举例说明使用自然语言描述用户需求和系统需求的问题。需求的问题。 2. 2.

54、 需求工程包括哪些基本活动?每一项活动的主需求工程包括哪些基本活动?每一项活动的主要任务是什么?要任务是什么? 3. 3. 请比较本章介绍的几种主要需求获取技术,说请比较本章介绍的几种主要需求获取技术,说明每一种技术的优缺点和适用场合。明每一种技术的优缺点和适用场合。 练习题练习题 4. 请指出下面需求描述存在的问题,并进行适当的修改。请指出下面需求描述存在的问题,并进行适当的修改。(1 1) 系统用户界面友好。系统用户界面友好。 (2 2) 系统运行时应该占用尽量少的内存空间。系统运行时应该占用尽量少的内存空间。 (3 3) 即使在系统崩溃的情况下,用户数据也不能受到破即使在系统崩溃的情况下

55、,用户数据也不能受到破坏。坏。(4 4) ATMATM系统允许用户查询自己银行帐户的现存余额系统允许用户查询自己银行帐户的现存余额(5 5) ATMATM系统应该快速响应用户的请求。系统应该快速响应用户的请求。 (6 6) ATMATM系统需要检验用户存取的合法性。系统需要检验用户存取的合法性。(7 7) 所有命令的响应时间小于所有命令的响应时间小于1 1秒;秒;BUILDBUILD命令的响应时命令的响应时间小于间小于5 5秒。秒。(8 8) 软件应该用软件应该用JAVAJAVA语言实现。语言实现。 青岛科技大学信息学院3-1 为什么要进行需求分析为什么要进行需求分析?通常对软件系统有哪些通常

56、对软件系统有哪些需求需求?3-2 怎样与用户有效地沟通以获取用户的真实需求怎样与用户有效地沟通以获取用户的真实需求?3-3 银行计算机储蓄系统的工作过程大致如下:储银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址是存款则系统记录存款人姓名、住址(或电话号码或电话号码)、身份证号码、存款类型、存款日期、到期日期、利身份证号码、存款类型、存款日期、到期日期、利率及密码率及密码(可选可选)等信息,并印出存单给储户;如果等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储

57、户是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。利息并印出利息清单给储户。习题习题青岛科技大学信息学院请用数据流图描绘本系统的功能,并用实体请用数据流图描绘本系统的功能,并用实体-联系联系图描绘系统中的数据对象。图描绘系统中的数据对象。3-4 分析习题分析习题2第第3题所述的机票预订系统。请用实题所述的机票预订系统。请用实体体-联系图描绘本系统中的数据对象并用数据流图联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。描绘本系统的功能。3-5 分析习题分析习题2第第4题所述的患

58、者监护系统。请用实题所述的患者监护系统。请用实体体-联系图描绘本系统中的数据对象并用数据流图联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能,画出本系统的顶层描绘本系统的功能,画出本系统的顶层IPO图。图。青岛科技大学信息学院下面的需求描述正确吗?下面的需求描述正确吗? 在用户每次存钱的时候系统将进行信用检查。在用户每次存钱的时候系统将进行信用检查。 下面的需求描述是无歧义的吗?下面的需求描述是无歧义的吗?-如果用户试图透支,系统将采取适当的行动。如果用户试图透支,系统将采取适当的行动。下面的两个需求描述中哪一个难以验证?下面的两个需求描述中哪一个难以验证? -系统将在系统将在 20 秒内响应所有有效的请求。秒内响应所有有效的请求。 - 如果用户试图透支,系统将采取适当的行动。如果用户试图透支,系统将采取适当的行动。-下面的两个需求描述是否有矛盾?下面的两个需求描述是否有矛盾?- 系统允许立即使用所存的资金。系统允许立即使用所存的资金。- 只有在手工验证所存资金后,系统才能允许使用。只有在手工验证所存资金后,系统才能允许使用。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号