《需求工程方法》PPT课件.ppt

上传人:牧羊曲112 文档编号:5618772 上传时间:2023-08-03 格式:PPT 页数:156 大小:1.28MB
返回 下载 相关 举报
《需求工程方法》PPT课件.ppt_第1页
第1页 / 共156页
《需求工程方法》PPT课件.ppt_第2页
第2页 / 共156页
《需求工程方法》PPT课件.ppt_第3页
第3页 / 共156页
《需求工程方法》PPT课件.ppt_第4页
第4页 / 共156页
《需求工程方法》PPT课件.ppt_第5页
第5页 / 共156页
点击查看更多>>
资源描述

《《需求工程方法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《需求工程方法》PPT课件.ppt(156页珍藏版)》请在三一办公上搜索。

1、第四讲:需求工程方法,目标分析方法领域工程与面向特征的领域分析,面向目标的方法,方法概述建模原语基于目标的建模和分析应用情况,面向目标的方法,What You Get Is What You Want(WYGIWYW),什么是目标,什么是目标?A goal is an objective that the system under consideration should achieveGoal formulations refer to intended properties to ensuredThey are optative statements as opposed to indic

2、ative ones,and bounded by the subject matter,什么是目标,不同层次的目标,高层策略型目标,低层技术型目标,运送更多旅客,提供随处可用的提现服务,及时发出加速指令,3次密码错误则不退卡,策略性的、粗粒度的、作用于组织范围的抽象目标,技术性的、细粒度的、作用于系统设计层面的具体目标,什么是目标,不同类型的目标功能性目标:要实现的服务,是需求相关者期望发生的所有场景的集合。非功能性目标:与提供服务的质量关联,如良好的保密性,较高的安全性,较强的准确性,较好的易用性等,或者对开发过程质量的期望,例如良好的适应性,较强的互操作性,较高的可重用性等 酒店管理系统

3、的功能性目标:尽可能满足所有客人的房间预定请求图书管理系统的非功能性目标:用户的每一次查询都能够尽快地返回结果,什么是目标,目标由谁来满足:整个系统火车运输系统:目标:安全运输参与者:火车司机、列车轨道、车站计算机、通讯设备、旅客、等等ATM机系统:目标:允许合法用户提取现金参与者:ATM软件、感应器/actuators、用户、等等,目标类型和层次,可满足性还不明确,可满足性可以验证,产生行为使得目标特性在将来总要被满足(拒绝),限制行为要求目标特性在将来永久保持(拒绝),比较行为,偏向更好保证软目标特性行为,提供信息的目标,满足请求的目标,采用目标的好处,目标分析提供一种关于系统的全局的视角

4、目标的满足由整个系统及环境主体共同完成。例如:铁路运输系统的安全性目标是由火车司机、轨道管理系统、车站管理系统、通讯设备、乘客等共同参与完成的;ATM系统保持用户合法性的目标是由ATM控制软件、感应器、效应器、用户等共同协作完成的。只有采用全局的俯瞰的视角才能有效地分析和解决这类目标。,采用目标的好处,保证需求的完整性目标是需求足够完整的精确评判标准规格说明相对于一组目标是完整的,如果可以证明所有目标(G)是能实现的 由规格说明(S)和所涉及的领域的特性(D)D,S|=G=S相对于G是完备的,采用目标的好处,避免无关需求(最小性)目标是需求相关性的精确评判标准需求相对于一组关于所涉及领域的目标

5、是恰当或相关的,如果其规格说明至少被用来证明一个目标若sS,g G,D,s|=g=S相对于G是最小相关的,采用目标的好处,向需求相关者解释需求目标给出了需求的说明对应于设计过程中的设计目标出现一个需求是因为有一个目标作为它的基础目标求精树提供了从高层策略目的到低层技术需求的可跟踪链对业务系统来说,目标将未来软件和组织和业务上下文关联起来,采用目标的好处,目标精化过程,为复杂需求文档的结构化提供直观自然的机制,增加其可理解性目标精化过程中的选择,具有恰当的抽象程度,采用目标的好处,目标便于表达和处理冲突需求。目标的冲突是多视点冲突的根源,目标的不同满足标准有助于帮助开发人员对采用哪种方式处理冲突

