软件工程 第3章  需求分析_第1页
软件工程 第3章  需求分析_第2页
软件工程 第3章  需求分析_第3页
软件工程 第3章  需求分析_第4页
软件工程 第3章  需求分析_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第三章 需求分析,主要内容,需求分析概述需求分析方法需求获取方法相关描述工具需求验证需求评审需求管理需求分析规格说明,3.1需求分析概述,1、什么是需求分析软件需求分析也称为需求工程,是软件生命周期中重要的一步。对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程称为需求工程。需求分析应在可行性分析基础上进一步了解确定用户需求,对系统目标、规模、功能、性能、接口、约束等做进一步的详细论述,准确地回答“系统必须做什么?”的问题,获得需求规格说明书。,3.1需求分析概述,2、需求分析的重要性软件需求分析关系到软件系统开发的成败,是决定软件产品质量的关键。一个系统的失败,往往都是追溯到系统需求问题。需求分析规格说明既是软件生命周期的一个重要基线(里程碑),又是用户、软件开发人员、项目管理人员必须共同遵守的一个基线,它奠定了软件开发的基础。需求变更应履行严格的需求变更管理流程。,3.1需求分析概述,3、需求获取为什么难(1)需求具有动态性、不稳定性。(2)需求具有模糊性、不准确性。这与人员的素质、配合程度、理解能力、表述能力等有关。(3)需求需要取得用户和软件开发人员之间一致的理解和认可,责任重大。,3.1需求分析概述,4、需求分析的基本任务要准确地定义新系统的目标,为了满足用户需求,回答系统必须“做什么?”的问题,获得需求规格说明。需求分析报告:着重面向用户。需求分析规格说明书:着重面向软件开发人员。,3.1需求分析概述,4、需求分析的基本任务(1)确定系统的综合要求确定系统功能要求:这是最主要的要求,确定系统必须完成的所有功能。确定系统性能要求:应就具体系统而定,例如可靠性、联机系统的响应时间、存储容量、安全性能、错误响应等。确定系统接口要求:指系统与它的环境、第三方硬软件产品之间的通信方式、规约等。,3.1需求分析概述,4、需求分析的基本任务(1)确定系统的综合要求确定系统约束要求:指应遵守的限制条件,如标准规范、运算精度、开发工具、开发方法技术、运行环境、界面等方面的约束。确定系统运行要求:主要是系统运行时的环境要求,如系统软件、数据库管理系统、支撑软件、数据通信接口等.将来可能提出的要求:对将来可能提出的扩充及修改做预准备。,3.1需求分析概述,4、需求分析的基本任务(2)分析系统的数据要求数据:需要哪些数据、数据间联系、数据性质、结构。数据处理:处理的类型、处理的逻辑过程。,3.1需求分析概述,4、需求分析的基本任务(3)导出系统的逻辑模型通常系统的逻辑模型用数据流图DFD、系统流程图、系统结构图、业务流程图、实体联系图、状态转换图、主要的处理算法(IPO图)等描述。(4)修正系统的开发计划通过需求对系统的成本及进度有了更精确的估算,可进一步修改开发计划。,3.1需求分析概述,5、需求工程过程,3.1需求分析概述,5、需求工程过程问题分析阶段需求描述阶段需求验证阶段需求评审阶段,3.2需求分析方法,1、常见的需求分析方法(1)功能分析方法将系统看作若干功能模块的集合,每个功能又可以分解为若干子功能,子功能还可继续分解,分解的结果已经是系统的雏形。是一种面向业务流程、功能分解的需求分析方法。,3.2需求分析方法,1、常见的需求分析方法(2)结构化分析方法是一种面向数据流的需求分析方法,从画问题空间的数据流图DFD着手。(3)信息建模法着重强调从建立现实世界的模型入手(包括功能模型、信息模型、数据模型、行为模型、控制模型、决策模型等)。,3.2需求分析方法,1、常见的需求分析方法(4)原型化方法强调从初步分析,建立问题领域的原型入手。(5)动态行为分析法一个软件系统在运行过程中,构成系统的各元素(对象)的状态在改变,对象之间的联系也随时间在改变。采用动态行为分析方法,可以直观地分析系统的动作,描述系统的动态特性。常用的动态行为分析方法有状态迁移图、时序图、Petri网等。,3.2需求分析方法,1、常见的需求分析方法(6)面向对象的分析方法面向对象的分析方法OOA的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型(对象模型、行为模型、功能模型)。,3.2需求分析方法,1、常见的需求分析方法总结:各种需求分析方法、各种描述工具(图表)有不同的侧重点和视角。需求分析时往往要根据实际情况,合理选择、综合利用各种方法、技术、工具。,3.2需求分析方法,2、结构化分析方法SA结构化方法是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速,自然和方便。结构化方法总的指导思想自顶向下、逐步求精。它的基本原则是分解与抽象。,3.2需求分析方法,分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。,抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。,3.2需求分析方法,2、结构化分析方法SASA的描述方法:(1)分层的数据流图。(2)数据词典。(3)描述加工逻辑的结构化语言、判定表及判定树。,3.2需求分析方法,例医院病房监视系统,3.2需求分析方法,例医院病房监视系统,系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。,3.2需求分析方法,例医院病房监视系统,3.2需求分析方法,例医院病房监视系统,3.2需求分析方法,3、原型化方法,原型化方法进行系统的分析和构造有如下优点: (1)增进软件开发人员和用户对系统需求的理解。便于将用户模糊的功能需求明确化。(2)为用户提供了一种强有力的学习手段。(3)易于确定系统的功能、性能,是理解和确认软件需求规格说明的工具。,3.3需求获取方法,1、访谈一般采用个别访谈、召开相关人员座谈会等形式,可以分为正式访谈、非正式访谈两种。(1)正式访谈:分析员精心准备一些具体问题,有目的地进行询问、交流、确认。(2)非正式访谈:分析员提出一些开放性的问题,尽量鼓励、引导用户说出自己的想法。,3.3需求获取方法,2、问卷调查制定需求问卷调查表,由相关人员书面回答,或者由分析人员根据问卷调查表内容引导用户回答。然后进行分析、整理、综合。需求问卷调查表。,3.3需求获取方法,3、跟班作业现场跟班作业,通过跟踪实际业务操作、系统运行,可以了解到第一手资料。4、用户和开发方联合小组用户和开发方成立联合小组,用户方组织相关的业务人员、管理人员、技术人员、决策人员参与系统的分析设计是非常有益的。,3.3需求获取方法,5、讲解交流分析员将理解的需求、分析的相关图表文档,通过描述、幻灯片展示等手段向用户方组织的相关人员讲解、交流,可以有效提高需求的一致性、准确性。应面向用户中的操作层、管理层、决策层有重点地进行汇报。,3.3需求获取方法,6、快速建立原型快速建立用户可见的目标系统原型,与用户进行交流,可以增进软件开发人员和用户对系统需求的理解,便于将用户模糊的功能需求明确化。,3.3需求获取方法,7、需求分析师基本要求(1)善于培训、引导用户提出需求。(2)良好的交流、社会交往、语言表达能力。(3)善于倾听、把握重点,具备良好的总结、概括、抽象能力。(4)良好的文字功底。(5)熟悉软件技术。(6)熟悉需求分析方法、需求分析文档编写思路。,3.4实体-联系图,1、实体-联系图的作用实体-联系图用于建立概念数据模型(信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境。实体-联系图主要包括描述的实体、实体属性、以及实体之间的关系。2、实体实体可以是人、事物、事件、实际存在的东西、概念性的东西。是系统需要描述、刻画的对象。3、属性属性是实体的性质或特征,具体表现为一些信息项目。,3.4实体-联系图,4、联系一对一的联系(1:1):即一个实体只能对应一个实体。一对多的联系(1:n):即一个实体可对应多个实体。多对多的联系(m:n):即一个实体类型中的多个实体与另一个实体类型中的多个实体相联系。,3.4实体-联系图,5、实体-联系图表示法,3.4实体-联系图,例 教学管理,3.5状态转换图,1、状态转换图的作用状态转换图,也叫状态迁移图,描述系统的所有状态、以及引起状态转换的事件,来表示系统的行为,从而建立系统的行为模型(动态模型)。关于动态行为描述,请自学Petri网、形式规约技术等内容。,3.5状态转换图,2、 状态迁移图、状态迁移表,3.5状态转换图,例 电话系统的状态图,3.6层次方框图,1、层次方框图的作用层次方框图用树形结构的一系列多层次的矩形框描绘系统功能、系统构成、系统数据关系等的层次关系结构。,3.6层次方框图,2、某计算机公司全部产品的数据结构,3.7IPO图,1、IPO图的作用IPO图是输入、处理、输出图的简称,他是IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。一个IPO图通常用于描述一个处理算法、或一个处理过程。,3.7IPO图,2、银联卡处理过程,3.8需求验证,1、从那些方面验证软件需求的正确性一致性:所有需求必须是一致的,任何一条需求不能和其它需求互相矛盾。完整性:需求必须是完整的,规格说明书应包括用户需要的每一个功能、性能。现实性:可实现的。有效性:确实能够解决用户提出的问题。,3.8需求验证,2、如何验证软件需求(1)验证需求的一致性用非形式化(自然语言、图表)描述的需求分析成果只有靠人工验证。用形式化语言描述的需求分析成果可以借助于一些CASE工具来验证。,3.8需求验证,2、如何验证软件需求(2)验证需求的现实性应参照以往开发类似系统的经验、相同或相似行业的开发经验,来验证技术上是否可行。(3)验证需求的完整性和有效性最好的办法是建立一个原型,因为实际的用户很难从需求报告、需求分析规格说明中直观地了解到目标系统的状况。,3.9需求评审,以用户代表、专家、分析设计人员共同参与的会议形式进行。对需求分析规格说明进行一致性、完整性、有效性、现实性等方面评审。每次需求评审应有完整的记录(会议纪要)、需求评审表、评审结论,并经评审人员签字。如在评审过程中发现有错误或缺陷,应组织进行更改或弥补。若问题比较严重,则应重新组织评审;若问题比较简单,则应从管理角度建立合适的跟踪机制,确保修改到位。,3.10 需求管理,1、需求确认需求管理过程需要指定明确的负责人,负责与客户协商、交流并确认需求。2、需求评审组织需求评审活动。3、需求跟踪其主要内容是跟踪不符合项的改正情况。需求跟踪的意义在于,获得需求目前的实现状态,确保用户所有的需求都得到满足。,3.10 需求管理,4、需求变更制定、跟踪需求变更管理流程,有清晰的需求变更处理记录,同时应同步更新相关技术文档。

温馨提示

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

评论

0/150

提交评论