软件设计与体系结构实验指导书样本_第1页
软件设计与体系结构实验指导书样本_第2页
软件设计与体系结构实验指导书样本_第3页
软件设计与体系结构实验指导书样本_第4页
软件设计与体系结构实验指导书样本_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验1:ACME软件体系构造描述语言应用一、实验目1)掌握软件体系构造描述概念2)掌握应用ACMESTUDIO工具描述软件体系构造基本操作二、实验学时2学时。三、实验环境计算机及ACMESTUDIO。四、实验内容运用ACME语言定义软件体系构造风格,修改ACME代码,并进行风格测试。五、实验操作环节一、导入Zip文档建立一种AcmeProject,并且命名为AcmeLab2。如下图:接着导入ZIP文档,导入完ZIP文档后显示如下图:二、修改风格在AcmeLab2项目中,打开families下TieredFam.acme.如下图:修改组件外观1.在组件类型中,双击DataNodeT;在其右边编辑器中,将产生预览;选取Modify按钮,将打开外观编辑器对话框。2.一方面变化图形:找到Basicshapesection,在Stockimagedropdownmenu中选取Repository类型.3.在Color/LinePropertiessection修改填充颜色为深蓝色。4.在颜色对话框中选取深蓝色,并单击[OK].5.修改图形边框颜色为绿色7.单击Labeltab,在FontSettingssection,设立字体颜色为白色,单击[OK]产生图形如下图:添加新元素类型1.在ComponentTypessection选取New按钮2.在对话框中,类型名称输入LogicNodeT.3.选取TierNodeT为父类型.4.单击[Finish].5.按照修改外观环节,修改LogicNodeT外观:填充颜色为浅绿色,边框颜色为黑色,大小为2,其她默认。产生图形如下图:添加新属性类型1.选取PropertyTypes2.选取New按钮3.在对话框中,类型名称为TierPropT4.类型选取enum5.值为:client,logic,data6.单击[OK].添加属性1.激活属性视图页2.双击TierNodeT3.选取Propertiestab4.右击空白位置,或者单击图标,选取新建属性5.属性名为tier.6.类型为TierPropT(找不到,则直接输入TieredFam.TierPropT)7.单击[OK].添加规则1.单击Familyeditor中TieredFam(Presstoselect).2.选取属性视图中规则页3.单击生成新规则4.规则名为hostCheck,选取invariant单选项5.在规则框中输入(直接粘贴过去)Forallt1:TierNodeTinself.Components|!t1.allowShareHost->(Forallt2:TierNodeTinself.Components|t1!=t2->t1.host!=t2.host)6.单击[ParseRule]以确认无语法错误,有错误,要重新写。7.在标签中输入“Tiernodesrespecthostassignment.”8.在出错标签中输入“Twonodesthatcannotshareahostmustnotresideonthesamehost.”9.单击[OK]。若前面有语法错误,按钮是灰色10.保存.Acme代码编辑1.查看编辑器底端区域,有3个区:Overview,AcmeSourceandFamily–TieredFam.选取Source2.在代码中找到TierNodeT3.复制其中属性内容4.定位至ClientNodeT,粘贴刚才复制内容5.把tier属性值赋值为client.ComponentTypeClientNodeTextendsTierNodeTwith{Propertytier:TierPropT=client;}6.同样把复制内容粘贴在LogicNodeT和DataNodeT中,前者tier值为logic,后者tier值为data.7.单击TieredFameditortab,若有错,将指出错误添加可视变量1.编辑LogicNodeT组件外观2.选取Variantstab.3.单击[New…]创立新变量4.名为:Notlogictier.5.选取基于条件单选按钮6.下拉菜单选取allowSharedHost,条件选取==,值输入false7.设立填充颜色为深绿色8.单击[OK]测试风格1.在NavigatorAcmeLab2中,单击右键,在弹出式菜单中选取NewAcmeSystem.2.系统名为TestSystem.4.单击[Next].5.在风格类型中,选取内容如下图所示。6.单击[Finish]Noticethepaletteoftypesontheleftfromwhichyoucandraganddropanelementtocreateaninstance.7.在右边palette面板中,拖入4个clientnodes和1个logicnode,并具备4个ports,同步拖入4个connectors,实现客户端和逻辑层连接。

