南京大学软件需求工程.模型驱动方法

上传人:公**** 文档编号:586528452 上传时间:2024-09-04 格式:PPT 页数:49 大小:623KB
返回 下载 相关 举报
南京大学软件需求工程.模型驱动方法_第1页
第1页 / 共49页
南京大学软件需求工程.模型驱动方法_第2页
第2页 / 共49页
南京大学软件需求工程.模型驱动方法_第3页
第3页 / 共49页
南京大学软件需求工程.模型驱动方法_第4页
第4页 / 共49页
南京大学软件需求工程.模型驱动方法_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《南京大学软件需求工程.模型驱动方法》由会员分享,可在线阅读,更多相关《南京大学软件需求工程.模型驱动方法(49页珍藏版)》请在金锄头文库上搜索。

1、第10章.模型驱动方法主要内容1.模型驱动方法的作用2.面向目标的方法3.基于场景的方法4.基于用例的方法为什么要模型驱动?方法学支持?模型驱动方法面向目标的方法基于场景的方法面向Agent的方法?基于用例的方法模型驱动方法n不仅仅是获取q在不同层次上进行获取、分析、验证和管理n承上启下q展开上一层q准备下一层的展开1.模型驱动方法的作用n指导和组织需求获取行为的开展n模型可以用于指导后续需求获取行为的开展 n整理和归类需求获取行为得到的信息 n模型是进行信息整理和归类的很好的框架依据n为详细信息的分析提供背景根底和上下文知识 n模型驱动方法那么是侧重于前期需求阶段的方法,是传统需求分析方法的

2、一个很好的补充 n帮助组织需求文档的结构 n作为需求验证的知识根底 n发现细节知识与模型内容的偏差和错误 n指导需求验证行为的开展 主要内容1.模型驱动方法的作用2.面向目标的方法3.基于场景的方法4.基于用例的方法2. 面向目标的方法n为什么需要目标?n业务需求?n不够严谨n无法形成方法学支持n面向目标的方法n将“目标严格定义n单位、组织方式目标模型n建立方法学支持n模型的建立与应用2. 面向目标的方法n从早期就指导RE活动q有利于需求的获取q指导后期活动n关注Why,深层次分析组织及其涉众的目标、候选方案和隐式因素q深入理解涉众关注2. 面向目标的方法n很多现存的方法学也开始整合对目标的分

3、析与处理技术。目标概念在需求工程方法中的广泛被接受现象说明:目标已经成为了需求工程常用的核心概念Kavakli2002。n目标将会补充传统方法中的实体Entities概念和行为Activities概念,一起成为需求工程建模与分析的根本对象类别Yu1998。nKAOSDardenne93, van Lamsweerde1995、NFRMylopoulos1992, Chung2000、I*Yu1997、GBRAMAnton1996, Anton19972. 面向目标的方法n目标q目标:是系统被开发的目的 n可以在不同的抽象层次上进行描述 n它有着明确的定义方式 2. 面向目标的方法n目标分类n功

4、能目标Functional Goal和非功能目标Non-functional Goal n满足型目标Satisfaction Goal和信息型目标Information Goal n平安目标Safety Goal、性能目标Performance Goal、可用性目标Usability Goal等等 n软目标Soft Goal和硬目标Hard Goal n实现目标Achieve Goal,又称为终止目标Cease Goal、维护目标Maintain Goal,又称为防止目标Avoid Goal和优化目标Optimize Goal 2. 面向目标的方法n目标模型n关系n目标之间的链接 nSuppo

5、rt又称为Dependency链接和Conflict链接 nAND和OR链接 nAND Contribution链接和OR Contribution链接 n积极Positive ,消极Negative n目标与其他需求模型元素的链接 nAND Operationalization链接和OR Operationalization链接:连接目标和操作 n前置pre-、后置post-和触发trigger操作 nContribution链接:连接目标和场景等需求的描述元素 n普通链接:连接目标和分析模型 nResponsibility链接:连接目标和行为者 nDependency链接 :链接目标和任务

6、、资源 2. 面向目标的方法2. 面向目标的方法n面向目标方法的处理过程 q目标的获取目标的获取 :精化与分解n现状和背景的分析:问题与缺陷n已有目标的验证和细化 n基于场景的方法等等q目标分析目标分析 :精化与分解n建立系统的目标模型 q目标实现目标实现 n收集与目标相关的需求信息,讨论可能的候选解决方案,确定最终的系统详细需求和解决方案 2. 面向目标的方法n精化与分解2. 面向目标的方法n精化与分解2.面向目标的方法的作用n指导和组织需求获取行为的开展n目标的发现和精化n整理和归类需求获取行为得到的信息 n目标模型为纲n目标模型与其他元素之间的关联n为详细信息的分析提供背景根底和上下文知

