《02-系统行为.ppt》由会员分享,可在线阅读,更多相关《02-系统行为.ppt(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、OOAD Using UML,v.3.5 System Behavior,p.1Copyright 1997 by Rational Software CorporationR系统行为系统行为OOAD Using UML,v.3.5 System Behavior,p.2Copyright 1997 by Rational Software CorporationR目的:目的:你将能将:n定义系统行为 n定义用例与执行者n理解如何编写用例文档n使用用例图,展示执行者,用例,及它们之间关系n定义用例的场景(scenario)OOAD Using UML,v.3.5 System Behavior
2、,p.3Copyright 1997 by Rational Software CorporationR什么是系统行为?什么是系统行为?n系统行为表达系统的动作与反应o外界可见的、可测试的系统活动n系统行为由用例捕获o用例描述系统,环境,及系统与环境之间的关系OOAD Using UML,v.3.5 System Behavior,p.4Copyright 1997 by Rational Software CorporationRActorUse-Case用例建模的主要概念用例建模的主要概念n执行者描述与系统交互的事物n用例为系统执行的一系列动作,它向某个执行者产生可见的结果OOAD Usi
3、ng UML,v.3.5 System Behavior,p.5Copyright 1997 by Rational Software CorporationR用例模型的主要目的是向客户或最终用户传达系统功能与行为什么是用例模型?什么是用例模型?n用例模型为系统预期功能(用例)及其环境(执行者)的模型n需求分析、设计,测试中均使用同一个用例模型OOAD Using UML,v.3.5 System Behavior,p.6Copyright 1997 by Rational Software CorporationR用例模型的好处用例模型的好处n用例模型o用于与最终用户和领域专家进行交流lPr
4、ovides buy-in at an early stage of system developmentl达到对需求的共同理解o用于识别l谁将与系统发生交互,系统应做什么事l系统应有的接口o用于验证l捕获了所有的需求l开发者已理解了这些需求OOAD Using UML,v.3.5 System Behavior,p.7Copyright 1997 by Rational Software CorporationR执行者(执行者(Actors)n执行者不是系统的一部分,它代表系统用户可能扮演的角色n执行者可主动地与系统交换信息n执行者可以是信息的被动接受者n执行可代表人,机器,或另一个系统Ac
5、torOOAD Using UML,v.3.5 System Behavior,p.8Copyright 1997 by Rational Software CorporationR发现执行者:提问单发现执行者:提问单n谁对某些需求感兴趣?n使用系统的机构在哪里?n谁为系统提供此信息?使用此信息?移去此信息?n谁使用此功能?n谁支持、维护此系统?n系统使用了外部资源吗?n执行者执行用例需要什么?n一个执行者是否扮演几种不同角色?几个执行者是否扮演同一个角色?OOAD Using UML,v.3.5 System Behavior,p.9Copyright 1997 by Rational So
6、ftware CorporationR执行者实例执行者实例1 2 34 5 67 8 9*0#Insert cardIvar actsas anactorTom actsas anactorUse-Case ModelActorUse CaseOOAD Using UML,v.3.5 System Behavior,p.10Copyright 1997 by Rational Software CorporationR一个用户可担当几个执行者一个用户可担当几个执行者1 2 34 5 67 8 9*0#Insert cardCharlie asoperatorCustomerOperatorCh
7、arlie as customerCharlieOOAD Using UML,v.3.5 System Behavior,p.11Copyright 1997 by Rational Software CorporationR执行者与系统边界执行者与系统边界维护银行出纳员系统边界?ATM System银行系统OOAD Using UML,v.3.5 System Behavior,p.12Copyright 1997 by Rational Software CorporationR用例(用例(Use Cases)n用例模仿执行者与系统之间对话n用例由执行者执行系统中某一功能发动n用例为一个完
8、整、有定义的事件流n所有用例集合起来,构成了使用系统的所有可能的方式Use CaseOOAD Using UML,v.3.5 System Behavior,p.13Copyright 1997 by Rational Software CorporationR发现用例:提问单发现用例:提问单n执行者的任务是什么?n执行者是否将在系统中创建,存储,删除或读信息?n什么用例将创建,存储,删除或读该信息?n执行者是否需将突然的外部变动通知系统?n是否要将系统中某一突发事件通知执行者?n系统要用正确的行为来支持业务?n哪些用例将支持与维护系统?n这些用例是否可履行所有的功能需求?OOAD Using
9、 UML,v.3.5 System Behavior,p.14Copyright 1997 by Rational Software CorporationR用例的信息源用例的信息源n系统规格说明/问题陈述n领域相关的文化n会见领域专家n个人的领域知识n传统系统OOAD Using UML,v.3.5 System Behavior,p.15Copyright 1997 by Rational Software CorporationR用例图(用例图(Use Case Diagram)n用例图通过画出传送用例与执行者间的激发(stimuli)来说明它们之间的交互CustomerConduct
10、Bank TransactionsATM MaintenanceMaintain ATM MachineRun ReportsBankOOAD Using UML,v.3.5 System Behavior,p.16Copyright 1997 by Rational Software CorporationR用例文档编制用例文档编制n用例文档包括o简述l几行文字说明用例目的o详细的事件流l描述用例启动时出现的主要的备选的事件流o编制的文档读起来象执行者与用例之间的对话n这二个文档应以客户可理解的术语书写OOAD Using UML,v.3.5 System Behavior,p.17Copy
11、right 1997 by Rational Software CorporationR用例的事件流用例的事件流n每个用例o有一条正常的、基本的事务序列o可有几条备选的事务序列o通常有几条异常事务序列处理出错情形o还可有定义好的前置与后置条件OOAD Using UML,v.3.5 System Behavior,p.18Copyright 1997 by Rational Software CorporationR用例的事件流用例的事件流(续续)n描述的只是属于本用例的事件,而不是其它用例中发生的事件n避免使用含糊的术语,如“例如”、“等”及“信息”n事件流应描述o用例何时开始与结束,怎样开
12、始与结束o何时用例与执行者交互o执行者与用例交换什么信息l不描述用户接口的细节o基本的事件流o备选的事件流OOAD Using UML,v.3.5 System Behavior,p.19Copyright 1997 by Rational Software CorporationR谁读用例文档谁读用例文档n客户批准系统应做的事n用户获得系统理解n系统开发者记录系统的行为n评审者检查事件流n系统分析员(系统设计员)提供进行分析与设计的基础n系统测试员作为测试用例的基础n项目负责人提供项目计划的输入n技术文书编写用户手册的基础OOAD Using UML,v.3.5 System Behavio
13、r,p.20Copyright 1997 by Rational Software CorporationR课程注册的例子课程注册的例子n每学期开始,学生需要一张课程目录单,包含该学期提供的课程表。每一课程的信息应包括诸如教授,系,及先决条件等内容,以有助于学生作出明智的选择。n此新系统允许学生选择下学期的四门课程。此外,为防止学生分配不到主要选课,每个学生要指定二门候选课程。课程最多允许十个学生参加,最少三个学生。如果不到三个学生,则此课程撤消。一旦学生完成注册过程,此注册系统发送信息到学费系统,为学生开出这学期的账单。OOAD Using UML,v.3.5 System Behavior
14、,p.21Copyright 1997 by Rational Software CorporationR课程注册的例子(续课程注册的例子(续)n教授必须能访问联机系统指定他们所讲授的课程,教授还要知道哪些学生已选择了他的课程。n每一学期要有一段时间可让学生们变动他们的课程表,在这段时间里学生们必须能够访问此系统,以增加或取消课程。OOAD Using UML,v.3.5 System Behavior,p.22Copyright 1997 by Rational Software CorporationRUse Case Diagram StudentBilling SystemRegist
15、er for CoursesRequest Course RosterSelect Courses to TeachProfessorMaintain Student InfoMaintain Professor InfoMaintain Course InfoGenerate CatalogueRegistrarOOAD Using UML,v.3.5 System Behavior,p.23Copyright 1997 by Rational Software CorporationR简述简述-注册课程用例注册课程用例 1.1 简述此用例由学生启动,它为学生提供了创建、删除、修改与/或回顾
16、某一学期课程表的功能。OOAD Using UML,v.3.5 System Behavior,p.24Copyright 1997 by Rational Software CorporationR事件流事件流注册课程用例注册课程用例2.1 前置条件无2.2 主事件流此用例从学生键入学生id时开始,系统核对学生的id是否有效(E-1),并提出学生选择当前学期或以后学期(E-2),学生键入所要求的“学期”,系统提示学生选择所需求的活动:创建、回顾、修改、打印、删除、或退出。如果新选的活动为:创建 A-1:执行创建新课程表子流回顾 A-2:执行回顾课程表子流修改 A-3:执行修改课程表子流打印
17、A-4:执行打印课程表子流删除 A-5:执行删去课程表子流退出 用例结束OOAD Using UML,v.3.5 System Behavior,p.25Copyright 1997 by Rational Software CorporationR事件流事件流注册课程用例(续)注册课程用例(续)2.3 备选事件流A-1:创建新课程表系统显示空白课程表的屏幕,学生键入4个主课程号及其个备选课程号(E-3)。学生然后提交课程请求。对所选的每门主课,系统检查先决条件是否具备(E-4),如果此课程是可选的,则把此学生加入到此课程(E-5)。系统打印学生课程表(E-6),把学费信息发送给处理的学费系统
18、(E-7),然后再开始此用例。A-2:回顾课程表系统检索(E-8)显示关于学生注册的所有课程信息:课程名,课程号,课程登记号,一周天数,时间,位置,学分数。当用户指出他(她)已通过回顾,再次开始此用例。OOAD Using UML,v.3.5 System Behavior,p.26Copyright 1997 by Rational Software CorporationR事件流事件流注册课程用例(续)注册课程用例(续)A-3:修改课程表系统检查还未超过变动的最后时期(E-9)。系统检索(E-8),显示学生注册的所有课程的信息:课程名,课程号,课程登记号,一周天数,时间,位置,学分数。系统
19、提示用户选择所要求的活动:删除课程,增加课程,退出。如果所选活动是:删除课程 A-6:执行删除课程子事件流增加课程 A-7:执行增加课程子事件流退出 系统打印学生课程表,然后再次开始此用例。OOAD Using UML,v.3.5 System Behavior,p.27Copyright 1997 by Rational Software CorporationR事件流事件流注册课程用例(续)注册课程用例(续)A-4:打印课程表系统打印学生课程表(E-6),再次开始此用例。A-5:删除课程表系统检索(E-8),显示当前课程表信息。系统要求用户确认删去此课程表,如果接受,此课程表从系统中删除。
20、如果没有确认此删除,则取消此操作,并再次开始此用例。A-6:删除课程学生键入删去的登记号。系统要求用户确认删去此课程登记,如果接受,课程登记从学生课程表中删除。如果没有确认此删除,则取消此操作,并再次开始用例备选事件流。OOAD Using UML,v.3.5 System Behavior,p.28Copyright 1997 by Rational Software CorporationR事件流事件流注册课程用例(续)注册课程用例(续)A-7 增加课程学生键入增加的课程登记。系统将检查先决条件是否满足(E-4),如果课程开放,则把此学生加入到课程登记,再次开始用例备选事件流。E-1:异常
21、事件流E-1:键入无效的学生id,用户可再键入学生id号或终止此用例。E-2:键入无效的学期,用户再键入学期或终止此用例。E-3:键入无效的课程登记号(格式),用户可再键入有效号或终止此用例。E-4:用户所有先决条件不满足,通知用户课程不可能安排以及其原因。若可能的话,提供备选课程,用例继续。OOAD Using UML,v.3.5 System Behavior,p.29Copyright 1997 by Rational Software CorporationR事件流事件流注册课程用例(续)注册课程用例(续)E-5:通知用户所选课程被关闭。若可能的话,提供备选课程,继续用例。E-6:不可
22、以打印课程表,保存此信息,并通知用户,必须再提交打印课程表请求,继续用例。E-7:系统将保存所有的学费信息并在以后重新提交给学费系统。用例继续。E-8:系统不能检索课程表信息。用例从头开始。E-9:系统通知用户不可修改课程表。用例从头开始。OOAD Using UML,v.3.5 System Behavior,p.30Copyright 1997 by Rational Software CorporationR什么是场景(什么是场景(Scenarios)?n场景为用例的确一个实例o它为贯穿用例的一个事件流n每个用例有一张场景图o主场景(恰当的场景)l正常事件流系统应该的工作方式o辅场景l主
23、场景的例外情况OOAD Using UML,v.3.5 System Behavior,p.31Copyright 1997 by Rational Software CorporationR“注册课程注册课程”用例的一个场景用例的一个场景John键入学生ID号369 52 3449,系统核对此号。系统问哪一学期,John指出当前学期并选择创建一个新的课程表。从提供的可选课程表中,John选择主课程为:英语 101、地质学 110、世界历史 200、大学代数 110。他然后选择备选的课程:音乐知识 110、Java编程介绍 180。系统确定John具备所有先决条件,把他放入到课程登记表。系统指
24、出此活动已完成,系统打印学生课程表并把四门课程的学费信息发送到课程的学费系统去处理。OOAD Using UML,v.3.5 System Behavior,p.32Copyright 1997 by Rational Software CorporationR辅场景辅场景n什么是“注册课程”用例的辅助场景?OOAD Using UML,v.3.5 System Behavior,p.33Copyright 1997 by Rational Software CorporationR辅场景(续)辅场景(续)n要考虑的某些辅场景是:o学生没有选择4门功课o主课不可用o主课和备选课都不可用o不能把
25、学生加入到课程登记表o不能创建学生课程表OOAD Using UML,v.3.5 System Behavior,p.34Copyright 1997 by Rational Software CorporationR需要多少个场景?需要多少个场景?n简单的回答:为理解正在开发的系统需要多少就有多少n凭经验:o主场景l详细描述这些场景中的大约80%o辅场景l详细描述少量感兴趣的、高风险的辅场景OOAD Using UML,v.3.5 System Behavior,p.35Copyright 1997 by Rational Software CorporationR练习练习:系统行为系统行为n使用提供的问题o画出use case图o写出执行者的定义o对于每个use casel写出简述l写出事件流l列出可能的场景OOAD Using UML,v.3.5 System Behavior,p.36Copyright 1997 by Rational Software CorporationR小结:系统行为小结:系统行为n系统行为指系统如何执行或作用n系统行为可通过一系列用例来表现n一个用例是指一些系统受外部执行者的激发而执行的功能o它们提供了从用户的角度捕获系统需求的机制n一个执行者必须是和系统相关的人或事物n用例图是系统所确定的执行者和用例的图形描述n用例文档由简述和事件流组成
限制150内