需求工程(第四讲)面向目标的方法.ppt

上传人:wj 文档编号:9798853 上传时间:2023-02-06 格式:PPT 页数:107 大小:1.21MB
下载 相关 举报
需求工程(第四讲)面向目标的方法.ppt_第1页
第1页 / 共107页
需求工程(第四讲)面向目标的方法.ppt_第2页
第2页 / 共107页
需求工程(第四讲)面向目标的方法.ppt_第3页
第3页 / 共107页
需求工程(第四讲)面向目标的方法.ppt_第4页
第4页 / 共107页
需求工程(第四讲)面向目标的方法.ppt_第5页
第5页 / 共107页
点击查看更多>>
下载资源
资源描述

需求工程(第四讲)面向目标的方法.ppt

《需求工程(第四讲)面向目标的方法.ppt》由会员分享,可在线阅读,更多相关《需求工程(第四讲)面向目标的方法.ppt(107页珍藏版)》请在冰豆网上搜索。

需求工程(第四讲)面向目标的方法.ppt

需需求求工工程程金芝中国科学院数学与系统科学研究院第四讲:

面向目标的方法第四讲:

面向目标的方法方法概述建模原语基于目标的建模和分析应用情况面向目标的方法面向目标的方法WhatYouGetIsWhatYouWant(WYGIWYW)什么是目标什么是目标什么是目标?

AgoalisanobjectivethatthesystemunderconsiderationshouldachieveGoalformulationsrefertointendedpropertiestoensuredTheyareoptativestatementsasopposedtoindicativeones,andboundedbythesubjectmatter什么是目标什么是目标不同层次的目标高层策略型目标低层技术型目标运送更多旅客提供随处可用的提现服务及时发出加速指令3次密码错误则不退卡策略性的、粗粒度策略性的、粗粒度的、作用于组织范的、作用于组织范围的抽象目标围的抽象目标技术性的、细粒度技术性的、细粒度的、作用于系统设的、作用于系统设计层面的具体目标计层面的具体目标什么是目标什么是目标不同类型的目标功能性目标:

要实现的服务,是需求相关者期望发生的所有场景的集合。

非功能性目标:

与提供服务的质量关联,如良好的保密性,较高的安全性,较强的准确性,较好的易用性等,或者对开发过程质量的期望,例如良好的适应性,较强的互操作性,较高的可重用性等酒店管理系统的功能性目标:

尽可能满足所有客人的房间预定请求图书管理系统的非功能性目标:

用户的每一次查询都能够尽快地返回结果什么是目标什么是目标目标由谁来满足:

整个系统火车运输系统:

目标:

安全运输参与者:

火车司机、列车轨道、车站计算机、通讯设备、旅客、等等ATM机系统:

目标:

允许合法用户提取现金参与者:

ATM软件、感应器/actuators、用户、等等目标类型和层次目标类型和层次可满足性还不明确可满足性可以验证产生行为使得目标特性在将来总要被满足(拒绝)限制行为要求目标特性在将来永久保持(拒绝)比较行为,偏向更好保证软目标特性行为提供信息的目标满足请求的目标为什么需要目标为什么需要目标目标分析提供一种关于系统的全局的视角目标的满足由整个系统及环境主体共同完成。

例如:

铁路运输系统的安全性目标是由火车司机、轨道管理系统、车站管理系统、通讯设备、乘客等共同参与完成的;ATM系统保持用户合法性的目标是由ATM控制软件、感应器、效应器、用户等共同协作完成的。

只有采用全局的俯瞰的视角才能有效地分析和解决这类目标。

为什么需要目标为什么需要目标保证需求的完整性目标是需求足够完整的精确评判标准规格说明相对于一组目标是完整的,如果可以证明所有目标(G)是能实现的由规格说明(S)和所涉及的领域的特性(D)D,S|=G=S相对于G是完备的为什么需要目标为什么需要目标避免无关需求(最小性)目标是需求相关性的精确评判标准需求相对于一组关于所涉及领域的目标是恰当或相关的,如果其规格说明至少被用来证明一个目标若sS,gG,D,s|=g=S相对于G是最小相关的为什么需要目标为什么需要目标向需求相关者解释需求目标给出了需求的说明对应于设计过程中的设计目标出现一个需求是因为有一个目标作为它的基础目标求精树提供了从高层策略目的到低层技术需求的可跟踪链对业务系统来说,目标将未来软件和组织和业务上下文关联起来为什么需要目标为什么需要目标目标精化过程,为复杂需求文档的结构化提供直观自然的机制,增加其可理解性目标精化过程中的选择,具有恰当的抽象程度为什么需要目标为什么需要目标目标便于表达和处理冲突需求。

