软件工程第3章需求分析精编版

上传人:ahu****ng1 文档编号:143305253 上传时间:2020-08-28 格式:PPTX 页数:78 大小:1.18MB
返回 下载 相关 举报
软件工程第3章需求分析精编版_第1页
第1页 / 共78页
软件工程第3章需求分析精编版_第2页
第2页 / 共78页
软件工程第3章需求分析精编版_第3页
第3页 / 共78页
软件工程第3章需求分析精编版_第4页
第4页 / 共78页
软件工程第3章需求分析精编版_第5页
第5页 / 共78页
点击查看更多>>
资源描述

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

1、第 3 章,需求分析,第3章 需求分析,3.1 需求分析的任务和原则 3.2 初步需求获取技术 3.3 需求建模 3.4 实体关联图 3.5 辅助图形工具 3.6 需求规格说明与评审需求验证 3.7 一个实例分析,需求分析的任务与原则,3.1 需求分析的任务与原则,基本任务: 准确定义系统的目标,回答“系统必须做什么?” 任务的承担者:需求分析小组或系统分析员 三种模型: 数据模型:描述问题信息域 实体-联系图 功能模型:定义软件功能 数据流图 行为模型:描述软件行为 状态转换图 三个阶段: 1. 需求获取阶段(问题分析) 2. 需求规约/规格说明阶段(需求描述) 3. 需求验证阶段(需求评审

2、),一.需求获取阶段问题分析,1. 任务:通过多种方式(与用户交流、实践等)清晰地理解所要解决的问题,完整的获取用户的需求。 2. 原则: 1). 找出用户的不合理需求和潜在需求。 2). 对用户的需求进行建模。 3. 作用: 准确地描述用户从多个不同视点、不同抽象层次上对原始问题及目标软件系统的认识; 帮助需求分析人员分析发现用户需求中的不一致性,排除不合理部分,挖掘潜在用户需求; 有助于形成需求规格说明书。,3.1 需求分析的任务与原则,二.需求规约阶段问题描述,3.1 需求分析的任务与原则,1. 任务: 以需求模型为基础,考虑到问题的软件可解性,生成软件的需求规格说明书和初步的用户手册。

3、 2. 原则: 确保需求规格说明书对用户需求描述的完整性、一致性和准确性 鼓励用户参与需求规格说明书以及用户手册的制定 尽可能做到结构清晰,措辞准确和简洁,三.需求验证阶段需求评审,3.1 需求分析的任务与原则,1. 任务:让用户和设计人员对需求规格说明以及用户手册的理解达成一致。 2. 原则: 确保需求规格说明书和用户手册是一致、完全和准确的; 支持各方(用户,需求分析人员、设计人员)参与评审工作。,需求分析的任务与原则,3.1 需求分析的任务与原则,需求分析的任务: 3.1.1 确定对系统的综合要求:P56 功能需求、性能需求、运行要求、未来可能的扩充要求等 3.1.2 分析系统的数据要求

4、:P57 建立概念模型( ER 图) 形象描绘数据结构( 层次方框图、Warnier 图、IPO图) 数据结构规范化 3.1.3 导出系统的逻辑模型: P58 3.1.4 修正系统开发计划:重估成本、进度 3.1.5 开发原型系统,需求分析的任务与原则,3.1 需求分析的任务与原则,3.2 初步需求获取技术,初步需求获取技术,一.访谈和会议,3.2 初步需求获取技术,采用访谈和小组会议的形式与用户进行沟通和交流,据此逐步理解用户对目标软件系统的期望和需求。 原则:循序渐进、自由发挥、反映全貌 常用方法: 正式访谈(具体问题);非正式访谈(开放式问题) 大量人员意见:分发调查表,并针对性地回访一

5、些人员 通过实践和观察用户工作流程来理解问题和获取用户的需求 情景分析技术 P58,一.访谈和会议,3.2 初步需求获取技术,分析人员和用户共同组成的联合开发小组,有利于: 激发各方的主动精神; 建立良好的合作关系; 便于交流和沟通; 消除误解和遗漏。 联合小组要有自己的工作制度和计划,不断进行交流,一.访谈和会议案例分析,3.2 初步需求获取技术,开发目标家庭保安系统 家庭保安系统能够识别异常事件(非法进入、水灾、火灾)并采取相应的防范措施。一旦异常事件被相应的传感器识别出来,系统将自动地用电话线向监控中心汇报。系统允许用户对其行为进行可配置的控制。,一.访谈和会议案例分析,3.2 初步需求

