需求分析过程_第1页
需求分析过程_第2页
需求分析过程_第3页
需求分析过程_第4页
需求分析过程_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、需求分析过程需求分析过程第1页软件需求 用户对目标软件系统在功效、行为、性能、设计约束等方面期望。需求分析阶段任务经过对问题及环境了解、分析,将用户需求准确化、完全化,最终形成需求规格说明,描述系统信息、功效和行为。技术和方法 初步需求获取技术 需求建模技术 快速原型技术 问题抽象、问题分解与多视点分析 4.1 需求分析基础 需求分析过程第2页软件需求分析产品用户需求 (系统分析产品) 系统需求软件需求规格说明(软件设计描述)需求规格说明是软件设计、实现、测试、维护基础。需求分析过程第3页用户需求、系统需求和软件设计描述用户需求用自然语言和图表描述说明系统必须提供哪些服务、系统运行要受哪些约束

2、系统需求详细说明系统将要提供服务以及系统受到约束准确描述软件功效系统买方和软件开发者签署协议主要内容软件设计描述在系统需求基础上,加入更详细内容,组成软件设计活动概要描述,是软件设计和实现基础需求分析过程第4页4.1.1 需求分析三个主要阶段 问题分析 需求描述 需求评审需求分析过程第5页1 问题分析建立问题分析系统模型。从不一样角度、不一样抽象等级准确地说明对问题了解、对目标软件需求。模型应帮助用户和分析人员发觉、排除用户需求不一致,不合理个别,挖掘潜在用户需求。模型是分析人员依据问题创建软件系统结构,包含与问题和环境相关信息流、处理功效、用户界面、行为及设计约束。模型是形成需求规格说明、进

3、行软件设计基础。需求分析过程第6页2 需求描述以需求模型为基础,考虑软件问题可解性,生成需求规格说明和初步用户手册。需求规格说明包含对目标软件系统外部行为完整描述、需求验证标准以及用户在性能、质量、可维护性等方面要求。用户手册包含用户界面描述以及相关目标软件使用方法初步构想。需求分析过程第7页3 需求评审对需求规格说明和初步用户手册进行评审,确保软件需求完全性、准确性和一致性,并使用户和软件设计人员对需求规格说明及用户手册了解达成一致。确认后需求规格说明应成为用户方与软件开发方协议一个别。需求分析过程第8页4.1.2 初步需求获取技术 1 访谈与会议分析人员应精心准备问题,经过用户对问题回答,

4、逐步了解用户对目标软件要求。 (1) 循序渐进 首先关心普通性、整体性问题,然后再讨论细节问题。 (2)客观、公正 不应限制用户在回答下列问题过程中自由发挥。 (3) 总结 问题汇总后应能反应软件或其子系统全貌,能覆盖用户对目标软件或其子系统在功效、行为、性能诸方面要求。 细节问题留待以后处理。需求分析过程第9页2 考查用户软件或其子系统业务流程学习用户相关业务知识,在用户帮助下了解用户软件或子系统业务流程,结合软件开发和应用经验提出新用户需求。3 联合小组建立软件开发方和用户方共同组成联合小组,小组组员对分析负有相同责任。联合小组要制订自己工作制度和计划,确定专门统计员,另设专员负责会议议程

5、和资料综合、整理。选择易于了解、比较简练、准确表示机制作为描述语言,如辅以文字说明流程图。需求分析过程第10页实例分析 家庭保安系统 问题描述: 家庭保安市场正以每年40%速度增加。希望建立一个基于微处理器家庭保安系统,它能够识别异常事件并采取对应防护办法。这些异常事件包含:非法侵入、火灾、水淹等。一旦异常情况被传感器探测出来,系统应自动经过电话向监控中心报警。另外,应允许户主对系统行为进行程序控制。需求分析过程第11页联合小组首先制订工作制度,明确议程。经过会议讨论,明确问题范围、问题与环境关系,并就开发软件产品必要性达成共识。列出问题及环境中相关对象,操作以及对象间相互作用。对象: 控制面

6、板、电话机、监控中心、烟雾传感器、门窗监视器、警报器等操作:接收传感器事件、用户编程控制、电话拔号、报警等。分析早期联合小组工作程序需求分析过程第12页对接收传感器事件、用户编程控制、电话报警等操作进行详细描述,可用流程图表示。提出约束,比如:造价不能超出3,000元,对传感器事件必须在1秒内作出响应,事件必须按优先级进行处理等。会后小组责任人对这些信息进行综合、整理,形成文档,该文档应能反应“家庭保安系统”全貌。需求分析过程第13页划分小组,分别处理用户编程控制和传感器监测两个子系统。目标是对子系统软件需求进行细化。对出现新对象、新操作、新约束应及时添加到对应子系统。确定子系统需求并形成文档