目标的冲突是多视点冲突的根源,目标的不同满足标准有助于帮助开发人员对采用哪种方式处理冲突进行决策。

为什么需要目标为什么需要目标目标相对比较稳定,利于需求演化实现目标的需求比目标演化的要快,它很容易被另一个实现相同目标的需求替代越高层的目标越稳定,不同版本的系统常常具有相同的高层目标为什么需要目标为什么需要目标目标能够表达和分析非功能性需求。

非功能性需求是工程研究中的重点和难点,目前大多采用非形式化的方法来描述,常用的建模工具UML也存在着难以为非功能性需求建模的缺陷。

在面向目标的需求分析中,非功能性需求用软目标来表示,软目标可以逐步分解为子目标目标从何而来?

目标从何而来?

显式的系统的需求相关者(Stakeholders)需求工程师掌握的初步材料目标从何而来?

目标从何而来?

隐式的:

需要进行目标抽取分析当前的系统,发现问题和不足(精确构型并列举出来),对其取否,导致未来系统要实现的目标集从初步文档中寻找一些与意图相关的关键词发现目标对目标进行精化和抽象获得归结目标冲突或障碍导致新的目标目标什么时候显式化?

目标什么时候显式化?

显式化:

从目标到软件行为用软件行为实现目标等同于用程序实现设计规格说明方法主线:

元模型方法主线:

元模型领域中所关心的事情,其实例会按状态而进化对象上的输入/输出关系,定义状态变迁,由事件触发或终止一种对象,作为行为的执行者操作化目标,可以按由某个Agent可控制的状态来构型的目标方法主线方法主线建模主线:

系统的目标层次结构。

围绕目标的伸展关联:

目标操作化为“约束”,约束由“活动”和活动所操作的“对象”来保证,对象被区分为“事件”、“实体”、“关系”和“主体”四类,约束由主体负责完成,主体执行活动并具有活动的能力,事件可以触发或者终止活动,等等可以通过在目标树上添加标记来表示目标间的正向和负向的强弱影响。

目标的表示目标的表示目标名:

每个目标都有名字简短描述:

自然语言陈述句描述例如:

用户提出“要为要为核电站设计安全的制冷系统”。

则“安全的核电站制冷系统”将作为一个高层抽象目标的描述被抽取出来。

会议调度系统要满足的目标之一是“每个会议都将在都将在所有预期与会人参加的情况下召开。

”目标的形式化表示目标的形式化表示KAOS语言,NFR建模框架以及i*/Tropos语言:

特定的语法一阶时序逻辑断言算子:

P表示“在当前状态下,性质P成立”;P表示“在下一个状态,性质P成立”;P表示“在当前或未来某一状态,性质P成立”;P在当前以及未来所有状态,性质P成立;P在前一个状态,性质P成立;P在当前或以前某一状态,性质P成立;P在当前和以前所有状态,性质P成立;目标的形式化表示目标的形式化表示PQ在所有未来状态,性质P成立则性质Q成立;kuP在k个时间单位u以内的未来某一状态,性质P成立;dP在截止时刻d到达前的未来所有状态,性质P成立;P在当前状态下性质P成立,但在上一个状态,P不成立;PWQ在所有未来状态下,性质P成立直到Q成立,允许Q恒假;PUQ在所有未来状态下,性质P成立直到Q成立,Q必须在未来某一时刻为真。

目标模式目标模式完成型目标(Achieve):

要求系统最终满足某性质;终止型目标(Cease):

要求系统最终不再满足某性质;维持型目标(Maintain):

要求系统始终满足某性质;避免型目标(Avoid):

要求系统从不满足某性质。

目标模式的规约目标模式的规约完成型目标(Achieve):

PQ语义:

如果P成立,则将来某个时候Q成立维持型目标(Maintain):

PQ语义:

如果P成立,则将来Q总成立PPWQ语义:

维持P成立直到Q成立终止型目标(Cease):

PQ语义:

如果P成立,则将来某个时候Q不成立避免型目标(Avoid):

PQ语义:

如果P成立,则将来Q总是不成立目标分类目标分类满足性目标(SatisfactionGoals):

是满足各主体愿望的完成型目标;信息目标(InformationGoals):

是将环境状态信息通报给主体的完成型目标;安全目标(SecurityGoals):

是避免灾难状态/恶意攻击发生的持续型目标;精确性目标(AccuracyGoals):

