软件工程第3章结构化分析与设计3-1章需求分析和结构化系统分析CUMT2dps

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《计算机网络》课件制作人:谢希仁王荣存博士rcwang@cumt.edu.cn第3-1章需求分析和结构化系统分析第3章结构化分析与设计3-1.1需求分析概述3-1.2需求获取3-1.3需求分析原则3-1.4需求规格说明3-1.5传统的软件需求分析基础软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域——需求工程。90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。3-1.1需求分析概述3-1.1.1需求分析的内容软件需求的重要性软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件。美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。完成并实施完成未实施未完成分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。未完成完成未实施完成需求:成功的软件开发的前提软件质量=系统所实现的需求/客户所期望的需求软件项目投标及签订合同的基础软件系统实现的基础系统确认移交的基础需求的定义IEEEStandardGlossaryofSoftwareEngineeringTerminology用户解决一个问题或达到一个目标所需要的一种状况或能力系统为了满足一种约定、标准、规格说明或其它正式文件而必须满足或拥有的一种状况或能力以上两种状态或能力的文档化表示主观需求客观需求需求文档IEEE公布的需求定义分别从用户和软件工程师的角度阐述了什么是需求,需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档。比较通俗的需求定义如下:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。软件需求用户需求系统需求功能需求非功能需求领域需求由客户管理员、用户等提出功能需求它是对系统应该提供的服务、功能以及系统在特定条件下的行为的描述。它与软件系统的类型、使用系统的用户等相关,有时需要详细描述系统的功能、输入/输出、异常等,有时还需要申明系统不应该做什么。领域需求是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束。课件制作人:谢希仁非功能需求产品需求机构需求外部需求互操作需求道德需求立法需求性能需求空间需求交付需求实现需求标准需求隐私需求安全性需求可用性需求效率需求可靠性需求可移植性需求课件制作人:谢希仁3-1.1.2需求类型1.按内容分类软件需求代表系统的综合要求,包括以下几种类型:(1)系统功能需求系统功能需求指根据系统所能实现的功能要求,对于每一类功能或者有时对于每一个功能,需要书弄清输入、加工和输出等需求。(2)系统性能需求按照系统的性能要求分类。例如联机系统的响应时间、系统需要的存储容量、后援存储器、重新启动、安全性和可靠性等方面的要求。课件制作人:谢希仁(3)系统运行需求这类要求集中表现为对系统运行时所处的环境、使用的资源、安全保密和用户界面的要求。如支持系统运行的硬件和软件是什么,采取哪种数据库管理系统,需要什么样的外存储器和数据通信接口。(4)未来可能出现的问题就是把不属于当前系统开发范围的问题都明确地列出来,因为将来很可能会提出这些问题。这些问题主要是为了系统将来的扩充和修改做准备,当以后需要时就可以很容易地进行扩展和修改了。课件制作人:谢希仁2.按用户的期望分类(1)正常需求用户陈述的针对系统的目标。(2)期望需求隐式的需求,可能由于是非常基础的而用户没有显示的陈述,如人机交互的容易性、整体的操作正确性和可靠性,以及软件安装的容易性。(3)兴奋需求在用户的期望范围之外,如果实现将令人愉快和出乎意料。课件制作人:谢希仁3.按必要性分类(1)强制的需求是指除非软件与这些需求一致,则该软件是不可接受的。(2)希望的需求是指这些需求将增进软件产品功能,但是如果缺乏的话也不是不可接受。(3)任选的需求是指这个功能可有可无。课件制作人:谢希仁3-1.1.3需求特性(1)正确性需求规格说明书中的功能、行为、性能描述必须与用户对目标软件产品的期望相吻合。(2)无歧义性对于用户、分析人员、设计人员和测试人员而言,需求规格说明书中的任何语法单位只能有唯一的语义解释。确保无歧义性的一种有效措施是在需求规格说明书中使用标准化术语,并对术语的语义进行显式的、统一的解释。课件制作人:谢希仁(3)完整性需求规格说明书不能遗漏任何用户需求,具体地说,目标软件产品的所有功能、行为、行为约束以及它在所有可能情况下的预期行为,均应完整地包含在需求规格说明书中。(4)可验证性对于规格说明书中的每一个需求,均应存在技术和经济上可行的手段进行验证和确认。课件制作人:谢希仁(5)一致性需求规格说明书的各部分之间不能相互矛盾。这些矛盾可以表现为术语使用方面的冲突,功能和行为方面的冲突,以及时序方面的前后不一致。(6)可理解性追求上述目标不应妨碍需求规格说明书对于用户、设计人员和测试人员的易理解性。特别是对于非计算机专业的用户而言,不宜在说明书中使用太多的专业化词汇。课件制作人:谢希仁(7)可修改性需求规格说明书的格式和组织方式应保证能够比较容易地接纳后续的增删和修改,并使修改后的说明书能够较好地保持其他各项属性。(8)可追踪性需求规格说明书必须将分析后获得的每项需求与用户的原始需求项清晰地联系起来,并为后续开发和其他文档引用这些需求项提供便利。课件制作人:谢希仁3-1.2需求分析(工程)的活动需求工程是系统工程和软件工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。它也提供现实需求和软件能力之间的桥梁。需求工程系统目标系统服务软件约束运行环境课件制作人:谢希仁需求工程的基本活动包括:●获取需求;深入实际,在充分理解用户需求的基础上,获取系统需求。●需求分析与建模;进行需求建模、对模型或原型进行分析。●确认需求;确保需求说明准确、完整地表达系统的主要特性。●进化需求。客户的需要总是不断(连续)增长的,进化需求是必要的。课件制作人:谢希仁是需求工程的主体。●缺乏领域知识,应用领域的问题常常是模糊的、不精确的;●存在默认的知识,如难以描述的常识问题;●存在多个知识源,且多知识源之间可能有冲突;●客户可能的偏见,如不能提供或不想告知你所需要了解的事情。——非常困难,主要原因有:3-1.2.1需求获取(requirementelicitation)课件制作人:谢希仁需求获取技术需求抽取的方法一般有:1.面谈法重要而直接,简单的需求获取技术。2.问卷调查法是对面谈法的补充。3.需求专题讨论会最有力的需求获取技术。有利于培养高效团队。4.观察用户的工作流程适用于用户无法准确表达需求的情况。5.原型化方法6.基于用例的方法还有知识工程方法等如:场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。面谈的对象主要有用户和领域专家:1)面谈前的准备要充分;2)面谈后注意认真分析总结;3)注意掌握面谈的人际交流技能。课件制作人:谢希仁需求抽取的方法一般有:1.面谈法重要而直接,简单的需求获取技术。2.问卷调查法是对面谈法的补充。3.需求专题讨论会最有力的需求获取技术。有利于培养高效团队。需求获取技术是从多个用户中收集需求信息的有效方式,一般问卷设计形式:1)多项选择问题;2)评分问题;3)排序问题。由开发方和用户方共同召开,操作步骤:①开发方根据双方制定的《需求调研计划》召开相关需求主题沟通会;②会后开发方整理出《需求调研记录》提交给用户方确认;③如果此主题还有未明确的问题则再次沟通,否则开始下一主题;④所有需求都沟通清楚后,开发方根据历次《需求调研记录》整理出《用户需求说明书》,提交给用户方确认签字。课件制作人:谢希仁需求抽取的方法一般有:4.观察用户的工作流程适用于用户无法准确表达需求的情况。5.原型化方法6.基于用例的方法需求获取技术课件制作人:谢希仁因此系统应该具备以下功能:⑴基本数据维护功能⑵基本业务功能⑶数据库管理功能⑷信息查询功能例1:有一个大学图书管理系统,该系统除了一般的图书管理功能外,还能够为学生和教工从其他图书馆借阅图书和文献资料提供服务。课件制作人:谢希仁1.功能需求⑴基本数据维护功能:提供使用者录入,修改并进行维护基本数据的途径。基本数据包括读者的信息、图书资料的相关信息,可以对这些信息进行修改,更新。⑵基本业务功能:读者借、还书籍的登记管理功能,随时根据读者借、还书籍的情况更新数据库系统,如果书籍已经借出,可以进行预留操作,书籍的编目、入库、更新等操作。课件制作人:谢希仁⑶数据库管理功能:对所有图书信息及读者信息进行统一管理维护的功能,对书籍的借还也要进行详细的登记,以便协调整个图书馆的运作。⑷信息查询功能:提供对各类信息的查询功能,如对本图书馆的用户借书信息,还书的信息,书籍源信息,预留信息等进行查询,对其他图书馆的书籍、资料源信息的查询功能。课件制作人:谢希仁2.非功能需求①系统安全性需求:为保证系统安全性,对本图书馆的各项功能进行分级、分权限操作,对各类用户进行确认。对其它图书馆借阅图书和文献资料服务控制访问范围:如限IP、限用户等。②对系统可用性的需求:为了方便使用者,要求对所有交互操作提供在线帮助功能。③对系统查询速度的需求:要求系统在20S之内响应查询服务请求。④对系统可靠性的需求:要求系统失败发生率小于1%。课件制作人:谢希仁3.领域需求例如:对“大学图书管理系统”,提出一些与图书管理的业务相关的需求:⑴图书编目要求按照《中国图书馆分类法》进行;⑵由于版权限制,某些文献资料只能在图书馆规定的阅览室阅读,并限制复制和打印。第一条需求是对遵循我国图书管理的规定,执行对图书的分类管理的标准。而第二条需求则是版权法对图书馆文献资料的保护的需要,描述了对一类文献资料有限制的使用和服务。课件制作人:谢希仁需求分析和建模又包含三个层次的工作。1、需求分析2、需求建模(分为企业建模、功能需求建模和非功能需求建模等)3、需求规格说明—不同的描述方式。主要对收集到的需求进行提炼、分析和认真审查,确保所有参加人员取得一致共识。找出错误、遗漏和不足,建立完整的分析模型。3-1.2.2需求分析与建模需求分析常用技术为了降低软件的复杂度,便于对问题的分析和理解,常采用以下技术:1.分解将大问题分解为小问题,通常是自顶而下,不断细化的过程。2.抽象抓住问题的本质特性,从不同抽象层次进行分析,提出解决问题的方案。3.多视点注意从各类开发人员和不同用户的角度考虑问题,才能获得对系统的全面完整的需求。需求规格说明软件需求规格说明是分析任务的最终产物,美国国家标准局、IEEE以及美国防部门均已提出了软件需求规约(以及其他软件工程文档)的候选格式。软件需求规格说明必须正确地定义所有的软件需求;除了设计上的特殊限制之外,软件需求规格说明中一般不描述任何设计、验证或项目管理的细节。需求必须描述的基本问题功能——所设计的软件要做什么;性能——软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等等;强加给实现的设计限制——在效果、实现的语言、数据库完整性、资源限制、操作环境等等方面所要求的标准;属性——可移植性、正确性、可维护性及安全性等方面的考虑因素;外部接口——与人、硬件、其他软件和其他硬件的相互关系。软件需求规格说明的大纲1前言1.1目的1.2范围1.3定义、缩写词、略语1.4参考资料2项目概述2.1产品描述2.2产品功能2.3用户特点2.4一般约束2.5假设和依据3具体需求3.1功能需求3.1.1功能需求13.1.1.1引言3.1.1.2输入3.1.1.3加工3.1.1.4输出3.1.2功能需求2…

1 / 139
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功