2022年软件设计与体系结构实验报告 .pdf

上传人:Q****o 文档编号:26740611 上传时间:2022-07-19 格式:PDF 页数:47 大小:3.72MB
返回 下载 相关 举报
2022年软件设计与体系结构实验报告 .pdf_第1页
第1页 / 共47页
2022年软件设计与体系结构实验报告 .pdf_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《2022年软件设计与体系结构实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年软件设计与体系结构实验报告 .pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 ( 此文档为 word 格式,下载后您可任意编辑修改!) 福建农林大学计算机与信息学院实验报告课程名称:软件设计与体系结构姓名:陈宇翔系:软件工程系专业:软件工程年级:2007 学号:指导教师:王李进职称:讲师2009 年 12 月 16 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 47 页 - - - - - - - - - 2 实验项目列表序号实验项目名称成绩指导教师1 ACME 软件体系结构描述语言应用2 SOA 实践3 MDA 实践4 MVC 实践5 产

2、品族实践6 软件体系结构风格实践平均成绩名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 47 页 - - - - - - - - - 3 福建农林大学计算机与信息学院实验报告学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔学号:课程名称:软件设计与体系结构实验时间:实验室田实验室312、313 计算机号024 指导教师签字:成绩:实验 1:ACME 软件体系结构描述语言应用一、实验目的1)掌握软件体系结构描述的概念2)掌握应用ACMESTUDIO 工具描

3、述软件体系结构的基本操作二、实验学时2 学时。三、实验方法由老师提供软件体系结构图形样板供学生参考,学生在样板的指导下修改图形,在老师的指导下进行软件体系结构描述。四、实验环境计算机及ACMESTUDIO。五、实验内容利用 ACME 语言定义软件体系结构风格,修改ACME 代码,并进行风格测试。六、实验操作步骤一、导入 Zip 文档建立的一个 Acme Project,并且命名为AcmeLab2。如下图:接着导入 ZIP文档,导入完ZIP文档后显示的如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -

4、 - - - - 第 3 页,共 47 页 - - - - - - - - - 4 二、修改风格在AcmeLab2项目中 , 打开 families下的 TieredFam.acme. 如下图:修改组件外观1. 在组件类型中, 双击 DataNodeT; 在其右边的编辑器中,将产生预览; 选择 Modify按钮,将打开外观编辑器对话框。2. 首先改变图形:找到Basic shape section,在 Stock image dropdown menu中选择Repository类型 . 3. 在ColorLine Properties section修改填充颜色为深蓝色。4. 在颜色对话框中选

5、择深蓝色,并单击 OK. 5. 修改图形的边框颜色为绿色7. 单击 Label tab,在 Font Settings section, 设置字体颜色为白色, 单击 OK 产生的图形如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 47 页 - - - - - - - - - 5 添加新元素类型1. 在Component Types section选择 New 按钮2. 在对话框中,类型名称输入LogicNodeT . 3. 选择 TierNodeT 为父类型 .

6、4. 单击 Finish. 5. 按照修改外观的步骤,修改LogicNodeT 的外观:填充颜色为浅绿色,边框颜色为黑色,大小为2,其他默认。产生的图形如下图:添加新属性类型1. 选择 Property Types 2. 选择 New 按钮3. 在对话框中,类型名称为TierPropT 4. 类型选择 enum 5. 值为: client, logic, data 6. 单击 OK. 添加属性1. 激活属性视图页2. 双击 TierNodeT 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -

7、- 第 5 页,共 47 页 - - - - - - - - - 6 3. 选择 Properties tab 4. 右击空白位置,或者单击图标,选择新建属性5. 属性名为 tier. 6. 类型为 TierPropT (找不到,则直接输入TieredFam.TierPropT)7. 单击 OK. 添加规则1. 单击 Family editor中的 TieredFam (Press to select). 2. 选择属性视图中的规则页3. 单击生成新规则4. 规则名为 hostCheck ,选择 invariant单选项5. 在规则框中输入(直接粘贴过去)Forall t1 : TierNod

