




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 软件需求分析,3 . 1 需求分析的任务 3 . 2 与用户沟通获取需求的方法 3 . 3 分析建模与规格说明 3 . 4 实体-联系图 3 . 5 数据规范化 3 . 6 状态转换图 3 . 7 其他图形工具 3 . 8 验证软件需求 3 . 9 小结 习题,教学要求,教学目的:了解需求分析的任务和步骤、评审标准和过程;掌握基本技术,理解需求规格说明书的作用与组成。 教学重点:基本技术、需求规格说明书的作用与组成。 教学难点:基本技术。,需求分析简介,软件需求指用户对所开发的软件在功能、性能、环境、可靠性等各方面的要求。 需求分析主要回答待开发的系统必须“做什么”,并用 需求规格说明书 的形式准确、详细、规范地表达出来。,注意,需求分析阶段,系统分析员的主要关注点是“做什么( what ) ” ,不是“怎样做( how)”; 需求分析阶段,系统分析员应该给出软件需求规格说明书。,3.1需求分析的任务,四项主要任务: 1 、确定对系统的综合要求 2 、分析系统的数据要求 3 、导出系统的逻辑模型 4 、修正系统开发计划,提问并思考:,如果你是一个用户,你会对将要开发的软件有哪些要求?,3.1.1确定对系统的综合要求, 功能需求。指定系统必须提供的服务。 性能需求。指定系统必须满足的定时约束或容量约束等。 可靠性和可用性需求。应定量指定。 出错处理需求。指环境错误,非系统本身的错误。 接口需求。常见的接口需求:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。, 约束。常见的约束:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。 逆向需求。指定系统不应该做什么。 将来可能提出的要求。,3.1.2分析系统的数据要求,提问并思考: 如果你是设计者,除了上述需求以外,你觉得还需要得到哪些要求? 答:软件系统本质上是信息处理系统,要考虑数据和数据处理的问题。,对系统数据的分析,建立数据(3. 4 节实体联系图) ; 描绘数据结构(3. 7 节其他图形工具) ; 数据结构规范化( 3. 5 节),3.1.3 导出系统的逻辑模型,用数据流图、实体一联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。 3.1.4 修正系统开发计划 根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。,图:软件需求分析的通信途径,分析小组成员主要包括领域专家、系统分析员; 客户访谈 问题分析与确认,3.2 与用户沟通获取需求的方法,1、访谈 2、面向数据流自顶向下求精 3、简易的应用规格说明技术 4、快速建立软件原型,3.2.1 访谈,分正式和非正式访谈。 可采用调查表形式 可使用情景分析技术,例:某出版社系统调查表,3.2.2 面向数据流自顶向下求精,结构化分析方法的实质。 进一步细化可行性研究阶段获得到高层数据流图。包括建立: 详细的数据流图,描绘数据在软件系统内从输入移动到输出的过程中所经受到变换; 数据字典:定义数据流图中包含的元素; 实体关系( ER )图:从用户角度描述数据; IPO 图:描述数据流图中处理框的功能和算法。,面向数据流自顶向下求精过程,3.2.3简易的应用规格说明技术,一种面向团队的需求收集法,提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。 具体过程见教材 P60 面 提问:此方法将产生什么样的产品?,3.2.4快速建立软件原型,快速原形就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。 要点: 实现用户看得见的功能,省略目标系统“隐含”功能。 具有“快速”和“容易修改”两大特性。,3.2.4快速建立软件原型,建立和修改原型的方法和工具: (1)第四代技术。包括众多数据库查询和报表语言、程序和应用系统生成器以及其他非常高级的非过程语言。能快速生成可执行的代码。 (2)可重用的软件构件。使用一组已有的软件构件(也称为组件)来装配(而不是从头构造)原型。 (3)形式化规格说明和原型环境。在交互式环境下,用自动工具把基于形式语言的规格说明翻译成可执行的程序代码。,3.3分析建模与规格说明,3 . 3 . 1 分析建模 什么是模型? 为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。 模型通常由一组图形符号和组织这些符号的规则组成。,模型的作用,在建模过程中了解系统。 通过抽象降低复杂性。 有助于回忆所有的细节。 有助于开发小组间的交流。 有助于与用户的交流。 为系统的维护提供文档,例:结构化分析方法建立的需求模型,结构化分析( Structured Analysis , SA )是面向数据流进行分析的方法,主要建立以下几种模型: 实体关系图(Entity-Relationship Diagram,E-R图)来创建数据模型,描述系统中所有重要的数据对象; 数据流图(Data Flow Diagram,DFD) :用来创建功能模型,描述了信息流和数据转换。 状态转换图 (State-Transition Diagram,STD)用来创建行为模型,描述系统状态如何响应外部事件,而进行转换。 教材p56,例:面向对象分祈方法(OOA)所建立的摸型,对象模型(Object model):定义实体,描述系统的静态结构,定义“对谁做” 动态模型(Dynamic model):描述对象之间的交互过程,规定“何时做” 功能模型作 (Functional model) :描述内部数据的处理,指明系统应“做什么”,软件需求规格说明, 软件需求规格说明书 是需求分析阶段最主要的文档。对目标进行完善和补充,并写出完整的需求说明。 为消除自然语言中可能存在的不一致、歧义、含糊、不完整及抽象层次混乱等问题,有主张用形式化方法描述用户对软件系统的需求。 例:GB 8567-88 计算机软件产品开发文件编制指南,结构化分析方法( Structured Analysis ,SA ),面向数据流进行需求分析的方法 适合于数据处理类型软件的需求分析,结构化分折模型的组成结构,3.4实体-联系图,实体-联系图( E - R 图)描绘系统的数据关系。 分析实体-联系有助于对业务或系统数据组成的理解和交互。 一、基本概念(1) 实体:客观世界中存在的,可区分的事物。 数据对象:实体在数据模型中的体现,能由一组属性来定义的实体都可以被认为是数据对象。 属性:实体或数据对象所具有的性质。,联系:客观事物之间的联系。联系分为三种: 一对一( 1 : 1 ) 一对多联系( 1 : N ) 多对多联系( M : N ) 二、 E - R 图的结构 三种基本元素:,例:教学E-R图,三、如何建立实体一联系图?,1 、在需求收集的过程中,列出应用软件或业务过程涉及到的所有“事物”,将其演化成数据对象; 2 、一次考虑一个对象,定义这个对象和其他对象之间是否存在连接; 3 、如果存在连接,应创建一个或多个关系; 4 、对每一个关系,确定其关联类型; 5 、重复步骤( 2 )到步骤( 4 ),直到定义了所有关系。 6 、定义每个实体的属性; 7 、形式化并复审实体关系图; 8 、重复步骤( 1 )到( 7 ) ,直到数据建模完成。,2.4 数据流图(DFD,Data Flow Diagram),描述数据处理过程的工具。 通过图形的方法,从数据传递和数据处理的角度,刻画数据流从输入到输出的移动变换过程。 数据流三个重要属性: 数据流名字 数据组成 流向,2 .4.1符号(1),说明:用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等),表达数据在系统各部件之间流动的情况。,符号(2),例 1 :描述银行取款过程的数据流图,应该注意的几个问题,适当地命名。(详见教材 p45) “数据存储”代表数据静止状态,“数据流”代表数据的运动状态; 注意数据流与控制流的区别; 通常数据流图中忽略出错处理、打开或关闭文件之类的内务处理。 若数据的源点和终点相同,则应该有两个箭头和这个数据源(终)点相连;或重复画一个源(终)点。,数据流图的层次结构,对于大型系统,往往采用自顶向下逐层分解的方法,用分层数据流图表示所有数据流和加工。 对任何一个数据流图来说,它的上层图为父图,在它的下一层的图为子图。,分层数据流图,说明:,在多层数据流图中,顶层流图仅包含一个数据处理,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据 底层流图是指其数据处理不需再做分解的数据流图,它处在最底层 中间层流图则表示对其上层父图的细化。它的每一数据处理可能继续细化,形成子图。,注意的原则 ( 1 ),数据流图上所有图形符号只限于前述四种基本图形元素; 数据流图的主图必须包括前述四种基本元素,缺一不可; 数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以是一个也可以是多个; 每个数据处理至少有一个输入数据流和一个输出数据流; 在数据流图中,需按层给数据处理框编号。编号表明该处理所处层次及上下层的亲子关系;,注意的原则(2),规定任何一个数据流子图必须与它上一层的一个数据加工对应,两者的输入数据流和输出数据流必须一致。此即父 图 与子图的平衡; 可以在数据流图中加入物质流,帮助用户理解数据流图; 图上每个元素都必须有名字; 数据流图中不可夹带控制流; 初画时可以忽略琐碎的细节,以集中精力于主要数据流,例 2 :结构化分析方法步骤示例,商场业务处理系统 假设某商场的经营业务。 商场进货时,先发订货单给供应商,供应商收到订货单,将商品发给商场,商场货到付款,供应商收款后,将收据发给商场; 当顾客到商场采购商品时,先下购物订单,商场查询库存中是否有此种商品,若有则发货给顾客;若没有,则向供应商订货,货到之后再销售给顾客;顾客收到货物之后付款,商场开收据给顾客; 商场对货物的管理方面要求知道每种货物详细的销售情况。,分析业务流程:订货过程,分析业务流程:采购过程,第一步:绘制顶层数据流图( 1 ),基本思想,任何计算机系统都是有若干个数据源(终)点加上一个事务处理组成。 首先从问题的描述中提取数据流图中的源(终)点、数据处理、数据流和数据存储四种成份。 分析源(终)点 . 分析数据处理 分析数据流和数据存储,分析数据源点和终点:,如果将商场的购、销业务系统看成一个整体,则外部的与这个系统有交往的对象(机构、人员、或外部系统)是“供应商,和“顾客”,二者是商场购销系统源点和终点。,分析源点、终点与商场之间的数据流,数据流方向分别是: 供应商方给商场:发货单、货款收据 顾客给商场:订单、货款 商场给供货商:订货单、货款 商场给顾客:货物、收据,分析数据存储:,需要存储的数据分别是 库存信息 暂存订单(缺货订单) 采购订单 商品销售历史 资金帐目,第一步:绘制顶层数据流图( 2),第一步:绘制顶层数据流图( 3 ),第一步:绘制顶层数据流图( 3 ),第二步:将顶层数据流图细化,经过分析,商店业务处理的主要数据处理是销售、采购、会计三大数据处理,三者之间的数据流:,需要存储的数据有:,DFD/L2.2(采购细化),DFD/L2.1(销售细化),2 .5 数据词典( DD ,data dictionary ),DD 是对数据流图中包含的所有元素的定义的集合,使得每个图形元素的名字都有一个精确的、严格的定义。 数据流图和词典结合在一起,能清楚地表达数据处理的要求,构成 了“需求说明书”,2.5.1数据字典的内容,主要描述 数据流 数据元素 数据存储 数据处理,2.5.2定义数据的方法,1 、定义数据流,数据流名: 说明:简要介绍作用即它产生的原因和结果。 数据流来源:来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 数据量流通量:数据量,流通量,举例:,数据流定义:,2 、定义数据元素,数据元素(数据项)指数据处理中最小的,不可再分的单位。描述包括: 数据元素名: 类型:数字(离散值,连续值),文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构:,数据元素定义举例( 1 ),数据元素定义举例( 2 ),数据元素定义举例( 3 ),数据元素定义举例( 4 ),3 、定义数据存储,数据文件名: 简述:存放的是什么数据 输入数据: 输出数据 : 数据文件组成:数据结构 存储方式:顺序,直接,关键码 存取频率:,数据存储定义举例( 1 ),4 、定义数据处理,数据处理定义举例( 1 ),数据处理定义举例( 2 ),加工逻辑词条说明举例( 3 ), 源点及汇(终)点词条描述,名称:外部实体名 简要描述:什么外部实体 有关数据流: 数目:,3 . 5 数据规范化,1 、第一范式每个属性值都必须是原子值。 2 、第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定。 3 、第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述。 范式低,冗余大,范式高,分解得细,冗余小,但处理过程复杂。,3 . 6 状态转换图(STD ),为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。 状态转换图是一种常用的动态分析方法。 是描述系统的状态如何响应外部信号,而进行转换的一种图形表示。,3 . 6 . 1 状态,指任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。 主要有:初态、终态和中间状态。 一个状态图中,只能有一个初态,但可以有 0 多个终态。,3 . 6 . 2 事件,某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事情的抽象.,3 . 6 . 3 状态转换图符号,活动表语法:事件名(参数表)动作表达式 常用事件名: Entry、Exit、Do 动作表达式:应做的具体动作 事件表达式:触发状态转换的事件。 语法:事件说明 守卫条件动作表达式。 其中,事件说明的语法:事件名(参数表)。,电话系统的状态图,电话系统的状态图,电话系统的状态图,3 . 7其他图形工具,3 . 7 . 1层次方框图,3 . 7 . 2 Warnier图,3.7.3 IPO图,3 . 8 验证软件需求,问:从哪些方面验证软件需求的正确性?如何验证? 1 、一致性 自然语言书写的需求说明,只能用人工方法验证; 形式化方法定义的可以借助验证工具( 3 . 8 . 3 节) 2、完整性 需要用户参与、合作;建立快速原型。 3 、现实性 参照以往类似系统;进行仿真或性能模拟 4 、有效性,用于需求分析的软件工具,对采用形式化方法定义的需求进行验证的工具。应该满足下列要求: (1)必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容; (2)使用这个软件工具能够导出详细的文档; (3)必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果。 (4)使用这个软件工具之后,应该能够改进通信状况。 如:在 1977 年设计完成的 RSL (需求陈述语言)。 1977 年美
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年物流运输企业安全检查总结
- 小学四年级汉字书写规范训练计划
- 城市公共交通发展规划建议书
- 机械通气相关肺炎预防及护理对策
- 公路工程资料填写标准范本
- 企业员工自画像写作指导
- 供应链管理操作流程手册
- 初中英语定语从句测试与解析合集
- 工程项目合同争议解决方案
- 员工离职管理及劳动合同解除流程
- 食品配料人员培训
- 消防救援队伍灭火救援作战训练安全专题授课
- 公安审讯技巧培训
- 人教版2025初中物理实验室安全使用指南
- 考古调查勘探辅助工程方案投标文件(技术方案)
- 建筑幕墙知识培训课件
- 人教版高中地理必修第一册第一章宇宙中的地球第一节地球的宇宙环境练习含答案
- 星地激光通信技术-洞察分析
- 《室外管网工程施工》课件
- 餐饮外卖窗口改造方案
- 糖尿病足报告
评论
0/150
提交评论