欢迎来到天天文库
浏览记录
ID:23755842
大小:672.34 KB
页数:24页
时间:2018-11-10
《中南大学软件体系结构实验五》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《软件体系结构》实验报告项目名称结构型和行为型设计模式实验专业班级软件工程1203学号姓名实验成绩:批阅教师:2014年12月24日实验5结构型和行为型设计模式实验实验学时:2每组人数:1实验类型:3(1:基础性2:综合性3:设计性4:研究性)实验要求:1(1:必修2:选修3:其它)实验类别:3(1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种而向对象编程语言实现儿种常见的结构型和行为型设计模式,包括代理模式、职责链模式和命令模式,理解每一种设计模式的模式动机,掌握模式结构,学习如
2、何使用代码实现这些模式。二、实验内容1.在某应用软件中需要记录业务方法的调用FI志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法methodO调用之前输出“方法methodO被调用,调用时间为2014-11-510:10:10”,调用之后如果没有抛异常则输出“方法methodO调用成功”,否则输出“方法methodO调用失败”。在代理类中调用真实业务类的业务方法,使用代理模式设计该H志记录模块的结构,绘制类软图并编程模拟实现。2.某软件公司承接了某信息咨询公司的收费商务信息查询
3、系统的开发任务,该系统的基本需求如下:(1)在进行商务信息查询之前用户需要通过身份验证,只有合法用户才能够使用该查询系统;(2)在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。该软件公司开发人员已完成了商务信息查询模块的开发任务,现希望能够以一种松耦合的方式向原有系统增加身份验证和tl志记录功能,客户端代码可以无区别地对待原始的商务信息査询模块和增加新功能之后的商务信息査询模块,而且可能在将来还要在该信息赍询模块中增加一些新的功能。试使用代理模式设计并编程模拟实现该收费商务信息查询系统。【提示:使用保护
4、代理和智能引用代理】3.某企业的SCM(SuppIyChainManagement,供应链管理)系统中包含一个采购审批子系统。该企业的采购审批是分级进行的,即根裾采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购中.,50万元及以上的采购单就需要开董事会讨论决定。如下图所示:采钧人!4主仟副《唞长祇平长惠供会试使用职责链模式设计并实现该系统。1.某公司欲开发一个软件系统的在
5、线文档帮助系统,用户可以在任何一个查询上下文中输入査询关键字,如果当前査询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他査询环境。基于上述需求,试采用职责链模式对该系统进行设u-。2.房间屮的开关就是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。3.某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜申中包含了一些菜申项(Menultem),可以通过Menu类的addMenuItem()方法增加菜单项。菜单项的主
6、要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界而类(BoardScreen)的open()、create()>edit()等方法。现使用命令模式;设计该系统,使得Menultem类与BoardScreen类的锅合度降低,绘制类图并编程实现。三、实验要求1.结合实例,正确无误地绘制代理模式、职责链模式和命令模式的模式结构图;2.使用任意
7、一种而向对象编程语言实现代理模式、职责链模式和命令模式实例,代码运行正确无误。四、实验步骤1.结合实例,使用PowerDesigner绘制代理模式实例结构图并用面向对象编程语言实现该模式实例;2.结合实例,使用PowerDesigner绘制代理模式实例结构图并用面向对象编程语言实现该模式实例;3.结合实例,使用PowerDesignei'绘制职责链模式实例结构图并用面向对象编程语言实现该模式实例;4.结合实例,使用PowerDesignei'绘制职责链模式实例结构图并用面向对象编程语言实现该模式实例:1.结合实例,使用Powe
8、rDesigner绘制命令模式实例结构图并用而14对象编程语言实现该模式实例;2.结合实例,使用PowerDesigner绘制命令模式实例结构图并用而叫对象编程语言实现该模式实例。五、实验结果1.类图:ProxyLogRealLog—realLog:RealLog*+meth
此文档下载收益归作者所有