8、eT in selfponents | !t1.allowShareHost - (Forall t2 : TierNodeT in selfponents | t1 != t2 - t1. the same the left from which you can drag and drop an element to create an instance. 7. 在右边的 palette面板中,拖入 4 个 client nodes和1个logic node ,并具有 4个ports ,同时拖入 4个connectors ,实现客户端和逻辑层的连接。七、总结通过这次实验, 我已经初步掌握了A

9、cme Studio 这个软件的用法, 也初步对于三层体系结构风格的理解有了一定的认识,让我们初步对于软件体系结构的构造有了一定的了解, 也使得我们在软件体系构建的时候有很多好的软件可以进行应用。 对我们进行软件体系结构的做法有了一定的参考。以上就是我对这次实验的总结。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 47 页 - - - - - - - - - 7 福建农林大学计算机与信息学院实验报告学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔学号:

10、课程名称:软件设计与体系结构实验时间:实验室田实验室312、313 计算机号024 指导教师签字:成绩:实验 2:SOA 实践一、实验目的1)初步了解SOA的体系结构2)掌握用Web service技术实现SOA 二、实验学时2 学时。三、实验方法根据实验指导书,实现web service。四、实验环境计算机及VS2005 。五、实验内容Web service实现。六、实验操作步骤内容一: Web Services实现步骤:1 创建 WEB 服务1) 打开 VS.NET2005,新建一个网站,在对话框中选择“ASP.NET WEB 服务”,选择好位置,把 Website1 改为“ IMPLEM

11、ENTWS”,单击确定。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 47 页 - - - - - - - - - 8 2)展开解决方案资源管理器,在“APP_CODE”下创建 3个文件夹, 依次命名为: DA ,Model,Util,见下图:3)右击 DA 文件夹, 选择添加新项, 新增一个类: DataAccess.cs ,按同样的方法, 在 MODEL和UTIL文件夹中,添加入下图所示的类。4)右击项目,选择添加引用(注意不是Web 引用),选择浏览页,定位拷贝的

12、DLL,见下名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 47 页 - - - - - - - - - 9 图5)完成 DATA.CS 的代码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 47 页 - - - - - - - - - 10 6)完成 DataAccess.CS 的代码7)完成 ActivityIdHeader.cs 名师资料总结

13、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 47 页 - - - - - - - - - 11 8)双击 Service.CS 文件,完成代码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 47 页 - - - - - - - - - 12 9)编译,并运行,查看效果。一个 WEB 服务编写完成。2 创建 WINDOWS应用1)右击解决方案,选择添加- 新

14、项目2)按下图完成:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 47 页 - - - - - - - - - 13 3)右击项目,选择添加引用(注意不是Web 引用),选择浏览页,定位拷贝的DLL,见下图4)右击项目,新建文件夹,并在其下新增一个类,并完成代码,如下图所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 47 页 - - - -

15、 - - - - - 14 5)添加 Web 引用,右击项目,选择添加WEB 引用,在 URL 中输入, WEB 服务的地址,然后单击前进,可以修改引用名,单击“添加引用”按钮名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 47 页 - - - - - - - - - 15 6)双击 FORM1.CS ,在窗体上放置一个按钮和一个标签,其中标签命名为Result ,按钮的text 为“ get data”7)双击按钮,完成以下代码8)右击项目,新增一个类:UptoLog

16、Events.cs 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 47 页 - - - - - - - - - 16 9)双击 PROGRAM.CS,完成代码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 47 页 - - - - - - - - - 17 10)设置 APPFORWEBSERVICE为启动项目,运行,查看结果七、总结通过这次试

17、验,我了解了应用VS2008 进行我们基于web服务的编程的做法。也使得我对于 VS 这个系列的软件都认识有了一个比较深刻的理解。也使得我初步了解SOA 的体系结构。并且基本上掌握用Web service 技术实现 SOA 。虽然在制作中还是有很多问题,但是都经过自己查阅和一系列的指点都完成了。并且在相关科目的一起协作下,发现这个实验对我的帮助很大。以上就是我对这个实验的总结。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 47 页 - - - - - - - - -

