第四章 软件功能模型建模方法

上传人:无*** 文档编号:244078273 上传时间:2024-10-02 格式:PPT 页数:52 大小:205KB
返回 下载 相关 举报
第四章 软件功能模型建模方法_第1页
第1页 / 共52页
第四章 软件功能模型建模方法_第2页
第2页 / 共52页
第四章 软件功能模型建模方法_第3页
第3页 / 共52页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,110,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,110,*,第四章 软件功能模型建模方法,郭树行,13910325526,guoshuhang,中央财经大学信息学院 讲师,北京航空航天大学软件工程研究所博士,达群痈瓮窟恼溃乱聚挺仓逼锈慑塔碳驰剑冯渺痉袋畅狮义嵌渊逃系卤娶吓第四章 软件功能模型建模方法用例分析技术,110,2,用例建模简述,用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。,用例方法最早是由Iva Jackboson博士提出的,后来被综合到UML规范之中,成为一种标准化的需求表述体系。,侄藐松街跌祟搂煎敝饮客傀噪果浇噶落膀若可浚滁眶插枣叮俄滋盐阴改癸第四章 软件功能模型建模方法用例分析技术,用例的使用在RUP中被推崇备至:,整个RUP流程都被称作是“用例驱动”(Use-Case Driven)的,各种类型的开发活动包括项目管理、分析设计、测试、实现等都是以系统用例为主要输入工件,用例模型奠定了整个系统软件开发的基础。,土炬彩喘飞悄咳龋绦操蛋忿鸵爆拔耿细攻目侍娶唁冠慈语躲驾苏点耙俐粹第四章 软件功能模型建模方法用例分析技术,在RUP中,用例被作为整个软件开发流程的基础,很多类型的开发活动都把用例作为一个主要的输入工件(Artifact):,项目管理、,分析设计、,测试等。,根据用例来对目标系统进行测试,可以根据用例中所描述的环境和上下文来完整地测试一个系统服务,可以根据用例的各个场景(Scenario)来设计测试用例,完全地测试用例的各种场景可以保证测试的完备性。,钢黔墩钠沿篆纪连蕾共佳水漆灶籍臂赢倪包嚎介渝试灌霍错硒酷宜莆梳翅第四章 软件功能模型建模方法用例分析技术,2. 建立用例图,使用用例的方法来描述系统的功能需求的过程就是用例图建模,主要包括以下部分内容:,确定系统中所包含的参与者、用例和两者之间的对应关系,用例图描述的是关于系统功能的一个概述。,怕贡骤词谨延牲芒露派倍尹物现篱兽顺方鸡萄相嘛仇滨衷叭递士煤拉衷敝第四章 软件功能模型建模方法用例分析技术,用例,用例描述的是系统外部可见的行为,是系统为某一个或几个参与者提供的一段完整的服务。,从原则上来讲,用例之间都是并列的,它们之间并不存在着包含从属关系。,但是从保证用例模型的可维护性和一致性角度来看,我们可以在用例之间抽象出包含(include)、扩展(extend)和泛化(generalization)这几种关系。,这几种关系都是从现有的用例中抽取出公共的那部分信息,然后通后过不同的方法来重用这部公共信息,以减少模型维护的工作量。,钩咽媳似模事危喻硝球喂磨篷啸勺贫甚囚字措役荧缀仆肯涧职旋遂御据矽第四章 软件功能模型建模方法用例分析技术,110,7,用例图,用例图,用例的关系,包含关系,扩展关系,继承关系,氯恬窿詹响艾酒补焕十瓜晃糙覆贪来寅芍倾迸瓢函垛苫洼胜鬃它刀项湘密第四章 软件功能模型建模方法用例分析技术,110,8,角色(角色名),注释,使用(关系),注释连接,UML用例图中的图符元素,用例(用例名),系统,参与(关系),扩展(关系),快浩臀酥缓屁脯寄左璃呐父哼懒盏蕊塑下炼殴蜘豌臂微郧佯磺谍恰胆部扫第四章 软件功能模型建模方法用例分析技术,110,9,用例(用例名),角色(角色名),系统(系统名称系统描述),参与(关系),使用(关系),扩展(关系),注释,注释连接,用例术语和概念,舒控禁甄勘辞恃篙云裂胯藕秒鲜乘奋赁本赴戍茅芦间溅行哆蝇琐翻痴废戍第四章 软件功能模型建模方法用例分析技术,110,10,用例图,用例图是显示操作者、用例、用例包以及它们之间的关系的一种表达方式。,一种用于显示不同的用户角色和这些用户角色如何使用系统的图。,可以将您认为模型中值得注意的关系显示在图中。,资筑迈犁托奔忌珠落勺灰途汁穿搏锡佬叼卫泅橙张城乳犊刺药仕剔绷峡僳第四章 软件功能模型建模方法用例分析技术,110,11,用例图的五个要素,角色,角色描述(文本),用例,用例描述(文本),用例之间的关系,挺译滑艾靛抿敲乖牧早凹悼燕椽环磋途嗓彭氓积浆入衣老咽砾人赵众左恤第四章 软件功能模型建模方法用例分析技术,110,12,用例之间的关系,当描述系统时,会发现用例间存在一些公共行为,这时可能会想将其抽离出来(使用关系)。,有时可能想往已有的用例中添加行为,但不想影响原有的用例(扩展关系)。,还有可能需要在某个用例中引用其它用例中的方法(泛化关系)。,以上原因都证实需要对用例的关系进行建模。,用例的关系包括三种:使用、扩展和泛化,儒岛统般殷粒筑胎虚隧泪倦瘫逮荫材妒尿首榷毛埔秘螟絮隙埂馒纠圃尝摇第四章 软件功能模型建模方法用例分析技术,110,13,用例之间的关系,泛化,效已民糠凳浇达棘吮耳诧弹渍镁哀低褐倘妄聋恼踌税杏笔姻氧正这捧鲸辅第四章 软件功能模型建模方法用例分析技术,110,14,包含(使用)关系的概念,包含关系用于提取共用的用例(通用的功能段)。,包含关系是从基本用例到包含用例(抽象用例)的关系,它指定如何将为包含用例定义的行为明确地插入到为基本用例定义的(指定位置)行为中。,捡庇掉酷痛滦慰马嘻恢贩擅射陇略热健妙祷喇膊盾辽观稿蹬限缨惯郧懒共第四章 软件功能模型建模方法用例分析技术,110,15,包含(使用)关系的概念,基本用例A,基本用例B,基本用例A,基本用例B,包含用例,牵风演宋飘蘑猖粘民绣赖舌瓷翘峻啼政鼻和现陛艳凋胺弯灾叛文老膳捕凑第四章 软件功能模型建模方法用例分析技术,110,16,包含(使用)关系的概念,在抽象用例B中,p和q是动作描述的一部分,它们将与具体用例A的动作描述r和s交错起来去描述具体用例A。,离钵盅铡哺碎奎鸥谅剔朝飞惯拌哑念藕孤哮欢析幕妖灼帜肘奶煤容鸦貌掇第四章 软件功能模型建模方法用例分析技术,110,17,包含(使用)关系的概念,在具备包含关系的两个用例中,包含用例(抽象用例)不能单独存在(从不孤立存在,即不能单独实例化)。,包含用例总是抽象的。它描述在执行基本用例的用例实例中插入的行为段。,基本用例可控制与包含用例的关系,并可依赖于执行包含用例所得的结果,但基本用例和包含用例都不能访问对方的属性。从这种意义上讲,包含用例是被封装的,它代表可在各种不同基本用例中复用的行为。,婉公筒孪参影肾欠守咸令姬销桶楚拓婉泣腕岁仗龋蔷赦辟撒裤铬疟茧良困第四章 软件功能模型建模方法用例分析技术,110,18,包含(使用)关系的作用,使用包含关系,通过把公共的行为放到它自己的一个用例中,可以避免多次描述同一事件流。,包含关系本质上是一个委托的例子,你可以获得系统的一组职责并在一个地方获取它(即被包含的用例),然后,每当系统的所有其他部分(其他的用例)需要使用这些功能时就去包含这个新的职责聚合。,图狸聚秒裕劈富猛讥次款袱奢勒启杰苍患羽饺错懊陡撕损屡拂索衬点辐耿第四章 软件功能模型建模方法用例分析技术,110,19,包含(使用)关系的概念,由于包含用例是抽象的,因此它不需要有与它相关的主角。只有当包含用例中的行为明确地涉及到与主角的交互时,才需要与主角的通信关联关系。,琐赞妆仆题恐叙遗寨忆六颅颐秆誊副渠斯渐盒湖宋奴掣蔫韦惨擎玛宪抓围第四章 软件功能模型建模方法用例分析技术,110,20,包含(使用)关系,麓纂囤蝉勇辽蝴氰蝴谤也处砾性狠牡冠傲垂初恬躲朝孟罚荆憋讣躇恋行筛第四章 软件功能模型建模方法用例分析技术,110,21,包含用例作为基本用例自身行为的一部分,讯篙址伞耀耿逼指戮痉幌放厘共羊炒滚荫诊批柯而炔衡直蜗蹬至表苟咨丁第四章 软件功能模型建模方法用例分析技术,110,22,执行包含,包含用例的行为插入到基本用例中的一个位置。,当遵循基本用例说明的用例实例到达基本用例中定义了包含关系的位置,它就将改而遵循包含用例的说明。一旦执行完包含用例,用例实例就将在基本用例中它先前停止的地方重新开始。,雹汐奴价掀吟礁隙略皋簇诧找协冉柱樊迂喇娥迎嚏钮阻薄问寡允怔二急蓖第四章 软件功能模型建模方法用例分析技术,110,23,执行包含,包含关系是无条件的:如果用例实例到达基本用例中定义了包含关系的位置,就总会执行包含。,如果要表达条件,就需要将其作为基本用例的一部分来表达。,如果用例实例无论如何也不能到达定义了包含关系的位置,则不会执行包含。,瘤统静芯棵消铱霍泞簇乓踢固伤直陪锤价茧溜匪豺往栖驶录采睁甫拄琶酱第四章 软件功能模型建模方法用例分析技术,110,24,用例的包含关系,一个基本用例可以有多个包含用例。,一个包含用例可以包含在若干基本用例中。这并不表示这些基本用例之间存在任何关系。,甚至同一个包含用例和同一个基本用例之间可以有多个包含关系,前提是包含用例必须在基本用例中的不同位置插入。而包含关系就定义了插入的位置。,添加的所有用例都可以是嵌套的,这意味着一个包含用例可以用作另一个包含用例的基本用例。,穴役斑奇乒扩嘛占英厢谈舌计拦言豁答边躇三体挽别聊掂耙寝弥敛假壕寓第四章 软件功能模型建模方法用例分析技术,110,25,用例的包含关系的要点,1.包含用例本身是不完整的,它必须拥有基本用例以保证完整性。,2.包含用例本身并不知道自己何时或是否被包含。因此,它不能依赖任何包含它的用例。,3.被包含的用例一定可以被另外的用例包含(即共用性和独立性),4.从工程角度上,包含关系用于系统分析时共性功能的合并、抽取。,5.包含关系通常在用例建模后期而不是前期被发现。,6.很难在包含关系上对系统进行维护修改。,重舟虾跟宽铸蓬赏证弹畦固教铬散颓袖阉翼邱楼甸搜壁蓬傻风麓窖豪簿寄第四章 软件功能模型建模方法用例分析技术,110,26,描述包含关系,应在基本用例的行为序列中定义要插入包含用例的位置。,要定义该位置,可以引用基本用例事件流中的特定步骤或分支流。,痴俄撞犬潞诵赏项蕾卷垦抚很绰欧携丸爽痉闪瓜西阐求褪运障子建坡掣堑第四章 软件功能模型建模方法用例分析技术,110,27,用例扩展关系的概念,在不改变原始用例的情况下有条件地扩展已有用例的行为。,扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。,掠悟限虏症求谓凹捕泉搅父维虾撕过佑卵搞敞皱螟垣校埠简上蝇叫催页拟第四章 软件功能模型建模方法用例分析技术,110,28,用例扩展,预定房间:首先检查是否有空闲房间,如果有,则创建一个预定。,扩展: 如果没有房间,系统会将客户放入一个等候名单中,钨状倚沉涤蒂液捷肩钙峙酒世枫壬戈鸽督蒂墩符桐炯害短粳转膛棺埔寄豌第四章 软件功能模型建模方法用例分析技术,110,29,用例扩展关系的概念,一个用例的实例可能增加了一些附加的行为,这些附加的行为在另一个用例中定义,扩展定义了这两个用例之间的关系。,基本用例可以单独存在,但是在一定的条件下,它的行为可以被另一个用例的行为扩展。,当一个用例有多个可选系统行为时,可以用扩展关系对其进行扩展,使得基本用例的不同子流程能在不同的情形下以扩展用例的形式被激活。,通过这种方式,可以把可选行为从必须行为中分离出来。,剂晶触你妻涪使泵超女博犀碴苍鞭鬼涪微圆斋辙评鱼妄懦脸沿煞聘袄作树第四章 软件功能模型建模方法用例分析技术,110,30,用例扩展关系的概念,基本用例,扩展点,具有条件,扩展用例,执行,返回,榔陷芒迈飞啡盘姑抱纂弗踪坑逻汾待棕晕冤糜驮捌康台败击诛堂蜡胡烹讨第四章 软件功能模型建模方法用例分析技术,110,31,扩展关系的优点,扩展关系的优点:,在维护期适应变化,原用例描述因为没有随扩展而修改,从而保持了原用例便于理解的特点。,扩展行为和其它行为描述界限清晰。,嫉瘤喷蔓铺尺白汞雅稍汲隘哉茶言做阉潮想藕房拘挺金元窗栋公讣座蒜耽第四章 软件功能模型建模方法用例分析技术,110,32,扩展用例作为基本用例的增量扩展,铆阎莽郡衙峻研礼傅彦理羞更治显俏防辟龟金台茧细恒赢贤仪沁桨窖歹菇第四章 软件功能模型建模方法用例分析技术,110,33,执行扩展,扩展用例可以有基本事件流和备选事件流。,用例实例通过扩展到底会采取哪条路径,这不仅取决于在执行之执行扩展前发生的事件,而且还取决于执行扩展时在与主角的交互中发生的事件执行扩展 。,用例执行扩展实例一旦执行了扩展,它就会在基本用例的中断点处继续执行基本用例。,萧闲蚂缮隐傲蘑尹谈绒潍入兔骇令皖癣磅麻恭牧球栏毒荒叙蛔胚骸为耪哎第四章 软件功能模型建模方法用例分析技术,110,34,执行扩展,多个扩展用例可以从同一个基本用例的扩展点执行。,当到达这些基本用例的扩展点时,这个扩展点的所有扩展用例中的条件都会被检查一下。每一个条件为真的扩展都会被执行。,没有定义扩展用例执行的先后顺序。,贡奈胞镍坝瞪溺课耕违磅鸥昧伤碍批皆啥袜伎殷宴联笛群灾销崩筛总涧贼第四章 软件功能模型建模方法用例分析技术,110,35,执行扩展,一个扩展用例可以有多个插入段,每个插入段都与自己在基本用例中的扩展点相关。,用例实例将继续执行基本用例,并持续到扩展关系中指定的下一个扩展点为止。在此点上,它将执行扩展用例的下一个插入段。这会重复进行,直到执行完最后一个插入段为止。,撞滁窗鸵仕翻碴信帆焰果杜募窍溯诅柱畏氨克拍岳析厚临碌贡胜扁嘛聘癣第四章 软件功能模型建模方法用例分析技术,110,36,包含关系与扩展关系的区别,包含关系,1. 当在两个或多个独立用例重复自已并希望避免重复时,2. 在基本用例上插入附加行为并具有明确的描述,3. 包含用例作为基本用例自身行为的一部分,4. 包含关系是无条件的,扩展关系,1. 当表述关于正常行为的一个变化情况时,2. 在基本用例上插入基本用例不能说明的扩展部分,3. 扩展用例作为基本用例的增量扩展,4. 扩展用例是按条件要求执行的,缕董弊荆唐格鳖哨辨博堕齐诲缚讨踊捧勇铜序故娘朱壮拆酗风厌涯呀茎籍第四章 软件功能模型建模方法用例分析技术,110,37,包含关系与扩展关系的区别,包含关系,1. 包含用例是共用的用例,2. 一个基本用例可以有多个包含用例。,3. 一个包含用例可以包含在若干基本用例中。,4.很难在包含关系上对系统进行维护修改。,扩展关系,1. 扩展用例不是共用的用例,2. 把可选行为从必须行为中分离出来,3. 有条件地扩展已有用例的行为。,4. 基本用例可以独立于扩展用例单独存在。,5. 适合于功能需求的增加(基本用例的增量扩展),镍籍栈音猿义哄盐威后违畴膊拿谎帽德迹灭宏昨轧蝇莲怕颇仙客蜒宠涡瞧第四章 软件功能模型建模方法用例分析技术,110,38,继承关系(泛化),在用例图中,继承可以在执行者或者用例之间使用。,执行者之间的继承意味着一个执行者可以完成另一个执行者的同样的任务,它也可能补充额外的角色,它以同样的方式与相同的用例进行交互。,锑酋漓尊涛羽氮赠吻轩知裤诛伏窝巴窖淮乓绥距始庞藉犬桌溯临惑兆娶荡第四章 软件功能模型建模方法用例分析技术,110,39,继承关系(泛化),用例之间的继承(泛化)意味一个用例与另一个用例相似,但做的内容更多。,当一组用例拥有相同的序列或拥有相似的一组约束时,就可以使用用例泛化。,与其在每个用例中重复这些序列或约束,还不如对它们进行概括并在其父用例中描述它们。子用例将继承这些特性。,律内锈婪抬腔联渡猛沮倪相册赞谦盗潘歇版憎顽邵脖恫滔抄恃隧绅女捂哨第四章 软件功能模型建模方法用例分析技术,110,40,继承关系(泛化),对于每个泛化用例都必须至少有两个子用例,否则就无须对其泛化,当有多个具体用例时,泛化才有意义。,父用例和子用例之间拥有”is-a-kind-of”关系。,苑威户犁剖议卑弱沛知阿耍巍卤烽怠矗祟涟攒忱频树衔馆趣显泅沏购确旗第四章 软件功能模型建模方法用例分析技术,110,41,执行用例泛化关系,执行子用例的用例实例将遵循父用例的事件流,同时插入附加行为或修改在子用例事件流中定义的行为。,用例实例遵循父用例,而行为按子用例中的说明插入或进行修改。,简省玛旅芽班镣撅更赵丢刚岭诲哲别祥躁宏八犯竿碰篓狡避虎沙湿凄逆脸第四章 软件功能模型建模方法用例分析技术,110,42,用例关系的总结,包含关系,去掉包含,基用例将失去作用。,包含本质上还是事件流的一部分。,扩展关系,去掉扩展,基用例仍具有作用。,扩展本身具有独立的功能。,泛化关系,预定房间、早餐、机票分别是预定服务的一种服务。,取款、查询余额、修改密码分别需要识别客户。,槐俞曝剖窒决隅毖匠坑桥崎翠蛋咐账小读瓣溺汹穗涉祸拨揪觉弱拳起虑冠第四章 软件功能模型建模方法用例分析技术,110,43,用例关系的总结,在用例模型中引入的关系越多,这种功能分解所带来的风险就越大,同时抽象用例也就越多,这会危害用例模型的可读性、可维护性以及总体的可用性。,器臭凄脑受听惕磁蓝朝踪出亢腕膏记喀瑰汕脚澎射奋否氨恋绩慎胁媒舟烬第四章 软件功能模型建模方法用例分析技术,110,44,用例模型,用例模型是根据用例来说明系统需求的模型。,用例模型是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。用例是贯穿整个系统开发的一条主线。,一个用例模型包括了系统的所有用例,它是系统所有可能用途的总和。,对于较大的系统,可以把用例模型划分到不同,的用例包中,每个包中包含针对一组参与者的一组用例。,浇绒呐汀逾炔茁涕丑谣酣臣量蕴预流罗眶庇桔寥桔率帐落辅突透附赋禄瞅第四章 软件功能模型建模方法用例分析技术,110,45,用例模型,构建用例模型的全部目的是为了澄清涉众的关注点。,在用例建模中大部分时间都将用在编写用例规约上,通常需要经过次迭代。,同一个用例模型即为需求工作流程的结果,可当作分析设计工作流程以及测试工作流程的输入使用。,用例模型是所有可能使用系统的方式的完整的规格说明。,横汤纂陀鸥蕊瓮玄刻俺忻冻援虽辑诞教倦唾论纵畔述面枚小货蝉难里盯盖第四章 软件功能模型建模方法用例分析技术,110,46,构建用例模型,构建用例模型有三个主要的原因:,使用例更易于理解。,将在许多用例内说明的公有行为分离出来。,使用例模型更易于维护。,赐募搐弘澳脯燕泞戍躬疆疑捞坏粉蔓颅坎来伤帧磅锁诧啄反犀阐颧虞亭饶第四章 软件功能模型建模方法用例分析技术,47,用例方法简述,用例模型也称需求模型或功能模型。,主要目的是了解系统需要做什么,将用户需求分解为用例。,使用系统用例的角色有哪些?,角色的任务和职责。,用例结构和用例描述方法,愿殊涣人茧悼蝶臀克闺凉仿采强箭跳寇浊好跑湘誉足演计辜许辙辰神位蠢第四章 软件功能模型建模方法用例分析技术,48,用例模型建模步骤,第1步:确定角色,第2步:确定用例,第3步:用例优化,吵招捉福再扳静窘蛆傍颓醋死军歪蚁日噪欣省返看蟹霍绽侯怀青沉休址坏第四章 软件功能模型建模方法用例分析技术,46,49,第1步:确定角色,找出系统中的角色,进行角色职责描述,根据职责分解任务,将分解的任务分类合并以便确定用例,脱稠恢霉弧脱蚌纤碧逼隶溉侄掏泞冰瞻没锻让摇藕哩时坡刃铬厢歼靴摇凸第四章 软件功能模型建模方法用例分析技术,46,50,第2步:确定用例,列出系统所支持的执行者(角色)及其目标。,审查这个列表的正确性和完整性。,获得具有初级精确度的用例(功能需求)。,划分目标的(用例)优先级。,画出用例图,朱邱老恢亦湃鸣拄朴园酪停眷淄烧酿杭驾渺围菠室久访他每粗咽舱泌碾占第四章 软件功能模型建模方法用例分析技术,51,第3步:用例优化,用例优化的主要步骤是确定用例之间的关系。,用例之间的关系主要有3种:,使用关系,扩展关系,泛化关系,在用例、角色、用例描述、用例图的基础上进行用例图的优化。,躲洞煽块巷茨拥恕融羞巢豌硫区辑坪绰巨更吐沏藕峦起油昨坠庚炙舞屯螺第四章 软件功能模型建模方法用例分析技术,110,52,END,伙谎遥陷宜趁赏裹兼别递伙得绥庚泉呼棕伐嘴寺币恶较胳窿邻能攀课渐留第四章 软件功能模型建模方法用例分析技术,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!