是促使主体对环境的信念保持精确的持续型目标。

目标的图形表示目标的图形表示除了自然语言和形式化表示,目标还有图形化的表示,通常都是在目标图元中加目标名。

在KAOS中,目标的图形表示是一个平行四边形()。

在i*/Tropos中,目标的图形表示是圆角的矩形()。

软目标软目标软目标主要用于表达非功能性需求。

软目标与一般目标的主要区别:

一般目标的满足性标准是客观的,能够清楚定义和表达的。

软目标的满足标准则是主观的、相对的、依评价者的个人判断而定,是满意度(Satisficing)而非满足性(Satisfying)的问题。

软目标的表示软目标的表示NFR框架:

软目标的图形化表示为一个云形()i*和Tropos方法:

软目标图形化表示为一个不规则的花生形()。

软目标的组成软目标的组成非功能性软目标通常由两部分组成:

类型和主题。

例如,软目标“账户的准确性”中,“准确性”是类型,“账户”是主题。

如果类型改变为“响应时间”则软目标“账户响应时间”的含义也随之改变。

当主题发生改变,软目标的含义也随之改变。

“账户的准确性”与“账户的响应时间”,或与“存款机的响应时间”是完全不同的。

一种略微结构化的软目标表示方法是:

“软目标类型软目标主题”,例如,用“响应时间短账户”来表示软目标“账户的响应时间”。

软目标可以有多于一个主题,例如,界面灵活性普通客户,金卡账户。

目标的操作化目标的操作化可操作的目标是对目标与软目标进行分解和求精的结果。

可操作的目标是目标分解树中靠近底层叶节点的目标,用于表示满足高层目标的具体设计方案。

例如:

要实现“快的帐户响应时间”这个软目标,可以“采用索引技术”,“采用索引技术”就是一个可操作的目标。

可操作目标的表示可操作目标的表示NFR框架:

图形表示为边界加重的云形图案KAOS:

圆角的矩形i*和Tropos:

表示为任务目标间的关联目标间的关联目标间的关联:

自顶向下的分解关系自底向上的贡献关系横向的副作用关系目标的分解目标的分解目标分解:

与精化:

目标到一组子目标语义:

所有子目标被满足,父目标才被满足或精化:

目标到一组精化选择语义:

只要一个选择被满足,足以让父目标满足软目标的分解(软目标类型主题对象)按软目标类型进行分解按软目标对象进行分解软目标的操作化目标的贡献目标的贡献一个高层的、抽象的、粗略的软目标可以分解为相对低层的、具体的和细化的子(软)目标或操作化目标。

每个单个的子目标可以对父目标的满足性产生出不同的贡献。

贡献类型分为两个维度:

贡献的影响和贡献的程度。

贡献的影响可以是正向、负向或未知;贡献的程度可以是完全的、部分的或程度未知。

目标的副作用关系目标的副作用关系副作用包括贡献副作用和冲突副作用。

例如:

“提高性能”会导致“成本提高”,是横向副作用关系,表明一种冲突。

即一个目标被满足会阻止另一个目标的满足。

“信息的保密性”会提高“信息的安全性”,也是横向副作用,表明一种贡献。

即一个目标被满足会帮助另一个目标的满足。

建模原语:

目标与建模原语:

目标与/或树或树建模原语:

其它关联建模原语:

其它关联目标与其它需求建模元素的关联目标与操作:

操作的前提条件、后置条件、触发条件,保证目标目标的可满足性目标与情景:

互补情景:

具体、叙述性、过程性、意图隐含于其中目标:

抽象、描述性、显式展现意图更进一步,情景可以是例子或者是反例,可以展示目标的实现过程,也可以表现阻止目标可满足的情况建模原语:

其它关联建模原语:

其它关联目标与其它需求建模元素的关联目标模型与对象模型:

具体的目标可以涉及实体、关系或者agent,支持从目标模型系统化地导出对象模型目标与Agents:

职责关系,将目标赋予一个Agent完成,有利于识别系统的边界形成目标结构目标形式化表示框架目标形式化表示框架Goal目标模式目标名InstanceOf目标分类Concerns对象集合RefinedTo子目标InformalDef自然语言陈述FormalDef一界时态逻辑公式目标形式化表示举例目标形式化表示举例GoalAchieveTrainProgressFormalDefGoalMaintainTrainWaitingFormalDefGoalAchieveConvenientMeetingHeldDefinition“每个会议都将在所有预期与会人参加的情况下召开”FormalDefm:

Meeting:

