UML建模案例3会议管理系统

上传人:无*** 文档编号:200926882 上传时间:2023-04-17 格式:PPT 页数:26 大小:336.50KB
收藏 版权申诉 举报 下载
UML建模案例3会议管理系统_第1页
第1页 / 共26页
UML建模案例3会议管理系统_第2页
第2页 / 共26页
UML建模案例3会议管理系统_第3页
第3页 / 共26页
资源描述:

《UML建模案例3会议管理系统》由会员分享,可在线阅读,更多相关《UML建模案例3会议管理系统(26页珍藏版)》请在装配图网上搜索。

1、一、问题陈述一、问题陈述有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1、用户可以按照会议人数、会议时间预订会议室。可以只预订次,也可预订定期召开的会议。2、开会前允许修改会议时间、人数,重新选择会议室,甚至取消预订的会议。3、确定会议预订后,会议中心负责会务管理:包括通过邮寄或电子邮件,通知开会人员有关会议信息,制作代表证等。4、系统根据会议室的使用情况(紧张与否),调整、更改会议室和会议时间,并调整修改预订会议的时间。会议管理系统会议管理系统会议管理系统会议管理系统退出退出下页下页末页末页案例三二、建立二、建立二、建立二、建立用例模型用例模型用例模型用例模型1 1、

2、识别角色、识别角色找出所有可能与系统发生交互行为的外部实体、对象、系统。考虑系统的主要功能的使用者,就会想到用户和系统管理者,但如果直接将用户定义为角色,系统的所有功能几乎都由用户使用。根据问题的描述,系统要求将会议和会议的召开分开来。从会议的角度看,允许用户定义、更改或删除一个会议。从会议召开的角度看,允许用户为某个会议定义召开时间、参加人数、更改相应的数据或删除已定义的会议召开。因此,将用户识别为“会议管理者”和“会议申请者”两个角色。本系统定义以下角色:会议管理者(Meeting Administrator)会议申请者(Meeting Instance Requester)邮局(Post

3、 Office)会议人员管理(Attendee Management)系统维护者(System Maintainer)退出退出上页上页首页首页下页下页末页末页在识别角色的基础上,列出与角色相关的用例,有的用例与多个角色相关,经过分析,确定系统的用例(打 )。与会议管理者相关的用例:与会议管理者相关的用例:定义一个会议(Define Meeting)更改一个会议(Alter Meeting)删除一个会议(Remove Meeting )与会议申请者相关的用例:与会议申请者相关的用例:申请会议召开(Request Meeting Instance)更改申请(Chang Request)取消申请(C

4、ancel Request)定义参加人员(Add Attendee)归还会议室(Release Room)2 2 2 2、用例识别、用例识别、用例识别、用例识别退出退出上页上页首页首页下页下页末页末页2 2 2 2、用例识别、用例识别、用例识别、用例识别 与邮局相关的用例:与邮局相关的用例:申请会议召开(Request Meeting Instance)更改申请(Modify Request)取消申请(Cancel Request )与会议人员管理相关的用例:与会议人员管理相关的用例:定义参加人员(Add Attendee)取消申请(Cancel Request)申请会议召开(Request

5、Meeting Instance)更改申请(Modify Request)与系统维护者相关的用例:与系统维护者相关的用例:会议室维护(Meeting Room Maintenance)设定预定时限(Set Reservation Tome Limit)在确定角色和用例的基础上,画出用例图(图)。退出退出上页上页首页首页下页下页末页末页3 3、会议管理系统的、会议管理系统的Use caseUse case图图图1 会议管理系统的Use case图归还会议室归还会议室申请会申请会议召开议召开更改申请更改申请取消申请取消申请定义参定义参加人员加人员会议召开申会议召开申请者请者邮局邮局会议会议人员人员

