仲恺软件设计模式实验指导书
软件学院实训指导书

软件工程实验指导书一、实验要求软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过6人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目3.项目开的每项任务要落实到人且规定该任务的起止日期和时间4.每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档5.题目自定或采用附录二中的题目6.软件开发的方法学自定(结构化或面向对象的方法学)二、实验步骤1.结构化软件开发技术以实际项目为驱动,采用结构化的分析、设计与实现方法完成该项目的分析设计与实现。
(1)项目的可行性分析评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。
(2)项目的开发计划以项目负责人为主,对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。
(3)需求规格说明书软件使用用户和软件开发者双方对该软件的起初规定有一个共同的理解,使之成为整个开发工作的基础,主要将用户的需求转化为未来系统的主要功能。
(4)概要设计说明书编制的目的是说明对程序的系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础(5)详细设计说明书编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并概要设计说明书。
(6)数据库设计数据库设计说明书的编制目的是对于设计中的数据库所有标识、逻辑结构和理结构作出具体的设计规定。
(7)测试分析报告测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加发记载,(8)用户手册描述该软件系统工程所具有的功能及基本的使用方法。
软件设计与体系结构实验指导书初稿副本

《软件设计与体系结构》课程实验指导书本书是《软件设计与体系结构》(谢兄编著,出版社出版)的配套用书。
该部分包括4个实验,共10个学时。
实验1掌握Factory设计模式的意图及其代码实现。
实验2掌握Composite设计模式的意图及其代码实现。
实验3掌握Observer设计模式的意图及其代码实现。
适应4利用Observer、单件等设计模式开发实现一个小的系统。
以上每个实验都分为实验目的、实验内容、实验要求、实验步骤及实验总结5个单元,以帮组读者深刻体会设计模式的用处和好处,加深读者对设计模式的理解和感悟。
读者如果能够按照适应的要求,在编程实践中仔细学习体会这4个设计模式,认真感悟面向对象设计的思想和原则,必定会获益匪浅。
《软件设计与体系结构》课程实验教学大纲课程编号:一、实验教学的目的《软件设计与体系结构》课程是为计算机科学与技术、软件工程专业本科三年级学生开设的专业实验课。
通过本课程的实验,掌握有关软件设计的目标、基本原则、基本理论、基本知识、基本设计模式,和主要的软件体系结构方面的基本知识和基本技能。
培养学生理论联系实际和创新的精神,提高学生软件设计、编程的能力,增强学生的实践经验,为将来从事软件分析、设计等工作打下必要的实践基础。
使他们任职后能对软件开发过程中的具体问题有较强的分析和解决的能力。
二、实验教学的任务通过本实验课程的实践训练,使学生能够较好地掌握各种设计模式的具体使用方法及现代软件体系结构的内容和方法,理解各设计模式的用途及软件体系结构模型,熟悉各设计模式的结构组成,掌握在软件设计模式及体系结构理论指导下软件开发的基本过程。
三、实验项目名称、学时分配、适用专业及实验性质四、单项实验的内容、要求1. Factory设计模式实验内容:Factory设计模式实例分析实验要求:根据给定的Factory设计模式实例进行分析,体会设计模式的具体使用方法。
2. Composite设计模式实验内容:Composite设计模式实例分析实验要求:根据给定的Composite设计模式实例进行分析,体会设计模式的具体使用方法。
《软件工程》实验指导书(软件操作类)

