您好,欢迎访问三七文档
第三章需求分析3.1、需求分析的任务3.2、与用户沟通获取需求的方法3.3、分析建模与规格说明3.4、实体-联系图3.5、层次图和IPO图3.6、验证软件需求知识点需求分析概述需求分析的步骤获取需求的方法分析建模与工具验证软件需求需求分析概述可行性研究从概念上定义软件的总体目标,粗略地了解了用户的需求。需求分析进一步精化软件的作用范围,明确系统必须完成的功能,对目标系统提出完整、准确、清晰、具体的要求。需求获取面临的挑战客户说不清楚需求;需求易变性;问题的复杂性;对问题空间理解的不完备性与不一致性。需求分析由软件分析人员与用户共同完成。优秀需求具有的特性1.正确性:需求描述必须与用户对系统的期望相符;2.无歧义性:对用户、软件工程师而言,任何术语只能有惟一的语义解释;3.完整性:不能遗漏任何用户要求;4.一致性:需求的各个部分不能相互矛盾;5.可理解性:需求描述不应该使用太多专业化词汇;6.可修改性:应该保证能够比较容易接纳修改;7.可追踪性:将分析后的需求与原始需求联系起来。1.通过对目标问题、用户要求和目标环境的研究、分析和综合,建立抽象级的分析模型(AnalysisModel);2.准确地、完整地体现用户需要的功能、性能及其他要求,规范地通过“软件需求规格说明书”(SRS,SoftwareRequirementSpecification)表达出来。3.1需求分析的任务3.1需求分析的任务1.确定系统的综合要求2.分析系统的数据要求3.建立系统的逻辑模型4.修正系统开发计划5.复审、验证需求分析6.编写软件需求规格说明书73.1.1确定系统的综合要求提问并思考:如果你是一个用户,你会对将要开发的软件有哪些要求?3.1.1.确定系统的综合要求1、功能需求系统必须完成的所有功能(输入、输出、加工);2、性能需求系统必须满足的时间、空间约束,通常包括响应时间、信息量速率、容量、安全性等;1)强制的需求;2)希望的需求;3)可选的需求。系统与环境通信的格式:用户接口、硬件接口、软件接口、通信接口等;4、出错处理需求系统对环境错误如何处理,这类错误并不是由系统本身造成的。仅限于关键部分,尽可能少;5、接口需求3、可靠性需求定量指出系统的故障率和使用程度,一个衡量可靠性的参数是平均失效前时间(MTTF,MeanTimeToFailure),定义为随机变量、出错时间等的期望值。明确列出当前不属于系统开发范畴,将来很可能会提出的要求。7、逆向需求系统不应该做什么,选取澄清真实需求且可消除误解的逆向需求,且不需定量分析;8、将来可能出现的要求6、约束在设计或实现系统时应遵守的条件:精度、工具和语言约束、设计约束、标准、硬件平台;因此系统应该具备以下功能:⑴基本数据维护功能⑵基本业务功能⑶数据库管理功能⑷信息查询功能例1:有一个大学图书管理系统,该系统除了一般的图书管理功能外,还能够为学生和教工从其他图书馆借阅图书和文献资料提供服务。1.功能需求⑴基本数据维护功能:提供使用者录入,修改并进行维护基本数据的途径。基本数据包括读者的信息、图书资料的相关信息,可以对这些信息进行修改,更新。⑵基本业务功能:读者借、还书籍的登记管理功能,随时根据读者借、还书籍的情况更新数据库系统,如果书籍已经借出,可以进行预留操作,书籍的编目、入库、更新等操作。⑶数据库管理功能:对所有图书信息及读者信息进行统一管理维护的功能,对书籍的借还也要进行详细的登记,以便协调整个图书馆的运作。⑷信息查询功能:提供对各类信息的查询功能,如对本图书馆的用户借书信息,还书的信息,书籍源信息,预留信息等进行查询,对其他图书馆的书籍、资料源信息的查询功能。2.非功能需求①系统安全性需求:为保证系统安全性,对本图书馆的各项功能进行分级、分权限操作,对各类用户进行确认。对其它图书馆借阅图书和文献资料服务控制访问范围:如限IP、限用户等。②对系统可用性的需求:为了方便使用者,要求对所有交互操作提供在线帮助功能。③对系统查询速度的需求:要求系统在20S之内响应查询服务请求。④对系统可靠性的需求:要求系统失败发生率小于1%。3.领域需求例如:对“大学图书管理系统”,提出一些与图书管理的业务相关的需求:⑴图书编目要求按照《中国图书馆分类法》进行;⑵由于版权限制,某些文献资料只能在图书馆规定的阅览室阅读,并限制复制和打印。第一条需求是对遵循我国图书管理的规定,执行对图书的分类管理的标准。而第二条需求则是版权法对图书馆文献资料的保护的需要,描述了对一类文献资料有限制的使用和服务。16§3.1.2分析系统的数据要求提问并思考:如果你是设计者,除了上述需求以外,你觉得还需要得到哪些要求?答:软件系统本质上是信息处理系统,要考虑数据和数据处理的问题。3.1.2.分析系统的数据要求数据字典:不够直观;层次方框图;Warnier图;任何软件系统的本质都是信息处理系统。信息很大程度上决定了系统概貌。描绘数据结构:数据结构规范化:范式(NormalForms)消除数据冗余的程度。3.1.3.导出系统的逻辑模型数据流图数据字典实体-联系图状态转换图主要的处理算法导出详细的系统逻辑模型。教师姓名性别编号课程课程名学时学分教1N3.1.4.修正系统的开发计划修正在可行性分析阶段制定的初步的开发计划。3.2与用户沟通获取需求的方法20图:软件需求分析的通信途径分析小组成员主要包括领域专家、系统分析员;客户访谈问题分析与确认21与用户沟通的方法1、访谈2、面向数据流自顶向下求精3、简易的应用规格说明技术4、快速建立软件原型正式的访谈:具体问题的问答形式;非正式的访谈:开放式、交互性的问答。3.2.1.访谈书面调查:调查大量人员意见;情景分析技术:对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。1)能在某种程度上演示目标系统的行为,便于理解;2)用户在需求分析过程中始终扮演积极主动的角色。某出版社系统调查表编号提出问题1您在哪个部门工作?2出版业务流程是什么?3您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?7您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?3.2.2.面向数据流自顶向下求精分析的对象:可行性分析中得到的数据流图。主要目标:把数据流和数据存储定义到元素级别。结构化分析方法:面向数据流自顶向下逐步求精进行需求分析的方法。从数据流图的输出端数据流开始分析:确定数据元素的来源,初步定义有关的算法;确定数据元素的新的信息。决定了系统必须的最基本组成元素在复查的过程中进行数据流图的细化。面向数据流方法的分析过程1.沿数据流图回溯2.用户复查3.细化数据流图4.修正开发计划5.书写文档6.审查和复审1、沿数据流图回溯①依次确定每个数据元素的来源;②把数据元素的信息记录到数据字典中;③在IPO图中记录算法的简明描述;④在数据流图适当位置上补充数据流、数据存储和处理2、用户复查①分析员向用户解释数据的来源;②用户要及时纠正和补充分析员的认识;③它验证了已知的元素,补充了未知的元素;④分析员对系统的认识是一个螺旋式上升的过程。沿数据流图回朔用户复查细化数据流图修正开发计划书写文档审查和复审3、细化数据流图①根据功能分解把数据流图细化到更低的层次;②通过追踪这些细化的数据流图产生了新的问题,新的问题的答案可能在数据字典中增加新的条目,并且将产生新的算法;③细化过程中注意及时的更新数据字典;4、书写文档①系统规格说明②数据要求③用户系统描述④修正的开发计划沿数据流图回朔用户复查细化数据流图修正开发计划书写文档审查和复审1.必须理解并描述问题的信息域,根据这条准则应该建立数据模型。2.必须定义软件应完成的功能,这条准则要求建立功能模型。3.必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。4.必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。所有的结构化分析方法都遵守下述准则:3.2.3.简易的应用规格说明技术是一种面向团队的需求收集方法,是一种主流技术。它提倡用户与开发者密切合作、共同标识问题、提出解决方案,确定基本需求。前两种方法中,用户比较被动。初步访谈召开会议小组讨论汇总需求简易的应用规格说明技术进行初步的访谈,初步确定待解决的问题的范围和解决方案。开发者和用户分别写出“产品需求”会议前准备开会讨论起草完整的软件需求规格说明书3.2.4快速原型法快速原型:快速建立起来的旨在演示目标系统主要功能的可运行的程序。快速:快速的提供给用户一个可运行的软件;容易修改:根据用户的要求可迅速构建新的原型;是最准确、有效和强大的需求分析技术。问题:成本问题;方法和工具问题。快速建立软件原型为了快速地构建和修改原型,通常使用下述3种方法和工具:(1)第四代技术(2)可重用的软件构件(3)形式化规格说明3.3分析建模与规格说明什么是模型?模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。模型通常由一组图形符号和组织这些符号的规则组成。模型的作用在建模过程中了解系统;通过抽象降低复杂性;有助于回忆所有的细节;有助于开发小组间的交流;有助于与用户的交流;为系统的维护提供文档。3.3.1分析建模结构化分析实质上是一种创建模型的活动。需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。36结构化分析方法(StructuredAnalysis,SA)面向数据流进行需求分析的方法适合于数据处理类型软件的需求分析结构化分析模型的组成结构结构化分析方法的本质是创建模型的活动数据模型:E-R图(ERD),描述数据对象,数据对象之间的关系;功能模型:数据流图(DFD),描述数据在系统中流动,变换的逻辑过程;行为模型:状态转换图(STD),描绘了系统的各种行为模式和在不同状态之间转换的方式;模型中心:数据字典(DD)。3.3分析建模与规格说明3.3.2.软件需求规格说明(SRS)SoftwareRequirementSpecification通常用自然语言+模型,完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。软件需求规格说明书,是需求分析阶段得出的最主要的文档。软件需求说明书的编写提示(GB856T—88)软件需求说明书的编写提示1引言1.1编写目的1.2背景1.3定义1.4参考资料2任务概述2.1目标2.2用户的特点2.3假定和约束软件需求说明书的编写提示3需求规定3.1对功能的规定3.2对性能的规定3.2.1精度3.2.2时间特性要求3.2.3灵活性3.3输人输出要求3.4数据管理能力要求3.5故障处理要求3.6其他专门要求4运行环境规定4.1设备4.2支持软件4.3接口4.4控制3.4数据模型的表示方法:实体-联系图在数据处理中用数据模型描述客观世界中的事物及其联系。数据模型中包含3种相互关联的信息:1.数据对象(实体),2.数据对象的属性,3.数据对象间相互连接的关系。3.4.1数据对象(实体)§数据对象:是对软件必须理解的复合信息的抽象。§复合信息:是指具有一系列不同性质或属性的事物,仅有单个值的事物(例如,宽度)不是数据对象。§可以由一组属性来定义的实体都可以被认为是数据对象。如:外部实体、事物、行为、事件、角色、单位、地点或结构等。§数据对象彼此间是有关联的。3.4.2属性属性定义了数据对象的性质。必须把一个或多个属性定义为“标识符”,也就是说,当我们希望找到数据对象的一个实例时,用标识符属性作为“关键字”(通常简称为“键”)。应该根据对所要解决的问题的理解,来确定特定数据对象的一组合
本文标题:第3章需求分析详解
链接地址:https://www.777doc.com/doc-5444839 .html