仲恺软件设计模式实验指导书
仲恺软件设计模式实验指导书全解

设计模式实验指导一、实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。
二、实验内容根据以下的文档描述要求,使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。
(1)、简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。
现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。
(2)、工厂方法模式海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。
使用工厂方法模式描述该场景,绘制类图并编程实现。
(3)、抽象工程模式电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。
(4)、单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。
绘制类图并编程实现。
提示:不要求做界面,用类模拟界面就可以了。
(5)、组合模式使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。
TEC-XP16实验指导书

计算机组成原理实验指导书王潇编写仲恺农业工程学院计算机科学与工程学院二00八年十月目录第一章TEC-XP16实验计算机系统原理 (1)§1.1TEC-XP16计算机组成原理实验系统概述 (1)§1.2TEC-XP16机指令系统 (8)§1.3TEC-XP16机运算器部件 (12)§1.4TEC-XP16机内存储器部件 (15)§1.5TEC-XP16机的控制器部件 (18)§1.6TEC-XP16机的输入输出及中断 (22)第二章TEC-XP16实验计算机系统实验内容 (24)实验一基础汇编语言程序设计 (24)实验二脱机运算器实验 (29)实验三存储器部件教学实验 (32)实验四组合逻辑控制器部件教学实验 (37)实验五微程序控制器部件教学实验 (51)实验六输入/输出接口扩展实验 (59)实验七中断实验 (63)实验八8位模型机的设计与实现(综合实验) (71)附录 (74)附录1 联机通讯指南 (74)附录2TEC-XP16计算机组成原理实验系统简明操作卡 (77)附录3微程序入口地址映射表 (78)附录4指令流程框图 (80)附录5指令流程表 (82)附录6书写实验报告的一般格式 (86)参考文献 (87)第一章TEC-XP16实验计算机系统原理§1.1 TEC-XP16计算机组成原理实验系统概述一、教学计算机系统的实现方案和硬软件资源概述TEC-XP是由清华大学计算机系和清华大学科教仪器厂联合研制的适用于计算机组成原理课程的实验系统,主要用于计算机组成原理和数字电路等的硬件教学实验,同时还支持监控程序、汇编语言程序设计、BASIC高级语言程序设计等软件方面的教学实验。
它的功能设计和实现技术,都紧紧地围绕着对课程教学内容的覆盖程度和所能完成的教学实验项目的质量与水平来进行安排。
其突出特点是硬、软件基本配置比较完整,能覆盖相关课程主要教学内容,支持的教学实验项目多且水平高。
《设计模式》实验指导书

《设计模式》实验指导书软件学院前言随着面向对象技术的发展和广泛的应用,设计模式已成为面向对象开发人员的必备技能之一。
无论是面向对象的初学者还是具有一定开发经验的程序员,都可以通过对设计模式的学习和应用加深对面向对象思想的理解,开发出具有更好的可扩展性和复用性的软件。
本实验指导书通过项目实例让学生加深对设计模式的理解,在学习设计模式的同时掌握如何在实际软件开发中运用模式,强化对设计模式的理解和掌握。
实验一:创建型模式设计一、实验目的、以本实验指导中给定的实验模式为实验实例,掌握五类“创建型模式”的工作原理和应用环境。
、掌握工厂方法模式()、抽象工厂模式()、建造者模式()、原型模式()、单例模式()等五类“创建型模式”的实验过程。
二、实验原理、创建型模式的工作原理创建型模式隐藏了类的实例的创建细节,通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的。
创建型模式分为:工厂方法模式()、抽象工厂模式()、建造者模式()、原型模式()、单例模式()等五类。
、模式的工作原理工厂方法模式():也叫虚拟构造器()模式或者多态工厂()模式,在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成。
它的类图如下:工厂方法模式包含如下角色:✓:抽象产品✓:具体产品✓:抽象工厂✓:具体工厂模式的特点为当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体产品对象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也不需要修改客户端,很好地符合了“开闭原则”。
、抽象工厂模式()、建造者模式()、原型模式()、单例模式()的工作原理应通过教材复习。
三、实验内容. 某系统提供一个简单计算器,具有简单的加、减、乘、除法的功能,系统可以根据用户的选择实例化相应的操作类。
现使用简单工厂模式设计该系统。
类图如下:、对于上述问题修改为工厂方法模式,给定的类图如下所示:、某系统为了改进数据库操作的性能,自定义数据库连接对象和语句对象,可针对不同类型的数据库提供不同的连接对象和语句对象,如提供或专用连接类和语句类,而且用户可以通过主函数方式根据实际需要动态更换系统数据库。
ZHC2实验指导1

第一章单片机内部功能实验实验一清零实验一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把7000H~70FFH的内容清零。
三、实验程序框图(CLEAR.ASM)四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵在PC机处于在Win9X/2000/XP软件平台下,单击DVCC图标,进入51动态调试窗口;⑶在“系统设置”选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择“联接”,进入51实验系统动态调试界面;⑸选择“实验指南/实验项目选择/清零程序”,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺从起始地址开始单步(F8)或断点运行程序到STOP处;⑻在存贮器窗口内检查7000H~70FFH中的内容是否为全00H。
五、思考:假使要把7000~70FFH中的内容改成FF,如何编制程序?一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。
7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序框图(CWORD.ASM)四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/拆字程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺先用存贮器读写方法将7000H单元置成34H;⑻从起始地址开始单步(F8)或断点运行程序到STOP处;⑼检查7001H和7002H单元中的内容应为03H和04H;五、思考:如何用断点方法调试本程序。
《软件工程》实验指导书-卓越项目

