

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一:软件体系结构描述语言与建模实验实验要求:利用Acme Studio进行软件体系结构风格建模。要求:描述C2软件体系结构风格设计此体系结构风格的一实例实验目的:1:学习软件体系结构描述语言Acme掌握建立体系结构模型的一 般原则和方法。2:熟悉Acme Studio的使用方法。3:熟悉软件体系结构风格。参考模型:C2软件体系结构模型实验内容:C2软件体系结构风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。C2风格中的系统组织规则如下:1)、系统中的构件和连接件都有一个顶部和底部;2)、构件的顶部应连接到某连接件的底部,构件的底部应连接到某连接件的顶部,而构件与构件之间直接连接
2、是不允许的;3)、一个连接件可以和任意数目的其他构件和连接件连接;3)、当两个连接件进行直接连接时,必须由其中一个底部到另一个顶部。实例:水温报警:ES Jli-HHStTldl* tHMtATZIrt l.niFtljrfl nHaVI-M-Emn-I b*出就Fwiljr haip出切Class_fuwu:该构件封装了监测类,负责类的信息及相应操作;Baojing:报警构件,设置报警信息,报警级别;Faso ng:发送构件,监测水温的变化幅度,时间。Shebei_jiankong:设备监控构件,监测设备是异常,正常;Baojing_fuwu:报警服务构件,从数据库中获取监控信息;Syste
3、m c2 = Component baojing = Port port3 = Port port4 = Component datebase = Port port1 = Component fasong = Port port5 = Port port6 = Component shebei_jiankong = Port port7 = Port port8 = Component baojing_fuwu = Port port10 = Component class_fuwu = Port port1 = Port port2 = Connector con1 = Role role
4、0 = Role role1 = Connector con2 = Role role0 = Role role1 = Role we = Connector con3 = Role role0 = Role role1 = Role we1 = Connector con4 = Role role0 = Role role1 = Attachment class_fuwu.port1 to con1.role0;Attachment datebase.port1 to con1.role1;Attachment baojing.port4 to con2.role1;Attachment f
5、asong.port6 to con2.we;Attachment class_fuwu.port2 to con2.role0;Attachment baojing.port3 to con3.role1;Attachment fasong.port5 to con3.role0;Attachment shebei_jiankong.port8 to con3.we1;Attachment baojing_fuwu.port10 to con4.role0;Attachment shebei_jiankong.port7 to con4.role1;实验二:软件体系结构的设计模式设计实验 实
6、验要求: 利用设计模式设计构件的业务逻辑要求:设计一创建型设计模式实例设计一结构型设计模式实例设计一行为型设计模式实例完成相应的类结构图、顺序图实验目的:1:掌握设计模式的思想、设计过程、适用环境、实现方法2:掌握构件业务逻辑的UML苗述参考模型:1 类结构图:2 顺序图:实验内容:创建型设计模式实例:简单工厂:提供创建对象的接口实例:电影订票/测试类public class Test public static void main(String args)Ticket ticket1 = FactoryTicket.CreatTicket (普通票);ticket1.GetTicket();
7、Ticket ticket2= FactoryTicket.ticket2.GetTicket();CreatTicket (会员票);/电影票工厂public class FactoryTicket public static Ticket CreatTicket(Stri ng type)Ticket ticket = n ull;switch(type) case会员票:ticket = new Member_Ticket(); break;case普通票:ticket = new Gen eral_Ticket(); break;retur n ticket;/电影票父类public
8、class Ticket private int mon ey; public void GetTicket() /普通票public class Gen eral_Ticket exte nds Ticket private intmoney = 200; public void GetTicket()System. out .pri ntln(”您选择的是普通票价为:/会员票public class Member_Ticket exte nds Ticket private intmoney = 100;public void GetTicket()System. out .pri ntl
9、n(”您选择的是会员票价为:结果:您选择的是晋通票们为:200元 您选择的是合员票怕対:100元+mo ney+元);+mo ney+元);顺序图:结构型设计模式实例:桥接模式:将抽象部分与它的实现部分分离,使他们都可以独立的改变;将抽象与现实解耦;实例:不同影城不同影票/Abstraction类public abstract class Ticket public Cin ema cin ema;public void setC in ema(C in ema ci nema)this.ci nema = ci nema;public abstract void prin t();类图:测试
10、类!,r.1 调用简单工厂中创建实.j- i 真正创建具体对象3.返回创建好的对象具休实现粪/普通类public class General extends Ticket Overridepublic void print() cinema.run();System. out .println(普通票);/会员类public class Member extends Ticket Overridepublic void print() cinema.run();System. out .println(会员票);/Implementor类public abstract class Cinema
11、 public abstract void run();/影城:曲江国际影城public class Qujiang_cinema extends Cinema Overridepublic void run() System. out .print(曲江国际影城:);/影城:万达影城public class Wanda_cinema extends CinemaOverridepublic void run() System. out .print(万达影城:);/测试类public class Test public static void main(String args) Ticket
12、 ticket1 = new General();ticket1.setCinema(new Wanda_cinema();ticketl.pri nt();Ticket ticket2 = new Member(); ticket2.setCi nema( new Wanda_ci nema(); ticket2.pri nt();Ticket ticket3 = new Gen eral(); ticket3.setCinema(newQujiang_cinema(); ticket3.pri nt();Ticket ticket4 = new Member(); ticket4.setC
13、inema(newQujiang_cinema(); ticket4.pri nt();结果:万这影城:普通票万达影城:合员票曲江国际戢城;普通票曲江国际影城:会员票类图:W返回结果行为型设计模式实例:策略模式:定义一系列算法,把它们一个个封装起来,并且使它们可相互替换,本模式使得算法可独立于使用它的客户而变化。这个模式涉及到三个角色:环境(Context)角色:持有一个Strategy的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所 需的接口。具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。实例:会
14、员买票/抽象策略类public abstract Strategy public double calcPrice(double booksPrice);/具体策略类public class Gen eralStrategy exte nds Strategypublic double calcPrice (double booksPrice) System.out .println(”对于普通会员的无折扣);return booksPrice;顺序图:clientTicketCinema具怵Cinema卍创建对- 2:具体对象3:创建对象&实现某功能yL17 print()8:也叫9
15、返回结果public class Memberstrategy exte nds Strategypublic double calcPrice (double booksPrice) System. out.println(”对于会员的折扣为20%);retur n booksPrice * 0.8;/环境角色public class Price private Strategy strategy;public Price(Strategy strategy)this.strategy = strategy;public double quote(double booksPrice) returnthis.strategy.calcPrice(booksPrice);/测试类public class Test public static void main( Stri ng args) /创建需要使用的策略对象Strategy strategy = new Gen eralStrategy();Strategy strategyl = new MemberStrategy();/创建环境Price price = new Price(stra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书关注子女权益及共同财产分割
- 老龄公寓物业项目产权及管理权转让协议
- 离婚协议书子女抚养费用、财产分配与监护权协议范本
- 租赁合同终止纠纷起诉书范本与标的资产收益分配方案
- 离婚协议简易范本:财产分割及子女抚养协议模板
- 有源医疗器械注册申报和良好实践
- 外国戏剧史课件
- 2025年病理学乳腺癌组织学特点答案及解析
- 颜色单词教学课件
- 武术散打搏击课件
- 城市供热管网抢修与维护工程技术规程
- CJ/T 113-2015 燃气取暖器 标准
- DB2104∕T 0011-2022 地理标志产品 清原龙胆
- 《电动汽车双向无线电能传输系统技术规范》
- 医院护理培训课件:《安全注射》
- DL-T-5759-2017配电系统电气装置安装工程施工及验收规范
- 2024年辽宁石化职业技术学院单招职业技能测试题库附答案
- 开学季饮品店促销方案(2篇)
- 布病脊柱炎影像学表现
- 房屋市政工程施工现场安全风险分级管控与防范措施清单
- 钢管及配件报价单
评论
0/150
提交评论