18、18 福建农林大学计算机与信息学院实验报告学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔学号:课程名称:软件设计与体系结构实验时间:至25 实验室田实验室312、313 计算机号024 指导教师签字:成绩:实验 3:MDA 实践一、实验目的1)初步了解MDA 的框架。2)了解 PSM到 CODE 的过程。3)掌握应用ECO实现 MDA 过程。二、实验学时6 学时。三、实验方法根据实验指导书,实现Staruml 、 ECO 。四、实验环境计算机及STARUML 和 VS2005。五、实验内容(1)StarUML 实践六、实验操作步骤实验内容一:StarUML 实践1.安装:首

19、先,我们必须先安装将要使用的软件。StarUML ,是一个开放源码软件,遵循GPL协议许可( GNU 公共许可证),并免费提供下载。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 47 页 - - - - - - - - - 19 2.启动安装以后就可以启动该程序。3.添加新工程在 New Project By Approach的对话框会弹出。选择“Empty Project”并且按下确定 。4.选择模块在右边的“ Model Explorer”框中选定“Untitle

20、d”模块。5.添加模块通过“ Model”主菜单,或右击选定的模型,可以 AddModel 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 47 页 - - - - - - - - - 20 6.添加类图通过“ Model”主菜单,或右击选定模型,可以“Add DiagramClass Diagram”:7.设置 profile 通过“ ModelProfile.”菜单去设置工程所需的profile。这决定了工程所使用的规则和约定。 根据语言, 选择不同的Profile

21、, 比如 JAVA , 一定要包含 JAVA Porfile这一项目;比如C#,一定要包含C# Porfile这一项目。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 47 页 - - - - - - - - - 21 8.保存工程保存工程,命名为LAB3.UML 9.创造图表从默认就在屏幕的左边的“Toolbox”选择 “类”图标, 然后左键单击diagram窗口的某处。这样就使用通用名字创造了一个新的类。双击,将类改名为Circle。10.添加属性右击图中的目标,在

22、弹出菜单中选择“Add”中的“ Attribute”( 被标示为绿色) ,为其添加一个属性( 或者域 ) ,填入期望的名字“_radius ”。具体的数据类型,在属性面板(右下侧的窗口),由双打字,在 类型 时段。在窗体右下边的Properties面板中,找到“Type”输入框,输入double 作为_radius属性的类型。类的内部数据(域属性)都是私有的,因为他们是严格由类内部使用的。所以,在 Properties面板中将 _radius设置为“私有”11.继续进行设计重复同样的过程,添加所谓的名字叫做Rectangle的类和 double 型的私有成员 _width 和 _”按钮,然后输

23、入getArea 。设定返回值类型。在“Model Explorer”中展开IShape 节点,右击你刚刚创建的getArea 方法,并选择“Add Parameter ”。在“ Properties”框中,将参数的名子变为空,将“DirectionKind”变为“ RETURN”,将“Type”变为 dboule 。将 IShape 和 getArea 的 IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。这是UML的标准,表示这是接口或者其他纯虚实体。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理

24、 - - - - - - - 第 21 页,共 47 页 - - - - - - - - - 22 12.添加类和接口的关系可以通过从toolbox中选择表示“ Realization”的箭头,并从Circle拖拽向 IShape,使 Circle实现接口IShape 。重复同样的过程,为Rectangle添加实现关系。 这是添加了Circle 和 Rectangle对于 IShape 接口的实现关系。如果想使连接线表现为直角的方式,右击连接线,并选择 FormatLine StyleRectilinear菜单。你通过这种方式,使箭头重叠在一起,可以使你的图看起来更整洁。13.添加类基于接口的

25、行为由于 Circle和 Rectangle类都实现了IShape 接口,就必须有同样的行为( 方法 ) 。在“ Model Explorer”面板中,复制getArea 法( 按 Ctrl-C或者右键点击并选择 Copy 菜单),并粘贴到Circle和 Rectangle类。这些实现了的方法在Circle和 Rectangle类中都不是抽象的,而是具体的。这是因为他们实际上是执行一些特定行为(例如, 为一个圆形和长方形分别计算面积),所以不要勾选IsAbstract框。14.添加 Pizza 类向 Pizza 添加 double 型的私有域 _price 。添加返回 double 类型的共有