《软件工程》实验指导书太原理工大学计算机科学与技术学院2013年3月目录第一部分实验教学大纲 (1)第二部分实验说明 (3)实验一软件工程的网上资源与常用的CASE工具 (3)实验二传统软件开发方法的可行性研究 (5)实验三传统软件开发方法的需求分析建模 (6)实验四传统软件开发方法的结构设计 (7)实验五系统测试 (8)实验六面向对象的分析与设计 (9)实验七软件项目管理 (10)附录一实验题目 (11)第一部分实验教学大纲课程名称:软件工程(Software Engineering)课程总学时: 48 学时[理论: 40 学时;实验: 8 学时]课程总学分: 3 学分适用专业和年级:计算机科学与技术、软件工程专业一、实验的目的与任务本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。
二、实验内容和要求本课程的实验内容包括结构化(生命周期法)的方法学和面向对象的方法学。
通过一个模拟项目,要求学生分别用结构化方法和面向对象的方法完成系统的分析、设计和实现的整个软件开发过程。
此外实验中引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
实验要求学生采用“项目小组”的形式,结合具体的开发项目进行分析、设计。
每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;具体要求如下:1.班级按项目不进行分组。
2.每个人均为负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,所有实验中都要采用同一个实验题目。
项目开发的每项任务要规定该任务的起止日期和时间。
3.每个项目均要进行需求分析,完成需求分析报告,修订并评审需求分析报告,确定系统的需求分析模型。
软件工程实验指导书_2

软件工程实验指导书一、实验的目的与要求开设“软件工程实验”的主要目的是培养学生综合应用所学专业知识及计算机知识的能力,训练和提高软件开发技能。
要求每个学生在规定时间内必须完成一个规模适当的应用软件系统;在教师的指导下以软件设计为中心,布置大型模拟案例,将学生划分为若干组,分工合作,共同完成该模拟项目,独立地完成从需求分析、软件设计、编码到软件测试运行的软件开发全过程。
训练学生的分析能力、开发能力、组织能力、表达能力,以及培养团队精神。
通过软件开发的实践实现以下基本目标:1.深化已学的知识,完成从理论到实践的转化通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将软件工程的理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。
2. 提高分析和解决实际问题的能力实验不仅是软件工程实践的一次模拟训练,同时通过软件开发的实践,积累经验,提高分析和解决问题的能力。
3.培养“开拓创新”能力大力提倡和鼓励在开发过程中使用新方法,新技术。
激发学生实践的积极性与创造性,开拓思路,设计新算法,进行新创意,培养创造性的工程设计能力。
二、参加实验的学生应具备的条件参加实验的学生应当具备计算机软件设计的一些基础的知识。
即学生应当熟练掌握和使用一种计算机操作系统(windows操作系统等)、一种程序设计语言(vb、vc、pb、delphi, 数据库管理系统:Access,SQL Server,visio软件等)。
三、实验要求实验的要求体现于整个工作的各个阶段中,可根据所选课题的特点而有所侧重,但应达到如下的基本要求:(1) 根据课题任务制定合理、可行的工作计划任务;(2) 制定适当的技术方案;(3) 学生在老师的指导下独立完成设计过程;(4) 撰写实验报告(包括实验内容中各个阶段所要求的文字材料);(5) 通过实验检查评定;四、实验项目与内容提要五、实验课程考核办法1、该实验课程考核成绩按百分制计算,满分为100分,60分为及格,60分以上者可获取该学分。
软件工程-试验指导书

仲恺农业技术学院自编教材软件工程实验指导书王前编(信息与计算科学专业用)计算科学系二OO七年九月印实验一软件项目管理实验 (6)一、实验目的 (6)二、实验要求 (6)三、实验内容 (6)四、实验提示 (7)实验二数据流图设计-实验 (11)一、实验目的 (11)二、实验要求 (11)三、实验内容 (11)四、实验提示 (11)实验三数据字典描述及系统结构图 (13)一、实验目的 (13)二、实验要求 (13)三、实验内容 (13)四、实验提示 (14)实验四盒图与PAD图的画法及相互转换 (19)一、实验目的 (19)二、实验要求 (19)三、实验内容 (19)四、实验提示 (19)实验五网络聊天室程序设计 (22)一、实验目的 (22)二、实验要求 (22)三、实验内容 (22)四、实验提示 (23)附录A (26)《软件工程》是计算机科学与技术专业本科生的一门实践性较强的专业必修课程。
软件工程实验是验证、巩固和补充课堂讲授的理论知识, 是《软件工程》课程中一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计等阶段的方法和技术,通过该课程实验使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
通过实验训练,达到以下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基木掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。
软件工程实验指导书 2021