实验2:SOA实践一、实验目1)初步理解SOA体系构造2)掌握用Webservice技术实现SOA二、实验学时2学时。三、实验环境计算机及VS。四、实验内容Webservice实现。六、实验操作环节内容一:WebServices实现环节:1创立WEB服务打开VS.NET,新建一种网站,在对话框中选取“ASP.NETWEB服务”,选取好位置,把Website1改为“IMPLEMENTWS”,单击拟定。2)展开解决方案资源管理器,在“APP_CODE”下创立3个文献夹,依次命名为:DA,Model,Util,见下图:3)右击DA文献夹,选取添加新项,新增一种类:DataAccess.cs,按同样办法,在MODEL和UTIL文献夹中,添加入下图所示类。4)右击项目,选取添加引用(注意不是Web引用),选取浏览页,定位拷贝DLL,见下图5)完毕DATA.CS代码6)完毕DataAccess.CS代码7)完毕ActivityIdHeader.cs8)双击Service.CS文献,完毕代码9)编译,并运营,查看效果。一种WEB服务编写完毕。2创立WINDOWS应用1)右击解决方案,选取添加-》新项目2)按下图完毕:3)右击项目,选取添加引用(注意不是Web引用),选取浏览页,定位拷贝DLL,见下图4)右击项目,新建文献夹,并在其下新增一种类,并完毕代码,如下图所示5)添加Web引用,右击项目,选取添加WEB引用,在URL中输入,WEB服务地址,然后单击迈进,可以修改引用名,单击“添加引用”按钮6)双击FORM1.CS,在窗体上放置一种按钮和一种标签,其中标签命名为Result,按钮text为“getdata”7)双击按钮,完毕如下代码8)右击项目,新增一种类:UptoLogEvents.cs9)双击PROGRAM.CS,完毕代码10)设立APPFORWEBSERVICE为启动项目,运营,查当作果

