- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
子系统与类的分析与设计.doc
实验三:子系统与类的分析与设计
项目名称:南阳宾馆管理系统
一、类关系图纵览
纵览类关系图,该图有两个模块组成,其分别为界面层模块和实体层模块。界面层模块中包含了五个类,分别为一个基类Function和其派生的两个子类CDosFunc、CFormFunc,以及与CDosFunc组合的CDosMainMenu、与CFormFunc组合的CMainDlg;实体层模块中包含了多个类,其中有一个主控类Employee,依赖并且控制两个分别生成实体类Factory工厂、生成文档类Order工厂的操作和活动。Factory工厂类用来创建订单类工厂OperatorFac和文件类工厂FileFac;Order工厂类用来创建操作类工厂Operator和文件类工厂File。Customer类依赖于Order类来实现自己的要求!House类依赖Operator操作类来实现自己的存在的意义,从而满足Cusomer类的要求!由于房间的种类、大小和价钱各异,所以采用Sort类与House类组合的桥接模式来实现!Sort类派生有Standard类、Ordinary类、Fashion类三个子类分别表示标准、普通、豪华三种House类型,由House派生的SmallSizeH类、MiddleSizeH类、LargeSizeH类表示大(三人)、中(两人)、小(一人)三种型号的住房。
Function调用Mainfunc()接口来实现不同界面功能的切换,不同的界面调用相对应的类的接口来实现。界面层成功登陆后,就可以进入到实体层。实体层主控类Employee来实现对抽象工场的定义,分别控制Order抽象工厂类和Factory抽象工厂类,通过接口SetOrder()和SetHouse()来实现对象的传递,在Operator类中,包括有House类的生成,通过CreateSort()接口来实现房间的类型对应的价格。然后通过派生最终确定房间的所有信息,即满足客人对房间的需求!
具体如图1所示。
图1 类关系图纵览
二、界面层类关系图
界面层类关系图如下图,通过Function抽象类来调用类CDosFunc和CFormFunc,由Function派生的两个窗口界面类CDosFunc和CFormFunc,CDosFunc类与CDosMainMenu类组合,通过接口OnEmpLogD()来实现Dos的模式,CFormFunc类与CMainDlg类组合,通过接口OnEmpLogC()来实现VC界面的模式,通过类的继承与组合关系来实现登陆的界面,利用简单工厂模式,来实现登陆界面的自由切换。需要Dos界面,就调用Dos工厂类来生成一个Dos窗口对象;需要常规的模式界面,就调用常规的工厂类来生成普通的窗口对象。
具体如图2所示。
图2 界面层类关系图
三、实体层类关系图
实体层类关系图用到了设计模式中的桥接模式、抽象工厂模式、简单工厂模式、工厂方法模式。Employee调用Order类或者Factory类,来间接实现对Operator、File、OperatorFac、FileFac的调用,Oder将Customer的信息包含,传递到派生类,Operator调用House类来实现订房信息,House调用Sort类来确定租金和住房类型,然后派生到子类来确定房间大小从而满足客人的要求!
主控类控制两个抽象工厂类,两个抽象工厂负责生成所需要的对象的工厂。Order工厂负责生成操作对象工厂和文件对象工厂,Factory工厂负责生成实体类对象工厂,订单工厂和文档工厂。此处用到了设计模式中的抽象工厂模式和工厂方法模式,通过接口CreateTab()和CreateFac()来生成相对应的对象,接着下一层面是房间的大小与类型的规定,利用桥接模式来分离两个变化对象即Sort类和House类,实现对象筛选条件的自由组合,在Sort类和House类中又应用简单工厂模式,实现对象的多态性、以及继承性和封装性!通过House类中CreateSort()接口函数来生成Sort类的派生的类的对象,通过Sort类的接口函数GetSort()和display()来实现,然后再派生到子类中,这样可以通过桥接模式,使得两个变量类能够连接到一体上。在House派生后的子类中来实现房间的各种类型!主要是类的调用关系、继承关系,设计模式,接口函数。
具体如图3所示。
.
图3 实体层类关系图
1
您可能关注的文档
最近下载
- 如何撰写发明专利ppt课件--如何撰写发明专利.pptx VIP
- 双螺杆泵产品样本.pdf VIP
- 中考数学计算题练习100题附答案(中考真题).docx VIP
- 《材料成型原理》教学大纲(金属凝固原理及塑性成形原理部分,基础知识点概括,考研必备).pdf VIP
- FANUC发那科 3.12机器人基础功能-全备份以及镜像备份操作.pdf VIP
- 2025年四川发展控股有限责任公司校园招聘笔试备考题库带答案详解.docx
- 创伤急救知识试题(含答案).docx
- 《现代物流学》(第四版)电子课件 第10章 现代物流学(第4版).pptx VIP
- 智慧农场建设方案.docx VIP
- FANUC发那科 4.15机器人通讯支持-Profibus通讯设置(机器人做从站).pdf VIP
文档评论(0)