软件工程实验指导书 2021一、实验目的软件工程是一门将理论与实践紧密结合的学科。
通过本实验课程,旨在帮助学生深入理解和掌握软件工程的基本原理、方法和技术,培养学生的软件开发能力、团队协作能力和问题解决能力,为今后从事软件开发及相关工作打下坚实的基础。
二、实验环境1、操作系统:Windows 10 或 Linux(如 Ubuntu)。
2、开发工具:Eclipse、IntelliJ IDEA 等集成开发环境(IDE)。
3、数据库管理系统:MySQL、Oracle 等。
4、版本控制系统:Git。
三、实验要求1、学生应在实验前认真预习实验内容,熟悉相关的理论知识和技术。
2、实验过程中,学生应严格遵守实验室的规章制度,爱护实验设备。
3、学生应独立完成实验任务,不得抄袭他人的实验成果。
4、实验结束后,学生应及时整理实验数据和结果,撰写实验报告。
四、实验内容实验一:软件需求分析1、实验目的掌握软件需求分析的方法和过程。
学会使用需求分析工具,如 UML 用例图、活动图等。
2、实验内容确定软件项目的目标和范围。
对用户的需求进行调研和分析,收集相关的信息和资料。
绘制用例图和活动图,描述系统的功能和业务流程。
编写需求规格说明书。
3、实验步骤第一步:明确软件项目的背景和目标,与相关人员进行沟通和交流,了解项目的需求和期望。
第二步:通过问卷调查、用户访谈等方式收集用户的需求,对需求进行整理和分类。
第三步:使用 UML 工具绘制用例图和活动图,对系统的功能和业务流程进行建模。
第四步:根据需求分析的结果,编写需求规格说明书,详细描述系统的功能、性能、数据、安全等方面的需求。
实验二:软件设计1、实验目的掌握软件设计的原则和方法。
学会使用设计模式,提高软件的可维护性和可扩展性。
2、实验内容进行软件体系结构设计,选择合适的架构模式。
设计软件的模块结构和接口。
运用设计模式对软件进行优化。
3、实验步骤第一步:根据需求规格说明书,确定软件的体系结构,如分层架构、微服务架构等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计模式实验指导一、实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。
二、实验内容根据以下的文档描述要求,使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。
(1)、简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。
现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。
(2)、工厂方法模式海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。
使用工厂方法模式描述该场景,绘制类图并编程实现。
(3)、抽象工程模式电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。
(4)、单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。
绘制类图并编程实现。
提示:不要求做界面,用类模拟界面就可以了。
(5)、组合模式使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。
绘制类图并编程实现。
(6)、适配器模式现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。
现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。
绘制类图并编程实现。
(要求实现快速排序和二分查找)(7)、装饰模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook() 。
现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。
使用装饰模式设计该系统,绘制类图并编程实现。
(8)、外观模式在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(HardDisk)的读取(read()),操作系统(OS)的载入(load())等,如果某一过程发生错误则电脑启动失败。
使用外观模式模拟该过程,绘制类图并编程实现。
(9)、命令模式某软件公司欲开发一个基于Windows平台的公告板系统。
系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。
菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。
现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。
(10)、迭代器模式某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对该商品名称数组的双向(前向和后向)遍历。
绘制类图并编程实现(设计方案必须符合DIP)。
(11)、观察者模式某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。
现使用观察者模式设计该系统,绘制类图并编程实现。
(12)、策略模式设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook) 每本都有2元的折扣,小说类图书(NovelBook)每100元有10元的折扣。
现使用策略模式来设计该系统,绘制类图并编程实现。
三、实验要求1. 正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式的模式结构图;2. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式,代码运行正确无误。
四、实验步骤第一次实验课完成:使用Rose或者Visio绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;第二次实验课完成:使用Rose或者Visio绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;第三次实验课完成:使用Rose或者Visio绘制装饰模式、外观模式、、命令模式模式结构图并用面向对象编程语言实现该模式;第四次实验课完成:使用Rose或者Visio绘制迭代器模式、观察者模式、策略模式模式结构图并用面向对象编程语言实现该模式;五、实验报告要求提供简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式装饰模式结构图及实现代码;仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第一次实验报告一、实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。
二、实验内容(1)、简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。
现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。
(2)、工厂方法模式海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。
使用工厂方法模式描述该场景,绘制类图并编程实现。
(3)、抽象工程模式电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。
三、实验要求使用Rose或者Visio绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;四、实验结果仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第二次实验报告一、实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。
二、实验内容(1)、单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。
绘制类图并编程实现。
提示:不要求做界面,用类模拟界面就可以了。
(2)、组合模式使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。
绘制类图并编程实现。
(3)、适配器模式现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。
现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。
绘制类图并编程实现。
(要求实现快速排序和二分查找)三、实验要求使用Rose或者Visio绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;四、实验结果仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第三次实验报告一、实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。
二、实验内容(1)、装饰模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook() 。
现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。
使用装饰模式设计该系统,绘制类图并编程实现。
(2)、外观模式在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(HardDisk)的读取(read()),操作系统(OS)的载入(load())等,如果某一过程发生错误则电脑启动失败。