- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 面向对象的 案例分析 目录 角色描述 用例细化 细化的用例图 类的识别 系统类图 包图 状态图与配置图 时序图与合作图 活动图 四、建立系统包图 引入包图来对类进行管理,图15为本系统的包图。 系统由会议包(MeetingPack)、人员包(AttendeePack)和邮寄包(PostOfficePack)三类包组成。图16、图17、图18分别描述了这三类包的构成。 PostOfficePack 图15 系统包图 MeetingPack AttendeePack 退出 上页 首页 下页 末页 1、会议包( MeetingPack ) 2、人员包( AttendeePack ) 3、邮寄包( PostOfficePack ) GroupAttendee Address PostAddress EmailAddress Attendee 图17 人员包构成 0..* 1..* 1..* 1 图18 邮寄包构成 Information PostOffice (from Use Case View) 1..* 0..* Meeting MeetingName:string MeetingAdministration ReservationCriteria MeetingInstance MeetingRoom 图16 会议包构成 1 1 1 包图 退出 上页 首页 下页 末页 静态模型关注的是系统各成分的组织结构,而动态模型则要描述系统各成分之间的交互行为,即系统的动态特征。结合本系统,建立动态模型,包括交互图、合作图、活动图。 (一)对象交互模型 在面向对象的方法中,一切元素都与对象紧密相关,事件也不例外。因此,对象在其生命期中不断地与其它对象交互。使用对象交互模型来描述用例图中的每个用例,从对象观点来描述用例的动态交互过程。 在UML中,交互模型由两类图来描述: 顺序图(Sequence diagram)强调的是对象交互行为的时间“顺序”,直观描述了对象的生存期,用消息传送来清晰地描述了在对象生存期中某一时刻的动态行为。只适宜描述简单的对象交互情况。 合作图(Collaboration diagram)强调的是对象合作的交互行为关系,对象间由各种关联连接,对象之间的合作情况(交互情况)使用消息流来表示,但消息没有发送时间和传送时间的概念。适宜描述对象数目较多,交互情况教复杂的情况。 五、建立动态模型 退出 上页 首页 下页 末页 :Meeting Administration :Meeting :Meeting Administrattor 1:DefineMeeting(meeting) [IsMeetingExisted=.T.] 3:Fail(MeetingExisted) 2:{new(meeting)} 图19 定义会议的顺序图 当用户向会议中心申请召开会议时,首先要定义一个会议。会议管理者发送DefineMeeting消息给Meeting Administration对象,消息参数是有关会议的一个临时对象(meeting),根据该临时对象检查会议是否存在?若不存在,创建新会议:2:{new(meeting)},若当条件表达式为真时: [IsMeetingExisted=.T.],表示会议已经被定义,不需要再定义。 1、用例:定义会议(Define Meeting)的顺序图 退出 上页 首页 下页 末页 当用户确定要取消某个会议时,首先检查会议是否定义,如果没有可以直接删除,否则要先取消相关的会议。 如图20所示,首先系统用户对象MeetingAdministrator发出RemoveMeeting (MeetingName)消息给对象MeetingAdministration,通过消息的参数检索要取消的会议对象,并向该对象发出取消会议召开的消息。表达式“[IsOpen=.F.]”表示如果会议不处于召开状态,就取消它。表达式“[IsAllMeetingInstancesCanceled=.T.]”表示该会议的所有会议召开都已经被取消,则会议管理就发出取消会议召开的消息。否则返回取消失败(如会议正在召开)的消息。 2、用例:取消会议(Remove Meeting )的顺序图 图20 取消会议的顺序图 :Meeting Administration :Meeting Instance :Meeting Administrator 1:RemoveMeeting (MeetingName) [IsAllMeetingInstancesCanceled=.F.] 5:F
文档评论(0)