实验指导说明书
(4) 同理对Sales Contract类和Product类进行设置。 7) 生成VC++代码: 选中Contract类
Tools? Visual V C++? Update Code 即可看到生成的VC++代码。见下图:(有关Contract类的部分VC++代码)
26
实验指导说明书
五.评分标准
1.根据“学生选课系统”、“图书管理系统”和同学自己所建立的类图,正确通过构件生成框架代码(Java源程序)者,可以得到60-70分成绩.
2. 能对上述案例进行正向工程和逆向工程,并能对Clock.Java 源代码进行逆向工程者,可得到80分以上的分数.
3.能自己设计类模型,并顺利完成由类图生成 C++代码者,可得到90分以上的分数.
27
实验指导说明书
上机实验(六) 创建状态图
一. 实验目的:根据需求陈述创建应用对象的状态图。 二. 实验内容:
1.根据以下叙述,绘制“销售合同生存周期”的状态图:
当销售部门和用户谈妥合同后,进入”签订合同”状态,这时允许修改,修改完成后返回签订合同状态,审核后进入”已审核的合同”状态,经过批准后进入”通过批准的合同”状态。当审核失败或未通过审核时,进入”被否决合同” 状态。已通过批准的合同可以激活执行,进入”执行合同”状态,当全部合同项目完成后,才称为履行合同。否则进入”锁定合同”状态,这时若解决了问题可返回执行合同,否则进入”未履行合同”状态. 2. 绘制"学生选课系统"中课程(Course)对象的状态图. 经过需求分析,Course对象有以下状态: ·创建(Created)
·添加到数据库中(in database) ·课程(在数据库中)被删除(Deleted) ·课程被修改(Modified)
·课程被开设(纳入学期计划)(In Schedule) ·不允许选修(选修人数满)(Locked) 3.绘制"一本书"在其生存周期的状态图. 经过需求分析Book对象有以下状态: ·新书(New Book) ·可借阅(Available) ·已借出(Borrowed) ·已预约(Reserved) ·删除(Deleted)
如果在上题中再加上一个“罚款(Fine)”状态,则状态图将如何变化? *4.绘制打电话过程“电话线路”的状态图
经过需求分析电话线路对象有以下状态:(可适当增减状态)
“Idle”,“Dialing”,“Connecting”,“Ringing”,“Connected”,“Disconnected”,“TimeOut”,
“Play Message”,“Busy Tone” (可以适当增减状态) 相关事件:
28
实验指导说明书
on hook(挂机)= hangs up,
off hook(摘机)=pickup receiver, timeout(超时),
called phone answers(接电话), line busy(线路忙), routed(线路接通),
valid number(有效号码), invalid number(无效号码), wrong number(错码)
5.绘制“网上应用系统用户界面及切换设计” 的状态图。陈述如下:
某应用系统包括“主界面”和“合同管理界面”、“销售管理界面”、“财务管理界面”、“物资供应管理界面”。为了使界面之间有机组合起来,特增加“登录”、“快捷菜单”等状态。请设置引起状态转换的事件并绘制状态图。
6.绘制“智能交通信号灯控制” 的状态图。陈述如下:
交通信号灯(traffic lights)分成南北直行(N/S _ straight), 南北左转(N/S _ left), 东西直行(E/W_ straight)和东西左转(E/W _ left) 四个主要状态。规则是: 1) 任何状态下超时(timeout)均立即进行状态转换,
顺序是:直行、左转、(对方)直行、(对方)左转 ??; (注:对方是指另一方向。比如东西向的对方是南北向) 2) 当处于直行状态时, 允许(右车道)汽车右转弯(turn right);
3) 处于直行(go straight)状态时, 时间到(timeout)如果左车道(left lane)无车, 则立即转入(对方)直行状态。 (换句话说,在直行时一对电子眼分别检查左车道,若无车,在转换时信号灯自动跳过“左转”状态) 三.在Rose 2003下的操作步骤:
1. 右击Logical View并选New ? State Chart Diagram 2. 命名状态图为Course
3. 在浏览器中双击Course 出现State Chart Diagram 窗口 4. 增加状态
在工具栏中选中State 按钮,点击框图内对应位置,则出现状态图元素。给状态起名字。 5. 增加状态细节
·双击对应状态,弹出State Specification 对话框
· 点击Action选项卡,右击框内任意一点,选Insert。这时可以设置该状态下的活动(Activity)
29
实验指导说明书
·双击刚刚添加的活动,弹出Action Specification 对话框
·在Name 文本框中可以输入动作细节。(比如Get Course Info.等。) 6. 增加过渡(转换) ·选中工具栏中的Transition ·从源状态到目的状态拖动一条过渡线
·如果要增加返身过渡,使用工具栏中Transition to Self按钮 ·如果要增加过渡细节,可以双击过渡线来设置。 7. 增加开始状态及终止状态(终止状态可能没有) 8. 设置有关参数
·右击过渡线,选Open Specification ,再选Detail标签。 ·可设置Guard Condition ,Action Send Argument等参数。 四.评分标准
1.能正确绘制“销售合同生存周期” 、“网上应用系统用户界面及切换设计”、“学生选课系统”课程对象状态图、及“智能交通信号灯控制”的状态图者,可酌情给予75-85分的成绩。 2.能用英文正确表达所有术语者,可住酌情得到85分以上的成绩。
3.有创造性发挥(比如应用子状态来绘制状态图),而且表达正确者,可得到90分以上的成绩。
上机实验(七)创建活动图
一. 活动图的作用
·活动图用于描述工作流程 ·活动图用来描述处理和算法
二. 上机实验目的:根据实际案例创建对应的活动图 三. 实验内容:
1.熟悉活动图组成元素:
起始状态(Start state) 终止状态(End state) 转移(Transition) 活动
(Activity) 分支(Branch) 决策(Decision) 分叉和汇合(Fork & Join) 警戒条件(Guard condition) 泳道(Swim Lane) 同步棒(Synchronization bar) 2. 绘制“学生选课系统”中“Add Course”(添加课程) 的活动图(参见实验指导书) 3.根据以下陈述,绘制“住宅工程建筑施工”活动图
问题陈述:
30