7、识 n目标定义了标准n目标关联的模型给出实现n帮助组织需求文档的结构 n参考目标的精化关系建立文档结构n作为需求验证的知识根底 n以目标为关联元素的验收标准主要内容1.模型驱动方法的作用2.面向目标的方法3.基于场景的方法4.基于用例的方法为什么需要“基于场景的方法n需求获取内容的处理?q获取笔录:权宜之计n用户需求+问题域特性n混杂,不清晰等特性q基于场景的方法n场景为单位n问题域特性 或者 用户需求+问题域特性n组织清晰基于场景的方法n以场景为单位组织用户需求和问题域特性n很受实践者欢送n易于接受n易于使用n用例驱动!n方法多样,差异性很大n也可以用来处理 业务需求 和 系统级需求n还可以

8、用来处理 设计问题、测试问题基于场景的方法nZorman1995将场景定义为对系统和环境行为的局部描述nPlihon1998将场景定义为对行为或者事件序列的描述,序列中的行为和事件是系统需要完成的一个任务的特殊例如。nJarke1996认为场景包含有行为序列和行为发生的环境,环境描述了行为的主体、客体和上下文设置。n以上的描述都缺乏以作为场景的准确定义,人们也很难给场景下一个非常准确的定义Rolland1998a。3. 基于场景的方法n场景n具有重点描述真实世界的特征,它利用情景、行为者之间的交互、事件随时间的演化等方式来表达性的描述系统的使用 3. 基于场景的方法n基于场景的方法的用途3.

9、基于场景的方法n场景方法的分类3. 基于场景的方法n场景的形式:场景的表达模式 n描述Description n表示法的正规性 n非形式化语言、半形式化语言和形式化语言n媒介形式Mediumn表达性的自由文本、结构化文本、强限制文本、表格、图表、图像等 n外观n动态、静态、交互3. 基于场景的方法n场景的内容n主要关注点 n关于现在的 ,关于未来的 ,关于解决方案的 n环境范围 n系统内部,系统外部,系统和环境的交互n抽象层次 n具体的、抽象的、混合的n覆盖范围 n功能需求,非功能需求 n粒度 n整个业务过程;某个任务的完成过程;某个交互行为的详细处理步骤 n例如类型 n正常流程 ,异常流程

10、3. 基于场景的方法n场景的目的n描述descriptiven需求的文档化,n需求协商n探索exploratoryn需求获取 n需求建模与分析 n解释explanatory n需求的验证 3. 基于场景的方法n场景的生命周期3. 基于场景的方法n场景方法的作用q组织需求获取得到的信息;3. 基于场景的方法n场景方法的作用q帮助进行详细的需求分析;q指导需求验证3. 基于场景的方法n场景方法的作用q结合面向目标的方法,指导需求获取活动的开展 ;3. 基于场景的方法n场景方法的作用q指导需求规格说明文档写作;n用例文档主要内容1.模型驱动方法的作用2.面向目标的方法3.基于场景的方法4.基于用例的

11、方法4. 基于用例的方法n用例n相关场景集合的表达性的文本描述 n用例的概念是Jacobson1992最先在Objectory方法中提出的nUML以用例来捕获系统的功能需求,而不是所有的系统需求n被广泛应用:以用例为中心 4. 基于用例的方法4. 基于用例的方法nUML将用例定义为“在系统或者子系统或者类和外部对象的交互当中所执行的行为序列的描述,包括各种不同的序列和错误的序列,它们能够联合提供一种有价值的效劳Rumbaugh2004。nCockburn2001认为用例描述了在不同条件下系统对某一用户的请求所作出的响应。根据用户的请求和请求时的系统条件,系统将执行不同的行为序列,每一个行为序列

12、被称为一个场景。n目标性,多场景性n功能需求擅长与非功能需求偏弱4. 基于用例的方法n重要术语4. 基于用例的方法用例的描述ID:用例的标识,通常会结合用例的层次结构使用X.Y.Z的方式名称:对用例内容的精确描述,体现了用例所描述的任务,通常是“动词名词”用例属性包括创建者、创建日期、更新历史等参与者:描述系统的主参与者、辅助参与者和每个参与者的目标描述:简要描述用例产生的原因,大概过程和输出结果优先级:用例所描述的需求的优先级触发条件:标识启动用例的事件,可能是系统外部的事件,也可能是系统内部的事件,还可能是正常流程的第一个步骤前置条件:用例能够正常启动和工作的系统状态条件后置条件:用例执行