6、管理管理设置预设置预定时限定时限会议室会议室维护维护定义会议定义会议更改会议更改会议删除会议删除会议系统维护者系统维护者会议管理员会议管理员 退出退出上页上页首页首页下页下页末页末页用例用例1 1、定义会议、定义会议(Define Meeting)输入会议名称确定会议规模确定会议类型其中会议规模是指参会人数范围。用例、更改会议用例、更改会议(Alter Meeting)改变会议名称改变会议规模改变会议召开频度用例、删除会议用例、删除会议(Remove Meeting)如果该会议没有召开申请从会议列表中删除如果该会议有召开申请取消与之相关的会议召开信息删除该会议使用:用例8 删除参加人员(Rem

7、ove Attendee)用例6 取消申请(Cancel Request)4 4 4 4、对用例的进一步描述、对用例的进一步描述、对用例的进一步描述、对用例的进一步描述用例用例4 4、申请会议召开、申请会议召开(Request Meeting Instance)确定召开时间(年、月、日)确定参加人员确定侯选会议室发会议通知使用:用例11 发会议通知(Inform of Meeting)用 例 13 选 择 参 加 组(Select Group Attendee)扩展:如果召开时间在申请时限之外 用例12 申请拒绝(Request Rejection)如果还没定义参加人员用例7 定义参加人员(A

8、dd Attendee)用例用例5 5:更改申请:更改申请(Modify Request)更改召开时间更改参加人员更改取得会议室发会议更改通知使用:用例13 选择参加组(Select Group Attendee)用例11 发会议通知(Inform of Meeting)扩展:如果更改的时间不合法 用例12 申请拒绝(Request Rejection)用例7 定义参加人员(Add Attendee)退出退出上页上页首页首页下页下页末页末页用例用例6 6:取消会议召开:取消会议召开(Cancel Request)、取消申请归还会议室发会议取消通知使用:用例8 归还会议室(Release Roo

9、m)用例14 发会议取消通知(Inform Rejection)扩展:如果会议已召开用例12 申请拒绝(Request Rejection)用例用例7 7:定义参加人员:定义参加人员(Add Attendee)输入参加人员的详细信息定义参加组用例用例9 9:会议维护:会议维护(Meeting Room Maintenance)加入一个会议室(用例15)标记一个会议室不可用(用例16)查询会议室预定情况(用例17)用例用例1010:设置预定时限制:设置预定时限制(Set Reservation Tome Limit)设置时间限用例用例1111:发会议通知:发会议通知(Inform of Meet

10、ing)从会议人员管理获得参加人员的投递地址填写通知(会议召开时间、会议室号码)发送通知用例用例1212:申请拒绝:申请拒绝(Request Rejection)作废当前的一切输入中字止用户当前的操作用例用例1313:选择会议参加人员组:选择会议参加人员组(Select Group Attendee)浏览会议组成员选择参加组用例用例14:14:会议取消通知会议取消通知(Inform of Cancellation)从会议人员管理处获取参加人员地址填写通知发送通知 用例:归还会议室用例:归还会议室(Release Room)输入会议室号码输入使用时间删除参加人员归还会议室使用:用例会议室维护(M

11、eeting Room Maintenance)用例18 删除参加人员(Remove Attendee)退出退出上页上页首页首页下页下页末页末页用例用例15:15:增加会议室增加会议室(Add Meeting Room)输入会议室号码输入会议室规模输入会议室可使用状态(可使用、不可使用)加入该会议室用例用例16:16:设置会议室不可使用设置会议室不可使用(Set Unusable Flag)输入会议室号码通知该会议室的预定者标记该会议室的可所以状态为不可用用例用例17:17:查询会议室的使用情况查询会议室的使用情况(Browse Meetingroom usage)输入会议室号码查询本用例返回

12、会议室的使用状态(已使用、空闲)和会议室的可否使用情况。用例用例1818:删除会议参加人员:删除会议参加人员(Remove Attendee)删除参加人员删除参加组图2描述了会议管理系统完整的用例模型。退出退出上页上页首页首页下页下页末页末页5 5 5 5、完整的会议管理系统的、完整的会议管理系统的、完整的会议管理系统的、完整的会议管理系统的Use caseUse caseUse caseUse case图图图图图2 完整的会议管理系统Use case图退出退出上页上页首页首页下页下页末页末页除了用例模型外,其他模型都依赖于类模型,因此,类模型是方法的核心,类模型从对象的角度描述系统的组成,描

13、述类(对象)及相互间的关系。为了建立类模型,首先要识别类,鉴于篇幅,这里就不再讨论类的识别过程。通过分析,识别以下类:1、Meeting类,标识一个会议(名称、类型、规模)。2、MeetingInstance类,Meeting类的子类,对会议时间、人数等进行描述。3、MeetingRoom类,描述会议室的有关信息。4、MeetingAdministration类,管理会议。5、Attendee类,描述参会人员(姓名、性别、地址、头衔等)。6、GroupAttende类,创建一个参加会议的组。7、Address类,描述邮寄地址E-mail地址。8、PostOffice类,负责发送邮寄通知。9、A

