中南大学软件体系结构实验六

中南大学软件体系结构实验六

ID:22525326

大小:261.17 KB

页数:18页

时间:2018-10-29

中南大学软件体系结构实验六_第1页
中南大学软件体系结构实验六_第2页
中南大学软件体系结构实验六_第3页
中南大学软件体系结构实验六_第4页
中南大学软件体系结构实验六_第5页
资源描述:

《中南大学软件体系结构实验六》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《软件体系结构》实验报告项目名称行为型没计模式劣验专业班级软件1203学号姓名实验成绩:批阅教师:2014年12月31曰实验6行为型设计模式实验实验学时:2每组人数:1实验类型:3(1:基础性2:综合性3:设计性4:研究性)实验要求:1(1:必修2:选修3:其它)实验类别:3(1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种而昀对象编程语言实现几种常见的行为型设计模式,包括观察者模式和策略模式,理解每一种设汁模式的模式动机,掌握模式结构,学>』如何使用代码实现这些模式。二、实验

2、内容1.某实时在线股票软件需要提供如卜功能:当股票购买者所购买的某文股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所科股民。试使用观察者模式设计并实现该系统,要求绘制相应的类图并编程模拟实现。2.某公司欲丌发一套机房监控系统,如果机房达到某一指定温度,温度传感器(Thermosensor)将&动传递信U给各种响/.、'、/设备,例如警示灯(CautionLight)将闪烁(flicker())、报瞥器(Annunciator)将发出瞥报(alarm())、安全逃生门(SecurityDoor)将

3、动开幻(open())、隔热门(InsulatedDoor)将自动关闭(close())等,每一种响应设备的行为由专门的程序来控制。为了将来能够方便地引入新类型的响应设备,采用观察者模式和适配器模式设汁外模拟实现该系统。3.架软件公司为某电影院开发了一•套影院售票系统,在该系统中需要为不同类型的川户提供不同的电影票(MovieTicket)打折(Discount)方式,具体打折方莱如卜:(1)学生凭学生证可享受票价8折优惠;(2)年龄在10周岁及以下的儿童可享受每张票减免10元的优惠(原始票价需大于等于20元);(3)影院

4、VIP用户除享受票价半价优惠外还可进行积分,积分累计到一定额度可换取电影院赠送的奖品。该系统在将来可能还要根据需要引入新的打折方式。试使用策略模式设计并编程模拟实现该影院仍票系统。4.某软件公司欲开发一款飞机模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征,耑要模拟的飞机种类及其特征如表1所示:表1飞机种类及特征一览表飞机种类起飞特征飞行特征直升机(Helicopter)垂宜起飞(VerticalTakeOff)亚音速飞行(SubSonicFly)客机(AirPlane)长距岛起飞(LongDistanceTake

5、Off)亚杏速飞行(SubSonicFly)歼击机(Fighter)长距离起6(LongDistanceTakeOff)超音速行(SuperSonicFly)鹞式战斗杉L(Harricr)垂直起IS(VerticalTakeOff)超音速行(SuperSonicFly)为将来能够模拟更多种类的飞机,试采用策略模式没计并模拟实现该飞机模拟系统。三、实验要求1.结合实例,U•:确无误地绘制观察者模式和策略模式的模式结构阁;2.使用任意一种而W对象编程语言实现观察者模式和策略模式实例,代码运行:d•:确无误。四、实验步骤1.结合

6、实例,使川PowerDesigner绘制观察者模式实例结构图并川面向对象编稈语言实现该模式实例;2.结合实例,使用PowerDesigner绘制观察者模式实例结构阁并用面向对象编程语言实现该模式实例;3.结合实例,使川PowerDesigner绘制策略榄式实例结构图并川面向对象编税语言实现该模式实例;4.结合实例,使川PowerDesigner绘制策略榄式实例结构图并川面向对象编税语言实现该模式实例。五、实验结果1.类图:MySubject#observersArrayList+attach()+detach()+noti

7、ce()voidvoidvoidStockInvestor+notice0:void+update():void实现代码:publicclassClient{publicstaticvoidmain(String[]args){MySubjectsubject;MyObserverobserver;observer=newInvestor();subject=newStock();subject.attach(observer);subject.notice();}Jimportjava.util.ArrayList;im

8、portjava.util.ArrayList;publicabstractclassMySubject{protectedArrayListobservers=newArrayList();//注册方法publicvoidattach(MyObserverobserver){observers.add

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。