欢迎来到天天文库
浏览记录
ID:33141871
大小:916.50 KB
页数:73页
时间:2019-02-21
《软件设计与体系结构-实验指导书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、软件设计与体系结构实验指导书目录软件体系结构实验指导书(草稿)计算机系备注:本文大部分实验是以Java为开发语言,大家也可以使用C/C++、C#等其他主流开发语言练习。实验的目的是体验软件结构、软件接口的设计,不限定开发语言。70软件设计与体系结构实验指导书目录软件体系结构实验指导书1实验一经典软件体系结构风格(一)1实验目的1实验内容11.管道-过滤器软件体系结构12.数据抽象和面向对象软件体系结构(体验继承结构)2思考与提高4实验二经典软件体系结构风格(二)5实验目的5实现内容51.基于事件的隐式调
2、用风格52.层次软件体系结构6实验三分布式软件体系结构风格13实验目的13实验内容13C/S体系结构风格13思考与提高14实验四MVC风格15实验目的15实验内容15MVC的应用和编程实现15实验五软件结构设计的目标23实验目的23实验内容231.用Java语言实现一个计算器程序232.健壮性233.可维护性——基于面向对象技术的计算器程序244.基于简单工厂模式的计算器程序255.基于工厂方法模式的计算器程序27实验六软件设计——面向对象方法29实验目的29实验内容291.问题域部分的设计——对多重继
3、承的调整292.数据管理部分的设计30实验七设计原则35实验目的3570软件设计与体系结构实验指导书目录实验内容351.里氏代换原则352.合成/聚合复用原则353.依赖倒转原则364.迪米特法则375.接口隔离原则37实验八设计模式38实验目的38实验内容381.单例模式382.观察者模式38实验九C2模式40实验目的40实验内容401.连接件ActiveMQ402.构件C2Component403.加法构件Add49实验十黑盒模型51实验目的51实验内容511.黑盒构件WorldMatrix512.
4、控制器构件513.知识源构件52要求:54实验十一SOA模式55实验目的55实验内容5570软件设计与体系结构实验指导书实验一经典软件结构风格实验一经典软件体系结构风格(一)实验目的(1)理解管道-过滤器软件体系结构、面向对象软件体系结构的原理(2)掌握管道-过滤器软件体系结构、面向对象软件体系结构的实例(3)管道-过滤器软件体系结构、面向对象软件体系结构的编程实现实验内容1.管道-过滤器软件体系结构(1)在dos提示符下输入下面的命令:dir
5、more使得当前目录列表在屏幕上逐屏显示。dir的输出的是
6、整个目录列表,它不出现在屏幕上而是由于符号“
7、”的规定,成为下一个命令more的输入,more命令则将其输入一屏一屏地显示,成为命令行的输出。(2)JavaI/O流中的管道流类PipedInputStream和PipedOutputStream可以方便地实现管道-过滤器体系结构,这两个类的实例对象要通过connect方法连接。下面程序的功能是sender发送“Hello,receiver!I`msender”给receiver,然后receiver接受后显示出来并且在前面加上“thefollowingi
8、sfromsender”的信息。管道流内部在实现时还有大量的对同步数据的处理,管道输出流和管道输入流执行时不能互相阻塞,所以一般要开启独立线程分别执行,顺便复习了多线程操作。importjava.io.*;importjava.util.*;publicclassTestPiped{publicstaticvoidmain(String[]args){senders=newsender();receiverr=newreceiver();PipedOutputStreamout=s.getOut();P
9、ipedInputStreamin=r.getIn();try{in.connect(out);s.start();r.start();}catch(Exceptione){e.printStackTrace();}}}classsenderextendsThread{PipedOutputStreamout=newPipedOutputStream();publicPipedOutputStreamgetOut(){returnout;}publicvoidrun(){Stringstr="Hello
10、,receiver!I`msender";try{out.write(str.getBytes());out.close();}catch(Exceptione){e.printStackTrace();}70软件设计与体系结构实验指导书实验一经典软件结构风格}}classreceiverextendsThread{PipedInputStreamin=newPipedInputStream();publicPipedInputStre
此文档下载收益归作者所有