《—软件工程—》实验指导书编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系年月前言《软件工程》是计算机科学与技术专业本科生的一门实践性较强的专业必修课程。
软件工程实验是验证,巩固和补充课堂讲授的理论知识,是《软件工程》课程中一个重要的,不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理,软件需求分析,软件初步设计,软件详细设计等阶段的方法和技术。
通过实验训练,达到以下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学,软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力, 从而使学生提高软件工程的综合能力,提高软件项目的管理能力.实验总体要求软件工程实验要求学生采用"项目小组"的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过6人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论,选定开发项目3.项目中的每项任务要落实到人且规定该任务的起止日期和时间4.题目自定或由教师提供相关课题目录实验一:项目可行性分析 (1)实验二:项目需求分析 (2)实验三:项目总体设计 (3)实验四:项目详细设计及编码实现 (4)实验五:软件测试 (6)实验一:项目可行性分析实验学时:2实验类型:设计实验要求:必修一、实验目的通过对待实施项目进行全面分析,撰写项目的可行性分析报告,掌握可行性研究的有关概念和具体分析过程,并明确从哪些方面进行可行性分析;掌握软件项目成本效益分析的常用手段;使学生掌握可行性研究报告的书写格式、注意事项和研究内容。
二、实验内容布置“运动会信息管理系统可行性分析”或其它类似题目,到应用现场进行实际调查,了解用户业务情况、数据、网络和需求情况,对问题进行可行性分析,开展可行性研究,并编写出可行性分析报告。
《软件工程》实验指导书

《软件工程》实验指导书《软件工程》试验指导序论软件工程是对软件开发、运作、维护、退役的系统研究方法。
在整个计算机科学中占有举足轻重的地位。
软件工程试验将软件工程的概念和理论知识融入到实践当中,从而加深对软件工程知识的认识和理解。
本指导书内容包含了软件生命周期中的各个阶段,内容设计软件工程计算环境、软件工程国家标准、软件开发绘图工具Microsoft Visio、软件分析建模工具Sybase Powerdesinger、软件自动化测试Mercury Interactive WinRunner、软件项目管理Microsoft Project 和软件配置管理软件Microsoft Visual SourceSafe等。
整个指导书共含7试验,其中每一个试验都包含背景知识介绍、所需工具、准备工作和试验步骤等。
第一种软件工程工具以环境一、试验目的1.理解软件工程的基本概念,熟悉软件,软件生命周期,软件生存周期过程和软件生命周期各阶段的定义和内容2.通过Internet搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持开展软件工程应用实践。
3.熟悉软件工具、软件开发环境和CASE工具4.了解GB/T15853-1995《软件支持环境》相关内容二、试验内容与步骤1.查阅有关资料,给出“软件”的权威定义2.查阅有关资料,给出“软件生命周期”的权威定义3.查阅有关资料,给出“软件生存周期过程”的权威定义4.上网搜索和浏览,了解软件工程技术的应用情况,记录所浏览网站的技术支持工作。
5.查阅有关资料,给出“软件工具”、“软件开发环境”、“CASE工具”的权威定义6.填写下列学术术语的英文简写,并思考、理解其含义7.软件开发环境8.软禁工程环境9.软件支持环境10.软件项目支持环境11.软件自动开发环境12.集成化程序设计环境13.通过查阅资料给出GB/T15853-1995《软件支持环境》规定的软件支持环境的基本要求14.了解Microsoft Visio的应用状况15.了解Rational Rose的应用状况16.了解Oralce Designer的应用状况17.了解Together Soft的应用状况18.了解CASE Studio的应用状况19.了解Sybase PowerDesigner的应用状况20.了解Microsoft Visual SourceSafe的应用状况三、学时分配2学时四、要求必做五、性质验证六、所需仪器设备微机、网络七、试验总结八、试验评价(教师)第二章软件工程标准化一、试验目的1.熟悉和掌握软件工程标准化的概念、内容和意义2.了解那些支持国家标准和其他标准信息的专业网站3.较为系统全面的了解软件工程相关的国家标准1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、一、二、三、四、五、六、七、八、九二、试验内容与步骤1.上网浏览和检索标准化专业网站,并记录标准化专业网址,网站名称,内容描述2.了解软件工程标准化的概念3.了解软件工程的国家标准1)GB/T8566-20012)GB/T8567-19883)GB/T9385-19884)GB/T9386-19885)GB/T1526-19896)GB/T11547-19897)GB/T12504-19908)GB/T12505-19909)GB/T14079-199310)GB/T16680-199611)GB/T15532-199512)GB/T14394-199313)其他三、学时分配2学时必做五、性质验证六、所需仪器设备微机、网络七、试验总结八、试验评价(教师)第三章软件开发绘图工具Visio一、试验目的1.了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识2.掌握应用Visio工具绘制软件开发图形的基本操作3.了解开发Visio解决方案的基本概念4.学习应用Visio工具绘制UML模型图、网络图、网站图等图形二、试验内容与步骤与步骤1.了解Visio的工作环境1)工作窗口2)视窗调整3)任务窗口4)小视窗2.了解菜单项3.了解定位工具4.了解工具栏5.了解文件操作6.了解绘图页面操作7.绘制一个C程序流程图8.针对一个实际网络开发,部署,维护过程建立:1)用例图2)类图4)状态图5)时序图6)协作图7)活动图8)构件图9)部署图10)用例视图11)逻辑视图12)构件视图13)并发视图14)部署视图九、学时分配4学时十、要求必做十一、性质验证、设计十二、所需仪器设备微机、网络、Microsoft Visio十三、试验总结十四、试验评价(教师)第四章系统分析与建模工具PowerDesigner一、试验目的1.初步了解系统分析与建模工具PowerDesinger的基本概念和操作界面2.了解PowerDesigner的四个模型:业务处理模型、概念数据模型、物理数据模型和面向对象模型及相互关系3.用PowerDesinger工具进行简单系统分析建模操作二、试验内容与步骤与步骤1.启动PowerDesinger2.建立新项目3.建立概念数据模型4.定义实体5.定义属性、属性的约束和算法6.定义关系7.保存并使用Check Model检查E-R图8.使用Generate Physical Data Model选择生成物理数据模型9.建立业务处理模型10.建立面向对象模型三、学时分配4学时四、课程作用――物业管理系统1.需求分析该物业管理系统包含三个核心模块:物业基础资料模块、业主变动处理和物业费用处理模块1)物业基础资料模块是物业系统最基本的部分,此模块包含了如下功能:物业基本信息、维修项目定义、费用定义、小区管理、业主基本信息。
软件工程实验二指导书