7、讨论子系统集成及需求验证标准。初步分析活动应形成结论性文档,该文档将作为后续分析活动基础。划分小组完成需求需求分析过程第14页 初步分析生成“家庭保安系统”个别需求文档“家庭保安系统”软件允许用户在安装时进行系统配置,实施对传感器监控并经过控制面板与用户进行信息交互。配置操作(1)指定每一传感器种类和编号;(2)设置开、关机密码;(3)指定报警电话号码;(4)指定报警延迟和电话重拔延迟时间(以秒为单位)。需求分析过程第15页当软件系统接收到传感器发出数据后,判别是否出现异常事件。假如是,则在指定延迟时间内拔报警电话号码,拔号操作将按照重拔延迟重复进行,直至电话接通。然后软件系统负责汇报时间、地

8、点和异常事件性质。开机后软件系统负责显示当前工作状态,接收并处理用户指令。需求分析过程第16页4.1.3 需求建模建立软件模型是分析活动关键。目标软件系统模型用来刻划系统所包括信息、处理功效及系统运行时外部行为。模型不应包括软件实现细节。选择图形符号表示信息流、处理功效及系统行为,以此来描述软件需求模型。需求分析过程第17页4.1.4 分析问题方法抽象 关注普通问题处理路径,以此指导特殊问题求解。注意用户描述抽象等级,统一规划系统行为。防止不一致性,降低分析工作量。分解 依据问题规模和复杂性进行分解,并对子问题展开深入分析。逐层分解,直至子问题规模降至适当程度。在问题分解过程中,要建立子问题之

9、间相互联络。必须遵照子问题内部紧藕合,子问题之间松藕合标准。需求分析过程第18页视点分解法 在分析早期,整体地把握一个大型问题软件需求是困难。需要从各个角度分别对问题进行了解和分析,然后再综合,到达全方面了解目需求分析视点 系统观点 用户观点 信息观点 功效观点 行为观点等。 整理、综适用户描述,应注意用户视点改变,防止遗漏。需求分析过程第19页4 .1.5 支持需求分析快速原型技术软件开发早期,快速建立目标软件系统原型,让用户对原型进行评定并提出意见。原型几经改进最终确定,设计和编码人员遵照原型确立外部特征实现软件产品。假如软件产品含有大量人机交互、可视输出、或者包括复杂算法,应采取快速原型

10、技术。对于复杂问题,可对一些子问题,尤其是用户界面,使用快速原型技术。需求分析过程第20页4.1.6 需求规格说明与评审产生需求规格说明并进行评审。需求规格说明应成为开发过程必须遵照指导标准。需求分析过程第21页需求规格说明1 引言 1.1需求规格说明目标 1.2软件产品作用范围 1.3定义、同义词与缩写 1.4参考文件 1.5需求规格说明概览2 普通性描述 2.1产品与其环境之间关系 2.2产品功效 2.3用户特征 2.4限制与约束 2.5假设与前提条件3 特殊需求附录索引需求分析过程第22页需求规格说明- 特殊需求描述3特殊需求 3.1功效或行为需求 3.1.1功效或行为需求1 3.1.1

11、.1引言 3.1.1.2输入 3.1.1.3处理过程描述 3.1.1.4输出 3.1.2功效或行为需求2 3.1.n功效或行为需求n 3.2外部界面需求 3.2.1用户界面 3.2.2硬件界面 3.2.3软件界面 3.3性能需求 3.4设计约束 3.4.1标准化约束 3.4.2硬件约束 3.5属性 3.5.1可用性 3.5.2安全性 3.5.3可维护性 3.5.4可移植性 3.6其它需求 3.6.1数据库需求 3.6.2用户操作需求 3.6.3工作场地需求需求分析过程第23页需求评审需求规格说明进入设计阶段之前,必须进行评审。假如发觉错误或缺点,应及时纠正或更改需求分析、模型,需求规格说明,并

12、重新评审。衡量需求规格说明标准 正确性 无歧义性 完全性 可验证性 一致性 可了解性 可修改性 可追踪性需求分析过程第24页4.2 需求分析建模需求分析方法结构化分析方法 面向对象分析方法需求分析模型数据建模功效建模行为建模需求分析过程第25页4.2.1需求分析方法六十年代未、七十年代初结构化设计盛行,结构化分析以结构化设计附产品身份出现。七十年代未期 Douglas Ross提出结构化分析术语 DeMarcoDEM79 进行推广,给出分析员能够创建信息流模型主要图形记号,提议将“数据字典”和“处理说明”作为信息流模型补充,並提供方法应用实例;结构化分析方法需求分析过程第26页结构化分析方法八