14、ttendeeManagement类,数据库管理。10、ReservationCriteria类,定义会议室预定准则。11、Information类,构造一条通知。三、三、三、三、建立类模型建立类模型建立类模型建立类模型退出退出上页上页首页首页下页下页末页末页 该类与会议召开不同,它标识了一个会议(图3),因此,其属性包括会议名称、类型、规模(参加会议的人数)。其操作则有:增加会议、取消会议。一个会议往往有多个子会议(子类)的召开,因此,必须描述Meeting类与其子类MeetingInstance类之间的关联,如图4所示。2 2、MeetingInstanceMeetingInstance类

15、类类类MeetingInstance类是Meeting类的子类,描述会议的具体情况,会议的开始(Start Time)、结束时间(End Time),参会的人数(AttendeeNumber),其操作有:添加参加人员AddAttendee()、添加参加人员组AddGroupAttendee(),而AttachMeetingRoom()表示为该类分配一个会议室,而Cancel()则表示取消该会议的召开。MeetingMeetingInstanceStart TimeEndTimeAttendeeNumberAddAttendee()AttachMeetingRoom()AddGroupAtten

16、dee()Cancel()MeetingNameTypeSizeAddMeetingInstance()CancelMeetingInstance()图3 Meeting类图图4 MeetingInstance类图1 1、MeetingMeeting类类类类退出退出上页上页首页首页下页下页末页末页MeetingRoomCapacityBuildingCodeDoorCodeStatusAssignMeetingInstance()SetInvalidate()Release()MeetingInstanceMeeting图5 MeetingRoom类图该类描述了有关会议室的情况,因此Meeti

17、ngRoom类的属性包括:会议室的规模Capacity,位置BuildingCode、DoorCode,使用状态Status(正在使用、已预定、空闲和不可用)等。该类的操作有:AssignMeetingInstance()将 MeetingRoom 分配给 MeetingInstance 对象,而SetInvalidate()则表示当会议室出现故障时,将其状态设置为不可用。Release()为归还会议室。当会议被预定后,为了便于查询某个会议室预定给了哪个会议,应建立类MeetingRoom 与类MeetingInstanc之间的双向关联,这里定义为1:1。3 3、MeetingRoomMeet

18、ingRoom类类类类退出退出上页上页首页首页下页下页末页末页AttendeeNameSexPostaddressEmailAddressTitleMeetingInstance11.*图6 Attendee类图Attendee类描述参加会议人员的有关信息,如:姓名、性别、地址、E-mail地址、头衔等。MeetingInstance类与Attendee类之间有一对多的关联“1.*”。5、GroupAttendee类类MeetingInstanceGroupAttendeeMemberNumberGroupNameAddAttendee()DeleteAttendee()10.*Attende

19、e11.*图7 GroupAttendee类图该类可创建一个参加会议的组,便于按照小组选择参加会议的人员。MeetingInstance类与GroupAttendee类之间有一对多的关联“0.*”。4 4 4 4、AttendeeAttendeeAttendeeAttendee类类类类退出退出上页上页首页首页下页下页末页末页系统中有两种地址:电子邮件地址(EmailAddress)和邮寄地址(PostAddress),而且,每个参加会议的人,可以有一个或者多个邮寄地址,有0个或多个E-mail地址。有关地址的属性,在再内这里不再讨论。负责发送邮寄通知。PostOffice类分别与PostAdd

20、ress、EmailAddress和Information之间有一对多的关联。7、PostOffice类类1.*InformationEmailAddress1.*PostAddress1.*(from Use Case View)DelieverInformation()图9 PostOffice类图PostOfficeAddress PostAddressEmailAddressAttendee图8 Address类图1.*0.*6 6、AddressAddress类类类类退出退出上页上页首页首页下页下页末页末页 Information Notice Topic Receiver Titl

21、e Receiver name Time Event Explanation SendTime Sendr Signature Create()MeetingRoom图10 Information类图该类用于构造一条通知,由于在本系统中,通常有三种:会议召开通知,会议更改通知,会议取消通知。如下例所示,通知的内容常包括标题、接受者、会议内容、会议时间及发通知的时间等。XXXX会议召开通知会议召开通知XX先生:定于2005年9月15日在樱都会议中心召开XXXX会议。XXXX会议筹备组 2005年8月20日8 8、InformationInformation类类类类退出退出上页上页首页首页下页下页