软件工程实验实验二面向对象分析与设计实验实验2-1建立用例框图●实验目的:1、掌握建立系统用例框图。
2、掌握对系统初始需求进行分析,初步了解和分析系统用户和系统提供的功能,确定角色和用例;3、掌握分析系统用户和系统功能之间的关系,确定角色和用例的关系;●实验要求:1、使用rose建立系统用例框图;2、使用rose建立系统角色;3、使用rose建立系统用例;4、使用rose建立角色与用例的关系;●预备知识:1创建用例框图:●右击rose浏览器中的包Use Case View;●选择弹出菜单中的New菜单,单击Use Case Diagram;●选择新框图后,输入新框图名;●双击浏览器中的新框图将其打开。
2增加用例:●选择工具栏中的User Case按钮或选择tools->create->User Case,单击User Case框图中任一位置并放上新用例;●右击浏览器中User Case View,选择New->User Case,从浏览器中把新增加的用例拖动到用例框图中。
3增加角色:●选择工具栏中的Actor按钮或选择tools->create->Actor,单击UserCase框图中任一位置并放上新角色;●或者右击浏览器中User Case View,选择New->Actor,从浏览器中把新增加的角色拖动到用例框图中。
●用例与角色规范:●双击用例(角色)或则右击用例(角色),从弹出菜单中选择OpenSpecification;●在name字段中输入用例(角色)名称;●在stereotype字段中输入用例(角色)版型;●在Abstract复选框中设置抽象用例(角色);●在Documentation字段输入用例(角色)描述;●在rank字段中输入用例优先级;●在multiplic字段中设置角色基数;4使用关系:●选择单向关联按钮,将鼠标从角色拖动到用例,或从用例到角色;●选择依赖按钮,将鼠标从用例拖动到用例,双击用例关系,设置关系版型,在stereotype字段中输入include或者extend,设置用例的使用关系或扩展关系;●选择继承按钮,将鼠标从角色拖动到角色,设置角色的一般化关系;5用例框图工具栏:文本注释注释与项目连线包用例角色单向关联依赖继承聚集实验内容:1、初始需求:这是一个图书馆信息管理系统(1)图书管理员是图书馆员工。
《软件工程》实验指导书