13、完成后的系统状态条件正常流程:在常见和符合预期的条件下,系统与外界的行为交互序列分支流程:用例中可能发生的非常见的其他合理场景异常流程:在非预期的错误条件发生时,系统对外界进行响应的交互行为序列相关用例:记录和该用例存在关系的其他用例。关于用例之间的关系见10.4.4业务规则:可能会影响用例执行的业务规则特殊需求:和用例相关的其他特殊需求,尤其是非功能性需求假设:在建立用例时所做的假设待确定问题:一些当前的用例描述还没有解决的问题4. 基于用例的方法用例的描述例如Use Case UC1:Process SaleGoal in Context:Accurate and fast sales p

14、rocess with no payment errors.Actors: Primary:-Cashier: processes the sales items and returns changes Secondary:-Customer: purchases sales items and gets change-Payment Authorization Service: processes customer authorization- Inventory System: update inventoryPreconditionCashier is identified and au

15、thenticatedPost-ConditionSales is saved. Accounting and Inventory are updated.Receipt is generated4. 基于用例的方法用例的描述例如Steps (Basic Flow): 1.Customer arrives at POS checkout with goods to purchase 2.Cashier starts a new sale 3.Cashier enters item identifier. 4.System records sale line item and presents

16、item description, price, and running total.Price calculated from a set of price rules. Cashier repeats step 3-4 until done with all items. 5.System presents total. 6.Cashier tells Customer the total, and asks for payment. 7.Customer pays and System handles payment. 8.System logs completed sale and s

17、ends sale and payment information to the external Inventory system (to update inventory). 9.System presents receipt. 10.Customer leaves with receipt and goods.4. 基于用例的方法用例的描述例如Extensions*a:Atanytime,systemcrashes:inordertosupportrecoveryandcorrectaccounting,ensurealltransactionsensitivestateandevent

18、scanberecoveredatanystepinthescenario1.Cashierrestartsthesystem,logsin,andrequestsrecoveryofpriorstate2.systemreconstructspriorstate3a:InvalidIdentifier1.systemsignalserrorandrejectsentry3b:Therearemultipleofsameitemcategoryandtrackinguniqueitemidentifynotimportant2.Cashiercanenteritemcategoryidenti

19、fierandquantity4. 基于用例的方法用例的描述例如SpecialRequirements1.TouchscreenUIonalargeflatpanelmonitor.Textmustbevisiblefrom1meter2.Creditauthorizationresponsewithin30seconds90%ofthetime3.Languageinternationalizationonthetextdisplayed4.Pluggablebusinessrulestobeinsertableatsteps3and7Technologyanddatavariationsl

20、ist3a.Itemidentifierenteredbylaserscannerorkeyboard3b.ItemidentifiermustbeanyUPC,EAN,JAN,orSKUcodingsystemTobedefined4. 基于用例的方法n场景定位q用例是静态的结构化文本描述。q用例的内容可以是对当前世界的描述,也可以是对将来确定的解系统的内部行为描述,还可以是对一种期待的解决方案的描述。q用例可能会被用于描述系统内部的交互,也可能被用于描述系统和环境的交互,还可能会被用于描述行为的环境和背景。q用例是类型层次的事件描述,主要用来描述功能需求。n可以包含其他类型的需求q用例的内

21、容既包含有正常流程,又包含有异常流程。4. 基于用例的方法n场景定位n用例可以是比较抽象的,用于描述整个业务过程;也可以是比较具体的,用于描述某个任务的完成过程;还可以是非常具体的,描述某个交互行为的详细处理步骤。在需求工程的前期,会产生第一种和第二种用例描述,但最终都需要细化为最后一种形式的用例描述。n用例可以用于各种目的的应用,包括描述、探索和解释explanatory。需求获取和需求验证是它在需求工程中的主要应用阶段,它也可以用于需求的建模、交流和协商。n场景的各种生命周期特征、应用和处理过程都适用于用例。4. 基于用例的方法n用例的发现q涉众及其目标q每个涉众的一个目标意味着一个用例n用例的使用q描述、探索与解释4. 基于用例的方法n用例模型q用例q参与者q关联q系统边界q多用例综合处理n不允许功能分解4. 基于用例的方法用例文档本章小结n模型驱动方法是基于模型的建立和使用而提出的方法,它在整个需求工程,甚至软件工程中都可以发挥重要的作用n面向目标的方法n目标的概念将会对需求工程产生重要的影响n基于场景的方法n在软件工程当中有着极为广泛的应用n基于用例的方法n是最为常用的一种基于场景的方法n模型驱动方法虽然已经得到了相当广泛的应用,但是它们仍然在不断的开展和完善

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号