需求工程(第四讲)面向目标的方法PPT文件格式下载.ppt
- 文档编号:476683
- 上传时间:2023-04-29
- 格式:PPT
- 页数:107
- 大小:1.21MB
需求工程(第四讲)面向目标的方法PPT文件格式下载.ppt
《需求工程(第四讲)面向目标的方法PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《需求工程(第四讲)面向目标的方法PPT文件格式下载.ppt(107页珍藏版)》请在冰点文库上搜索。
,显式的系统的需求相关者(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):
如果P成立,则将来Q总成立PPWQ语义:
维持P成立直到Q成立终止型目标(Cease):
如果P成立,则将来某个时候Q不成立避免型目标(Avoid):
如果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一界时态逻辑公式,目标形式化表示举例,GoalAchieveTrainProgressFormalDefGoalMaintainTrainWaitingFormalDef,GoalAchieveConvenientMeetingHeldDefinition“每个会议都将在所有预期与会人参加的情况下召开”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)=CdKnows(s,p,Constraints),目标模式,目标名,目标类型,关注的对象,两个子目标,语义定义,目标模型中的其它概念,对象:
客观世界领域中所关注的事情,可能是按状态进化的。
比如:
实体、关系、事件Agent:
一种特殊的对象作为行为的执行机制,如果该行为被分配知道一个对象,如果该对象的状态对它来说是可观察的话可以是人、设备、程序、等等,Agent形式化表示举例,AgentStaff/主体定义HascompetenceArea,/主体属性Invariant/主体不变式(st:
Staff)(InstanceOf(st:
ResearchStaff)InstanceOf(st,SecretaryStaff)LoadCapableOf/主体能力集合AddCopy,RemoveCopy,BiblioQuery,CheckOut,Return,IssueReminder,Performs/主体动作集合AddCopy,RemoveCopy,Knows/主体知识集合BorrowingInterface:
BorrowingSheet,Agent形式化表示举例,AgentParticipantCapableOfCommunicateConstraints,HasConstraints:
TupleExcludedDates:
SeqOfTimeInterval,PreferredDates:
SeqOfTimeInterval,关系形式化表示举例,RelationshipInvitedLinksParticipantscard:
0:
N,Meetingcard:
1:
NDomInvarp:
Participant,m:
MeetingInvited(p,m)pRequesting-,m.ParticipantsList,目标模型中的其它概念,行为/操作:
对象之间的输入、输出关系,其数学含义是作用于对象集合之上的关系。
动作导致状态迁移。
动作通过前置条件、后置条件和触发条件来定义:
前置条件:
动作执行的起始状态需要满足的最弱必要条件触发条件:
动作执行的起始状态需要满足的最弱充分条件后置条件:
动作执行的终止状态需要满足的最强条件条件被区分为两大类:
领域(domain)前置和后置条件,描述操作所引发的领域中的基本状态迁移,需求(Required)前置和后置条件,描述该操作为确保需求的满足要引发的额外状态迁移。
行为/操作形式化表示,Action行为名Input行为输入Output行为输出DomPre领域前置条件DomPost领域后置条件RequiredPre行为执行的前置条件RequiredPost行为执行的后置条件,行为形式化表示举例,ActionCheckOut/动作定义InputBookCopyArg:
bc,LibraryArg:
bor/动作输入参数OutputLibraryRes:
lib/动作输出参数PreConditionbclib.available/动作前、后置条件PostConditionbclib.availablebclib.checkedOutBorrowing(bor,bc)ActionIssueReminder/动作定义InputBorrowerArg:
bor,BookCopyArg:
bc/动作输入参数OutputReminder/动作输出参数TriggerCondition/动作触发条件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的完全精化,当且仅当G1,G2,Gn|-G(必要性)G1,G2,Gn|-false(一致性)n1(非平凡性)Forany1jn,G1,Gj-1,Gj+1,Gn|-G(最小性),目标的精化:
精化模式,抽象目标断言的一级与树分解,使得叶子断言的集合是根断言的完全求精,目标精化策略,时间驱动:
寻找中间状态,按目标满足的先后次序划分子目标主体驱动:
按参与目标实现的主体集合进行目标划分,使子目标有较少的主体参与案例驱动:
按照案例分析进行划分,比如:
正常案例和例外案例,精化模式:
实现型目标的精化,实现型目标的两种精化模式时间驱动的分解PQ:
PR,RQ案例驱动的分解PQ:
PRQ,PR(PR)P(PR);
PRRPPPU(PR);
PRP,PRRPR,PP;
PP,RR,精化模式:
实现型目标的精化,精化模式的作用,支持形式化推理帮助检测不完全的精化帮助开拓需求使各种选择显式化,其它目标精化模式,实现型目标PQ:
PRQ,PR,PPWQPQ:
PR,RQPQ:
PR,RRUQPQ:
PP1Q1,PP2Q2,(P1P2)Q1Q2Q,目标的操作化,激励响应模式安全需求模式,激励响应模式目标精化,可操作的约束,可操作的约束,可操作的约束,安全需求精化模式,可操作的约束,可操作的约束,可操作的约束,从约束到行为,目标冲突,识别边界条件,定义分歧模式:
识别边界条件举例,冲突归结,避免边界条件:
冲突原因:
边界条件的出现直观的策略:
防止边界条件的出现引入新目标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),步骤和模型,四个子模型目标模型、对象模型、Agent职责模型、操作模型开发步骤目标抽取和精化(目标精化)从目标模型中导出对象、关系和属性(对象建模)识别Agent以及Agent的职责(职责分配)定义操作及其前置条件和后置条件(操作化),目标识别,按关键词寻找目标:
objective,purpose,intent,concern,inorderto,得到目标ServeMorePassengersNewTracksAddedMinimizeDevelopmentCostsMinimizeDistanceBetweenTrainsSafeTransportation,目标识别,建立目标之间的量化关联Contributes(+),ControbutesStrongly(+),Conflicts(-),ConflictsStrongly(-)确定目标的分类Maintain,Avoid:
always目标,(PQ),(PQ),表示总是(不)成立Achieve,Cease:
eventually目标,PQ,PQ,表示将来每个时刻(不)成立,目标模型,what,what,将目标形式化,识别对象和关联,SpeedLimit,增加属性,Speed,增加属性,识别对象和关联,Loc,WCS-Dist,增加属性,增加关联following,目标模型,why,WHY目标抽象,目标模型,how,HOW目标精化,识别主体和职责分配,识别主体和职责分配,导出主体接口,Speed/AccelerationControlSystem(判断目标前提,建立目标结论)监测变量:
Train.info控制变量:
CommandMessage.Accel,CommandMessage.Speed,导出系统操作,MaintainSa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 工程 第四 面向 目标 方法