资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、问题陈述 有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1、用户可以按照会议人数、会议时间预订会议室。可以只预订次,也可预订定期召开的会议。2、开会前允许修改会议时间、人数,重新选择会议室,甚至取消预订的会议。3、确定会议预订后,会议中心负责会务管理:包括通过邮寄或电子邮件,通知开会人员有关会议信息,制作代表证等。4、系统根据会议室的使用情况(紧张与否),调整、更改会议室和会议时间,并调整修改预订会议的时间。会议管理系统会议管理系统退出下页末页案 例 三二、建立二、建立用例模型用例模型1、识别角色找出所有可能与系统发生交互行为的外部实体、对象、系统。考虑系统的主要功能的使用者,就会想到用户和系统管理者,但如果直接将用户定 义为角色,系统的所有功能几乎都由用户使用。根据问题的描述,系统要求将会议和会 议的召开分开来。从会议的角度看,允许用户定义、更改或删除一个会议。从会议召开的角度看,允许用户为某个会议定义召开时间、参加人数、更改相应的 数据或删除已定义的会议召开。因此,将用户识别为“会议管理者”和“会议申请者”两个角色。本系统定义以下角色:会议管理者(Meeting Administrator)会议申请者(Meeting Instance Requester)邮局(Post Office )会议人员管理(Attendee Management )系统维护者(System Maintainer )退出上页首页下页末页在识别角色的基础上,列出与角色相关的用例,有的用例与多个角色相关,经过分 析,确定系统的用例(打 )。 与会议管理者相关的用例:定义一个会议(Define Meeting )更改一个会议(Alter Meeting ) 删除一个会议(Remove Meeting ) 与会议申请者相关的用例:申请会议召开(Request Meeting Instance ) 更改申请(Chang Request ) 取消申请(Cancel Request ) 定义参加人员(Add Attendee ) 归还会议室(Release Room ) 2 2、用例识别、用例识别退出上页首页下页末页2 2、用例识别、用例识别 与邮局相关的用例:申请会议召开( Request Meeting Instance )更改申请( Modify Request )取消申请( Cancel Request ) 与会议人员管理相关的用例:定义参加人员(Add Attendee )取消申请(Cancel Request )申请会议召开(Request Meeting Instance ) 更改申请( Modify Request ) 与系统维护者相关的用例:会议室维护( Meeting Room Maintenance ) 设定预定时限(Set Reservation Tome Limit ) 在确定角色和用例的基础上,画出用例图(图)。退出上页首页下页末页3、会议管理系统的Use case图图1 会议管理系统的Use case图归还会议室申请会 议召开更改申请取消申请定义参 加人员会议召开申 请者邮局会议 人员 管理设置预 定时限会议室 维护定义会议更改会议删除会议系统维护者会议管理员 退出上页首页下页末页用例1、定义会议(Define Meeting )输入会议名称确定会议规模确定会议类型 其中会议规模是指参会人数范围。 用例、更改会议( Alter Meeting )改变会议名称改变会议规模改变会议召开频度用例、删除会议( Remove Meeting )如果该会议没有召开申请从会议列表中删除如果该会议有召开申请取消与之相关的会议召开信息删除该会议使用: 用例8 删除参加人员( Remove Attendee ) 用例6 取消申请(Cancel Request)4 4、对用例的进一步描述、对用例的进一步描述用例4、申请会议召开(Request Meeting Instance)确定召开时间(年、月、日)确定参加人员确定侯选会议室发会议通知使用:用例11 发会议通知(Inform of Meeting)用例13 选择参加组(Select Group Attendee )扩展: 如果召开时间在申请时限之外用例12 申请拒绝(Request Rejection ) 如果还没定义参加人员用例7 定义参加人员(Add Attendee )用例5:更改申请( Modify Request )更改召开时间更改参加人员更改取得会议室发会议更改通知使用:用例13 选择参加组(Select Group Attendee)用例11 发会议通知(Inform of Meeting)扩展: 如果更改的时间不合法用例12 申请拒绝(Request Rejection) 用例7 定义参加人员(Add Attendee )退出上页首页下页末页用例6:取消会议召开(Cancel Request)、取消申请归还会议室发会议取消通知使用:用例8 归还会议室(Release Room)用例14 发会议取消通知(Inform Rejection)扩展: 如果会议已召开用例12 申请拒绝(Request Rejection)用例7:定义参加人员(Add Attendee )输入参加人员的详细信息定义参加组用例9:会议维护(Meeting Room Maintenance)加入一个会议室(用例15)标记一个会议室不可用(用例16)查询会议室预定情况(用例17)用例10:设置预定时限制(Set Reservation Tome Limit)设置时间限用例11:发会议通知(Inform of Meeting)从会议人员管理获得参加人员的投递地址填写通知(会议召开时间、会议室号码)发送通知用例12:申请拒绝(Request Rejection)作废当前的一切输入中字止用户当前的操作用例13:选择会议参加人员组(Select Group Attendee)浏览会议组成员选择参加组用例14:会议取消通知(Inform of Cancellation)从会议人员管理处获取参加人员地址填写通知发送通知用例:归还会议室(Release Room)输入会议室号码输入使用时间删除参加人员归还会议室使用:用例会议室维护(Meeting Room Maintenance)用例18 删除参加人员(Remove Attendee)退出上页首页下页末页用例15:增加会议室(Add Meeting Room)输入会议室号码输入会议室规模输入会议室可使用状态(可使用、不可使用)加入该会议室用例16:设置会议室不可使用(Set Unusable Flag)输入会议室号码通知该会议室的预定者标记该会议室的可所以状态为不可用用例17:查询会议室的使用情况(Browse Meetingroom usage)输入会议室号码查询本用例返回会议室的使用状态(已使用、空闲)和会议室的可否使用情况。用例18:删除会议参加人员(Remove Attendee)删除参加人员删除参加组图2描述了会议管理系统完整的用例模型。退出上页首页下页末页5 5、完整的会议管理系统的、完整的会议管理系统的Use caseUse case图图图2 完整的会议管理系统Use case图退出上页首页下页末页除了用例模型外,其他模型都依赖于类模型,因此,类模型是方法的核心,类模型 从对象的角度描述系统的组成,描述类(对象)及相互间的关系。为了建立类模型,首先要 识别类,鉴于篇幅,这里就不再讨论类的识别过程。通过分析,识别以下类:1、 Meeting类,标识一个会议(名称、类型、规模)。2、 MeetingInstance类, Meeting类的子类,对会议时间、人数等进行描述。3、 MeetingRoom类,描述会议室的有关信息。4、 MeetingAdministration类,管理会议。5、 Attendee类,描述参会人员(姓名、性别、地址、头衔等)。6、 GroupAttende类,创建一个参加会议的组。7、 Address类,描述邮寄地址E-mail地址。8、 PostOffice类,负责发送邮寄通知。9、 AttendeeManagement类,数据库管理。10、ReservationCriteria类,定义会议室预定准则。11、Information类,构造一条通知。三、三、建立类模型建立类模型退出上页首页下页末页该类与会议召开不同,它标识了一个会议(图3),因此,其属性包括会议名称、类型、规 模(参加会议的人数)。其操作则有:增加会议、取消会议。一个会议往往有多个子会议(子 类)的召开,因此,必须描述Meeting类与其子类MeetingInstance类之间的关联,如图4所示。2 2、 MeetingInstanceMeetingInstance类类MeetingInstance类是Meeting类的子类,描述会议的具体情况,会议的开始(Start Time)、 结束时间(End Time) ,参会的人数(AttendeeNumber) ,其操作有:添加参加人员AddAttendee() 、添加参加人员组AddGroupAttendee(),而AttachMeetingRoom()表示为该类分配一个会议室, 而Cancel()则表示取消该会议的召开。MeetingMeetingInstanceStart Time EndTime AttendeeNumberAddAttendee() AttachMeetingRoom() AddGroupAttendee() Cancel()MeetingNameTypeSizeAddMeetingInstance()CancelMeetingInstance()图3 Meeting类图 图4 MeetingInstance类图1 1、 MeetingMeeting类类退出上页首页下页末页MeetingRoomCapacity BuildingCode DoorCode StatusAssignMeetingInstance () SetInvalidate() Release()MeetingInstanceMeeting图5 MeetingRoom类图该类描述了有关会议室的情况,因此MeetingRoom类的属性包括:会议室的规模Capacity,位置BuildingCode、 DoorCode,使用状态Status(正在使用、已预定、空闲和不可用)等。该类的操作有:AssignMeetingInstance() 将 MeetingRoom 分配给 MeetingInstance 对象,而 SetInvalidate()则表示当会议室出现故障时,将其状态设置为不可用。 Release()为归还会议室。当会议被预定后,为了便于查询某个会议室预定给了哪个会议,应建立类MeetingRoom 与类 MeetingInstanc之间的双向关联,这里定义为1:1。3 3、MeetingRoomMeetingRoom类类退出上页首页下页末页AttendeeName Sex Postaddress EmailAddress TitleMeetingInstance11.*图6 Attendee类图Attendee类描述参加会议人员的有关信息,如:姓名、性别、地址、E-mail地址、头衔等 。 MeetingInstance类与Attendee类之间有一对多的关联 “1.*” 。5、GroupAttendee类MeetingInstanceGroupAttendeeMemberNumber GroupName AddAttendee() DeleteAttendee()10.*Attendee11.*图7 GroupAttendee类图该类可创建一个参加会议的组,便于按照小组选择参加会议的人
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号