22、末页末页 八、八、Iformation类类GroupAttendeeAttendeeAttendeeManagement(from Use Case View)AttendNumber()GroupAttendeeNumber()AddAttendee()ChangeAttendee()AddGroupAttendee()DeleteGroupAttendee()图11 AttendeeManagement t类图该类使用数据库对参加会议的人员进行管理。分析阶段只确定该类与系统的接口,有关数据库的设计在设计阶段解决。该类与GroupAttendee类及Attendee类的关联如图11所示。10

23、10、ReservationCriteria ReservationCriteria类类类类 该类定义了预定会议室的准则(如时间),并建立会议实例(MeetingInstanee 类)与该类之间的联系。ReservationCriteriaTimeCriteriasetCrieria()GetCriteria()MeetingInstanee图12 ReservationCriteria类图9 9、AttendeeManagement AttendeeManagement类类类类退出退出上页上页首页首页下页下页末页末页 八、八、Iformation类类该类管理系统中由用户定义的所有会议,并提供

24、给用户友好的用户界面。由于该类有定义会议(DefineMeeting)、更改会议(AlterMeeting)、删除会议(RemoveMeeting)等操作,建立与Meeting类之间的关联关系。MeetingName:stringMeetingAdministration(from eetingPack)MeetingNumber:intDefineMeeting()AlterMeeting()RemoveMeeting()Meeting(from MeetingPack)图13 MeetingAdministration类图1111、MeetingAdministrationMeetingA

25、dministration类类类类退出退出上页上页首页首页下页下页末页末页MeetingMeetingName:stringMeetingAdministrationReservationCriteriaMeetingInstance InformationMeetingRoom1.*1.*1.*PostOfficeGroupAttendeeAttendeeManagement Address PostAddressEmailAddressAttendee1.*0.*1.*0.*110.*0.*0.*111图14 会议管理系统类图会议管理系统类图会议管理系统类图退出退出上页上页首页首页下页下页

