软件工程导论课件之第3章 需求分析(第五版)(张海藩编著)_b.ppt
《软件工程导论课件之第3章 需求分析(第五版)(张海藩编著)_b.ppt》由会员分享,可在线阅读,更多相关《软件工程导论课件之第3章 需求分析(第五版)(张海藩编著)_b.ppt(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.原型化方法原型化方法 原型化方法-一个软件原型是所提出的新产品的部分实现,帮助开发人员、用户以及客户更好地理解系统的需求,它比开发人员常用的技术术语更易于理解。建立原型的原因-解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。基于 WEB 的应用系统原型-使用 HTML 进行界面设计59 单击此处编辑母版标题
10、样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式6.基于用例的方法基于用例的方法 用用例例建建模模是是以以任任务务和和用用户户为为中中心心的的,开开发发和和描描述述用用户户需要系统做什么。需要系统做什么。用例建模的步骤-确定系统的参与者-确定场景-确定系统用例-确定用例之间的关系-编写用例描述文档60 青岛科技大学信息学院3.3.1分析建模分析建模1、问题识别、问题识别 双方确定对问题的综合需求。基于项目有双方确定对问题的综合需求。基于项目有关的软件的关的软件的功能、性能、环境、用户界面、可功能、性能、环境、用户界面、可靠性、安全性、保密性、可移植性、可维护性、
11、靠性、安全性、保密性、可移植性、可维护性、等方面的需求。等方面的需求。3.3 分析建模与规格说明分析建模与规格说明 需求分析的步骤需求分析的步骤2、分析和综合导出软件的逻辑模型、分析和综合导出软件的逻辑模型青岛科技大学信息学院2、分析和综合导出软件的逻辑模型、分析和综合导出软件的逻辑模型 1)分析人员对获取的需求进行一致的分析检查,)分析人员对获取的需求进行一致的分析检查,逐步细化软件功能,逐步细化软件功能,划分各子功能;划分各子功能;2)对系统)对系统数据域进行分解数据域进行分解,分配到各子功能上;,分配到各子功能上;3)用图文结合的形式,)用图文结合的形式,建立新系统的逻辑模型和建立新系统
12、的逻辑模型和物理视图。物理视图。物理视图指系统数据输入输出使用什物理视图指系统数据输入输出使用什么设备或方式,例键盘输入、数据扫描、数据传送么设备或方式,例键盘输入、数据扫描、数据传送等方式等方式。3.3.2 软件需求规格说明软件需求规格说明青岛科技大学信息学院3.3.2 软件需求规格说明软件需求规格说明 软件需求规格说明书,是需求分析阶段软件需求规格说明书,是需求分析阶段得出的最主要的文档。得出的最主要的文档。补充:补充:需求分析阶段要编写文档:需求分析阶段要编写文档:1 1)编写)编写“需求规格说明书需求规格说明书”2 2)编写初步用户手册)编写初步用户手册 3 3)编写)编写“确认测试计
13、划确认测试计划”(为系统完成后确认验收的为系统完成后确认验收的依据依据).).4 4)修改完善软件开发计划修改完善软件开发计划 需求规格说明书写法见实验指导书需求规格说明书写法见实验指导书3.4 实体实体-联系图(联系图(E-R图)图)青岛科技大学信息学院应该包括在应该包括在SRSSRS(需求规格说明)中的内容中的内容-功能:功能:软件应该提供什么功能?软件应该提供什么功能?-外部接口:外部接口:软件如何与人、系统硬件和其他系统等进行相互软件如何与人、系统硬件和其他系统等进行相互 作用?作用?-性能:性能:软件系统在运行速度、可用性、响应时间、恢复时间软件系统在运行速度、可用性、响应时间、恢复
14、时间 等方面等方面有什么要求?有什么要求?-特性:特性:软件系统在可移植性、可维护性、安全性等方面有什软件系统在可移植性、可维护性、安全性等方面有什 么考虑?么考虑?设计约束:设计约束:是否存在必要的标准、开发语言、数据库、资源是否存在必要的标准、开发语言、数据库、资源 限制、运行限制、运行环境等因素的影响和策略?环境等因素的影响和策略?不不应该包括在应该包括在SRS 中的内容中的内容-项目开发计划项目开发计划:如成本、人员、进度、工具、方法等如成本、人员、进度、工具、方法等 -产品保证计划产品保证计划 :如配置管理、验证与测试、如配置管理、验证与测试、质量保证等质量保证等-软件设计细节软件设
15、计细节:需求通常用于表达需求通常用于表达“做什么做什么”,而不描述而不描述“如何做如何做”。青岛科技大学信息学院编写需求规格说明的原则编写需求规格说明的原则 原则原则 1:只描述只描述“做什么做什么”而无须描述而无须描述“怎么做怎么做”原则原则 2:必须说明必须说明运行环境运行环境 原则原则 3:考虑用户、分析员和实现者的交流考虑用户、分析员和实现者的交流 -对形式化和自然语言之间作出恰当的选择对形式化和自然语言之间作出恰当的选择 -明确明确的理解最重要,不存在十全十美的软件规的理解最重要,不存在十全十美的软件规格说明书格说明书 青岛科技大学信息学院编写需求规格说明的原则编写需求规格说明的原则
16、原则原则 4:力求寻找到恰如其分的需求详细程度力求寻找到恰如其分的需求详细程度 -一个有益的原则就是编写单个的可测试需求文档一个有益的原则就是编写单个的可测试需求文档 -建议将建议将可测试可测试的需求作为衡量软件产品规模大小的尺度的需求作为衡量软件产品规模大小的尺度 原则原则 5:文档段落不宜太长文档段落不宜太长 简短简短 -记住:不要在需求说明中使用记住:不要在需求说明中使用“和和/或或”、“等等等等”之类的词之类的词原则原则 6 6:避免使用模糊的、主观的术语避免使用模糊的、主观的术语-如如用用户户友友好好、容容易易、简简单单、迅迅速速、有有效效、许许多多、最最新新技技术术、优优越越的的、
17、可可接接受的、最大化、最小化、提高等受的、最大化、最小化、提高等-不可验证不可验证 建议:建议:采用一种采用一种标准的标准的SRS 模板模板 单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式需求工程 需求工程是应用已证实有效的原理和方法,并通过合适的工具和符号,系统地描述出待开发系统及其行为特征和相关约束。活动持续进行的需求管理需求需求获取需求分析需求验证规格说明工作产品已确认的需求规格会议记录等分析模型需求规格说明书说明书22 青岛科技大学信息学院为了把用户的数据要求清楚、准确地描述出来,系统分析员为了把用户的数据要求清楚、准确地描述出来,
18、系统分析员通常建立一个概念性的数据模型通常建立一个概念性的数据模型(也称为信息模型也称为信息模型)。数据模。数据模型中包含型中包含3种相互关联的信息:种相互关联的信息:数据对象数据对象、数据对象的、数据对象的属性属性及数据对象彼此间相互连接的及数据对象彼此间相互连接的关系关系。3.4.1 数据对象数据对象 3.4.2 属性属性 3.4.3 联系联系3.4.4 实体实体-联系图的符号联系图的符号 通常,通常,使用实体使用实体-联系图联系图(entity-relationship(entity-relationship diagram)diagram)来建立数据模型来建立数据模型。可以把实体。可以
19、把实体-联系图简称为联系图简称为ERER图,图,相应地可把用相应地可把用ERER图描绘的数据模型称为图描绘的数据模型称为ERER模型。模型。3.4 实体实体-联系图(联系图(E-R图)图)ER信息模型的设计信息模型的设计青岛科技大学信息学院 ER信息模型的设计信息模型的设计E R方方 法法 是是 英英 文文 entity relationship approach 的的简简称称,译译作作实实体体一一联联系系方方法法。此此法法通通过过ER图图形形表表示示信信息息世世界界中中的的实实体体、属属性性、关系的模型。关系的模型。1)ER图图约约定定:实实体体用用方方框框表表示示,联联系系用用菱菱形形框框
20、表表示示。框内填入相应的实体名,联系名及属性名。框内填入相应的实体名,联系名及属性名。下下图图举举了了三三个个例例子子,表表示示了了二二个个实实体体间间的的联联系系,而三个例子由三种不同的联系方法。而三个例子由三种不同的联系方法。单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式三个例子三个例子青岛科技大学信息学院三个例子,表示了二个实体间的联系,而三个例子由三种不同的联系方法。第一种情况第一种情况青岛科技大学信息学院第一种情况:是一对一的关系,一个工厂只有一个正厂长。第二种情况:是一对多的联系,一个仓库存放多种和多个产品;第三种情况:是多对多
21、的联系,一个学生要学习多门课程,而一门课程又有多名学生学习,所以是多对多的联系。同同时时从从图图中中也也可可看看出出联联系系也也可可能能有有属属性性,如如存存放放有有属属性数量,学习有属性成绩等。性数量,学习有属性成绩等。2)如何设计)如何设计ER图图先先画画出出局局部部ER图图,再再对对局局部部ER加加以以综综合合,产产生生一个总体一个总体ER图图单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式单击此处编辑母版标题样式单击此处编辑母版标题样式单击此处编辑母版副标题样式单击此处编辑母版副标题样式n n先画出局部先画出局部先画出局部先画出局部E
22、RER图,再对局部图,再对局部图,再对局部图,再对局部ERER加以综合,加以综合,加以综合,加以综合,产生一个总体产生一个总体产生一个总体产生一个总体ERER图。图。图。图。青岛科技大学信息学院 软件系统经常使用各种长期保存的信息,这些信息通软件系统经常使用各种长期保存的信息,这些信息通常以一定方式常以一定方式组织并存储在数据库或文件中组织并存储在数据库或文件中,为减少数据冗余,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。要把数据结构规范化。下面给出第一、第二和第三范式的定义下面给出第一、第二和
23、第三范式的定义:(1)(1)第一范式在第一范式在同一表中没有重复项出现同一表中没有重复项出现,如果有则,如果有则应将重复项去掉。应将重复项去掉。每个属性值都必须是原子值,即仅仅是一个简单值每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。而不含内部结构。3.5 数据规范化数据规范化(2)第二范式满足第一范式条件第二范式满足第一范式条件青岛科技大学信息学院(2)(2)第二范式满足第一范式条件,而且每个非关键字第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定属性都由整个关键字决定(而不是由关键字的一部分来而不是由关键字的一部分来决定决定)。每个表必须有一个(而且仅一个)数
24、据元素为主关键每个表必须有一个(而且仅一个)数据元素为主关键字,其它元素与主关键字一一对应。字,其它元素与主关键字一一对应。(3)(3)第三范式符合第二范式的条件,每个非关键字属第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述仅是对另一个非关键字属性的进一步描述(即一个非关即一个非关键字属性值不依赖于另一个非关键字属性值键字属性值不依赖于另一个非关键字属性值)。表中的所有数据元素,不但要能够唯一地被主关键字所表中的所有数据元素,不但要能够唯一地被主关键字所标识,而且它们之间
25、还必须相互独立标识,而且它们之间还必须相互独立,不存在其它的函数关系。,不存在其它的函数关系。3.6 状态转换图状态转换图青岛科技大学信息学院 根据本章开头讲的结构化分析的第根据本章开头讲的结构化分析的第3条准则,在需求分条准则,在需求分析过程中应该建立起软件系统的行为模型。状态转换图析过程中应该建立起软件系统的行为模型。状态转换图(简简称为状态图称为状态图)通过描绘系统的状态及引起系统状态转换的事通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作事件的结果系统将做哪些动作(例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程导论课件之第3章 需求分析第五版张海藩编著_b 软件工程 导论 课件 需求 分析 第五 张海藩 编著 _b
限制150内