【教学课件】第9章面向对象的需求获取.ppt
《【教学课件】第9章面向对象的需求获取.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第9章面向对象的需求获取.ppt(158页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第九九章章 面向面向对对象的需求象的需求获获取取与需求分析与需求分析 n需求获取是获得系统必要的特征,或者获得客需求获取是获得系统必要的特征,或者获得客户能接受的、系统必须满足的约束。户能接受的、系统必须满足的约束。n需求工程的目标是定义构造系统的需求。需求需求工程的目标是定义构造系统的需求。需求工程主要包括两个活动:工程主要包括两个活动:n(1 1)需需求求获获取取,即即导导出出用用户户可可理理解解的的系系统统规规格说明;格说明;n(2 2)需求分析,其结论是给开发者无二义性)需求分析,其结论是给开发者无二义性解释的分析模型。解释的分析模型。n在这两个活动中,需求获取更具有挑战性,因在这两
2、个活动中,需求获取更具有挑战性,因为需求获取需要在多个具有不同背景的参与者为需求获取需要在多个具有不同背景的参与者团队之间进行协作。团队之间进行协作。n采用场景和用例的沟通技术是弥补上述代沟的采用场景和用例的沟通技术是弥补上述代沟的有力工具。有力工具。n场景场景表达了用户和系统之间的一系列交互,描表达了用户和系统之间的一系列交互,描述了一个系统实例。述了一个系统实例。n用例用例是对一类场景所进行的抽象。是对一类场景所进行的抽象。n场景和用例两者均用自然语言描述,这一形式场景和用例两者均用自然语言描述,这一形式对用户而言是易于理解的。对用户而言是易于理解的。9.19.1面向对象的需求获取概述面向
3、对象的需求获取概述 n需求获取需求获取是关于开发者、客户和用户之间为了是关于开发者、客户和用户之间为了定义新系统而进行的沟通。定义新系统而进行的沟通。n在需求获取过程中,如果无法及时发现所犯错在需求获取过程中,如果无法及时发现所犯错误,将使得整个系统交付延迟。误,将使得整个系统交付延迟。n这里所提到的错误包括:丢失了系统必须支持这里所提到的错误包括:丢失了系统必须支持的功能、不正确的功能描述、引起误导或不可的功能、不正确的功能描述、引起误导或不可用的用户界面,以及无用功能等。用的用户界面,以及无用功能等。n需求获取方法的需求获取方法的目标目标,就是为了提高开发者、,就是为了提高开发者、客户和用
4、户之间的沟通。客户和用户之间的沟通。9.1.1 9.1.1 对需求获取的总的看法对需求获取的总的看法 n需求获取需求获取将注意力放在系统目标的描述上。将注意力放在系统目标的描述上。n开发者、客户和用户共同标识了一个问题域,开发者、客户和用户共同标识了一个问题域,定义了解决这一问题域的系统。这类定义称为定义了解决这一问题域的系统。这类定义称为需求规格说明,这类定义可用于开发者和用户需求规格说明,这类定义可用于开发者和用户之间的沟通。之间的沟通。n在分析过程,形式化需求规格说明,以产生分在分析过程,形式化需求规格说明,以产生分析模型。析模型。n需求规格说明和分析模型之间的区别,仅仅在需求规格说明和
5、分析模型之间的区别,仅仅在于其所用语言和记号的不同;于其所用语言和记号的不同;n需求规格说明通常用自然语言来书写,而分析模型需求规格说明通常用自然语言来书写,而分析模型通常用形式化或半形式化方式表示出来。通常用形式化或半形式化方式表示出来。n需求规格说明支持客户和用户之间的沟通。分析模需求规格说明支持客户和用户之间的沟通。分析模型支持开发者之间的沟通。型支持开发者之间的沟通。n需求获取和分析应该将注意点放在用户对系统需求获取和分析应该将注意点放在用户对系统的看法上。的看法上。n需求获取包括如下活动:需求获取包括如下活动:n(1 1)标识参与者。)标识参与者。n(2 2)标识场景。)标识场景。n
6、(3 3)标识用例。)标识用例。n(4 4)求精用例。)求精用例。n(5 5)标识用例之间的关系。)标识用例之间的关系。n(6 6)标识非功能需求。)标识非功能需求。n在需求获取期间,开发者将访问不同的信息资在需求获取期间,开发者将访问不同的信息资源,包括:源,包括:n客户所提供的、与应用域相关的文档和手册客户所提供的、与应用域相关的文档和手册n将被未来系统替换的遗留系统的技术文档;将被未来系统替换的遗留系统的技术文档;n用户和客户本人。第三个方面是最重要的信息资用户和客户本人。第三个方面是最重要的信息资源,因为开发者在需求获取活动期间的最多活动源,因为开发者在需求获取活动期间的最多活动是与用
7、户和客户之间的交流。是与用户和客户之间的交流。n在需求工程期间,常常使用一种称为在需求工程期间,常常使用一种称为联合应用联合应用设计设计(Joint Application DesignJoint Application Design,JADJAD)的)的沟通技术,即用户和开发者联合开发需求规格沟通技术,即用户和开发者联合开发需求规格说明,将注意点放在营造开发者、用户和客户说明,将注意点放在营造开发者、用户和客户之间容易进行沟通的气氛上。之间容易进行沟通的气氛上。n需求工程中的跟踪性将注意点放在记录、形式需求工程中的跟踪性将注意点放在记录、形式化、联结、分组和操作需求之间的依赖关系,化、联结、
8、分组和操作需求之间的依赖关系,以及需求和其它工作产品之间的依赖关系上。以及需求和其它工作产品之间的依赖关系上。9.1.2 9.1.2 需求获取概念需求获取概念 n1.1.功能需求功能需求 n功能需求功能需求描述了系统与其独立于系统实现的环描述了系统与其独立于系统实现的环境之间的交互。境之间的交互。n环境包括用户和任何其它与该系统进行交互的环境包括用户和任何其它与该系统进行交互的外部系统。外部系统。对卫星表的功能需求描述对卫星表的功能需求描述 n卫星表是一种利用全球定位系统(卫星表是一种利用全球定位系统(Global Global Positioning SystemPositioning Sy
9、stem,GPSGPS)显示使用者所在)显示使用者所在地时间的手表,该手表具有确定位置和时区转地时间的手表,该手表具有确定位置和时区转换功能。卫星表通过卫星将位置信息存储到手换功能。卫星表通过卫星将位置信息存储到手表中,使得手表拥有者无需留心对时间的调整。表中,使得手表拥有者无需留心对时间的调整。当手表拥有者跨越时区时,或跨越执行夏令时当手表拥有者跨越时区时,或跨越执行夏令时的行政边界时,卫星表会自动调整时间和日期。的行政边界时,卫星表会自动调整时间和日期。卫星表的显示面板有两行,上面一行显示时间卫星表的显示面板有两行,上面一行显示时间(时、分、秒、时区),下面一行显示日期(时、分、秒、时区)
10、,下面一行显示日期(星期、日、月、年)。卫星表通过购买手表(星期、日、月、年)。卫星表通过购买手表时配送的串行设备进行升级。时配送的串行设备进行升级。2.2.非功能需求非功能需求n非功能需求非功能需求描述了不直接关联到系统功能行为描述了不直接关联到系统功能行为方面。方面。n根据根据JacobsonJacobson等人提出的等人提出的FURPS+FURPS+模型,我们将模型,我们将非功能需求分非功能需求分4 4类,即可用性、依赖性、性能类,即可用性、依赖性、性能和可维护性。和可维护性。nFURPSFURPS为如下英文单词首字母的缩写:为如下英文单词首字母的缩写:FunctionalFunctio
11、nal,UsabilityUsability,ReliabilityReliability,PerformancePerformance和和SupportabilitySupportability,即功能、可,即功能、可用性、可靠性、性能和可维护性的缩写。用性、可靠性、性能和可维护性的缩写。n可用性可用性包括用户可学会的操作、对输入需要进行包括用户可学会的操作、对输入需要进行的准备、对一个系统可进行的解释以及对输出状的准备、对一个系统可进行的解释以及对输出状况的分析等。况的分析等。n可靠性可靠性使得我们对系统提交的服务具有足够的使得我们对系统提交的服务具有足够的信心。信心。n它包括它包括可靠性
12、可靠性,即系统或构件在指定条件下和给定,即系统或构件在指定条件下和给定时间内完成其所要求功能的能力;时间内完成其所要求功能的能力;n健壮性健壮性,即在不正确输入或者压力环境下,系统或,即在不正确输入或者压力环境下,系统或构件能正确完成功能的程度;构件能正确完成功能的程度;n安全性安全性,即当缺乏对灾难后果的考虑时,系统所能,即当缺乏对灾难后果的考虑时,系统所能够承受的打击能力的程度等。够承受的打击能力的程度等。n性能需求性能需求是系统要考虑的定量属性。是系统要考虑的定量属性。n响应时间响应时间,即对用户输入而言,系统响应的快慢程,即对用户输入而言,系统响应的快慢程度;度;n吞吐量吞吐量,即在一
13、个指定的时间量内,系统能完成的,即在一个指定的时间量内,系统能完成的工作量;工作量;n有效性有效性,即当提出使用要求时,系统或构件的可操,即当提出使用要求时,系统或构件的可操作性和可访问性程度和准确性。作性和可访问性程度和准确性。n可维护性可维护性需求关注的是在部署改变后系统所处需求关注的是在部署改变后系统所处的状况,包括的状况,包括n可适配性可适配性,即改变系统以适应外部应用域的能力;,即改变系统以适应外部应用域的能力;n可维护性可维护性,即改变系统以适应新技术或找出错误的,即改变系统以适应新技术或找出错误的能力;能力;n国际化国际化,即改变系统以适应国际习惯的能力。,即改变系统以适应国际习
14、惯的能力。n依据依据FURPSFURPS模型所得到的非功能需求,还有模型所得到的非功能需求,还有其它分类:其它分类:n实现需求实现需求是对系统实现进行的约束,包括使用是对系统实现进行的约束,包括使用特定工具、程序设计语言和硬件平台;特定工具、程序设计语言和硬件平台;n界面需求界面需求是外部系统强制性的约束,如交互格是外部系统强制性的约束,如交互格式等;式等;n操作需求操作需求是管理员和系统设定的操作方面的约是管理员和系统设定的操作方面的约束;束;n提交需求提交需求是实际系统提交方面的约束;是实际系统提交方面的约束;n合法需求合法需求涉及使用许可证、规则和认证等方面涉及使用许可证、规则和认证等方
15、面的问题。的问题。n非功能需求也称为系统的质量需求。非功能需非功能需求也称为系统的质量需求。非功能需求被分为实现、界面、操作和提交。求被分为实现、界面、操作和提交。n上例中的卫星表非功能需求描述如下。上例中的卫星表非功能需求描述如下。卫星表的非功能需求卫星表的非功能需求 n卫星表的质量需求卫星表的质量需求 n 可可用用性性需需求求 要要求求任任何何用用户户,在在无无用用户户手手册册时时,也能够使用卫星表。也能够使用卫星表。n 可可靠靠性性需需求求 如如果果卫卫星星表表不不设设置置按按钮钮,则则不不应应该有请求手表复位的软件故障发生。该有请求手表复位的软件故障发生。n 性性能能需需求求 卫卫星星
16、表表能能够够在在全全球球定定位位系系统统向向手手表表发发送送信信息息中中断断结结束束后后的的5 5分分钟钟之之内内显显示示出出正正确确的的时间区域。时间区域。n 性性能能需需求求 卫卫星星表表在在5 5年年之之内内的的时时间间误误差差应应控控制在制在1/1001/100秒的范围内。秒的范围内。n 性性能能需需求求 卫卫星星表表在在所所有有的的2424个个时时域域内内均均应应该能够正确显示时间。该能够正确显示时间。n 支撑性需求支撑性需求 卫星表可以通过随车携带的串卫星表可以通过随车携带的串行接口升级。行接口升级。n卫星表的约束卫星表的约束n 实实现现需需求求 与与卫卫星星表表关关联联的的所所有
17、有相相关关软软件件,包括车载软件,将使用包括车载软件,将使用JavaJava编写出来。编写出来。n 接接口口需需求求 卫卫星星表表遵遵守守由由物物理理的的、电电气气标标准准的串行设备接口。的串行设备接口。3.3.需求规格说明的确认需求规格说明的确认n确认需求规格说明包括检查需求规格说明是否确认需求规格说明包括检查需求规格说明是否是完全、一致、无二义性和正确的。是完全、一致、无二义性和正确的。n如果该需求规格说明涉及系统的所有可能场景如果该需求规格说明涉及系统的所有可能场景均已描述的话,则该需求规格说明是均已描述的话,则该需求规格说明是完全的完全的。n如果需求规格说明与其本身无矛盾的话,则该如果
18、需求规格说明与其本身无矛盾的话,则该需求规格说明是需求规格说明是一致性的一致性的。n如果根据需求规格说明恰好能够定义出一个系如果根据需求规格说明恰好能够定义出一个系统来,而不存在有两种或多种解释的话,则该统来,而不存在有两种或多种解释的话,则该需求规格说明是需求规格说明是无二义性的无二义性的。n如果该需求规格说明精确地表示了客户需要的如果该需求规格说明精确地表示了客户需要的系统以及开发者倾向构建的系统的话,则该需系统以及开发者倾向构建的系统的话,则该需求规格说明是求规格说明是正确的正确的。n具有高风险的系统各个部分必要时可通过具有高风险的系统各个部分必要时可通过原型原型化进行模拟,以说明该部分
19、的可行性。建立原化进行模拟,以说明该部分的可行性。建立原型的目的就是从用户处获取反馈意见。型的目的就是从用户处获取反馈意见。4.4.需求规格说明的属性需求规格说明的属性 n需求规格说明中最重要的属性是可现实性、确需求规格说明中最重要的属性是可现实性、确认性和可追踪性。认性和可追踪性。n如果系统在约束下是可实现的,则需求规格说如果系统在约束下是可实现的,则需求规格说明是明是可现实性的可现实性的。n需求规格说明是需求规格说明是可确认的可确认的,如果系统一旦构建,如果系统一旦构建起来后,就能够使得设计结论能进行测试,以起来后,就能够使得设计结论能进行测试,以说明系统实现了该需求规格说明。说明系统实现
20、了该需求规格说明。n如果针对每一个需求规格说明,均可通过软件如果针对每一个需求规格说明,均可通过软件开发过程,实现其对应的系统功能,且如果每开发过程,实现其对应的系统功能,且如果每一个系统功能可逆向追踪到其对应的需求规格一个系统功能可逆向追踪到其对应的需求规格说明集合上的话说明集合上的话,则我们说需求规格说明是则我们说需求规格说明是可可追踪的追踪的。n可追踪性也包括追踪需求、设计系统和设计中可追踪性也包括追踪需求、设计系统和设计中间产品的能力,在此间产品的能力,在此中间产品中间产品包括系统构件、包括系统构件、类、方法和对象属性。类、方法和对象属性。5.5.需求获取的类型需求获取的类型 n依据需
21、求的来源,需求获取活动可分为三类:首依据需求的来源,需求获取活动可分为三类:首次工程、再工程和界面工程。次工程、再工程和界面工程。n首次工程首次工程是因为没有现成系统存在,开发过程将是因为没有现成系统存在,开发过程将从打草稿开始,因此需要从用户和客户处获取需从打草稿开始,因此需要从用户和客户处获取需求。首次工程项目由用户需求或新的市场需求启求。首次工程项目由用户需求或新的市场需求启动。动。n再工程项目再工程项目是针对一个现存系统或遗留系统进行是针对一个现存系统或遗留系统进行的再设计和再实现,其启动原因是可行的技术或的再设计和再实现,其启动原因是可行的技术或商业需求。商业需求。n界面工程项目界面
22、工程项目是对一个现存系统用户界面的再是对一个现存系统用户界面的再设计。设计。n在首次工程和再工程过程中,开发者需要采集在首次工程和再工程过程中,开发者需要采集尽可能多的应用域信息。这类信息通常在过程尽可能多的应用域信息。这类信息通常在过程手册、新职员的文件、系统的手册、术语表、手册、新职员的文件、系统的手册、术语表、由用户开发的日志以及与客户和用户会面的过由用户开发的日志以及与客户和用户会面的过程记录中是找不到的。程记录中是找不到的。9.2 9.2 需求获取活动需求获取活动 n描述需求获取活动,可将一个问题陈述语句映描述需求获取活动,可将一个问题陈述语句映射成一条需求规格说明。射成一条需求规格
23、说明。n在使用在使用UMLUML为建模工具的前提下,这一需求规为建模工具的前提下,这一需求规格说明可用一组参与者、场景和用例等记号来格说明可用一组参与者、场景和用例等记号来表示。表示。n需求获取的主要步骤应该包括:标识参与者;需求获取的主要步骤应该包括:标识参与者;标识场景;标识用例;求精用例;标识参与者标识场景;标识用例;求精用例;标识参与者和用例之间的关系;标识初始的分析对象和标和用例之间的关系;标识初始的分析对象和标识非功能需求。识非功能需求。n例:火灾报警与调度系统是一个基于事件进行管例:火灾报警与调度系统是一个基于事件进行管理的分布式信息系统。火灾报警与调度系统包括理的分布式信息系统
24、。火灾报警与调度系统包括多个参与者:现场工作人员,比如警察和消防员;多个参与者:现场工作人员,比如警察和消防员;调度者,是负责回答报警呼叫并对事故现场资源调度者,是负责回答报警呼叫并对事故现场资源进行调度的警官。火灾报警与调度系统通过对意进行调度的警官。火灾报警与调度系统通过对意外事件追踪、资源调度和任务计划等,支持这两外事件追踪、资源调度和任务计划等,支持这两类参与者。火灾报警与调度系统也可以访问多个类参与者。火灾报警与调度系统也可以访问多个数据库,如会合地点数据库和紧急操作过程数据数据库,如会合地点数据库和紧急操作过程数据库。现场工作人员和调度者通过不同接口进行交库。现场工作人员和调度者通
25、过不同接口进行交互,现场工作人员通过移动个人助理访问火灾报互,现场工作人员通过移动个人助理访问火灾报警与调度系统,调度者通过调度室里面的工作站警与调度系统,调度者通过调度室里面的工作站访问火灾报警与调度系统。访问火灾报警与调度系统。9.2.1 9.2.1 标识参与者标识参与者 n通过标识参与者,可找出与系统产生交互的外部实体。通过标识参与者,可找出与系统产生交互的外部实体。n参与者可以是人,也可以是一个外部系统。参与者可以是人,也可以是一个外部系统。n在卫星表实例中,手表的拥有者、全球定位系统和手表在卫星表实例中,手表的拥有者、全球定位系统和手表驱动软件均是参与者。围绕着卫星表,这些参与者之间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 面向 对象 需求 获取
限制150内