实验3:MDA实践一、实验目1)初步理解MDA框架。2)理解PSM到CODE过程。3)掌握应用ECO实现MDA过程。二、实验学时6学时。三、实验环境计算机及STARUML和VS。四、实验内容(1)StarUML实践五、实验操作环节实验内容一:StarUML实践安装:一方面,咱们必要先安装将要使用软件。StarUML,是一种开放源码软件,遵循GPL合同允许(GNU公共允许证),并免费提供下载。启动安装后来就可以启动该程序。添加新工程在NewProjectByApproach对话框会弹出。选取“EmptyProject”并且按下"拟定"。选取模块在右边“ModelExplorer”框中选定“Untitled”模块。添加模块通过“Model”主菜单,或右击选定模型,可以"Add/Model"添加类图通过“Model”主菜单,或右击选定模型,可以“AddDiagram/ClassDiagram”:设立profile通过“Model/Profile...”菜单去设立工程所需profile。这决定了工程所使用规则和商定。依照语言,选取不同Profile,例如JAVA,一定要包括"JAVAPorfile"这一项目;例如C#,一定要包括"C#Porfile"这一项目。保存工程保存工程,命名为LAB3.UML创造图表从默认就在屏幕左边“Toolbox”选取“类”图标,然后左键单击diagram窗口某处。这样就使用通用名字创造了一种新类。双击,将类改名为Circle。添加属性右击图中目的,在弹出菜单中选取“Add”中“Attribute”(被标示为绿色),为其添加一种属性(或者域),填入盼望名字“_radius”。详细数据类型,在属性面板(右下侧窗口),由双打字,在"类型"时段。在窗体右下边Properties面板中,找到“Type”输入框,输入double作为_radius属性类型。类内部数据(域/属性)都是私有,由于她们是严格由类内部使用。因此,在Properties面板中将_radius设立为“私有”继续进行设计重复同样过程,添加所谓名字叫做Rectangle类和double型私有成员_width和_height。创造IShapeinterface从toolbox中,选取“Interface”,并点击图表某处。将其改名为IShape。创立后来,选中它。在顶部工具栏,选取“StereotypeDisplay”下拉按钮,将值变化为“None”。这将变化以往圆形形状,使其变为成长方形。还是在顶部工具栏,取消选中"SuppressOperations"。这将使咱们可以看到接口所拥有办法。向IShape接口添加返回值为doublegetArea办法。可以通过右击interface图标,在弹出菜单中点击红色“Operation”按钮,然后输入getArea。设定返回值类型。在“ModelExplorer”中展开IShape节点,右击你刚刚创立getArea办法,并选取“AddParameter”。在“Properties”框中,将参数名子变为空,将“DirectionKind”变为“RETURN”,将“Type”变为dboule。将IShape和getAreaIsAbstract属性框打上勾,她们在图标上名字将变为斜体。这是UML原则,表达这是接口或者其她纯虚实体。添加类和接口关系可以通过从toolbox中选取表达“Realization”箭头,并从Circle拖拽向IShape,使Circle实现接口IShape。重复同样过程,为Rectangle添加实现关系。这是添加了Circle和Rectangle对于IShape接口实现关系。如果想使连接线体现为直角方式,右击连接线,并选取"Format/LineStyle/Rectilinear"菜单。你通过这种方式,使箭头重叠在一起,可以使你图看起来更整洁。添加类基于接口行为由于Circle和Rectangle类都实现了IShape接口,就必要有同样行为(办法)。在“ModelExplorer”面板中,复制getArea法(按Ctrl-C或者右键点击并选取Copy菜单),并粘贴到Circle和Rectangle类。这些实现了办法在Circle和Rectangle类中都不是抽象,而是详细。这是由于她们事实上是执行某些特定行为(例如,为一种圆形和长方形分别计算面积),因此不要勾选IsAbstract框。添加Pizza类向Pizza添加double型私有域_price。添加返回double类型共有操作getPrice。为Pizza类添加IShape引用从toolbox中选取"DirectedAssociation"箭头,点击Pizza类,并向IShape拖拽。选中箭头,在右边“Properties”框上,将name一栏改为“has-a”,“End1.Aggregation”一栏改为“AGGREGATE”(这个图示阐明Pizza和shape对象是“聚合“关系)。将“End2.Name”一栏改为_shape。这样就自动为Pizza添加一种名字为_shape,使用IShape接口私有域,所谓_shape型ishape以pizza饼。将“End2.Visibility”改为私有。为_shape创立一种“获得者”办法,名字叫做getShape,返回IShape。这就是创立一种行为,名字是getShape,返回IShape。为pizza类添加构造函数为Pizza添加构造函数,右击,在弹出“Add”菜单中选取“Operation”。从这里,增长一种普通带有dboule型price参数和IShape类型shape参数操作增长一种输入参数,就像之前增长了一种返回型输出参数同样,你指定参数名称,如价格和形状等,以及恰当数据类型。为Circle增长一种带有double型radius参数构造函数。为Rectangle增长一种带有double型width和height参数构造函数。添加Test_Pizza类为了阐明UML类图更多功能,又增长了一种叫做“Test_Pizza”类,它用作测试目,并使用到Pizza和IShape类。两个类之间关系有各种形式。举例来说,一种类可以实例化另一种类,而不是将其作为一种成员。又或,一类办法也许需要另一种类作为输入参数,保存一种引用仅仅是为这个办法执行。通过从toolbox中选取“Dependency”箭头,从一种类拖向她因此来类,来添加不通类之间依赖关系。在这个例子中,Test_Pizza依赖于Pizza,Circle和Rectangle类,由于它实例化了它们。从Propertiesbox选取name属性,或者双击图表上“依赖线”,可觉得依赖关系添加标签。特别是,当一类实例化另一种类,咱们会把依赖线叫做“instantiates”。你可以选中并拖动依赖线标签,以达到更美观效果。依赖关系不会影响代码生成。生成代码:依照不同语言,选取不同菜单,若JAVA,点击主菜单“Tools->Java”菜单,选取“GenerateCode”;若C#,点击主菜单“Tools->C#”菜单,选取“GenerateCode”。从对话框中选取你模块(这里也许Model1),点击“Next”。为了使你模块或者图标所有类都生成stubcode,选取“SelectAll”然后按“Next”。选取一种有效输出目录,“Next”。若C#,请务必选中“GeneratetheDocumentationbyC#Doc”,“GenerateemptyC#Doc”,若JAVA,请务必选中“GeneratetheDocumentationbyJAVADoc”,“GenerateemptyJAVADoc”,所有其她复选框不选中,“Next”。当前StarUML将从你图产生代码,点击“Finish”退出对话框。当前,您可以编辑生成代码,以增长应用。添加实当代码当前就开始定义程序实际做事情,例如,为图标中类描述添加实当代码。逆向工程StarUML还可以从既有Java/C#代码创立一种类图,这被称为“reverseengineering”,当想从既有代码生成图表,或者你修改了SU生成代码,并且想在图表中反映出来时候,逆向工程功能就非常有用了。到主菜单栏中选取“Tools/C#或Java/ReverseEngineer...”,可以将既有代码逆向工程。选取C#/Java代码所在目录,并点击“Add”或“AddAll”按钮,将它们涉及在逆向工程过程中,然后单击“Next”选取想将类加入模块,这里也许是“Model1”,然后“Next”。在OptionSetup里面:确认“public”,“package”,“protected”和“private”是选中(这是默认设立)。同样,在默认状况下,单选按钮“CreatethefieldtotheAttribute”也是选中。除非你想SU创立其她东西,例如布局很糟糕包括所有类图表,不要选中“CreateOverviewDiagram”框。当你对选项做了检查后,点击“Run”。点击"完毕"退出对话框时,就完毕了。SU会向模块添加导入类,但不是图表。为了将它添加到图,只需要简朴地从ModelExplorer拖动它们即可。