6、进行决策。,采用目标的好处,目标相对比较稳定,利于需求演化实现目标的需求比目标演化的要快,它很容易被另一个实现相同目标的需求替代越高层的目标越稳定,不同版本的系统常常具有相同的高层目标,采用目标的好处,目标能够表达和分析非功能性需求。非功能性需求是工程研究中的重点和难点,目前大多采用非形式化的方法来描述,常用的建模工具UML也存在着难以为非功能性需求建模的缺陷。在面向目标的需求分析中,非功能性需求用软目标来表示,软目标可以逐步分解为子目标,目标从何而来?,显式的系统的需求相关者(Stakeholders)需求工程师掌握的初步材料,目标从何而来?,隐式的:需要进行目标抽取分析当前的系统,发现问题

7、和不足(精确构型并列举出来),对其取否,导致未来系统要实现的目标集从初步文档中寻找一些与意图相关的关键词发现目标对目标进行精化和抽象获得归结目标冲突或障碍导致新的目标,目标什么时候显式化?,显式化:从目标到软件行为用软件行为实现目标等同于用程序实现设计规格说明,方法主线:元模型,领域中所关心的事情,其实例会按状态而进化,对象上的输入/输出关系,定义状态变迁,由事件触发或终止,一种对象,作为行为的执行者,操作化目标,可以按由某个Agent可控制的状态来构型的目标,方法主线,建模主线:系统的目标层次结构。围绕目标的伸展关联:目标操作化为“约束”,约束由“活动”和活动所操作的“对象”来保证,对象被区

8、分为“事件”、“实体”、“关系”和“主体”四类,约束由主体负责完成,主体执行活动并具有活动的能力,事件可以触发或者终止活动,等等可以通过在目标树上添加标记来表示目标间的正向和负向的强弱影响。,目标的表示,目标名:每个目标都有名字简短描述:自然语言陈述句描述例如:用户提出“要为核电站设计安全的制冷系统”。则“安全的核电站制冷系统”将作为一个高层抽象目标的描述被抽取出来。会议调度系统要满足的目标之一是“每个会议都将在所有预期与会人参加的情况下召开。”,目标的形式化表示,KAOS语言,NFR建模框架以及i*/Tropos语言:特定的语法一阶时序逻辑断言算子:P表示“在当前状态下,性质P成立”;P表示

9、“在下一个状态,性质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必须在未来某一时刻为真。,目标模式,完成型目标(Ach

10、ieve):要求系统最终满足某性质;终止型目标(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

11、Goals):是满足各主体愿望的完成型目标;信息目标(Information Goals):是将环境状态信息通报给主体的完成型目标;安全目标(Security Goals):是避免灾难状态/恶意攻击发生的持续型目标;精确性目标(Accuracy Goals):是促使主体对环境的信念保持精确的持续型目标。,目标的图形表示,除了自然语言和形式化表示,目标还有图形化的表示,通常都是在目标图元中加目标名。在KAOS中,目标的图形表示是一个平行四边形()。在i*/Tropos中,目标的图形表示是圆角的矩形()。,软目标,软目标主要用于表达非功能性需求。软目标与一般目标的主要区别:一般目标的满足性标准是客

12、观的,能够清楚定义和表达的。软目标的满足标准则是主观的、相对的、依评价者的个人判断而定,是满意度(Satisficing)而非满足性(Satisfying)的问题。,软目标的表示,NFR框架:软目标的图形化表示为一个云形()i*和Tropos方法:软目标图形化表示为一个不规则的花生形()。,软目标的组成,非功能性软目标通常由两部分组成:类型和主题。例如,软目标“账户的准确性”中,“准确性”是类型,“账户”是主题。如果类型改变为“响应时间”则软目标“账户响应时间”的含义也随之改变。当主题发生改变,软目标的含义也随之改变。“账户的准确性”与“账户的响应时间”,或与“存款机的响应时间”是完全不同的。

13、一种略微结构化的软目标表示方法是:“软目标类型软目标主题”,例如,用“响应时间短账户”来表示软目标“账户的响应时间”。软目标可以有多于一个主题,例如,界面灵活性普通客户,金卡账户。,目标的操作化,可操作的目标是对目标与软目标进行分解和求精的结果。可操作的目标是目标分解树中靠近底层叶节点的目标,用于表示满足高层目标的具体设计方案。例如:要实现“快的帐户响应时间”这个软目标,可以“采用索引技术”,“采用索引技术”就是一个可操作的目标。,可操作目标的表示,NFR框架:图形表示为边界加重的云形图案KAOS:圆角的矩形i*和Tropos:表示为任务,目标间的关联,目标间的关联:自顶向下的分解关系自底向上