13、十年代早期JonesPAG80,GaneGAN82等人提出结构化分析方法一些变种,用于信息系统开发;八十年代中期 Ward、MellorWAR85、Hatiy和PirbhaiHAT87对结构化分析进行扩充支持实时、控制和嵌入式系统开发;Harel Pnueli研制了面向复杂实时反应式系统(Complex Real-time Reactive System)开发环境 STATEMATE。需求分析过程第27页4.2.2需求分析模型结构化分析模型需求分析过程第28页关键 数据字典 描述软件工程项目标全部数据对象中间层 实体-关系图、数据流图、状态-变迁图 实体-关系图 描述数据对象之间关系 数据流图

14、 功效建模基础 系统或子系统对数据实施变换、变换功效 提供信息分析信息 状态-变迁图 行为建模基础 系统行为模式(称“状态”)以及状态变迁方式4.2.2.1 结构化分析模型需求分析过程第29页结构化分析模型 最外层数据对象描述、加工规格说明PSPEC、控制规格说明CSPEC数据对象 表示实体-关系图中每个数据对象属性加工规格说明PSPEC 描述数据流图每个功效。 控制规格说明CSPEC 描述软件控制附加信息需求分析过程第30页4.2.2.2 数据建模 数据对象、属性和关系实体一关系图 实体关系图是数据模型基础,它描述数据对象、属性、及其关系。需求分析过程第31页1 数据对象、属性与关系数据对象

15、数据属性数据关系数据对象、属性与关系需求分析过程第32页数据对象 现实世界含有不一样特征和属性实体或事务标识,计算机软件描述并处理一组信息。如,事件、行为、角色、组织、地点、结构等。数据对象只封装数据,包含:数据流、数据源、外部实体数据个别,不封装操作。数据对象是相互关联。需求分析过程第33页属性 用“标识符、符号串和值”标识,描述数据对象性质。包含:(1)命名 标识数据对象(2)描述 描述数据对象性质(3)引用 建立数据对象之间联络数据对象属性是原子数据项,不包含内部数据结构。 数据对象任何属性有且仅有一个属性值。现实世界实体含有许多属性,分析人员只能考虑与应用问题相关属性。需求分析过程第3

16、4页数据对象描述例 汽车销售管理问题数据对象描述表. 汽车属性 制造商 型号 标识码 车体类型 颜色 买主 需求分析过程第35页关系数据对象按照某种关系相互连接用对象关系偶描述数据对象关系命名及内涵应反应描述问题删除与问题无关关系需求分析过程第36页 数据对象、属性与关系例 汽车销售问题数据对象、属性与关系 数据对象属性 数据对象 关系 制造商 汽车 生产 购车用户 汽车 购置需求分析过程第37页 描述系统全部数据对象组成和属性,描述数据对象之间关系图形语言。“一对一”(1:1) 一个对象A关联一个对象B,反之,一个对象B关联一个对象A。如,夫妻。“一对多”(1:N) 一个对象A关联多个对象B

17、,反之,一个对象B关联一个对象A。如,父子。“多对多”(N:M) 一个对象A关联多个对象B,反之,一个对象B关联多个对象A。如,叔侄。2 实体关系图(E-R方法,Entity-Relationship Approach)需求分析过程第38页老师职称性别职务姓名教工号教学生性别姓名系学号年级学课程课时学分课名课程号成绩1NMN老师-学生-课程E-R 图需求分析过程第39页人与车关系E-R 图人年纪地址驾驶证号姓名拥有车ID号制造模型实体类型制造商颜色拥有者NM需求分析过程第40页制造商ID类型制造车型ID号模型实体类型引擎传输NN协议货主运输许可证销售关系货栈NNN111NMM汽车业务销售E-R

18、图需求分析过程第41页汽车个别整体关系 用实体关系图表示数据对象层次结构及个别整体关系需求分析过程第42页汽车层次表示 需求分析过程第43页4.2.2.3 功效建模 数据流图与数据字典 数据流图实时系统扩充 (1). Ward & Mellor扩充 (2). Hatley & Pirhai扩充需求分析过程第44页1 数据流图与数据字典基于计算机信息处理系统由数据流和一系列加工组成,这些加工将输入数据流加工为输出数据流数据流图描述数据流和加工数据流图用图形符号表示数据流、加工、数据源及外部实体数据流图含有层次结构,支持问题分解、逐步求精分析方法它是数据驱动数据流图既能够表示基于计算机系统,也能够

