




已阅读5页,还剩102页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
需 求 工 程,金芝 中国科学院数学与系统科学研究院 ,第四讲:面向目标的方法,方法概述 建模原语 基于目标的建模和分析 应用情况,面向目标的方法,what you get is what you want (wygiwyw),什么是目标,什么是目标? a goal is an objective that the system under consideration should achieve goal formulations refer to intended properties to ensured they are optative statements as opposed to indicative ones, and bounded by the subject matter,什么是目标,不同层次的目标,高层策略 型目标,低层技术 型目标,运送更多旅客,提供随处可用的提现服务,及时发出加速指令,3次密码错误则不退卡,策略性的、粗粒度的、作用于组织范围的抽象目标,技术性的、细粒度的、作用于系统设计层面的具体目标,什么是目标,不同类型的目标 功能性目标:要实现的服务,是需求相关者期望发生的所有场景的集合。 非功能性目标:与提供服务的质量关联,如良好的保密性,较高的安全性,较强的准确性,较好的易用性等 ,或者对开发过程质量的期望,例如良好的适应性,较强的互操作性,较高的可重用性等 酒店管理系统的功能性目标:尽可能满足所有客人的房间预定请求 图书管理系统的非功能性目标:用户的每一次查询都能够尽快地返回结果,什么是目标,目标由谁来满足:整个系统 火车运输系统: 目标:安全运输 参与者:火车司机、列车轨道、车站计算机、通讯设备、旅客、等等 atm机系统: 目标:允许合法用户提取现金 参与者:atm软件、感应器/actuators、用户、等等,目标类型和层次,可满足性还不明确,可满足性可以验证,产生行为使得目标特性在将来总要被满足(拒绝),限制行为要求目标特性在将来永久保持(拒绝),比较行为,偏向更好保证软目标特性行为,提供信息的目标,满足请求的目标,为什么需要目标,目标分析提供一种关于系统的全局的视角 目标的满足由整个系统及环境主体共同完成。例如: 铁路运输系统的安全性目标是由火车司机、轨道管理系统、车站管理系统、通讯设备、乘客等共同参与完成的; atm系统保持用户合法性的目标是由atm控制软件、感应器、效应器、用户等共同协作完成的。 只有采用全局的俯瞰的视角才能有效地分析和解决这类目标。,为什么需要目标,保证需求的完整性 目标是需求足够完整的精确评判标准 规格说明相对于一组目标是完整的, 如果 可以证明所有目标(g)是能实现的 由 规格说明 (s)和 所涉及的领域的特性(d) d,s |= g = s相对于g是完备的,为什么需要目标,避免无关需求(最小性) 目标是需求相关性的精确评判标准 需求相对于一组关于所涉及领域的目标是恰当或相关的, 如果 其规格说明至少被用来证明一个目标 若ss, g g ,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成立; ku p 在k个时间单位u以内的未来某一状态,性质p成立; d p 在截止时刻d到达前的未来所有状态,性质p成立; p 在当前状态下性质p成立,但在上一个状态,p不成立; pw q 在所有未来状态下,性质p成立直到q成立,允许q恒假; pu q 在所有未来状态下,性质p成立直到q成立,q必须在未来某一时刻为真。,目标模式,完成型目标(achieve):要求系统最终满足某性质; 终止型目标(cease):要求系统最终不再满足某性质; 维持型目标(maintain):要求系统始终满足某性质; 避免型目标(avoid):要求系统从不满足某性质。,目标模式的规约,完成型目标(achieve):p q 语义:如果p成立,则将来某个时候q成立 维持型目标(maintain) :p q 语义: 如果p成立,则将来q总成立 p p w q 语义:维持p成立直到q成立 终止型目标(cease):p q 语义: 如果p成立,则将来某个时候q不成立 避免型目标(avoid):p q 语义: 如果p成立,则将来q总是不成立,目标分类,满足性目标(satisfaction goals):是满足各主体愿望的完成型目标; 信息目标(information goals):是将环境状态信息通报给主体的完成型目标; 安全目标(security goals):是避免灾难状态/恶意攻击发生的持续型目标; 精确性目标(accuracy goals):是促使主体对环境的信念保持精确的持续型目标。,目标的图形表示,除了自然语言和形式化表示,目标还有图形化的表示,通常都是在目标图元中加目标名。 在kaos中,目标的图形表示是一个平行四边形( )。在i*/tropos中,目标的图形表示是圆角的矩形( )。,软目标,软目标主要用于表达非功能性需求。 软目标与一般目标的主要区别: 一般目标的满足性标准是客观的,能够清楚定义和表达的。 软目标的满足标准则是主观的、相对的、依评价者的个人判断而定,是满意度(satisficing)而非满足性(satisfying)的问题。,软目标的表示,nfr框架:软目标的图形化表示为一个云形( ) i*和tropos方法:软目标图形化表示为一个不规则的花生形( )。,软目标的组成,非功能性软目标通常由两部分组成:类型和主题。例如, 软目标“账户的准确性”中,“准确性”是类型,“账户”是主题。 如果类型改变为“响应时间”则软目标“账户响应时间”的含义也随之改变。 当主题发生改变,软目标的含义也随之改变。 “账户的准确性”与“账户的响应时间”,或与“存款机的响应时间”是完全不同的。 一种略微结构化的软目标表示方法是:“软目标类型软目标主题”,例如, 用“响应时间短账户”来表示软目标“账户的响应时间”。 软目标可以有多于一个主题,例如, 界面灵活性普通客户,金卡账户。,目标的操作化,可操作的目标是对目标与软目标进行分解和求精的结果。 可操作的目标是目标分解树中靠近底层叶节点的目标,用于表示满足高层目标的具体设计方案。例如: 要实现“快的帐户响应时间”这个软目标,可以“采用索引技术”,“采用索引技术”就是一个可操作的目标。,可操作目标的表示,nfr框架:图形表示为边界加重的云形图案 kaos:圆角的矩形 i*和tropos:表示为任务,目标间的关联,目标间的关联: 自顶向下的分解关系 自底向上的贡献关系 横向的副作用关系,目标的分解,目标分解: 与精化:目标到一组子目标 语义:所有子目标被满足,父目标才被满足 或精化:目标到一组精化选择 语义:只要一个选择被满足,足以让父目标满足 软目标的分解(软目标类型主题对象) 按软目标类型进行分解 按软目标对象进行分解 软目标的操作化,目标的贡献,一个高层的、抽象的、粗略的软目标可以分解为相对低层的、具体的和细化的子(软)目标或操作化目标。 每个单个的子目标可以对父目标的满足性产生出不同的贡献。 贡献类型分为两个维度: 贡献的影响和贡献的程度。 贡献的影响可以是正向、负向或未知; 贡献的程度可以是完全的、部分的或程度未知。,目标的副作用关系,副作用包括贡献副作用和冲突副作用。例如: “提高性能”会导致“成本提高”,是横向副作用关系,表明一种冲突。即一个目标被满足会阻止另一个目标的满足。 “信息的保密性”会提高“信息的安全性”,也是横向副作用,表明一种贡献。即一个目标被满足会帮助另一个目标的满足。,建模原语:目标与/或树,建模原语:其它关联,目标与其它需求建模元素的关联 目标与操作:操作的前提条件、后置条件、触发条件,保证目标目标的可满足性 目标与情景:互补 情景:具体、叙述性、过程性、意图隐含于其中 目标:抽象、描述性、显式展现意图 更进一步,情景可以是例子或者是反例,可以展示目标的实现过程,也可以表现阻止目标可满足的情况,建模原语:其它关联,目标与其它需求建模元素的关联 目标模型与对象模型:具体的目标可以涉及实体、关系或者agent,支持从目标模型系统化地导出对象模型 目标与agents:职责关系,将目标赋予一个agent完成,有利于识别系统的边界 形成目标结构,目标形式化表示框架,goal 目标模式目标名 instanceof 目标分类 concerns 对象集合 refinedto 子目标 informaldef 自然语言陈述 formaldef 一界时态逻辑公式,目标形式化表示举例,goal achieve trainprogress formaldef goal maintain trainwaiting formaldef,goal achieve convenientmeetingheld definition “每个会议都将在所有预期与会人参加的情况下召开” formaldef m: meeting: m.requested m.holds ( p: participant): intended (p, m) participates (p, m),目标形式化表示举例,goal achieveparticipantsconstraintsknown instanceof informationgoal concerns meeting, participant, schedule, refinedto constraintsrequested, constraintsprovided informaldef a meeting scheduler should know the constraints of the various participants invited to the meeting within c days after appointment formaldef m:meeting, p:participant, s:scheduler invited(p,m)scheduling(s,m) =cd knows(s,p,constraints),目标模式,目标名,目标类型,关注的对象,两个子目标,语义定义,目标模型中的其它概念,对象: 客观世界领域中所关注的事情, 可能是按状态进化的。 比如:实体、关系、事件 agent: 一种特殊的对象 作为行为的执行机制,如果该行为被分配 知道一个对象,如果该对象的状态对它来说是可观察的话 可以是人、设备、程序、等等,agent形式化表示举例,agent staff /主体定义 has competencearea, /主体属性 invariant /主体不变式 ( st: staff) (instanceof (st: researchstaff)instanceof(st, secretarystaff) load capableof /主体能力集合 addcopy, removecopy, biblioquery, checkout, return, issuereminder, performs /主体动作集合 addcopy, removecopy, knows /主体知识集合 borrowing interface: borrowingsheet, ,agent形式化表示举例,agent participant capableof communicateconstraints, has constraints: tupleexcludeddates:seqoftimeinterval, preferreddates:seqoftimeinterval,关系形式化表示举例,relationship invited links participantscard:0:n,meetingcard:1:n dominvar p:participant, m:meeting invited(p,m)prequesting-, m. participantslist,目标模型中的其它概念,行为/操作: 对象之间的输入、输出关系,其数学含义是作用于对象集合之上的关系。动作导致状态迁移。 动作通过前置条件、后置条件和触发条件来定义: 前置条件:动作执行的起始状态需要满足的最弱必要条件 触发条件:动作执行的起始状态需要满足的最弱充分条件 后置条件:动作执行的终止状态需要满足的最强条件 条件被区分为两大类: 领域(domain)前置和后置条件,描述操作所引发的领域中的基本状态迁移, 需求(required)前置和后置条件,描述该操作为确保需求的满足要引发的额外状态迁移。,行为/操作形式化表示,action 行为名 input 行为输入 output 行为输出 dompre 领域前置条件 dompost 领域后置条件 requiredpre 行为执行的前置条件 requiredpost 行为执行的后置条件,行为形式化表示举例,action checkout /动作定义 input bookcopy arg: bc, library arg: bor /动作输入参数 output library res: lib /动作输出参数 precondition bc lib.available /动作前、后置条件 postcondition bc lib.available bc lib.checkedout borrowing(bor, bc) action issuereminder /动作定义 input borrower arg: bor, bookcopy arg: bc /动作输入参数 output reminder /动作输出参数 triggercondition /动作触发条件 2wborrowing(bor, bc) 1w ( r: reminderissued) occurs(r) r = (bor,bc, -) postcondition /动作后置条件,行为形式化表示举例,action determineschedule input requesting, meetingarg:m output meetingres:m dompre requesting(-,m)scheduled(m) dompost feasible(m)scheduled(m) feasible(m)deadend(m),行为形式化表示举例,action move input tr:train; loc,loc: location output at dompre at(tr,loc) and locloc dompost at(tr,loc) requiredpre for doorsclosedwhilemoving: tr.doors=closed requiredpost for doorsclosedwhilemoving: tr.doors=closed,目标模型中的其它概念,约束(constraint): 可实现的目标,即能够根据主体可控制的状态来构型的目标。 所有的目标最终都将精化为约束, 约束被操作化为动作和对象, 约束要被分配给主体来完成。,约束形式化表示举例,weakconstraint maintainagendauptodate /约束定义 instanceof consistencyconstraint /约束实例 underresponsibilityof participant /约束的责任主体 formaldef /约束的形式化描述 ( p: participant, tp: timeinterval ) free(p, tp) tp busyperiods,目标模型中的其它概念,情景(scenario): 由相应主体实例控制的领域相容的状态迁移序列。 领域相容性是指当操作的领域前置条件和操作涉及对象的领域不变式满足时,运用该操作所导致的后置条件将满足领域后置条件。 依据情景定义找出规约中遗漏的动作和隐含的目标。,情景形式化表示举例,scenario handlemeetingrequest /情景定义 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 (一致性) n 1(非平凡性) forany 1jn, g1,gj-1,gj+1,gn |- g (最小性),目标的精化:精化模式,抽象目标断言的一级与树分解,使得叶子断言的集合是根断言的完全求精,目标精化策略,时间驱动:寻找中间状态,按目标满足的先后次序划分子目标 主体驱动:按参与目标实现的主体集合进行目标划分,使子目标有较少的主体参与 案例驱动:按照案例分析进行划分,比如:正常案例和例外案例,精化模式:实现型目标的精化,实现型目标的两种精化模式 时间驱动的分解 pq:pr,rq 案例驱动的分解 pq:prq, pr (pr) p (pr); prrp ppu (pr);prp, prr pr, pp;pp,rr,精化模式:实现型目标的精化,精化模式的作用,支持形式化推理 帮助检测不完全的精化 帮助开拓需求 使各种选择显式化,其它目标精化模式,实现型目标 pq:prq,pr, ppwq pq:pr, rq pq:pr, rruq pq:pp1q1,pp2q2, (p1p2) q1q2q ,目标的操作化,激励响应模式 安全需求模式 ,激励响应模式目标精化,可操作的约束,可操作的约束,可操作的约束,安全需求精化模式,可操作的约束,可操作的约束,可操作的约束,从约束到行为,目标冲突,识别边界条件,定义分歧模式:,识别边界条件举例,冲突归结,避免边界条件: 冲突原因:边界条件的出现 直观的策略:防止边界条件的出现 引入新目标 pb 阻止的边界条件b,冲突归结,目标修补: 情况:边界条件无法避免 策略:引入新目标 使得如果边界条件b 出现的话,有分歧的目标断言ai ,在某个合理的将来为真,冲突归结,则引入新目标来避免预测的矛盾: cpdp,矛盾预测: 情况:发现一些持久的条件p,使得在某个上下文c中,如果条件p存留的太久,会不可避免地陷入矛盾。即,冲突归结,目标弱化:通过弱化出现分歧的目标的形式,使分歧消失 比如,两个目标achieverequestsatisfied 和avoidunreliableresource used有分歧的,其断言是 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, in order to, 得到目标 servemorepassengers newtracksadded minimizedevelopmentcosts minimizedistancebetweentrains safetransportation ,目标识别,建立目标之间的量化关联 contributes(+), controbutesstrongly(+), conflicts(-), conflictsstrongly(-) 确定目标的分类 maintain, avoid: always目标, (pq), (pq),表示总是(不)成立 achieve, cease: eventually目标, pq, pq,表示将来每个时刻(不)成立,目标模型,what,what,将目标形式化,识别对象和关联,speedlimit,增加属性,spee
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物流配送中心停车场地租赁服务合同
- 2025版土地复垦与生态旅游开发合同模板
- 2025年度沙发部件加工与质量控制合同范本
- 2025版日化产品电商渠道拓展合作合同
- 2025版体育公园场地租赁及配套设施维护合同
- 2025年度影视衍生品宣传视频制作合同
- 2025年智慧城市建设项目承包经营合同范本
- 2025版智能科技居间合作协议模板
- 2025二手车转让及二手车交易纠纷解决服务合同
- 2024-2025学年安徽省黄山市屯溪区中考数学仿真试卷含解析
- 物业管理中的控烟规章制度
- 云上贵州大数据(集团)有限公司招聘笔试冲刺题2024
- 反比例函数教材分析课件
- 空调工人安装合同模板
- Unit 8 Lets celebrate!教学设计2024-2025学年牛津译林版英语七年级上册
- 国际商务课件全套教程
- 22.3 实际问题与二次函数 课件 2024-2025学年人教版数学九年级上册
- 文言合集(1):120个文言实词小故事(教师版+学生版)
- 教科版(2024)小学科学一年级上册(全册)教案及反思(含目录)
- 【课件】2025届高三生物一轮复习备考策略研讨
- 中级会计师《经济法》历年真题及答案
评论
0/150
提交评论