《软件工程》实验指导书计算机学院2017年2月软件工程实验指导前言软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。
实验要求软件工程实验具体要求如下:每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;题目自定或采用附录二中的题目;软件开发的方法自定(结构化或面向对象的方法学)。
实验一用Visio进行功能分析和建模1. 实验目的掌握结构化分析的方法。
软件设计与体系结构实验指导书
实验1:ACME软件体系结构描述语言应用一、实验目的1)掌握软件体系结构描述的概念2)掌握应用ACMESTUDIO工具描述软件体系结构的基本操作二、实验学时2学时。
三、实验环境计算机及ACMESTUDIO。
四、实验内容利用ACME语言定义软件体系结构风格,修改ACME代码,并进行风格测试。
五、实验操作步骤一、导入Zip文档建立的一个Acme Project,并且命名为AcmeLab2。
如下图:接着导入ZIP文档,导入完ZIP文档后显示的如下图:二、修改风格在AcmeLab2项目中,打开families下的TieredFam.acme.如下图:修改组件外观1. 在组件类型中,双击DataNodeT; 在其右边的编辑器中,将产生预览;选择Modify按钮,将打开外观编辑器对话框。
2. 首先改变图形:找到Basic shape section,在Stock image dropdown menu中选择Repository类型.3. 在Color/Line Properties section修改填充颜色为深蓝色。
4. 在颜色对话框中选择深蓝色,并单击 [OK].5. 修改图形的边框颜色为绿色7. 单击Label tab,在Font Settings section, 设置字体颜色为白色,单击[OK]产生的图形如下图:添加新元素类型1. 在Component Types section选择New按钮2. 在对话框中,类型名称输入LogicNodeT .3. 选择TierNodeT 为父类型.4. 单击 [Finish].5. 按照修改外观的步骤,修改LogicNodeT的外观:填充颜色为浅绿色,边框颜色为黑色,大小为2,其他默认。
产生的图形如下图:添加新属性类型1. 选择Property Types2. 选择New按钮3. 在对话框中,类型名称为TierPropT4. 类型选择enum5. 值为:client, logic, data6. 单击[OK].添加属性1. 激活属性视图页2. 双击TierNodeT3. 选择Properties tab4. 右击空白位置,或者单击图标,选择新建属性5. 属性名为tier.6. 类型为TierPropT(找不到,则直接输入TieredFam.TierPropT)7.单击 [OK].添加规则1. 单击Family editor中的TieredFam (Press to select).2. 选择属性视图中的规则页3. 单击生成新规则4. 规则名为hostCheck,选择invariant单选项5. 在规则框中输入(直接粘贴过去)Forall t1 : TierNodeT in ponents |!t1.allowShareHost -> (Forall t2 : TierNodeT in ponents | t1 != t2 -> t1.host != t2.host)6. 单击 [Parse Rule] 以确认无语法错误,有错误,要重新写。
软件工程实验指导书2013-11-9版
******************* 《软件工程》实验指导书(自编)******************* 计算机科学和信息工程学院目录一.课程实验目的和任务 (1)二.综合实验题目 (1)三.实验安排 (2)实验一系统需求分析................................................................................. 错误!未定义书签。
一.实验目的......................................................................................... 错误!未定义书签。
二.准备知识......................................................................................... 错误!未定义书签。
三.实验内容......................................................................................... 错误!未定义书签。
四.实验指导......................................................................................... 错误!未定义书签。
实验二系统概要设计. (12)一.实验目的 (12)二.准备知识 (12)三.实验内容 (12)四.实验指导 (19)实验三系统详细设计 (24)一.实验目的 (24)二.准备知识 (24)三.实验内容 (24)四.实验指导 (25)实验四系统编码实现 (28)一.实验目的 (28)二.准备知识 (28)三.实验内容 (28)四.实验指导 (29)实验五系统测试 (30)一.实验目的 (30)二.准备知识 (30)三.实验内容 (30)四.实验指导 (30)一.课程实验目的和任务软件工程课程实验目的是通过具体的使用软件系统的开发实现,使学生能够结合课程有关软件生命期的介绍,规范软件设计和实现过程的文档要求,掌握软件设计的规范,理解软件工程课程的基本理论和方法。
软件工程实验指导书.doc
软件工程实验指导书xxx学院大学软件学院目录实验1 用PowerDesigner建模工具绘制数据流图 (3)1 实验环境 (3)2 实验目的 (3)3 实验内容 (3)4 实验要求 (3)5 实验步骤 (3)实验2 用PowerDesigner建模工具设计数据库 (5)1 实验环境 (5)3 实验内容 (5)4 实验要求 (5)5 实验步骤 (5)实验3 用Rational Rose绘制用例图 (10)1 实验环境 (10)2 实验目的 (10)3 实验内容 (10)4 实验要求 (10)5 实验步骤 (10)实验4 用Rational Rose工具绘制类图 (13)1 实验环境 (13)2 实验目的 (13)3 实验内容 (13)4 实验要求 (13)5 实验步骤 (13)实验1 用PowerDesigner建模工具绘制数据流图1 实验环境Windows 2000、Sybase公司的Power Designer应用软件2 实验目的1)了解Power Designer工具软件的组成及功能2)掌握Power Designer中的Process Analyst(PA)模块的建模方法及其工具的使用方法3 实验内容1)设计数据流图(DFD)2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。
4 实验要求建立一个PAM(Process Analyst Model)的应用实例,项目的具体情况如下:1) 背景某大学需要一个教室预订系统,将空闲的教室提供给师生做学术报告或班级活动。
师生可使用该系统预订所需的教室,以便让管理员在恰当的时间开放教室、准备好多媒体设备。
2) 功能要求2.1) 管理员可使用该系统增加用户、删除用户。
2.2) 管理员可向系统中增加或删除供预订的教室,设置任一教室可使用的时间段。
2.2) 师生可登录系统、修改密码。
2.3) 师生在登录后,可浏览给定时间段的空闲(供预订的且未被预订的)教室;选择教室和使用时间段,预订教室。
软件设计与体系结构 实验指导书 2014
实验一经典软件体系结构风格(一) (1)实验目的 (1)实验内容 (1)1.管道-过滤器软件体系结构 (1)2.数据抽象和面向对象软件体系结构 (2)思考与提高 (4)实验二经典软件体系结构风格(二) (5)实验目的 (5)实现内容 (5)1.基于事件的隐式调用风格 (5)2.层次软件体系结构 (6)实验三分布式软件体系结构风格 (13)实验目的 (13)实验内容 (13)C/S体系结构风格 (13)思考与提高 (14)实验四MVC风格 (15)实验目的 (15)实验内容 (15)MVC的应用和编程实现 (15)实验五软件设计的目标 (23)实验目的 (23)实验内容 (23)1.用Java语言实现一个计算器程序 (23)2.健壮性 (23)3.可维护性——基于面向对象技术的计算器程序 (24)4.基于简单工厂模式的计算器程序 (25)5.基于工厂方法模式的计算器程序 (27)实验六软件设计——面向对象方法 (29)实验目的 (29)实验内容 (29)1.问题域部分的设计——对多重继承的调整 (29)2.数据管理部分的设计 (30)实验七设计原则 (35)实验目的 (35)实验内容 (35)1.里氏代换原则 (35)2.合成/聚合复用原则 (35)3.依赖倒转原则 (36)4.迪米特法则 (37)5.接口隔离原则 (37)实验八设计模式 (38)实验目的 (38)实验内容 (38)1.单例模式 (38)2.观察者模式 (38)实验一经典软件体系结构风格(一)实验目的(1)理解管道-过滤器软件体系结构、面向对象软件体系结构的原理(2)掌握管道-过滤器软件体系结构、面向对象软件体系结构的实例(3)管道-过滤器软件体系结构、面向对象软件体系结构的编程实现实验内容1.管道-过滤器软件体系结构(1)在dos提示符下输入下面的命令:dir | more使得当前目录列表在屏幕上逐屏显示。
dir的输出的是整个目录列表,它不出现在屏幕上而是由于符号“|”的规定,成为下一个命令more的输入,more命令则将其输入一屏一屏地显示,成为命令行的输出。
- 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接口中。绘制类图并编程实现。 (要求实现快速排序和二分查找)