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

程序设计实验指导书一、实验目的本实验旨在通过编程实践,提高学生的程序设计能力,加深对程序设计的理解。
通过完成实验任务,学生能够掌握常用的程序设计语言和工具,并能够独立完成基本的程序设计任务。
二、实验环境1. 软件:该实验使用的程序设计语言为Java,所以需要安装Java开发环境(JDK)。
2. 开发工具:推荐使用集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。
3. 硬件:能够运行所需开发工具和Java程序的计算机。
三、实验内容1. 实验一:程序基础本实验主要考察学生对程序结构和基本语法的理解。
学生需要编写一个简单的Java程序,在控制台输出指定的内容。
可以选择合适的题目,如输出学生的个人信息、打印乘法口诀表等。
2. 实验二:条件语句和循环结构本实验主要考察学生在程序中正确运用条件语句和循环结构的能力。
学生需要编写一个Java程序,实现一个简单的计算器功能。
要求用户输入两个数字和运算符,程序可以根据运算符进行加、减、乘、除等运算,并输出结果。
3. 实验三:数组和函数本实验主要考察学生对数组和函数的理解和运用能力。
学生需要编写一个Java程序,实现对一个整型数组的排序功能。
要求用户输入一组数字,程序可以按照升序或降序对数组进行排序,并输出排序后的结果。
四、实验步骤1. 安装Java开发环境(JDK):请根据实验环境中提到的软件安装要求,安装合适版本的JDK,并配置环境变量。
2. 安装集成开发环境(IDE):根据个人喜好选择合适的IDE,并按照官方指引进行安装和配置。
3. 创建Java项目:在IDE中创建一个新的Java项目,并创建相应的源文件。
4. 编写代码:根据实验内容中的要求,在源文件中编写相应的Java 代码。
5. 编译和运行程序:使用IDE提供的功能,编译和运行程序,观察程序输出是否符合预期结果。
6. 调试和修改:如果程序出现错误或不符合预期,可以使用IDE提供的调试功能进行定位和修复。
软件工程实验指导书(2015年修订)

华南农业大学数学与信息学院(软件学院)《软件工程实验》指导书编写:梁早清朱凯严尚维完成人信息学号姓名主要角色和任务比重自评分批改人信息批改全部成员签名文档主要问题(分条罗列意见)评分2014年9月,2015年9月由朱凯修订分组至少3人至多4人。
备注:此文档仅作为《软件工程》实验指导用,其他课程的文档模板请根据其他老师提供的文档模板撰写。
软件工程实验课实验说明本实验指导书是数学与信息学院、软件学院《软件工程实验》课程的指导书,目的在于让同学们通过这些实验,了解软件开发的过程。
我们试图通过一个较为容易实现的简化的软件系统,让学生分阶段完成需求分析、体系结构设计、部件级设计等设计和功能测试的工作,并完成相应的文档。
学生之间相互批改,老师统一评讲。
以此让学生加深对结构化分析与设计、功能测试的方法的理解并加以掌握。
需求描述《华南农业大学课程成绩管理系统》提供一个方便我校任课老师管理学生成绩的小型软件系统。
该系统为教师提供方便的成绩管理功能,也为学生提供查询成绩的功能。
系统描述如下:学生的成绩包含以下4个部分:课堂点名成绩、课堂考试成绩、课后作业成绩和期末考试成绩。
各成绩评判标准和在总成绩中所占比例如下:1.课堂点名3次,每次点名没有到的不得分(即记0分),到了的100分。
第一次点占总成绩的1%,第二次和第三次各占总成绩的2%,课堂点名占总成绩的5%;2.课堂考试3次,每次满分100分,具体成绩由老师给出。
其中,第一次和第二次占总成绩的7%,第三次占总成绩的6%,共20%;3.课后作业3次,每次满分100分,具体成绩由老师给出。
其中,第一次和第二次占总成绩的8%,第三次占总成绩的9%,共25%;4.期末考试试卷满分100分,占总成绩的50%。
教师能通过成绩管理软件来管理学生的成绩,包含添加、删除、修改、查看、统计学生的成绩。
各个功能具体描述如下:1.添加学生成绩:填写学号,点击添加,然后在添加界面上录入对应学生的第一次点名、第二次点名、第三次点名、第一次课堂考试、第二次课堂考试、第三次课堂考试、第一次课后作业、第二次课后作业、第三次课后作业,期末考试卷面成绩。
软件工程实验指导书 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.了解PLC软硬件结构及系统组成。
2.掌握PLC外围直流控制及负载线路的接法,上位计算机与PLC通信。
二、实验设备三、实验内容1.认知三菱FX3GA-40MR型号PLC的硬件结构。
图1 FX3GA-40MR型号PLC的外观图图2 FX3GA-40MR的24个输入点,16个输出点图3 FX3GA-40MR与电脑连接线接口,stop和run工作模式设置按钮(打到下为Stop,上为RUN,PLC程序写入时为stop,写入后运行打为RUN)图4 SC-90通讯电缆(圆头连接PLC,串口连接电脑)图5 FX3GA-40MR端子图端子图:com0——Y0;com1——Y1;com2——Y2,Y3;com3——Y4,Y5,Y6,Y7;com4——Y10,Y11,Y12,Y13;com4——Y14,Y15,Y16,Y17;2.完成PLC端子与开关、指示灯接线端子之间的连接操作;1)端口分配及接线图表1 I/O端口分配功能表图6 控制接线原理图图7 实验平台实验平台连线方法:S/S连接24v,X0、X1连接K0,K1;com0,com1,com2,com 连接GND,Y0连接L0,Y1连接L1,v+连接24v,形成图6所示的电路原理图。
注意:(如果连接不正确,上方FUSE保险丝断,也会影响显示输出)。
3.打开编程软件GX work2或GX Developer,进行程序设计;(1)打开GX work2,找到工程下的新建工程(2)进行正确的信息设置(3)进入工程程序编辑状态(4)进行梯形图编写(5)点击右键进行梯形图装换,灰色变为白色(6)选择在线PLC写入(将PLC的工作状态设置为stop工作模式),若能写入则PLC与电脑通讯成功,不能则检查原因。
(7)程序参考1)常用位逻辑指令使用与逻辑:如上所示:X00、X01状态均为1时,Y00有输出;当X00、X01两者有任何一个状态为0,Y00输出立即为0。
软件测试实验指导书