26、末页末页四、建立系统包图引入包图来对类进行管理,图15为本系统的包图。系统由会议包(MeetingPack)、人员包(AttendeePack)和邮寄包(PostOfficePack)三类包组成。图16、图17、图18分别描述了这三类包的构成。PostOfficePack图15 系统包图MeetingPackAttendeePack退出退出上页上页首页首页下页下页末页末页1、会议包(、会议包(MeetingPack)2 2、人员包(人员包(AttendeePack)3 3、邮寄包(、邮寄包(PostOfficePostOfficePack Pack)GroupAttendeeAddress P

27、ostAddressEmailAddressAttendee图17 人员包构成0.*1.*1.*1图18 邮寄包构成 InformationPostOffice(from Use Case View)1.*0.*MeetingMeetingName:stringMeetingAdministrationReservationCriteriaMeetingInstanceMeetingRoom图16 会议包构成111包图退出退出上页上页首页首页下页下页末页末页静态模型关注的是系统各成分的组织结构,而动态模型则要描述系统各成分之间的交互行为,即系统的动态特征。结合本系统,建立动态模型,包括交互图、

28、合作图、活动图。(一)对象交互模型 在面向对象的方法中,一切元素都与对象紧密相关,事件也不例外。因此,对象在其生命期中不断地与其它对象交互。使用对象交互模型来描述用例图中的每个用例,从对象观点来描述用例的动态交互过程。在UML中,交互模型由两类图来描述:顺序图(Sequence diagram)强调的是对象交互行为的时间“顺序”,直观描述了对象的生存期,用消息传送来清晰地描述了在对象生存期中某一时刻的动态行为。只适宜描述简单的对象交互情况。合作图(Collaboration diagram)强调的是对象合作的交互行为关系,对象间由各种关联连接,对象之间的合作情况(交互情况)使用消息流来表示,但

29、消息没有发送时间和传送时间的概念。适宜描述对象数目较多,交互情况教复杂的情况。五、建立动态模型五、建立动态模型退出退出上页上页首页首页下页下页末页末页:MeetingAdministration:Meeting:MeetingAdministrattor1:DefineMeeting(meeting)IsMeetingExisted=.T.3:Fail(MeetingExisted)2:new(meeting)图19 定义会议的顺序图当用户向会议中心申请召开会议时,首先要定义一个会议。会议管理者发送DefineMeeting消息给Meeting Administration对象,消息参数是有关

30、会议的一个临时对象(meeting),根据该临时对象检查会议是否存在?若不存在,创建新会议:2:new(meeting),若当条件表达式为真时:IsMeetingExisted=.T.,表示会议已经被定义,不需要再定义。1、用例:定义会议、用例:定义会议(Define Meeting)的顺序图的顺序图退出退出上页上页首页首页下页下页末页末页 当用户确定要取消某个会议时,首先检查会议是否定义,如果没有可以直接删除,否则要先取消相关的会议。如图20所示,首先系统用户对象MeetingAdministrator发出RemoveMeeting(MeetingName)消息给对象MeetingAdmin

31、istration,通过消息的参数检索要取消的会议对象,并向该对象发出取消会议召开的消息。表达式“IsOpen=.F.”表示如果会议不处于召开状态,就取消它。表达式“IsAllMeetingInstancesCanceled=.T.”表示该会议的所有会议召开都已经被取消,则会议管理就发出取消会议召开的消息。否则返回取消失败(如会议正在召开)的消息。2 2、用例:用例:取消会议取消会议(Remove Meeting)的顺序图的顺序图图20 取消会议的顺序图:MeetingAdministration:MeetingInstance:MeetingAdministrator1:RemoveMeet

32、ing(MeetingName)IsAllMeetingInstancesCanceled=.F.5:Fail(MeetingExisted)2:CancelMeetingInstance():MeetingIsAllMeetingInstancesCanceled=.T.4:Fail(MeetingExisted)IsOpen=.F.3:Cancel()退出退出上页上页首页首页下页下页末页末页、用例:用例:撤消会议召开(撤消会议召开(Cancel Requestment)的顺序图的顺序图:MeetingAdministration:Meeting:MeetingInstance:Meetin

33、gRoom:Post Office1:CancelMeetingInstance(Instance)IsOpen=.F.2:Cancel()3:Release()4:DelieverInformation(cancellation)图21 撤消会议召开的顺序图要撤消某个会议召开,发送Cancel 信息给MeetingInstance对象。该对象先要在Meeting对象中注销自己,再归还已分配的会议室,并向参会人员发撤消会议的通知。图21中会议管理对象发送给会议对象的消息CancelMeetingInstance(Instance)中的参数用于检索会议召开。条件表达式IsOpen=.F.表示如会

34、议召开未进行,则撤消会议召开。如果会议已进行,则返回失败消息(图中未列出)。退出退出上页上页首页首页下页下页末页末页图22 撤消会议召开的顺序图:Post Office:MeetingAdministration:Meeting:MeetingInstance:MeetingRoom1:AddMeetingInstance(instance)2:new6:AssignMeetingInstance()7:DelieverInformation(info)5:AttachMeetingRoom(room)4:AddGrooupAttendee(group)3:AddAttendee(member

35、)如果时间合法,就创建一个会议召开对象。、用例:用例:申请会议召开(申请会议召开(Request Meeting Instance)的顺序图的顺序图用户申请一个会议召开时,应该指定会议召开的名称,召开的时间,及会议参加人员。图22中instance、member、group、room、info都是临时对象,instance记录了用户指定的会议属性(时间、参加人数等),member为一个参会代表,是Attendee group参会人员组的对象;而room是满足要求的会议室。、用例:用例:申请会议召开申请会议召开退出退出上页上页首页首页下页下页末页末页六、合作图与活动图对于简单的对象交互情况,顺序图可以作很好的描述,可是,当交互对象数目增加,交互情况复杂时,顺序图就很难描述清楚了,可用合作图来描述。合作图描述了系统中所有对象之间的交互合作关系,注重对象之间的整体交互情况,交互关系由消息流来表示。在Rose中,还可以将顺序图与合作图进行转换。本案例不再给出合作图。七、活动图七、活动图活动图模型主要用于描述系统在问题域空间中的活动流程,活动图可以方便地描述系统中的并发活动。由于本例中并没有复杂的并发活动,而且也也没有明显的基于核心的、具有复杂状态和行为的对象,所以可以不必画出合作图和活动图。六、合作图六、合作图退出退出上页上页首页首页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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