实验4:MVC实践一、实验目1)初步理解软件体系设计基本概念2)应用设计模式实现MVC二、实验学时2学时。三、实验环境计算机及VS。四、实验内容运用Observer模式实现MVC。五、实验操作环节环节:1)打开VS.NET,新建一种项目,项目类型选取Windows,模板选取Windows应用程序,名称为MVC_IMPL,选取好位置,单击拟定。2)右击项目,选取“添加->新建项”,在模板中选取“接口”,名称为Observer.cs,单击添加按钮。3)同样办法,添加Subject.CS接口。4)双击Observer.CS文献,在接口里面定义一种办法:voidsendNotify(stringmessage);5)双击Subject.CS文献,在接口里面定义一种办法:voidregisterInterest(Observerobs);6)展开解决方案资源管理器,将FORM1.CS修改为Controller.CS,在弹出信息框中,单击拟定按钮,单击窗体,在窗体属性对话框中,设立Text属性为:颜色Controller。修改后效果如下图1所示图17)单击图上红色圆圈图标。8)从左边工具栏见图,拖一种GroupBox控件至窗体上,并拖动位置和设立大小效果,在属性对话框中,设立其Text属性为:颜色选取器,如图所示。9)从工具箱拖三个radioButton控件,name属性分别设立为rbtnRed,rbtnGreen,rbtnBlue,Text属性分别设立为“红色”,“绿色”,“蓝色”,并设立好位置,效果如图3所示。10)切换至代码模式,添加usingSystem.Collections引用,添加controller父接口:Subject,并添加一种私有成员,效果见图4。图411)定义单击单选按钮办法,代码如图5所示。图512)实现Subject接口registerInterest办法,如图6所示。图613)右击项目,选取“添加->新建项”,在模板中选取“Window窗体”,名称为ViewList.cs,单击添加按钮。14)将ViewList窗体Text属性设立为:列表视图。15)从工具栏中拖入ListBox控件,设立Name为lbColor。16)切换至代码模式,添加ViewList父接口:Observer。17)实现接口办法,见图8。图818)定义Init办法,见图9。图919)修改ViewList构造函数,见图10。图1020)右击项目,选取“添加->新建项”,在模板中选取“Window窗体”,名称为ViewColor.cs,单击添加按钮。21)将ViewColor窗体Text属性设立为:颜色视图。22)从工具栏中拖入PictureBox控件,设立Name为pbColor,设立BackColor为ActiveCaptionText。23)切换至代码模式,添加usingSystem.Collections引用,添加ViewColor父接口:Observer,并定义某些私有成员,效果见图11。图1124)定义PictureBox绘图办法,见图12。图1225)定义Init办法,见图13。图1326)实现接口办法,见图14。图1427)修改ViewColor构造函数,见图15图1528)切换至Controller代码模式,添加Init办法,并在Controller类构造函数中调用它,见图16。图16

实验5:产品族实践一、实验目1)初步理解软件产品线和产品族概念2)应用设计模式实现产品族二、实验学时2学时。三、实验环境计算机及VS。四、实验内容运用抽象工厂模式实现产品族。五、实验操作环节内容:运用抽象工厂模式实现产品族环节:1)打开VS.NET,新建一种项目,项目类型选取Windows,模板选取Windows应用程序,名称为PL_IMPL,选取好位置,单击拟定。2)右击项目,选取“添加->新建项”,在模板中选取“类”,名称为Plant.cs,单击添加按钮,并完毕如图1所示代码。图13)同样办法,添加Garden.CS类,并完毕如图2所示代码。图24)右击项目,选取“添加->新建项”,在模板中选取“类”,名称为VeggieGarden.cs,单击添加按钮,并完毕如图3所示代码。图35)右击项目,选取“添加->新建项”,在模板中选取“类”,名称为MeatGarden.cs,单击添加按钮,并完毕如图4所示代码。图46)右击项目,选取“添加->新建项”,在模板中选取“组件类”,名称为GardenPicture.cs,单击添加按钮,并完毕如图5所示代码。图57)单击菜单,选取“生成->生成解决方案”,或者按F6。8)展开解决方案资源管理器,将FORM1Text属性设立为:“农/牧场主”。9)在工具箱中,展开项目组件(本实验是PL_IMPL组件),将组件GardenPicture拖入Form1窗体,并设立BackColor属性为:ActiveCaptionText;BorderStyle为:Fixed3D;并调节好大小,见图6。图610)从工具箱中,拖放3个CheckBox和2个RadioButton,属性设立见表1,见图6。表1控件Name属性Text属性CheckBox1ckbCenterCenterCheckBox2ckbBorderBorderCheckBox3ckbShadeS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论