m.Requestedm.Holds(p:

Participant):

Intended(p,m)Participates(p,m)目标形式化表示举例目标形式化表示举例GoalAchieveParticipantsConstraintsKnownInstanceOfInformationGoalConcernsMeeting,Participant,Schedule,RefinedToConstraintsRequested,ConstraintsProvidedInformalDefAmeetingschedulershouldknowtheconstraintsofthevariousparticipantsinvitedtothemeetingwithinCdaysafterappointmentFormalDefm:

Meeting,p:

Participant,s:

SchedulerInvited(p,m)Scheduling(s,m)2wBorrowing(bor,bc)1w(r:

ReminderIssued)Occurs(r)r=(bor,bc,-)PostCondition/动作后置条件行为形式化表示举例行为形式化表示举例ActionDetermineScheduleInputRequesting,MeetingArg:

mOutputMeetingRes:

mDomPreRequesting(-,m)Scheduled(m)DomPostFeasible(m)Scheduled(m)Feasible(m)DeadEnd(m)行为形式化表示举例行为形式化表示举例ActionMoveInputtr:

Train;loc,loc:

LocationOutputAtDomPreAt(tr,loc)andloclocDomPostAt(tr,loc)RequiredPreforDoorsClosedWhileMoving:

tr.Doors=closedRequiredPostforDoorsClosedWhileMoving:

tr.Doors=closed目标模型中的其它概念目标模型中的其它概念约束(Constraint):

可实现的目标,即能够根据主体可控制的状态来构型的目标。

所有的目标最终都将精化为约束,约束被操作化为动作和对象,约束要被分配给主体来完成。

约束形式化表示举例约束形式化表示举例WeakConstraintMaintainAgendaUpToDate/约束定义InstanceOfConsistencyConstraint/约束实例UnderResponsibilityOfParticipant/约束的责任主体FormalDef/约束的形式化描述(p:

Participant,tp:

Timeinterval)Free(p,tp)tpBusyPeriods目标模型中的其它概念目标模型中的其它概念情景(Scenario):

由相应主体实例控制的领域相容的状态迁移序列。

领域相容性是指当操作的领域前置条件和操作涉及对象的领域不变式满足时,运用该操作所导致的后置条件将满足领域后置条件。

依据情景定义找出规约中遗漏的动作和隐含的目标。

