软件设计与体系结构实验报告

  • 格式:doc
  • 大小:1.64 MB
  • 文档页数:57

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

福建农林大学计算机与信息学院

实验报告

课程名称:软件设计与体系结构

*名:***

系:软件工程系

专业:软件工程

年级:2007

学号:*********

指导教师:***

职称:讲师

2009年12月16日

实验项目列表

福建农林大学计算机与信息学院实验报告

学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔

学号:070481024 课程名称:软件设计与体系结构实验时间:2009-10-28 实验室田实验室312、313计算机号024 指导教师签字:成绩:

实验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 Types

2. 选择New按钮

3. 在对话框中,类型名称为TierPropT

4. 类型选择enum

5. 值为:client, logic, data

6. 单击[OK].

添加属性

1. 激活属性视图页

2. 双击TierNodeT

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 : TierNodeT in ponents |

!t1.allowShareHost -> (Forall t2 : TierNodeT in ponents | t1 != t2 -> t1.host != t2.host)

6. 单击 [Parse Rule] 以确认无语法错误,有错误,要重新写。

7. 在标签中输入“Tier nodes respect host assignment.”

8. 在出错标签中输入“Two nodes that cannot share a host must not reside on

the same host.”

9. 单击[OK] 。若前面有语法错误,按钮是灰色的

10. 保存.

Acme代码编辑

1. 查看编辑器底端的区域,有3个区:Overview, Acme Source and Family –

TieredFam. 选择Source

2. 在代码中找到TierNodeT

3. 复制其中的属性内容

4. 定位至ClientNodeT,粘贴刚才复制的内容

5. 把tier属性的值赋值为client.

Component Type ClientNodeT extends TierNodeT with {

Property tier : TierPropT = client;

}

6. 同样把复制的内容粘贴在LogicNodeT和 DataNodeT中,前者的tier值为logic,后

者的tier值为data.