14、的贡献关系横向的副作用关系,目标的分解,目标分解:与精化:目标到一组子目标 语义:所有子目标被满足,父目标才被满足或精化:目标到一组精化选择 语义:只要一个选择被满足,足以让父目标满足软目标的分解(软目标类型主题对象)按软目标类型进行分解按软目标对象进行分解软目标的操作化,目标的贡献,一个高层的、抽象的、粗略的软目标可以分解为相对低层的、具体的和细化的子(软)目标或操作化目标。每个单个的子目标可以对父目标的满足性产生出不同的贡献。贡献类型分为两个维度:贡献的影响和贡献的程度。贡献的影响可以是正向、负向或未知;贡献的程度可以是完全的、部分的或程度未知。,目标的副作用关系,副作用包括贡献副作用和冲

15、突副作用。例如:“提高性能”会导致“成本提高”,是横向副作用关系,表明一种冲突。即一个目标被满足会阻止另一个目标的满足。“信息的保密性”会提高“信息的安全性”,也是横向副作用,表明一种贡献。即一个目标被满足会帮助另一个目标的满足。,建模原语:目标与/或树,建模原语:其它关联,目标与其它需求建模元素的关联目标与操作:操作的前提条件、后置条件、触发条件,保证目标目标的可满足性目标与情景:互补情景:具体、叙述性、过程性、意图隐含于其中目标:抽象、描述性、显式展现意图更进一步,情景可以是例子或者是反例,可以展示目标的实现过程,也可以表现阻止目标可满足的情况,建模原语:其它关联,目标与其它需求建模元素的

16、关联目标模型与对象模型:具体的目标可以涉及实体、关系或者agent,支持从目标模型系统化地导出对象模型目标与Agents:职责关系,将目标赋予一个Agent完成,有利于识别系统的边界形成目标结构,目标形式化表示框架,Goal 目标模式目标名 InstanceOf 目标分类 Concerns 对象集合 RefinedTo 子目标 InformalDef 自然语言陈述 FormalDef 一界时态逻辑公式,目标形式化表示举例,Goal Achieve TrainProgress FormalDef Goal Maintain TrainWaiting FormalDef,Goal Achieve

17、ConvenientMeetingHeldDefinition“每个会议都将在所有预期与会人参加的情况下召开”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,ConstraintsP

18、rovided 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),目标模式,目标名,目标类型,关注的对象,两个子目标,语义定义,目标模型中的其它概念,对象:客观世界