19、表示软件需求分析过程第45页数据流图标识需求分析过程第46页顶层数据流图 伴随需求分析活动深入,较高抽象等级复杂加工逐步精化为一系列相互关联数据流和子加工。需求分析过程第47页数据流图精化与平衡逐层精化必须保持数据流图平衡数据流与加工精化必须保持一致需求分析活动只求对问题全方面、清楚了解,不考虑软件设计细节需求分析过程第48页例子:商店业务处理系统需求分析过程第49页第一层数据流图需求分析过程第50页加细每一个加工框 销售细化需求分析过程第51页采购细化需求分析过程第52页数据字典定义 数据字典由数据条目组成,数据字典描述、组织和管理数据流图数据流、加工、数据源及外部实体。数据字典用简练、清楚

20、、易了解文字描述条目,说明数据流图加工功效、性能、要求及设计约束等。数据流图与数据字典配套使用,完整地描述软件需求。需求分析过程第53页数据字典数据条目定义内容(1)名称与别名 数据流、数据源或外部实体标识;(2)数据类型;(3)何处使用怎样使用 输入流输出流加工表;(4)内容描述;(5)补充说明 如,取值范围与缺省值,相关设计约束等。需求分析过程第54页(1)数据流词条描述数据流名:说明:简明介绍作用即它产生原因和结果数据流起源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量需求分析过程第55页(2)数据元素词条描述数据元素名:类型:数字(离散值,连续值),文字

21、(编码类型)长度:取值范围:相关数据元素及数据结构:需求分析过程第56页(3)数据文件词条描述数据文件名:简述:存放是什么数据输入数据:输出数据:数据文件组成:数据结构存放方式:次序,直接,关键码存取频率:需求分析过程第57页(4)加工逻辑词条描述加工名:加工编号:反应该加工层次简明描述:加工逻辑及功效简述输入数据流:输出数据流:加工逻辑:简述加工程序,加工次序需求分析过程第58页(5)源点及汇(终)点词条描述名称:外部实体名简明描述:什么外部实体相关数据流:数目:需求分析过程第59页数据字典管理 大型软件项目标数据字典规模庞大,利用数据流分析工具对数据字典实施管理(1)对新数据条目进行重名检

22、验。(2)维护数据字典和数据流图一致性。(3)自动完成数据条目查询。 比如 : 该条目在何处使用?修改数据流图会对哪些数据条目产生影响?修改某个数据条目又会造成哪些影响? 需求分析过程第60页数据字典 定义数据条目标准 准确、简练,轻易了解。例 用形式语言语法定义机制描述数据条目 由组成 、次序连接 、选择连接An (=) 个重复连接( ) 可选数据原子语法成份用简明自然语言描述需求分析过程第61页“家庭保安系统电话号码”数据条目定义电话号码分机号外线号码分机号12外线号码(市话号码长话号码)长话号码(区号市话号码)区号任何长度为3数字串市话号码局号分局号局号444552分局号=任何长度为4数

23、字串需求分析过程第62页2 数据流图实时系统扩充实时系统 系统与现实世界实体交互含有时间特征。数据流 时间连续数据流 时间离散数据流(控制信号或事件)实时系统状态随时间及相关事件激励改变 。需求分析过程第63页数据流图实时系统扩充实时系统响应事件“加工”称“控制”,它在限定时间内完成对事件识别、输出,改变系统状态。实时系统软件对响应速度和可靠性要求比非实时系统软件高。在软件开发各个阶段都应关注实时控制部件性能和可靠性。需求分析过程第64页数据流图实时系统扩充 传统数据流方法不能胜任实时系统需求分析任务。为开发实时嵌入式系统,必须对传统方法进行扩充。Ward Mellor 在数据流图中引入实时图

24、形记号Hatley Pirbhai 在数据流图中引进状态加工图描述系统外部行为需求分析过程第65页实时嵌入式系统对软件要求在连续时间域内采集並生成信息流软件要及时处理控制信息必须在規定时间内完成与现实世界交互系统状态实时改变,存在状态迁移机制多任务场所,一个加工可能存在多个实例 需求分析过程第66页(1) Ward Mellor扩充符号扩充引入表示事件、连续数据流、控制及事件源图形符号。引入多任务环境下,同一控制多个进程实例。需求分析过程第67页Ward Mellor扩充 计算机控制水温监测与调整系统水温测量仪传给温度监控子系统测量数据是连续。温度监控子系统将水温数据与允许波动范围进行比较,然