6、获取技术,1. 建立联合小组:参与者:用户、需求分析人员; 工作制度:每次会议有议程、充分准备 2. 会议讨论,明确问题、范围、环境等等,逐步了解用户需求。会议应有纪录,整理形成文档 3. 分成二个小组:用户配置控制子系统和传感器监测子系统。目的:对子问题的软件需求进行更全面、细致、准确地工作 4. 各个小组组合在一起讨论子系统之间的整合以及整个系统的汇总 5. 形成结论性的需求分析文档,二.基于数据流的分析方法,3.2 初步需求获取技术,本质上是运用抽象和分解技术,自顶向下、逐步求精、在不同的抽象层次上理解用户需求的过程。 数据流图是问题域中各个处理子功能以及它们之间 数据流动的图形表示。数

7、据流图的精化过程实际上 是对各个处理子功能(变换)的细化过程,也是对 这样一些处理子功能理解和认识上逐步提高的过程。 随着精化过程的不断进行,用户需求逐步准确化、一致化和完全化。,二.基于数据流的分析方法1.建立顶级数据流图,3.2 初步需求获取技术,根据问题域与外部环境之间的相互关系定义问题域的 边界,即问题域与外界环境之间的输入和输出关系。 家庭保安系统顶级数据流图,二.基于数据流的分析方法2.自顶向下,功能分解,3.2 初步需求获取技术,数据流图的分层描述又称为结构化分析(Structural Analysis),简称SA法。 方法: 1. 对用户的需求描述进行语法分析: 名词或名词短语

8、潜在的数据流、数据源和外部实体 动词潜在的处理功能。 2. 结合对需求的理解,确定功能及功能间的数据流,构造出下一级数据流图。 可能需要更新数据字典。,二.基于数据流的分析方法2.自顶向下,功能分解,3.2 初步需求获取技术,二.基于数据流的分析方法2.自顶向下,功能分解,3.2 初步需求获取技术,家庭保安系统各级数据流图,二.基于数据流的分析方法2.自顶向下,功能分解,3.2 初步需求获取技术,数据流图的分层原则: 1. 正确使用数据流图中的各个图形要素;如一个变换既有输入,又有输出; 2. 每个数据流、数据源、外部实体在数据字典中均有定义; 3. 数据流图中最底层的变换必须在变换说明中加以

9、说明; 4. 父图和子图之间必须保持平衡,即:加细前后的I/O一致。,二.基于数据流的分析方法2.自顶向下,功能分解,3.2 初步需求获取技术,例如:异常数据判断子功能 1. 参数:传感器有效信息;类别:传感器信息纪录 2. 处理步骤: (a)将传感器信息传送到用户处理子系统中; (b) 根据配置信息,生成报警信息; (c) 根据配置信息,获取相应的电话号码,传送 给电话拨号子功能; 3. 约束条件,3.2 初步需求获取技术,例1:试判断下述分层数据流图是否平衡,3.2 初步需求获取技术,例1:试判断下述分层数据流图是否平衡,X,3.2 初步需求获取技术,例2:银行活期储蓄业务数据流图应用举例

10、,3.2 初步需求获取技术,例2:银行活期储蓄业务数据流图顶层图(0层图),3.2 初步需求获取技术,例2:银行活期储蓄业务数据流图 受理业务1层图,3.2 初步需求获取技术,例2:银行活期储蓄业务数据流图 存款业务1层图,3.2 初步需求获取技术,例2:银行活期储蓄业务数据流图 取款业务1层图,3.2 初步需求获取技术,例2:银行活期储蓄业务数据流图,若有时间请课后自行完成: a)基于上述数据流图试补上后续各层的数据流图 b)为上述各图中出现的数据名写出数据字典 注:精化过程适可而止 如果某一处理子功能可以用简洁、准确的文字来描述清楚,就无需进一步的分解。精化应避免涉及涉及细节。,二.基于数