19、领域中所关注的事情,可能是按状态进化的。比如:实体、关系、事件Agent:一种特殊的对象作为行为的执行机制,如果该行为被分配知道一个对象,如果该对象的状态对它来说是可观察的话可以是人、设备、程序、等等,Agent形式化表示举例,Agent Staff/主体定义Has competenceArea,/主体属性Invariant/主体不变式(st:Staff)(InstanceOf(st:ResearchStaff)InstanceOf(st,SecretaryStaff)Load CapableOf/主体能力集合AddCopy,RemoveCopy,BiblioQuery,CheckOut,Re

20、turn,IssueReminder,Performs/主体动作集合AddCopy,RemoveCopy,Knows/主体知识集合Borrowing Interface:BorrowingSheet,Agent形式化表示举例,Agent Participant CapableOf CommunicateConstraints,Has Constraints:TupleExcludedDates:SeqOfTimeInterval,PreferredDates:SeqOfTimeInterval,关系形式化表示举例,Relationship Invited Links Participantsc

21、ard:0:N,Meetingcard:1:N DomInvar p:Participant,m:Meeting Invited(p,m)pRequesting-,m.ParticipantsList,目标模型中的其它概念,行为/操作:对象之间的输入、输出关系,其数学含义是作用于对象集合之上的关系。动作导致状态迁移。动作通过前置条件、后置条件和触发条件来定义:前置条件:动作执行的起始状态需要满足的最弱必要条件触发条件:动作执行的起始状态需要满足的最弱充分条件后置条件:动作执行的终止状态需要满足的最强条件条件被区分为两大类:领域(domain)前置和后置条件,描述操作所引发的领域中的基本状态迁移

22、,需求(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/动作

23、前、后置条件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 DetermineSchedu

24、le 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=cl

25、osed RequiredPost for DoorsClosedWhileMoving:tr.Doors=closed,目标模型中的其它概念,约束(Constraint):可实现的目标,即能够根据主体可控制的状态来构型的目标。所有的目标最终都将精化为约束,约束被操作化为动作和对象,约束要被分配给主体来完成。,约束形式化表示举例,WeakConstraint MaintainAgendaUpToDate/约束定义 InstanceOf ConsistencyConstraint/约束实例 UnderResponsibilityOf Participant/约束的责任主体 FormalDef/约

26、束的形式化描述(p:Participant,tp:Timeinterval)Free(p,tp)tp BusyPeriods,目标模型中的其它概念,情景(Scenario):由相应主体实例控制的领域相容的状态迁移序列。领域相容性是指当操作的领域前置条件和操作涉及对象的领域不变式满足时,运用该操作所导致的后置条件将满足领域后置条件。依据情景定义找出规约中遗漏的动作和隐含的目标。,情景形式化表示举例,Scenario HandleMeetingRequest/情景定义Is(IssueRequest:SubmitRequest;ValidateRequest);/动作序列AskParticipant

27、sConstraints;(GetConstraints:FormulateConstraints;CommunicateConstraints;ValidateConstraints)*;PlanMeeting;(NotifyResults:(NotifyDate&Location|NotifyDeadEnd),需求抽取和建模过程,以元模型为基础的需求抽取,需求抽取过程和策略,策略:遍历元模型图来获取实例获取目标结构:AND/OR结构(HOW:抽取子目标;WHY:提取父目标)识别有冲突的目标将目标逐步精化为可实现的约束标识目标涉及的对象描述对象的领域特性识别对象有意义的状态变迁(行为的前置条

28、件和后置条件)定义行为保证约束的可满足性识别系统的相关主体,确定主体的职责,并将行为赋予主体,目标的精化:基本思路,一组目标G1,G2,Gn是目标G的完全精化,当且仅当G1,G2,Gn|-G(必要性)G1,G2,Gn|-false(一致性)n 1(非平凡性)Forany 1jn,G1,Gj-1,Gj+1,Gn|-G(最小性),目标的精化:精化模式,抽象目标断言的一级与树分解,使得叶子断言的集合是根断言的完全求精,目标精化策略,时间驱动:寻找中间状态,按目标满足的先后次序划分子目标主体驱动:按参与目标实现的主体集合进行目标划分,使子目标有较少的主体参与案例驱动:按照案例分析进行划分,比如:正常案

29、例和例外案例,精化模式:实现型目标的精化,实现型目标的两种精化模式时间驱动的分解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,目标的操作化,激励响应模式安全需求模式,激励响应模式目标精化,可操作的约束,可操作的约束,可操作的约束,安全需求精化模式,可操作的约束,

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

31、weenTrainsSafeTransportation,目标识别,建立目标之间的量化关联Contributes(+),ControbutesStrongly(+),Conflicts(-),ConflictsStrongly(-)确定目标的分类Maintain,Avoid:always目标,(PQ),(PQ),表示总是(不)成立Achieve,Cease:eventually目标,PQ,PQ,表示将来每个时刻(不)成立,目标模型,what,what,将目标形式化,识别对象和关联,SpeedLimit,增加属性,Speed,增加属性,识别对象和关联,Loc,WCS-Dist,增加属性,增加关联

32、following,目标模型,why,WHY目标抽象,目标模型,how,HOW目标精化,识别主体和职责分配,识别主体和职责分配,导出主体接口,Speed/AccelerationControlSystem(判断目标前提,建立目标结论)监测变量:Train.info控制变量:CommandMessage.Accel,CommandMessage.Speed,导出系统操作,MaintainSafeCommandMessage,将目标操作化,构建目标模型的启发式,抽取初步的需求,H1:分析当前系统的目的和问题企业的策略目的、业务目标、政策(高层目标)运送更多的旅客、减少运营开销领域固有的目标图书的准

33、确分类当前系统的问题(需要避免、减少、减轻)当前系统只允许图书馆开门时查询馆藏,导出目标“允许任何时候、任何地方查询馆藏”,抽取初步的需求,H2:在抽取文档中搜索目标相关的关键词规定的:shall,should,must,has to,to be,may never,may not,should never,should not,想要的:in order to,so as to,so that,objective,aim,purpose,achieve,maintain,avoid,ensure,guarantee,want,wish,motivate,expected to,需要改进的:im

34、prove,increase,decrease,reduce,enhance,enable,support,provide,make,抽取初步的目标,H3:实例化目标分类遵循某个目标分类层次,按照不同目标类型的含义捕获目标,在目标精化过程中识别目标,H4:问 HOW 和 WHY 的问题通过 HOW 问题进行目标精化通过 WHY 问题进行目标抽象,在目标精化过程中识别目标,H5:分离职责帮助将细粒度的目标分配给指定的软件 Agent,或者定义出对环境 Agent 的期望,在目标精化过程中识别目标,H6:分析可选精化的前提和后置条件,识别软目标,划定目标模型的边界,H7:精化目标直到它被分配给单个

35、 AgentH8:抽象目标直到达到系统的边界,重用精化模式,创建精化模式类别检索可重用的精化模式调整重用模式,一组精化模式,里程碑驱动的精化模式典型场景引入的目标分解模式引入门卫条件的模式目标分治模式不可实现性驱动的精化模式不可检测驱动的精化模式不可控制驱动的精化模式,应用情况,小结,面向目标的方法将“目标”看作是软件需求的源头和依据,以目标为需求获取的基本线索,诱导需求提供者按目标的分解、精化和抽象关系,逐步构建系统目标与/或树。目标驱动需求获取的步骤:获取目标结构,确定目标所关注的对象;初步确定系统的相关主体和主体能够完成的动作;将目标操作化为约束;对对象和动作进行精化;导出对象和动作为确

36、保约束的满足所需的加强条件;确定主体职责分配的各种候选方案;将动作分配给相应的责任主体。,领域工程与面向特征的领域分析,领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点,面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径,103,软件复用,需求复用,软件复用的两点基本思想,104,105,基本思想1,以“空间”换“时间”,106,基本思想2(基本假设),9个月,不同软件应用之间 存在可复用的成分,领域工程,107,软件复用:两种开发活动,软件的哪些成分具有复用价值?,DevelopmentFOR reuse,Deve

37、lopmentWITH reuse,108,软件:三种基本构成成分,通用共性成分,领域共性成分,应用特定成分,适用于所有软件应用的构成成分,适用于特定软件应用的构成成分,适用于一组软件应用的构成成分,109,领域,理想情况:软件的可复用成分具有普适性,现实情况:软件应用所针对的 问题的差异性导致 软件的可复用成分不可能具有绝对的普适性,110,领域,一组具有相似或相近软件需求的应用系统所覆盖的功能区域,111,领域,功能区域,应用系统,a,b,c,d,e,1,2,3,4,5,6,7,f,112,两种类型的领域,垂直领域,水平领域,行业领域,1.行业领域的子领域2.贯穿多个行业领域,113,与

38、面向普适的复用 相比 面向领域的复用更容易成功,114,领域工程与应用工程(面向领域的软件复用),115,DevelopmentFOR reuse,DevelopmentWITH reuse,反馈,116,117,Development WITH reuse,Development WITHOUT reuse,1,2,3,应用工程,应用工程,领域工程(Development for Reuse),领域分析,领域设计,领域实现,领域模型,DSSA,领域构件,应用工程(Development with Reuse),需求分析,软件设计,构件组装,需求模型,ASSA,应用系统,可复用软件资产库,生产

39、,消费,反馈,DSSA:Domain Specific Software ArchitectureASSA:Application Specific Software Architecture,应用工程,应用工程,应用工程(Development without Reuse),需求分析,软件设计,软件编码,需求模型,ASSA,应用系统,输入,1,2,3,118,领域工程投资回报点,119,120,累积成本,领域成员数量,应用工程(Development WITHOUT reuse),应用工程(Development WITH reuse),领域工程成本,?,25,软件复用成熟度,121,软件复

40、用成熟度,第一级:产品的独立开发不存在任何形式的复用,领域内各个软件产品的开发相互独立第二级:领域无关型基础设施的标准化软件中的普适性复用成分得到了系统的复用,但仍然不存在对领域共性的复用第三级:软件平台领域中的共性成分被封装为一个软件平台,领域中的软件产品都基于此平台进行开发第四级:软件产品的手工导出领域中的可复用资产具有较强的可定制性,软件产品的开发通过手工定制的方式进行第五级:软件产品的自动化导出领域中的产品通过对领域可复用资产的自动化定制而产生,122,123,复用成熟度,领域工程,应用工程,通用共性成分的复用,产品的独立开发,领域无关型基础设施的标准化,软件平台,软件产品的手工导出,

41、软件产品的自动化导出,小结,124,领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点,目录,领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点,面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径,125,软件复用,需求复用,面向特征的领域分析,126,什么是特征?,本人丢失一件物品:该物品是一辆 交通工具,有 两个轮子,人力驱动。车架为 斜梁结构,车身为 黄颜色,略微生锈,车把上有一个 银色铃铛,,寻物启示,将 该物品 与 同类领域中的其它物品 区分开,将 该物品所属的类别领域与 其它

42、类别领域 区分开,领域共性,领域变化性,什么是特征,在一般意义下,特征 是 一个事物所展现出的 具有区分作用 的 特点,特征概念的一个具体应用,132,对于 软件 这个事物而言,它的特征 体现为什么?,133,研究者 对 软件特征 的 定义 存在两种不同的视角,134,第一种视角下的几个定义(1/2),定义1(Feature Engineering Tur99):A set of functional and extra-functional requirements.:一个由功能性和非功能性需求构成的集合,定义2(Feature-based Software Evolution Meh02)

43、:A group of individual requirements that describes a unit of functionality with respect to a specific point of view relative to a software development life cycle.:一组单个需求,描述了一个与软件开发生命周期中特定视角相关的功能单元,135,第一种视角下的几个定义(2/2),定义3(Requirements Engineering Wie99):A set of logically related functional requirem

44、ents that provides a capability to the user and enables the satisfaction of a business requirement:一组逻辑相关的功能性需求构成的集合,它为用户提供了一种能够满足特定业务需求的能力,136,第二种视角下的几个定义(1/2),定义4(IEEE软件工程术语词典 Scc90):A software characteristic specified or implied by requirements documentation(for example,functionality,performance,

45、attributes,or design constraints).:一个被软件需求文档明确或隐含说明的软件特点(如,功能、性能、属性、或设计约束等),137,第二种视角下的几个定义(2/2),定义5(FODA Kan90):A prominent or distinctive user-visible aspect,quality,or characteristic of a software system or systems.:软件系统具有的一种显著的或具有区分作用的,且用户可见的方面、性质、或特点,定义6(HP Laboratories,Martin L.Griss Gri00):A

46、product characteristic that users and customers view as important in describing and distinguishing members of the product line.:软件产品线中的产品具有的特点,它对于用户和客户对产品线中产品的描述和区分具有重要作用,138,这两种视角有联系吗?,这两种视角有冲突吗?,139,概念,内涵,外延,第一种视角,第二种视角,140,什么是(软件)特征,就内涵而言,特征 是 由一组相对紧密关联的 单个需求构成的单元就外延而言,特征 是 一种具有用户或客户价值的软件特点,特征 是对

47、 需求 的 封装命名,评判标准,“面向特征的领域分析”的 基本思想、目的?,142,“面向特征的领域分析”基本思想,基本思想把 特征 作为封装需求的基本单元使用 特征模型(特征+特征间的关系)作为组织需求的基本方式优点:软件需求具有较好的可定制性,The Requirements Space,Feature,Relation between Features,143,“面向特征的领域分析”基本思想,144,某物品,交通工具,两个轮子,人力驱动,斜梁结构,黄颜色,横梁结构,黑颜色,颜色,颜色,梁架结构,“面向特征的领域分析”目的,需求复用,How?,145,Develop for Reuse,D

48、evelop with Reuse,可复用软件资产,消费,生产,生产,领域工程,应用工程,软件复用,146,需求复用,领域工程,应用工程(定制),领域特征模型,消费,生产,生产,领域特征模型?,定制?,147,领域特征模型:领域共性特征(将该领域与其它领域区分开)+领域变化性特征(将领域内的个体相互区分开),定制:对 领域变化性特征 进行绑定,某物品,交通工具,两个轮子,人力驱动,斜梁结构,黄颜色,横梁结构,黑颜色,颜色,颜色,梁架结构,150,“面向特征的领域分析”的 基本途径?,共性变化性 分析,共性变化性 分析,151,x2-2xy+y2,x3-x2y+xy-y2,x3-x2y-xy2+y3,1,2,3,共性:由x,y两个变量构成的多项式,变化性:每个多项式对x,y的组合规则存在差异,共性变化性 分析,152,(xy)2,(x2+y)(xy),(xy)2(x+y),1,2,3,需求工程研究的两点沉淀,沉淀之一,需求工程,Requirements Engineering,需求 是 可数的,沉淀之二,需求 具有层次性,小结,156,面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号