25、后连续输出调整后温度值。需求分析过程第68页Ward Mellor扩充扩充图形记号能够和传统数据流图符号混合使用。加工可接收事件作为输入,控制也可接收数据作为输入。扩充数据字典,描述离散事件和连续数据流。数据流图对控制文字描述应包含响应时间、可靠性等约束。需求分析过程第69页 离散数据流(事件)与普通数据流机器人装配机械部件待装配部件处于就绪状态,“部件监控与操作员界面”过程读操作员命令处理操作员命令,发送“开启信号”命令“机器人初始化,发送“进程活跃信号”开启“移位命令处理”完成装配工作。需求分析过程第70页(2) Hatley Pirhai扩充建立实时系统过程模型和控制模型引进两个新图形记

26、号,用虚线表示控制流或事件流;虚符号和实符号分开,专门定义控制流图CFD;CFD定义控制流、表示控制加工並引入粗短线表示控制规格说明;控制规格说明指明(1)当事件发生或控制信号被感知时,软件行为(2)当某一事件发生时,激活相关加工部件需求分析过程第71页Hatley Pirhai扩充传统数据流图描述实时系统静态过程模型表示数据和数据加工数据流图元素没有时间意义控制流图描述实时系统动态过程模型表示事件在加工过程中改变,控制流图元素有时间意义需求分析过程第72页Hatley Pirhai扩充实时系统或子系统数据流图和控制流图含有同名“加工”控制流图“加工”称“进程”“加工激活表”指明加工造成必须激

27、活外部事件控制规格说明包含一系列建模工具需求分析过程第73页Hatley Pirhai扩充 实时系统模型需求分析过程第74页Hatley Pirhai扩充 过程模型和控制模型数据流图(过程模型)用来表示实时系统数据以及对数据进行操作过程控制流图用来描述进程之间控制流并刻画系统行为特征:每个事件所引发系统状态变更和进程活跃情况。过程模型和控制模型以数据流图和控制流图之间简单对应关系互为关联。过程模型过程规格说明可能产生事件输出,引发控制规格说明所描述状态加工。进程规格说明能够产生进程活跃信号,作用于数据流图。需求分析过程第75页Hatley Pirhai扩充 数据流图和控制流图对应关系例 复印机

28、控制软件 数据流图和控制流图需求分析过程第76页状态加工图需求分析过程第77页进程活跃表需求分析过程第78页4.2.2.4 行为建模 基于结构化分析扩展版本提出这种建模符号。状态-变迁图经过描述状态以及造成系统改变状态事件来表示系统行为。每个状态代表系统一个行为模式需求分析过程第79页控制流图需求分析过程第80页状态变迁图需求分析过程第81页4.2.2.5 实例分析以“家庭保安系统”为例展示结构化分析方法使用过程实体-关系图创建数据流模型创建控制流模型过程规格说明需求分析过程第82页0 实体-关系图步骤: 列出应用或业务过程包括”事物”,同时以数据对象形式给出。 分析各对象及对象之间关联,构件

29、一个或多个对象-关系对。 给出各对象正确基数和形态。 迭代执行以上步骤,直到将全部关系对分析完成。 定义各对象实体属性。 形式化并评审实体-关系图。 重复以上步骤,直到数据建模完成。需求分析过程第83页家庭安防系统个别数据对象以下:房主控制面板传感器安全系统监控服务房主控制面板传感器安全系统监控服务对象连接图需求分析过程第84页1 创建数据流模型数据流图是目标软件系统中各个处理子功效以及它们之间数据流动图形表示。数据流图精化过程是处理子功效和数据流细化过程。伴随这一过程进行,用户需求逐步准确化、一致化、完全化。利用数据流图DFD开发信息域和功效域模型。当DFD精化到较细等级时,分析员进行隐式功效分解,並造成对应数据精化。加工规格说明 PSPEC 描述输入信息、加工算法、产生输出结果,指明加工约束和限制、产品性能特征和工作环境等。需求分析过程第85页过程(1) 用一个园盘描述第0层软件/系统DFD图(2) 标识系统输入/输出(3) 精化 描述第I层数据对象、存放和加工 (4) 标识箭头和园盘(5) 对第I层信息流进行一致性维护(6) 对加工园盘逐一进行精化(7) 当第n层DFD图园盘己精化为轻易实现简单操作时,创建数据流模型过程仃止。 需求分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论