26、操作getPrice 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 47 页 - - - - - - - - - 23 15.为 Pizza 类添加 IShape 的引用从 toolbox中选择 DirectedAssociation 箭头,点击Pizza 类,并向IShape拖拽。选中箭头,在右边的“Properties”框上,将name一栏改为“”一栏改为“AGGREGATE”( 这个图示说明Pizza 和 shape 对象是“聚合“的关系) 。将“ End2.

27、Name”一栏改为 _shape 。这样就自动为Pizza 添加一个名字为_shape,使用 IShape 接口的私有域,的所谓_shape 型 ishape 以 pizza 饼。将“ End2.Visibility”改为私有。为_shape 创建一个“获得者”方法,名字叫做getShape ,返回 IShape 。这就是创建一个行为,名字是getShape ,返回 IShape 。16.为 pizza 类添加构造函数为 Pizza 添加构造函数,右击,在弹出的“Add” 菜单中选择“ Operation ”。从这里,增加一个普通的带有dboule 型 price参数和 IShape 类型 s

28、hape 参数的操作增加一个输入参数,就像之前增加了一个返回型的输出参数一样,你指定的参数的名称,如价格和形状等,以及适当的数据类型。为 Circle增加一个带有double 型的 radius参数的构造函数。为 Rectangle增加一个带有double 型 width 和 height参数的构造函数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 47 页 - - - - - - - - - 24 17.添加 Test_Pizza类为了说明 UML类图更多的功能,又

29、增加了一个叫做“Test_Pizza ”的类,它用作测试目的,并使用到Pizza 和 IShape 类。两个类之间的关系有多种形式。举例来说,一个类可以实例化另一个类,而不是将其作为一个成员。又或,一类的方法可能需要另一个类作为输入参数,保留一个引用仅仅是为这个方法的执行。通过从 toolbox中选择“ Dependency”箭头,从一个类拖向他所以来的类,来添加不通类之间的依赖关系。在这个例子中, Test_Pizza 依赖于 Pizza ,Circle和Rectangle类,因为它实例化了它们。从 Properties box 选择 name属性,或者双击图表上的“依赖线”,可以为依赖关系

30、添加标签。特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”。你可以选中并拖动依赖线的标签,以达到更美观的效果。依赖关系不会影响代码生成。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 47 页 - - - - - - - - - 25 18.生成代码:根据不同的语言,选择不同的菜单,若JAVA ,点击主菜单的“Tools-Java ”菜单,选择“Generate Code”;若 C#,点击主菜单的 “Tools-C# ”菜单,选择“Gene

31、rate Code”。从对话框中选择你的模块( 这里可能Model1), 点击“ Next ”。为了使你的模块或者图标的所有类都生成stub code ,选择“ Select All”然后按“Next ”。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 47 页 - - - - - - - - - 26 选择一个有效的输出目录,“Next”。若 C#,请务必选中“Generate the Documentation by C#Doc”,“ Generate empty

32、C#Doc ” , 若 JAVA , 请务必选中“Generate the Documentation byJAVADoc ” ,“Generate empty JAVADoc”,所有其他复选框不选中,“Next”。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 47 页 - - - - - - - - - 27 现在 StarUML 将从你的图产生代码,点击“Finish ”退出对话框。现在,您可以编辑生成的代码,以增加应用。19.添加实现代码现在就开始定义程序实际做

33、的事情,例如,为图标中的类描述添加实现代码。20.逆向工程StarUML 还可以从现有的JavaC#代码创建一个类图,这被称为“reverse engineering”,当想从现有的代码生成图表,或者你修改了SU生成的代码,并且想在图表中反应出来的时候,逆向工程功能就非常有用了。到主菜单栏中选择“ToolsC# 或 JavaReverse Engineer.”,可以将现有的代码逆向工程。选择 C#Java 代码所在的目录,并点击“Add”或“ Add All”按钮,将它们包括在逆向工程过程中,然后单击“Next”选择想将类加入的模块,这里可能是“Model1”,然后“ Next ”。在 Opt

34、ion Setup里面:确认“ public”,“ package ”,“ protected”和“ private”是选中的(这是默认设置)。同样,在默认情况下,单选按钮“Create the field to the Attribute”也是选中的。除非你想 SU创建其他东西,例如布局很糟糕的包含所有类的图表,不要选中“Create Overview Diagram”框。当你对选项做了检查后,点击“Run”。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 47 页

