软件工程-第3章需求分析全解课件.ppt
《软件工程-第3章需求分析全解课件.ppt》由会员分享,可在线阅读,更多相关《软件工程-第3章需求分析全解课件.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程与软件开发工具软件工程与软件开发工具第第3章章 需求分析需求分析3.13.1需求分析概述需求分析概述3.23.2数据流图数据流图 3.33.3数据字典数据字典 3.43.4加工逻辑描述工具加工逻辑描述工具 3.53.5结构化分析方法结构化分析方法3.63.6复审复审 3.73.7需求分析人员需求分析人员 3.13.1软件需求分析概述软件需求分析概述3.1.1软件需求分析的任务通过对要解决的问题、用户的要求及其目标环通过对要解决的问题、用户的要求及其目标环境的研究、分析和综合,建立抽象级的分析模境的研究、分析和综合,建立抽象级的分析模型型准确地、完整地体现用户的功能和性能及其它准确地、完
2、整地体现用户的功能和性能及其它要求,规范地通过要求,规范地通过“软件需求规格说明书软件需求规格说明书”表表达出来。达出来。3.1.2 需求类型1.按内容分类软件需求代表系统的综合要求,包括以下几种类型:(1)系统功能需求系统功能需求指根据系统所能实现的功能要求,对于每一类功能或者有时对于每一个功能,需要弄清输入、加工和输出等需求。(2)系统性能需求按照系统的性能要求分类。例如联机系统的响应时间、系统需要的存储容量、后援存储器、重新启动、安全性和可靠性等方面的要求。3.1.2 需求类型(2)(3)系统运行需求这类要求集中表现为对系统运行时所处的环境、使用的资源、安全保密和用户界面的要求。如支持系
3、统运行的硬件和软件是什么,采取哪种数据库管理系统,需要什么样的外存储器和数据通信接口。(4)未来可能出现的问题就是把不属于当前系统开发范围的问题都明确地列出来,因为将来很可能会提出这些问题。这些问题主要是为了系统将来的扩充和修改做准备,当以后需要时就可以很容易地进行扩展和修改了。3.1.2 需求类型(3)2.2.按用户的期望分类按用户的期望分类(1)正常需求用户陈述的针对系统的目标。(2)期望需求隐式的需求,可能由于是非常基础的而用户没有显示的陈述,如人机交互的容易性、整体的操作正确性和可靠性,以及软件安装的容易性。(3)兴奋需求在用户的期望范围之外,如果实现将令人愉快和出乎意料。3.1.2
4、需求类型(4)3.按必要性分类(1)强制的需求是指除非软件与这些需求一致,则该软件是不可接受的(2)希望的需求是指这些需求将增进软件产品功能,但是如果缺乏的话也不是不可接受(3)任选的需求是指这个功能可有可无3.1.3 需求特性(1)正确性需求规格说明书中的功能、行为、性能描述必须与用户对目标软件产品的期望相吻合。(2)无歧义性对于用户、分析人员、设计人员和测试人员而言,需求规格说明书中的任何语法单位只能有唯一的语义解释。确保无歧义性的一种有效措施是在需求规格说明书中使用标准化术语,并对术语的语义进行显式的、统一的解释。(3)完整性需求规格说明书不能遗漏任何用户需求,具体地说,目标软件产品的所
5、有功能、行为、行为约束以及它在所有可能情况下的预期行为,均应完整地包含在需求规格说明书中。(4)可验证性对于规格说明书中的每一个需求,均应存在技术和经济上可行的手段进行验证和确认。3.1.3 需求特性(2)(5)一致性需求规格说明书的各部分之间不能相互矛盾。这些矛盾可以表现为术语使用方面的冲突,功能和行为方面的冲突,以及时序方面的前后不一致。(6)可理解性追求上述目标不应妨碍需求规格说明书对于用户、设计人员和测试人员的易理解性。特别是对于非计算机专业的用户而言,不宜在说明书中使用太多的专业化词汇。(7)可修改性需求规格说明书的格式和组织方式应保证能够比较容易地接纳后续的增删和修改,并使修改后的
6、说明书能够较好地保持其他各项属性。(8)可追踪性需求规格说明书必须将分析后获得的每项需求与用户的原始需求项清晰地联系起来,并为后续开发和其他文档引用这些需求项提供便利。关于需求分析关于需求分析如何看待需求如何看待需求理解需求和功能的区别 需求是需要分析的 需求一般不专一,是会变的(要注意应变)(1)积极的沟通。及时了解变化,并进行变更控制管理。(2)在系统的架构设计上,为变化做准备。面向对象也好、面向服务也好、三层也好、四层也好,我们为什么把代码分开层次,为什么提供那么多抽象的接口?都是为了应对变化,为了我们在这个需求像云彩一样变化的环境中能够适应。保持沟通渠道的畅通 需求分析的一般性技术为了
7、克服困难,更有效地开展需求分析工作,为了克服困难,更有效地开展需求分析工作,软件系统分析人员必须掌握一些基本的软件系统分析人员必须掌握一些基本的需求分需求分析技术析技术,主要包括:,主要包括:初步需求获取技术;初步需求获取技术;需求建模技术;需求建模技术;快速原型技术;快速原型技术;问题的分解与抽象;问题的分解与抽象;多视点分析技术等。多视点分析技术等。初步需求获取技术原原因因:在在分分析析阶阶段段的的初初期期,由由于于分分析析人人员员和和用用户户的的共共同同知知识识领领域域可可能能不不多多,致致使使分分析析人人员员对对问问题题往往往往知知之之不不多多,而而用用户户对对目目标标软软件件的的要要
8、求求及及对对要要求求的的描描述述常常常常是是零零乱乱而而模模糊糊的的,从从而而会会造成相互交流和相互理解上的困难。造成相互交流和相互理解上的困难。为为了了克克服服困困难难,获获取取初初步步需需求求,可可以以采采用用如如下下的的技术手段:技术手段:访谈与会议;访谈与会议;观察用户工作流程;观察用户工作流程;分析人员和用户组成联合小组。分析人员和用户组成联合小组。1访谈与会议分分析析人人员员采采用用个个别别访访谈谈或或小小组组会会议议的的形形式式与与用用户户进进行行初初步步交交流流。在在访访谈谈和和会会议议之之前前,分分析析人人员员根根据据对对问问题题的的初初步步描描述述精精心心准准备备一一系系列
9、列问问题题,通通过过用用户户对对问题的回答或互相商讨来逐步理解用户的需求。问题的回答或互相商讨来逐步理解用户的需求。准备问题的原则有:准备问题的原则有:首首先先应应搞搞清清一一般般性性、整整体体性性问问题题,然然后后再再涉涉及及细细节节问题。问题。在在组组织织问问题题时时要要尽尽量量做做到到客客观观、公公证证,不不应应限限制制用用户的自由发挥。户的自由发挥。所所提提问问题题汇汇总总后后应应能能反反映映应应用用问问题题及及其其子子问问题题的的全全貌、并且不要过分详细。貌、并且不要过分详细。2观察用户工作流程通通过过实实际际观观察察用用户户的的手手工工操操作作过过程程来来提提取新系统的初步用户需求
10、。取新系统的初步用户需求。第一手资料第一手资料软件开发和应用的经验软件开发和应用的经验发现不合理的用户需求、提出用户还发现不合理的用户需求、提出用户还没有意识到的潜在的但却很有价值的没有意识到的潜在的但却很有价值的用户需求用户需求获得用户满意的分析结果获得用户满意的分析结果观察手工操作过程观察手工操作过程3用户和开发人员共同组成联合小组目目的的:为为加加强强信信息息沟沟通通、减减少少误误解解和和避避免免产产生生遗遗漏漏、充分调动用户的积极性。充分调动用户的积极性。方法:方法:建立由开发方和用户方共同组成的联合小组。建立由开发方和用户方共同组成的联合小组。联合小组成员:联合小组成员:双方的分析人
11、员双方的分析人员 专门的记录员专门的记录员 负责会议议程的人员负责会议议程的人员 资料员资料员 另另外外:制制定定小小组组的的规规章章制制度度和和计计划划,选选定定一一种种易易于于理理解解、简简洁洁、精精确确的的表表示示机机制制作作为为双双方方的的共共同同语语言言,比如采用带文字说明的流程图等。比如采用带文字说明的流程图等。【例】这里以“家庭保安系统”为例,简要说明初步需求的获取过程。假设用户的原始需求描述如下:根根据据家家庭庭保保安安市市场场的的增增长长趋趋势势,我我们们希希望望建建立立一一种种基基于于微微处处理理器器的的家家庭庭保保安安系系统统,它它能能够够识识别别异异常常事事件件并并采采
12、取取相相应应的的报报警警措措施施。这这些些异异常常事事件件有有:非非法法进进入入、火火灾灾、水水淹淹,等等等等。当当传传感感器器一一旦旦探探测测出出相相应应的的异异常常事事件件时时,系系统统应应自自动动用用电电话话向向监监控控中中心心报报警警。此此外外,系系统统应应允允许许户主对其行为实施程序式控制户主对其行为实施程序式控制。【例】为进行初步的需求分析,这里采用开发方和用户方组为进行初步的需求分析,这里采用开发方和用户方组成联合小组的方法。为此,联合小组成联合小组的方法。为此,联合小组应制定工作制度应制定工作制度:每次会议开始前必须有确定的议程,小组成员必须针每次会议开始前必须有确定的议程,小
13、组成员必须针对议程进行充分准备并应形成文字。对议程进行充分准备并应形成文字。联合小组会议联合小组会议首先应明确问题的范围、问题与环境的首先应明确问题的范围、问题与环境的关系,并就开发软件产品的必要性达成共识。关系,并就开发软件产品的必要性达成共识。小组负责人要求小组负责人要求每位参加者每位参加者根据负责的范围列出应用根据负责的范围列出应用问题及环境中有关的对象、对象的操作及对象间的关问题及环境中有关的对象、对象的操作及对象间的关系。系。如:如:市场营销人员列出控制面板、电话机、监控中心市场营销人员列出控制面板、电话机、监控中心等对象和用户编程控制、电话拨号、报警等操作;等对象和用户编程控制、电
14、话拨号、报警等操作;负责传感器的用户可能列举烟雾传感器、门窗监负责传感器的用户可能列举烟雾传感器、门窗监视器、警报器等对象。视器、警报器等对象。【例】将对这些列举的对象和操作将对这些列举的对象和操作进行更详细的讨论进行更详细的讨论和描述和描述,比如,详细地描述接收传感器事件、,比如,详细地描述接收传感器事件、用户编程控制、电话报警等操作等。用户编程控制、电话报警等操作等。用户用户可能提出一些约束条件。比如,造价不应可能提出一些约束条件。比如,造价不应超过超过30003000元,对传感器事件的响应时间不得元,对传感器事件的响应时间不得超过超过1 1秒,事件必须按优先级顺序进行处理等秒,事件必须按
15、优先级顺序进行处理等等。等。小组负责人应对这些小组负责人应对这些信息加以整理信息加以整理并形成文档,并形成文档,该文档应能反映该文档应能反映“家庭保安系统家庭保安系统”的全貌。的全貌。【例】根根据据“家家庭庭保保安安系系统统”的的特特点点,将将联联合合小小组组分分成成两两个个小小组组,并并行行处处理理用用户户编编程程控控制制和和传传感感器器检检测测两两个个子子系系统统,以以便便使使子子问问题题的的软软件件需需求求进进一一步步细细化化,这这时时可可能能又又会会增增加加新新对对象象、新新操操作作、新新约约束束条条件件。在在子子系系统统的的需需求求基基本本明明确确并并形形成成文文档档后后,还还应应就
16、就子子系系统统的的整整合合及及需需求求验验证证标标准准等进行初步的讨论。等进行初步的讨论。初初步步需需求求分分析析应应形形成成结结论论性性文文档档。比比如如,经经过过初初步步的的需需求求分分析析,“家家庭庭保保安安系系统统”的的部部分分初初步需求文档如下:步需求文档如下:【例】“家家庭庭保保安安系系统统”的的软软件件允允许许用用户户在在安安装装时时进进行行系系统统配配置置,实实施施对对传传感感器器的的监监控控并并通通过过控控制制面面板板与与户户主主进进行行信信息交互。息交互。系系统统开开机机后后,软软件件系系统统负负责责显显示示系系统统当当前前的的工工作作状态,接收并处理户主的命令。状态,接收
17、并处理户主的命令。当当系系统统处处于于配配置置状状态态,软软件件系系统统允允许许户户主主进进行行配配置置操操作。作。配置操作包括:配置操作包括:指定每一传感器的种类和编号;指定每一传感器的种类和编号;设置开、关机密码;设置开、关机密码;指定报警电话号码;指定报警电话号码;指指定定报报警警延延迟迟和和电电话话重重拨拨延延迟迟时时间间(以秒为单位)。(以秒为单位)。当当系系统统处处于于监监视视状状态态时时,软软件件系系统统即即开开始始对对所所有有传传感感器器实实施施监监控控。当当软软件件系系统统接接收收到到传传感感器器发发出出的的数数据据后后,判判别别是是否否出出现现异异常常事事件件,如如果果是是
18、,则则经经过过指指定定的的延延迟迟时时间间即即开开始始拨拨报报警警电电话话号号码码,拨拨号号操操作作将将按按照照重重拨拨延延迟迟反反复复进进行行,直直至至电电话话接接通通。此此时时软软件件系系统统负负责责向向监监控控中心报告异常事件发生的地点、时间和性质。中心报告异常事件发生的地点、时间和性质。【例】以以上上文文档档没没有有包包括括约约束束条条件件、测测试试标标准准等等方方面面的内容。的内容。初初步步需需求求文文档档将将是是后后续续详详细细需需求求分分析析的的基基础础。在在此此基基础础上上,就就可可以以采采用用某某种种需需求求分分析析方方法法进进行详细的需求分析。行详细的需求分析。分分别别介介
19、绍绍几几种种详详细细的的需需求求分分析析方方法法和和其其中中最最重重要的需求建模技术,它们是:要的需求建模技术,它们是:“面向数据流的需求分析方法面向数据流的需求分析方法”;“面向数据的需求分析方法面向数据的需求分析方法”;“面向对象的需求分析方法面向对象的需求分析方法”。需求建模技术为为了了使使用用户户需需求求逐逐步步精精细细化化、完完全全化化、一一致致化化,通通常常采采用用需需求求建建模模技技术术,即即用用建建立立目目标标软软件件系系统统模模型型的的方方法法来来刻刻画画软软件件系系统统中中的的信信息息、处处理理功能和外部行为。功能和外部行为。通通常常,分分析析人人员员选选定定一一种种分分析
20、析方方法法,并并用用该该方方法法中中的的一一些些图图形形记记号号分分别别表表示示信信息息流流、处处理理功功能能和和系系统统行行为为,并并利利用用受受限限制制的的自自然然语语言言给给出出用用户户需需求求的的描描述述。这这种种模模型型的的表表示示机机制制还还应应具具有有良良好好的的结结构构化化能能力力,以以便便处处理理大大型型问问题题的的按按层次分解的问题。层次分解的问题。软软件件需需求求分分析析的的过过程程,实实际际上上是是软软件件模模型型的的建建造和不断完善的过程。造和不断完善的过程。需求建模的步骤在分析的初期,分析人员通过访谈、会议、实际观在分析的初期,分析人员通过访谈、会议、实际观 察、分
21、析现有系统等方法察、分析现有系统等方法获取初步的用户需求获取初步的用户需求。分析人员根据选定的一种分析方法,在初步用户需分析人员根据选定的一种分析方法,在初步用户需 求的基础上求的基础上构筑初步的模型构筑初步的模型作为开发方和用户相互作为开发方和用户相互 沟通的表示机制。沟通的表示机制。分析人员在用户的密切配合下,利用选定的分析方分析人员在用户的密切配合下,利用选定的分析方 法法不断地对模型进行精细化、一致化、完全化,不断地对模型进行精细化、一致化、完全化,直直 至获得满意的用户需求为止。至获得满意的用户需求为止。在在分分析析阶阶段段构构筑筑的的模模型型不不应应涉涉及及软软件件实实现现的的细细
22、节节,以以免免分分散散分分析析人人员员的的注注意意力力、限限制制软软件件设设计计人人员员为为提提高高软件质量和效率而选择实现方法的自由度。软件质量和效率而选择实现方法的自由度。需需求求分分析析结结束束时时确确立立的的软软件件模模型型是是生生成成需需求求规规格格说说明明的依据,也是软件设计和实现的基础的依据,也是软件设计和实现的基础。快速原型技术 如如果果按按照照传传统统的的软软件件开开发发方方法法,需需要要经经过过漫漫长长的的开开发发时时间间之之后后用用户户才才能能看看到到目目标标软软件件的的最最初初版版本本。此此时时用用户户常常常常会会提提出出许许多多修修改改意意见见,有有时时甚甚至至全全盘
23、盘否否定定,导导致致开开发发失失败败。为为了了降降低低开开发发风风险险,在在需需求求分析阶段常常采用快速原型技术。分析阶段常常采用快速原型技术。1 1快速原型技术的基本思想快速原型技术的基本思想 在在软软件件开开发发的的早早期期,快快速速开开发发一一个个目目标标软软件件系系统统的的原原型型,让让用用户户对对其其进进行行评评价价并并提提出出修修改改意意见见,然然后后开开发发人人员员根根据据用用户户的的意意见见对对原原型型进进行行改改进进。当当原原型型几几经经改改进进最最终终确确认认后后,它它将将直直接接进进化化成成软软件件产产品品,或或者者由由软软件件设设计计、编编码码人人员员按按照照模模型型所
24、所确确立立的的外外部部特征去实现软件产品。特征去实现软件产品。2采用快速原型技术的具体步骤采采用用一一种种分分析析方方法法生生成成一一个个软软件件系系统统或或其其中中所所关关心心部部分分的简化需求规格说明。的简化需求规格说明。对对该该规规格格说说明明进进行行评评审审通通过过后后,立立即即生生成成设设计计规规格格说说明明。为为了了快快速速生生成成原原型型,这这种种设设计计仅仅注注重重所所关关心心的的问问题题,如如软软件件的的总总体体结结构构、用用户户界界面面和和数数据据设设计计、或或者者某某个个复复杂杂的算法等等,不注重过程内部的控制流设计。的算法等等,不注重过程内部的控制流设计。使使用用可可重
25、重用用软软部部件件、用用户户界界面面自自动动生生成成器器等等工工具具快快速速生生成可运行的软件原型并通过测试成可运行的软件原型并通过测试。将原型提交给将原型提交给用户进行评价用户进行评价,以便征求改进意见。,以便征求改进意见。上上述述过过程程反反复复迭迭代代,直直至至用用户户完完全全满满意意。此此时时的的原原型型已已完完全全、准准确确地地反反映映了了目目标标软软件件在在所所关关心心方方面面的的需需求求,可可作为需求规格说明的一部分而成为软件设计的基础。作为需求规格说明的一部分而成为软件设计的基础。3快速原型技术的适用场合该该技技术术特特别别适适合合于于软软件件产产品品要要求求大大量量的的用用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 需求 分析 课件
限制150内