11、据流的分析方法3.支持数据流分析的CASE工具,3.2 初步需求获取技术,建模(数据流图、数据字典、变换说明等) 信息的存储、显示和检索 其它工作如一致性检查等等,三、简易的应用规格说明技术,访谈/面向数据流自顶向下求精方法定义需求时:用户处于被动地位,有意无意地与开发者区分“彼此”。 “面向团队的需求收集法”,又称“简易的应用规格说明技术”。 用户与开发者形成团队,不分彼此:共同标识问题,指定基本需求。 信息系统领域使用的主流技术。,三、简易的应用规格说明技术,过程: 初步访谈,通过用户对基本问题的回答,初步确定待解决的问题的范围和解决方案。 开发者和用户分别写出“产品需求”。 选定会议的时

12、间和地点,并选举一个负责主持会议的协调人。邀请开发者和用户双方组织的代表出席会议,并在开会前预先把写好的产品需求分发给每位与会者。 在开会前:每位与会者认真审查产品需求,并不期望每位与会者列出的内容都是毫无遗漏的,但是,希望能准确地表达出每个人对目标系统的认识。,三、简易的应用规格说明技术,会议: 讨论的第一个问题是,是否需要这个新产品; 一旦确定需要,每位与会者把各自会前准备好的列表展示出来供大家讨论。 大家共同创建一张组合列表。在组合列表中消去冗余,加入了在展示过程中产生的新想法,但是并不删除任何实质性内容。 把与会者分成更小的小组,每个小组的工作目标是为每张列表中的项目制定小型规格说明。

13、小型规格说明是对列表中包含的单词或短语的准确说明。 每个小组都展示各自的小型规格说明,供大家讨论。 每个与会者都制定出产品的一整套确认标准,并把自己制定的标准提交会议讨论,以创建出意见一致的确认标准。 最后,由一名或多名与会者根据会议成果起草完软件需求规格说明书。,四.快速建立软件原型,是最准确、最有效的需求分析技术 实现用户看得见的功能(如,屏幕显示或打印报表), 省略目标系统的“隐含”功能(如,修改文件)。 “原型”:演示目标系统主要功能的可运行程序; 让用户评估并提出修改意见,从而准确地获取用户的需求。当原型最终被用户接受和确定后,再对目标软件系统进行开发,3.2 初步需求获取技术,四.

14、快速原型方法的需求分析步骤,1,2,3,4,3.2 初步需求获取技术,四.快速建立软件原型,构建原型的方法: 第四代技术: 数据库查询和报表语言、程序生成器以及Python,Perl等语言。 用于快速地生成可执行代码 可重用的软件构件 使用一组已有的软件构件来装配(而不是从头构造)原型。 构件:数据结构(或数据库),或软件体系结构构件(即程序),或过程构件(即模块)。 重用构件时,不知其内部工作细节。,3.2 初步需求获取技术,四.快速建立软件原型,构建原型的方法: 形式化规格说明和原型环境 人们已经研究出许多形式化规格说明语言和工具(参见第4章),用于替代自然语言规格说明技术。 今天,形式化

15、语言的倡导者正在开发交互式环境,以便可以调用自动工具把基于形式语言的规格说明翻译成可执行的程序代码,,3.2 初步需求获取技术,一.模型,模型:是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。 包括一组图形符号和组织这些符号的规则。 需求模型:详细、准确地描述了用户对目标软件系统的功能、行为、性能、设计约束等方面的要求。,3.3 需求建模,二、建模是刻画、分析 和解决问题的一种好的方法,3.3 需求建模,为什么需要建模? 有助于分析人员全面、系统地了解和分析用户的需求 有助于发现用户需求描述中的不一致性、错误和模糊性 确保软件需求规格说明书一致化、全面化、准确化 需求分析

16、需要建立三种模型: 数据模型:实体-联系图 数据对象(即实体)之间的关系 功能模型:数据流图 系统对数据进行变换的功能 行为模型:状态转换图 系统的各种状态(行为模式)及状态之间的转换,一、数据对象,3.4 实体关系图,ER图:从用户角度看到的数据。 反映客观现实,与软件的 实现无关。 数据对象:现实世界中省略了功能和行为的实体,由一组属性来定义。 仅有单个值的事物(例如,宽度)不是数据对象。 外部实体(例如,产生或使用信息的任何事物)、事物(例如,报表)、行为(例如,打电话)、事件(例如,响警报)、角色(例如,教师、学生)、单位(例如,会计科)、地点(例如,仓库)或结构(例如,文件)等。 与面向对象范型中的“类”或“对象”的区别:只表示数据而不表示作用于数据上的操作。 数据对象彼此间是有关联的 例如,教师“教”课程,学生“学”课程,二 、属性

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

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