情景形式化表示举例情景形式化表示举例ScenarioHandleMeetingRequest/情景定义Is(IssueRequest:

SubmitRequest;ValidateRequest);/动作序列AskParticipantsConstraints;(GetConstraints:

FormulateConstraints;CommunicateConstraints;ValidateConstraints)*;PlanMeeting;(NotifyResults:

(NotifyDate&Location|NotifyDeadEnd)需求抽取和建模过程需求抽取和建模过程以元模型为基础的需求抽取以元模型为基础的需求抽取需求抽取过程和策略需求抽取过程和策略策略:

遍历元模型图来获取实例获取目标结构:

AND/OR结构(HOW:

抽取子目标;WHY:

提取父目标)识别有冲突的目标将目标逐步精化为可实现的约束标识目标涉及的对象描述对象的领域特性识别对象有意义的状态变迁(行为的前置条件和后置条件)定义行为保证约束的可满足性识别系统的相关主体,确定主体的职责,并将行为赋予主体目标的精化:

基本思路目标的精化:

基本思路一组目标G1,G2,Gn是目标G的完全精化,当且仅当1.G1,G2,Gn|-G(必要性)2.G1,G2,Gn|-false(一致性)3.n1(非平凡性)4.Forany1jUsing(u,r)GoalAvoidUnReliableResourceUsedFormalDefforallu:

User,r:

ResourceReliable(r)=Using(u,r)existsu:

User,r:

ResourceRequesting(u,r)andReliable(r)冲突归结冲突归结避免边界条件:

冲突原因:

边界条件的出现直观的策略:

防止边界条件的出现引入新目标PB阻止的边界条件B冲突归结冲突归结目标修补:

情况:

边界条件无法避免策略:

引入新目标使得如果边界条件B出现的话,有分歧的目标断言Ai,在某个合理的将来为真冲突归结冲突归结则引入新目标来避免预测的矛盾:

CPdP矛盾预测:

情况:

发现一些持久的条件P,使得在某个上下文C中,如果条件P存留的太久,会不可避免地陷入矛盾。

即冲突归结冲突归结目标弱化:

通过弱化出现分歧的目标的形式,使分歧消失比如,两个目标AchieveRequestSatisfied和AvoidUnReliableResourceUsed有分歧的,其断言是Requesting(u,r)Using(u,r)Reliable(r)口Using(u,r)产生分歧的边界条件是(u:

User,r:

Resource)Requesting(u,r)Reliable(r)引入新目标Requesting(u,r)(Requesting(u,r)Reliable(r)弱化上面第一个目标,以便覆盖这个边界条件。

案例研究案例研究旧金山湾区快速交通系统(旧金山湾区快速交通系统(BART)BART)步骤和模型步骤和模型四个子模型目标模型、对象模型、Agent职责模型、操作模型开发步骤目标抽取和精化(目标精化)从目标模型中导出对象、关系和属性(对象建模)识别Agent以及Agent的职责(职责分配)定义操作及其前置条件和后置条件(操作化)目标识别目标识别按关键词寻找目标:

objective,purpose,intent,concern,inorderto,得到目标ServeMorePassengersNewTracksAddedMinimizeDevelopmentCostsMinimizeDistanceBetweenTrainsSafeTransportation目标识别目标识别建立目标之间的量化关联Contributes(+),ControbutesStrongly(+),Conflicts(-),ConflictsStrongly(-)确定目标的分类Maintain,Avoid:

always目标,(PQ),(PQ),表示总是(不)成立Achieve,Cease:

eventually目标,PQ,PQ,表示将来每个时刻(不)成立目标模型目标模型whatwhat将目标形式化将目标形式化识别对象和关联识别对象和关联SpeedLimit增加属性增加属性Speed增加属性增加属性识别对象和关联识别对象和关联Loc,WCS-Dist增加属性增加属性增加关联增加关联following目标模型目标模型whyWHYWHY目标抽象目标抽象目标模型目标模型howHOWHOW目标精化目标精化识别主体和职责分配识别主体和职责分配目标目标潜在的潜在的AgentMaintainAccurateSpeed/PositionEstimatesTrackingSystemMaintainSafeTrainResponseToCommandOnBoardTrainControllerMaintainSafeCmdMsgSpeed/AccelerationControlSystem识别主体和职责分配识别主体和职责分配导出主体接口导出主体接口Speed/AccelerationControlSystem(判断目标前提,建立目标结论)监测变量:

Train.info控制变量:

CommandMessage.Accel,CommandMessage.Speed导出系统操作导出系统操作MaintainSafeCommandMessage将目标操作化将目标操作化估计可能的障碍估计可能的障碍目标AchieveCommandMsgIssuedInTime的可能障碍有:

CommandMsgNotIssuedCommandMsgIssuedLateCommandMsgSentToWrongTrain目标AchieveCommandMsgDeliveredInTime的可能障碍有:

CommandMsgDeliveredLateCommandMsgCorrupted目标MaintainSafeCmdMsg的可能障碍有:

UnsafeAcceleration进行障碍分析进行障碍分析障碍树,容错树分析障碍消除,导出新的需求目标替换策略,比如设计新的目标Agent替换策略,比如赋予Agent更多的职责障碍缓和策略,比如引入新的子目标处理冲突处理冲突处理冲突处理冲突边边边边界界界界条条条条件件件件处理冲突处理冲突应用情况应用情况小结小结面向目标的方法将“目标”看作是软件需求的源头和依据,以目标为需求获取的基本线索,诱导需求提供者按目标的分解、精化和抽象关系,逐步构建系统目标与/或树。

目标驱动需求获取的步骤:

获取目标结构,确定目标所关注的对象;初步确定系统的相关主体和主体能够完成的动作;将目标操作化为约束;对对象和动作进行精化;导出对象和动作为确保约束的满足所需的加强条件;确定主体职责分配的各种候选方案;将动作分配给相应的责任主体。

小结小结目标按照所描述的内容可以分为功能性目标和非功能性目标。

目标还可以按描述的抽象层次分为高层目标和低层目标。

目标障碍分析主要关注系统有哪些可能的例外行为会对期望实现的目标产生阻碍。

障碍分析可以看作一般冲突消解过程的特例。

目标形式化的定义为一组期望行为的集合,相反的,障碍则定义了一系列不期望发生的行为,是要系统要避免的场景。

小结小结软目标主要表达非功能性需求。

软目标与一般目标的主要区别:

一般目标的满足性标准是客观的,能够清楚定义和表达的。

而软目标的满足标准则是主观的、相对的、依评价者的个人判断而定,是满意度而非满足性的问题。

软目标的评价决定处于目标分解结构上层的软目标的满足程度。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1