第一章实验要求1.1 实验总体要求1.1.1 实验意义和目的本实验课程配合《软件测试技术》理论课同步开设,其中包括验证型、设计型和综合型实验。
本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。
通过实验教学,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。
本实验课程要求学生完成适当的上机实习,并写出相应的实验报告。
验证和设计题单独完成,综合题任选一题。
验证型题目使学生熟悉常用的软件测试工具。
设计型题目使学生掌握软件测试的基本理论和基本方法,培养基本的应用能力。
综合型题目在于提高学生分析问题、解决问题的能力,培养工程项目的测试能力和管理能力。
1.1.2 实验内容安排实验内容安排如表1-1 所示。
表1-1 实验内容安排表1.1.3 实验过程要求实验前要充分做好准备工作:●复习和掌握与本实验有关的知识内容;●预习、思考实验内容;●对实验内容进行分析和设计。
实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到实验室内做实验。
对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。
对于设计型和验证型实验,实验时一人一组,独立上机。
对于综合型实验,每四人组成一个小组,由组长来组织管理小组成员,共同完成实验内容。
1.2 实验报告要求实验后,应及时整理出实验报告,实验报告提交电子文档和纸质报告。
1.3 实验成绩评价1.3.1 实验成绩评价结构及比例实验课程的总成绩由实验考勤和实验报告成绩组成,其中实验考勤占20%,实验过程占20%,实验报告占60%。
1.3.2 考核方式实验考核主要是三个方面:1.上机实验考勤。
每次上机应主动在指导老师处签到,冒签等不诚信行为一旦被发现,取消本次实验成绩。
软件工程-实验指导书

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

仲恺农业工程学院课程设计报告职工信息管理系统课程名称C语言程序设计工程训练及编程比赛姓名蔡永健院(系)计算机科学与工程学院专业班级网络工程111班学号201110224101指导教师黄洪波仲恺农业工程学院教务处制二O一四年六月目录1 需求分析 (1)2 系统总框图和功能模块说明 (1)2.1 系统总框图 (1)2.2 功能模块说明 (1)3 系统设计 (2)3.1 主要结构体 (2)3.2主要功能函数 (2)3.3 关键函数的流程图 (2)4 系统调试 (2)5 总结 (2)6 源程序清单 (2)1 需求分析职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话(职工号不重复)。
试设计职工信息管理系统,使之能提供以下功能:●系统以菜单方式工作●职工信息录入功能(职工信息用文件保存)--输入●职工信息浏览功能--输出●职工信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等)●职工信息删除、修改功能2 系统总框图和功能模块说明2.1 系统总框图图1 系统总框图2.2 功能模块说明输入职工信息模块,完成职工信息的录入。
修改职工信息模块,完成。
3 系统设计3.1 主要结构体职工号、姓名、性别、年龄、学历、工资、住址、电话struct worker{char id[10]; //职工号char name[20]; //姓名char sex; // f, m //性别char age; //年龄char degree; //学历char salary; //工资};3.2主要功能函数void input (); //输入职工信息void edit(); // 修改职工信息void delete(char id); // 根据职工号删除职工信息3.3 关键函数的流程图4 系统调试5 总结6 源程序清单。
单片机Keil C51和PROTEUS实验指导书

目录实验一单片机仿真开发系统的使用 (2)1.1 Keil C51 集成开发环境介绍 (2)1.2 用Proteus仿真软件 (6)1.3 实现单片机最小系统的简单应用。
(8)实验二显示及驱动电路设计用 (10)实验三简单输入/输出实验 (12)实验四外部中断的运用 (14)实验五单片机内部定时/计数器实验 (15)实验六串行口通信设计 (17)实验七直流电机控制 (18)实验八步进马达控制 (19)实验一单片机仿真开发系统的使用1.1 Keil C51 集成开发环境介绍①、运行keil C51编辑软件,软件界面如图1-1所示②、建立一个新的工程项目单击Project菜单,在弹出的下拉菜单中选中New Project选项③、保存工程项目a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存b、为工程项目选择单片机型号在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面④、新建源程序文件在下图中单击“File”菜单,选择下拉菜单中的New选项,新建文件后得到如图的界面:⑤、保存源程序文件单击“File”菜单,选择下拉菜单中的Save选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键程序录入区域入正确的.扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮⑥、为工程项目添加源程序文件在编辑界面中,单击“Target”前面的“+”,再在“Source Group”上单击右键,得到如图所示的对话框,选择“Add File to Group’Source Group 1’”,弹出如图所示的对话框,选中要添加的源程序文件,单击“Add”,得到如图所示的界面,同时,在“Source Group 1”文件夹中多了一个添加的“Text1.c”文件。
- 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())等,如果某一过程发生错误则电脑启动失败。