35、- - - - - - - - - 28 点击 完成 退出对话框时,就完成了。SU会向模块添加导入的类,但不是的图表。为了将它添加到图,只需要简单地从Model Explorer拖动它们即可。七、总结通过这次实验, 我初步了解MDA 的框架。 并且了解 PSM到 CODE 的过程。还掌握应用ECO实现 MDA过程。并且在应用StarUML 这个软件在制作UML图和转换成代码的这些步骤有了一个系列的了解。并且发现这样也符合我们软件工程的面向对象的思想。通过这样的验证性的实验使我对于这些的实验有了一个进一步的了解。所以。通过这次试验我得到的收获就是这个。以上就是我的总结。名师资料总结 - - -精

36、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 47 页 - - - - - - - - - 29 福建农林大学计算机与信息学院实验报告学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔学号:课程名称:软件设计与体系结构实验时间:实验室田实验室312、313 计算机号024 指导教师签字:成绩:实验 4:MVC 实践一、实验目的1)初步了解软件体系设计的基本概念2)应用设计模式实现MVC 二、实验学时2 学时。三、实验方法根据实验指导书,实现MVC 。四、实验环境计算机及VS20

37、05 。五、实验内容利用 Observer 模式实现MVC 。六、实验操作步骤步骤:1)打开 VS.NET2005,新建一个项目, 项目类型选择Windows,模板选择 Windows应用程序,名称为 MVC_IMPL ,选择好位置,单击确定。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 47 页 - - - - - - - - - 30 2)右击项目,选择“添加- 新建项”,在模板中选择“接口”,名称为Observer.cs,单击添加按钮。3)同样方法,添加Subj

38、ect.CS 接口。4)双击 Observer.CS 文件,在接口里面定义一个方法: void sendNotify(string message); 5)双击 Subject.CS 文件,在接口里面定义一个方法: void registerInterest(Observer obs); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 47 页 - - - - - - - - - 31 6)展开解决方案资源管理器,将FORM1.CS 修改为 Controller.CS,

39、在弹出的信息框中,单击确定按钮,单击窗体,在窗体的属性对话框中,设置Text 属性为:颜色Controller。修改后效果如下图1所示图 1 7)单击图上的红色圆圈的图标。8)从左边的工具栏见图,拖一个GroupBox控件至窗体上,并拖动位置和设置大小效果,在属性对话框中,设置其Text 属性为:颜色选择器,如图所示。9)从工具箱拖三个radioButton控件, name 属性分别设置为rbtnRed ,rbtnGreen ,rbtnBlue,Text 属性分别设置为“红色”,“绿色”,“蓝色”,并设置好位置,效果如图 3所示。10)切换至代码模式,添加using System.Collec

40、tions引用,添加 controller的父接口:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 47 页 - - - - - - - - - 32 Subject ,并添加一个私有成员,效果见图4。图4 11)定义单击单选按钮方法,代码如图5所示。图5 12)实现 Subject 接口的 registerInterest方法,如图 6所示。图6 13) 右击项目, 选择“添加 - 新建项”, 在模板中选择 “Window 窗体”, 名称为 ViewList.cs,单

41、击添加按钮。14)将 ViewList窗体的 Text 属性设置为:列表视图。15)从工具栏中拖入ListBox 控件,设置 Name 为lbColor。16)切换至代码模式,添加ViewList的父接口: Observer 。17)实现接口的方法,见图8。图8 18)定义 Init方法,见图 9。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 47 页 - - - - - - - - - 33 图9 19)修改 ViewList的构造函数,见图10。图10 20) 右

42、击项目, 选择 “添加 - 新建项”, 在模板中选择 “Window窗体”, 名称为 ViewColor.cs,单击添加按钮。21)将 ViewColor 窗体的 Text 属性设置为:颜色视图。22)从工具栏中拖入PictureBox 控件,设置 Name 为pbColor ,设置 BackColor 为ActiveCaptionText。23)切换至代码模式,添加using System.Collections引用,添加 ViewColor 的父接口:Observer ,并定义一些私有成员,效果见图11。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -

43、- - - - - - - 名师精心整理 - - - - - - - 第 33 页,共 47 页 - - - - - - - - - 34 图11 24)定义 PictureBox绘图方法,见图12。图12 25)定义 Init方法,见图 13。图13 26)实现接口的方法,见图14。图14 27)修改 ViewColor 的构造函数,见图15 图15 28)切换至 Controller的代码模式,添加Init方法,并在 Controller类的构造函数中调用它,见图 16。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精

44、心整理 - - - - - - - 第 34 页,共 47 页 - - - - - - - - - 35 图16 七、总结通过这次试验,我知道了在C#下进行窗口化设计的程序的基本的做法,也对于MVC 的设计模式有了一定的了解,这个实验结束后,我基本上掌握了MVC模式的设计,也进一步加强了自己对于VS2008这个集成的变成环境的认识和理解,使得我在以后的编程过程中对于这些有了很深刻的了解。以上就是我对于这个实验的总结和我的收获名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 35 页,共

45、 47 页 - - - - - - - - - 36 福建农林大学计算机与信息学院实验报告学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔学号:课程名称:软件设计与体系结构实验时间:实验室田实验室312、313 计算机号024 指导教师签字:成绩:实验 5:产品族实践一、实验目的1)初步了解软件产品线和产品族的概念2)应用设计模式实现产品族二、实验学时2 学时。三、实验方法根据实验指导书,实现MVC 。四、实验环境计算机及VS2005 。五、实验内容利用抽象工厂模式实现产品族。六、实验操作步骤内容:利用抽象工厂模式实现产品族步骤:1)打开 VS.NET2005,新建一个项目,

46、 项目类型选择Windows,模板选择 Windows应用程序,名称为 PL_IMPL,选择好位置,单击确定。2)右击项目,选择“添加- 新建项”,在模板中选择“类”,名称为Plant.cs,单击添加按钮,并完成如图1所示的代码。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 36 页,共 47 页 - - - - - - - - - 37 图1 3)同样方法,添加Garden.CS类,并完成如图2所示的代码。图2 名师资料总结 - - -精品资料欢迎下载 - - - - - - -

47、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 37 页,共 47 页 - - - - - - - - - 38 4)右击项目,选择“添加-新建项”,在模板中选择“类”,名称为VeggieGarden.cs,单击添加按钮,并完成如图3所示的代码。图3 5)右击项目,选择“添加- 新建项”,在模板中选择“类”,名称为MeatGarden.cs ,单击添加按钮,并完成如图4所示的代码。图4 6) 右击项目, 选择“添加 - 新建项”, 在模板中选择 “组件类” ,名称为 GardenPicture.cs,单击添加按钮,并完成如图5所示的代码。名师资料总结

48、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 38 页,共 47 页 - - - - - - - - - 39 图5 7)单击菜单,选择“生成- 生成解决方案”,或者按F6。8)展开解决方案资源管理器,将FORM1 的Text 属性设置为:“农牧场主”。9) 在工具箱中, 展开项目组件 (本实验是 PL_IMPL组件), 将组件 GardenPicture拖入 Form1窗体,并设置BackColor 属性为: ActiveCaptionText;BorderStyle为: Fixed3D ;

49、并调整好大小,见图6。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 39 页,共 47 页 - - - - - - - - - 40 图6 10)从工具箱中,拖放3个 CheckBox和2个RadioButton ,属性设置见表1,见图 6。表1 控件Name 属性Text 属性CheckBox1 ckbCenter Center CheckBox2 ckbBorder Border CheckBox3 ckbShade Shade RadioButton1 rbtnVeggie

50、农场RadioButton2 rbtnMeat 牧场11)选中 Form1.cs ,单击解决方案资源管理器中的“查看代码”图标。12)在 Form1类中,完成如图7所示的代码。图7 13)切换至 Form1.cs 的设计环境,单击rbtnVeggie(农场单选框),并输入如下代码:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 40 页,共 47 页 - - - - - - - - - 41 14)切换至 Form1.cs 的设计环境,单击rbtnMeat (牧场单选框),并输入如下

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