第一篇:实验二 Linux shell程序设计总结范文
实验二 Linux shell程序设计
一、实验目的
熟悉linux shell 简单程序设计
二、实验内容
1、变量引用。在用户主目录下运行如下命令
$dir_1=/11/22 $echo $dir_1 $echo dir_1
2、数组。在用户主目录下运行如下命令
$city[0]=Beijing $city[1]=Shanghai $city[2]=Tianjin
显示city的第二个元素的值
$A=(this is an example of shell script)(1)同时显示数组A的第2、4、6个元素的值。(2)显示所有数组元素的值
3、完成书上P106-107中关于read命令的使用的例子。
4、完成书上p108-110例4.7-例4.9
三、实验步骤
1.输入命令:
$dir_1=/11/22 $echo $dir_1 $echo dir_1
2.输入命令:
$city[0]=Beijing $city[1]=Shanghai $city[2]=Tianjin $echo ${city[2]} $A=(this is an example of shell script)$echo ${A[2]} ${A[4]} ${A[6]} $echo ${A[8]} 3.输入命令:
$read x y z Today is Monday $echo $z $x $y $read n1 n2 n3 First Second Third 1234 abcd $echo $n3 $echo $n2 $n1 Read n1 n2 n3 1 2 $echo $n3 $echo $n1 $n2
4.4-7:$touch m1.c
$vi m1.c
按”i”输入:main()
{
printf(“Beginn”);
}
按“Esc”输入“:wq”
$cat m1.c
$touch m2.c
$vi m2.c
按”i”输入:main()
{
printf(“OK!n”);
printf(“Endn”);
}
按“Esc”输入“:wq”
$cat m2.c $touch ex6
$vi ex6 按”i”输入:#ex6:shell script to combine files and count lines
cat $1 $2 $3 $4 $5b $6 $7 $8 $9|wc –l
#end
按“Esc”输入“:wq”
$cat ex6 $chmod a+x ex6 $PATH=$PATH:.$ex6 m1.c m2.c
4-8 $touch ex7 Vi ex7 i #!/bin/bash #ex7:shell script to combine filesand count lines #using command set to set positional paramters Set m1.c m2.c Cat $1 $2 $3|wc-l #end $cat ex7 $chmod a+x ex7 $PATH=$PATH:.$ex7
4-9 $touch ex8 Vi ex8 i
#!/bin/bash
#ex8:shell script to demonstrate the shift command Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9 Shift Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9 Shift Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9 #end $cat ex8 $chmod a+x ex8 $PATH=$PATH:.$ ex8
四、实验总结
通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序中LINUX基本命令的使用,理解了SHELL程序的设计方法,并且熟悉了SHELL程序编辑、运行、调试方法与过程。这位我日后继续深入学习LINUX课程打下基础。
第二篇:实验二 定时器程序设计121
一、实验目的学会使用单片机定时器产生定时中断,并利用定时中断产生更长时间延时。
二、实验设备及器件
IBM PC机
一台
DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台
三、实验内容
1.实验二 定时器程序设计
2.编写程序,使P10端口来控制LED闪烁 3.C语言程序
//1ms定时中断实现100ms发光管闪烁 #include“REG51.h” sbit LED=P1^0;void main(void){ TMOD = 0x01;//设置定时器模式 16位定时器
TL0 = 0x18;//设置定时初值
TH0 = 0xFC;//设置定时初值
TR0 = 1;//定时器T0开始计时
ET0=1;//开定时器中断
EA=1;
//开总中断
while(1);}
//******************** //1ms void pit0(void)interrupt 1(中断程序){ static unsigned char ms_cnt=0;//16 ffff TL0 = 0x18;//设置定时初值
TH0 = 0xFC;//设置定时初值
if(++ms_cnt==100){
ms_cnt=0;
LED=!LED;} } 定时器的由程序
直接汇编语言 ORG 0 AJMP MAIN ORG 0BH AJMP PIT0 MAIN: MOV TMOD,#01H MOV TH0,#18H MOV TL0,#0FCH SETB TR0 SETB ET0 SETB EA SJMP $
生成;********************************** PIT0: MOV TH0,#18H MOV TL0,#0FCH INC R7 CJNE R7,#100,PIT0_R MOV R7,#0 CPL P1.0 PIT0_R: RETI END
四 实验要求
学会使用并掌握单片机定时器中断来实现LED100ms闪烁。
五 实验步骤
1.调试运行本节实验程序。若程序无错误,编译并进行二进制转换,下载程序。
2.连接线路,将A2区的P10端口连接到D1区的任意LED接口。3.观察LED灯闪烁情况
第三篇:C语言程序设计实验二
C语言程序设计实验
(二)[实验1]
1.实验题目
下列各题的算法用传统流程图及N-S流程图两种方式表示:
(1)输出图形(顺序结构)
★★★★★★★★
★★★★★★★★
★★★★★★★★
★★★★★★★★
(2)判断用户输入的字符是数字字符、字母字符还是其它字符。(选择结构)
(3)运用循环结构打印如下图形(for循环结构)。
◆
◆◆◆
◆◆◆◆◆
◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆
(4)输入任意数N,求P的值(P=N!)(当型循环结构)
(5)输出1~N间20个不能被3整除的数列(直到型循环结构)
(6)计算并打印九九表。(直到型循环结构)
2.实验目标
(1)熟练掌握流程图表示算法的方法。
(2)熟练掌握结构化程序设计的三种基本结构。
[实验2] 变量的变化情况。
1.实验题目
有以下程序
#include
#definea 3*2+1
#defineA a*a+a
#defineb(3*2+1)
#defineB(b)*(b)+(b)
main()
{
int x1,x2;
int y1,y2;
x1=a*a;
y1=A*A;
x2=b*b;
y2=B*B;//换为y2=(A)*(A)结果是否相同
printf(“x=%d tty=%dn”,x1,y1);
printf(“x=%dtty=%dn”,x2,y2);
}用逐行断点测试方法,体会程序运行时各变量值的变化情况。
2.实验要求
(1)在上机实验之前先将每执行一条语句后变量x1、x2和y1、y2的预期结果写在相应语句旁。
(2)设置4个监视项x1、x2和y1、y2,断点逐行测试执行程序。
(3)每执行一条语句后,对比Watch窗口中变量x1、x2和y1、y2的值与预期的值是否一致,若不一致,请解释原因。
(4)将语句“y2=B*B;”换为“y2=(A)*(A)”,测试结果是否相同,为什么?
(5)运行结束后查看输出结果,确认该结果是否与预期的值一致。
3.实验目标
(1)宏定义的正确定义。
(2)宏定义的正确使用。
第四篇:实验二 简单的C程序设计
实验二
简单的C程序设计
实验目的:
1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2.通过编程进一步理解和掌握运算符的确切含义和功能。
3.理解和掌握运算符与运算对象的关系,优先级和结合方向。
1.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。
2.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。3.掌握简单的C程序的查错方法。实验内容:
一、输入程序,观察输出结果,并对输出结果作出合理的解释。1./* e1.cpp */ #include
{
float x;double y;x=213.82631;y=213.82631;printf(“%-4.2f,-6.2en”,x,y);}
输出结果: 解释:
2./* e2.cpp */ #include
char ch;
int k;
ch=’a’;k=10;
printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);
printf(“k=%%dn”,k);
} 输出结果:
解释:
3./* e3.cpp */
#include
double b1,b2;
a1=3141.59;a2=0.000001;
b1=3141.59;b2=0.000001;
printf(“%f,%lfn”,a1+a2,b1+b2);
} 输出结果:
解释:
4. /* e4.cpp */ #include
float x=5/2,y=5.0/2;
printf(“x=%f,y=%fn”,x,y);} 输出结果:
解释:
二、编写程序。
1. 编程(c1.cpp)定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数的平均值averge,其中x=y=1,z=0。观察运行结果。再将x,y,z和averge改为实型变量,再观察运行结果。理解整除和不同类型数据进行混合运算的转化规律,对结果进行合理的解释。源程序:
输出结果: 解释:
2. 改写程序(c2.cpp),针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。要求输出结果的形式为averge=…。
源程序:
输出结果: 解释:
3. 输入3个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b原来的值给c,把c中原来的值给a。源程序:
输出结果:
三、调示示例。1. 求华氏温度100。F对应的摄氏温度。计算公式:C=(5/9)(F-32),其中C表示摄氏温度,F表示华氏温度。源程序(有错误)#include
int celsius;fahr;fahr=100;celsius=5*(fahr-32)/9;printf(“fahr=d,celsius=%dn”,fahr,celsius);} 1)输入源程序。
2)实验一中用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。在工具栏
或菜单栏上单击鼠标右键,出现如图所示的整个工具箱,在“编译”或“编译微型条”项前打上“√”。
图中第1个按钮为“Compile”(编译,Ctrl+F7),第2个按钮为“Build”(构件,F7),第4个按钮为“Build Execute”(执行,Ctrl+F5)。3)单击“编译”工具条中的第1个按钮,出现第一个错误信息:
Cannot open include file: 'stdoi.h': No such file or directory(不能打开stdoi.h)
改正(应该是stdio.h)后,重新编译,新产生的第一个错误信息是:
'fahr' : undeclared identifier(“fahr”变量没有定义)改正:将fahr前的分号改为逗号,重新编译,编译正确。
4)单击“编译”工具条中的第2个按钮,连接正确。
5)单击“编译”工具条中的第4个按钮,运行结果为 :
fahr=d,Celsius=100
不符合题目的要求,仔细检查源程序,发现函数printf()中的d应为%d,改正的,重新连接和运行,运行结果与题目要求的结果一致,程序调试结束。
2. 改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值.请不要删除源程序中的任何注释。输入输出示例(假设x的值为3): 9=3*3 3*3=9 #include
int y;
y=x*x;
printf(“%d=%d*%d”,x);
/* 输出
printf(“d*%d=%d”,y);
}
改正后的源程序:
实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
第五篇:UML程序设计实验指导书
《UML程序设计》
实验指导教程
适合专业:计算机类专业
浙江树人大学信息科技学院 2016.02
课程与实验综述
第一部分实验综述
一.课程简介及实践要求:
《UML程序设计》是以介绍面向对象的统一建模语言UML为主,使学生了解面向对象技术的基本概念,掌握UML的分析和设计方法,同时掌握在Enterprise Architect环境下用UML进行分析和设计的技术。本课程在教学内容方面着重基本理论、基本知识和基本方法,在培养实践能力方面着重设计构思和设计技能的基本训练,熟练的上机操作能力和分析能力。
实验实践训练是UML程序设计教学的重要技能环节。通过实验,使学生加深理解、验证、巩固课堂教学内容,特别是通过设计和综合实验,发挥学生的想象力和创新能力。二.课程实验目的要求:
通过UML的实验,学生应该: 1.学会用UML进行面向对象的思想去分析和设计相关系统;2.学会用Rose建模工具进行软件建模。三.课程实验参考资料
1.(美)Joseph Schmuller著.UML基础、案例与应用.人民邮电出版社,2004 2.(美)Hans-Erik Eriksson.UML 2工具箱.电子工业出版社,2004 3.吴际,金茂忠.UML面向对象分析.北京航空航天大学出版社,2002 4.赵从军.UML设计及应用.机械工业出版社,2004 5.Grady Booch,James Rumbaugh,Ivar Jacobson.UML用户指南.机械工业出版社,2001 6.吴建,郑潮,汪杰.UML基础与Rose建模案例.人民邮电出版社,2004 第二部分 实验实践指导
实验一
构建用例图
一、实验目的
1.学会分析系统中的参与者和用例 2.掌握用例图的绘制方法
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
1、分析ATM系统需求,按要求画出用例图;
2、建立一个学生管理信息系统的需求
3、建立设计一个学生管理信息系统的完整的用例图
四、实验步骤
(一)ATM系统的用例图
1.分析
ATM自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。通过分析可找出如下几个参与者:(1)ATM(2)客户
通过分析得到如下用例:
(1)存款
(2)取款(3)查询余额
(4)转帐(5)修改密码
(6)打印收据
2.绘图步骤:
下面介绍在Enterprise Architect中创建用例图的过程:
Enterprise Architect主界面如下图所示:
1、建立项目:
如下图在文件菜单选择新建项目:
如下图
选择文件夹,输入项目名:
如图,选择所需要的选项:
2、建立用例图
在合适的文件平夹下,右键
在UML Behavioral 下选择Use Case,图名处输入用例名如ATM 如下图,比双击ATM
在编辑界面下右键,如下图
3、添加用例
选择Use Case 依次添加存款、取款、查询余额、转帐、修改密码、打印收据,如图1.4所示。
4、添加Actor 在编辑界面下右键,选择Actor,5、添加边界(ATM取款系统)
如下图
6、添加参与者和用例间的关联关系,右键客户,如上图,选择小箭头,添加关联,同理添加ATM的关联
添加Common中的Note,内容为***制,如上图
7、保存图
完成用例图后,保存该图。
8、选择所有的内容,拷贝,粘贴到实验报告中,如下图
uc ATMATM取款系统存款金智勇制取款查询余额客户ATM修改密码打印收据转帐
(二)建立设计一个学生管理信息系统的需求分析与完整的用例图
(1)学生管理信息系统简介
学生管理信息系统主要为学校的学生处设计:方便学校学生处与学院学生口管理员方便管理学生,学生成绩由教务系统提供,教务系统提供相关的WEB service供学生管理信息系统调用。
通过分析可找出如下几个参与者:
学生处管理员、学校领导(学校各种报表统计信息)、学院管理员、班主任(提供学生操行、查询等)、学院领导(学院各种报表统计信息)、学生、后勤管理人员(卫生管理、保卫处异常情况处理)、财务人员、考勤管理员(由副班长提供考勤信息)等
通过分析得到如下一些大的用例:
学生基本信息管理、考勤管理、成绩导入、学校各种报表信息(要求细化)、学院各种报表信息(要求细化)、个人成才规划、新学期注册,操行评定、学生任职信息系统、学生奖惩管理系统(要求细化,包括评优评奖等)、学生变动信息管理(培训内容、助学贷款情况、学校还款情况、勤工助学情况,党员管理),后勤卫生管理、保卫处的学生的异常情况处理、其它的具体由学生自己定。
2.建立设计一个学生管理信息系统的需求分析
分析学生管理信息系统,建立系统需求分析,并要求画出系统功能框图,如学生管理信息系统的功能模块图如下
系统模块图如后勤卫生查询功能子系统模块图如下。
要求分析其它的子系统模块
3.建立一个学生管理信息系统的完整的用例图
完整的要求,就为每一类用户分配一个用例模型,如一般学生查询功能用例
要求分析其它参与者的用例模型
(4)建立用例的文字描述(要求学生写出两个)
1.“基本信息查询”用例 用例编号:04010101(共有4层用例图结构,每层用2位数字表示,采用8位编号。)用例名:
基本信息查询
执行者: 学生自己、学生的班主任、辅导员及其它的特权用户。目的: 查询学生的基本信息,包括姓名、学号、家庭地址等信息。类
型: 端点、基本的 级
别: 二级 过程描述:
(三)上传ATM系统的用例图与学生管理信息系统的完整的用例图
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验二
构建类图
一、实验目的
1.理解类的基本概念 2.理解类间的关系
3.掌握类图的绘制方法
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析学生管理系统中的选课子系统中类及关系,然后画出它们的类图。(2)分析学生管理系统的其它子系统,并画出详细的系统类图
四、实验步骤
(一).选课子系统
1、选课子系统分析
分析学生管理系统中的选课子系统,通过分析可抽象出如下几个类:
(1)学生类(student)(2)选课类(SelectCource)(3)课程类(Cource)
学生类、选课类和课程类属性和方法
课程类的属性和方法:
属性包括
(1)课程名称(CourceName)(2)开课教室(Room)(3)课程号(CourceID)(4)授课教师(Teacher)(5)学年(academic year)(6)学期(Term)(7)允许选课的学生人数(SelectNoUp)方法包括
(1)设置课程号(SetCourceID)(2)设置课程名称(SetCourceName)(3)查询课程号(SeekCourceID)(4)查询允许选课的学生人数(SeekSelectNoUp)
选课类的属性和方法:
属性包括
(1)ID号(ID)(2)课程号(CourceID)(3)学号(SNo)(4)成绩(score)方法包括
1)选课(SelectCoure)2)退选(CancelSelected)3)查询选课情况(SeekSelected)
2.绘图步骤:
下面介绍在Enterprise Architect中创建类和它们之间关系的过程:
(1)在上图的合适文件夹下选择添加类图,类图名为选课系统类,如下图。
(2)在选课系统类图中,从工具栏中新建元素,选择Class并取名Student表明新增一个类,,同理添加选课类(SelectCource),课程类(Cource),如下图
(2)右键Studen,选择功能与属性---属性,如下图
(7)同样的方法添加Course类与SelectCource类,(8)创建两个类之间的关系,通过分析得出:Course类与SelectCource类之间为单向关联。选择图标栏的“关联”,由Course类指向electCource类。如图所示。
(10)分别在Course类与SelectCource类选项卡中键入名称和多重性,图2.10(11)重复(2)-(10)中的步骤完成选课系统整个类图的创建。(12)如图2.11转换生成代码,查看所生成的三个的代码。
选择对应的类的文件名,生成代码
查看代码
(二)分析学生管理系统的其它子系统,并画出详细的系统类图
一般情况一个子系统至少有一个类,要求建立系统的详细类图,并建立类间的关联
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验三
构建活动图
一、实验目的
1. 熟悉活动图的基本功能和使用方法。
2. 掌握如何使用建模工具绘制活动图方法。
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析图书管理系统中管理员的活动状态,画出管理员的活动图。(2)分析学生管理系统,并画出详细的活动图,并用活动图细化用例图
四、实验步骤
(一)图书管理系统活动图
1.分析
在图书管理系统中管理员的活动如下:
(1)处理还书(2)处理借书(3)处理罚款 读者的活动如下:
(1)登录(2)找书(3)预约(4)浏览
2.绘图步骤:
下面介绍在Enterprise Architect中活动图的过程:(1)在的合适文件夹下选择添加活动图(Activity),如下图,在图名中输入在图书管理系统管理员活动图如下图所示
(2)添加活动及其它元素,如下图
图 3.1
(2)绘制图书管理员的活动图,如图3.2所示:
图3.2
(3)创建读者的活动图如图3.3所示:
图3.3
(二)分析学生管理系统,并画出详细的活动图,并用活动图细化用例图
(1)学生基本信息保存的活动图
录入基本信息、点击保存、链接数据库、判定学号是否已存在、判定录入信息是否符合规范(日期信息、身份证号、邮编等信息)-保存。(2)学生基本信息查询的活动图
链接数据库、查询基本信息表、倒出数据内容、填入各字段信息到信息输出框、根据学院代号查询学院名称、写入学院信息到列表框、定位学院信列表框、根据班级代号查询班级名称、写入班级信息、写入班级信息到列表框、定位班级信列表框、。(3)至少分析建立其它3个活动图
(4)根据活动图重新分析用例图并细化用例图,审核类图
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验四
构建顺序图
一、实验目的
学会用顺序图实现用例
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析系统需求,画出ATM取款的顺序图(2)分析学生管理系统,并画出详细的顺序图
四、实验步骤(一)ATM取款的场景
1、ATM取款的场景分析:
(1)通过读卡机,用户插入ATM卡;
(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;
(3)用户输入密码,ATM系统根据上面读出的卡上加密密码,对密码进行验证;(4)用户输入取款数量;
(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;
(6)ATM系统输出先进、ATM卡和显示帐户余额的收据;(7)ATM系统记录事务到日志文件。寻找场景中的对象:ATM、客户和帐户。
2、绘图步骤:
下面介绍在Enterprise Architect中创建顺序图的过程:
(1)在的合适文件夹下选择添加活动图(Activity),如下图,21
在工具菜单中选择选项如下图
选择图—顺序,如下图,选择“显示顺序编号”
(2)在顺序图前,为保证对象的可行性,可先在类图中创建Customer、ATM、和Account类。也可新建元素LifeLine。如下图,分别创建Customer、ATM、和Account.(4)根据ATM取款的场景,获得第一条消息为“客户向ATM机提交取款需求”,向图中添加消息。
在图中,点击Customer,选择小箭头,指向ATM,在消息特征编辑窗口中,输入Request。
图4.4
(5)同样的方法添加其它消息,如图4.5所示。
图4.5
(二)分析学生管理系统,并画出详细的顺序图
(1)如学生奖学金评定的顺序图:倒入成绩、操行评定、计算综合评分、奖学金评定(2)用户登入的顺序图:
(3)新学期注册顺序图:学生交费--向学院报到--判断是否交费--(是否申请助学金、是否申请缓交)--注册(4)建立党员管理顺序图
(5)建立其它的一个以上顺序图
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验五
构建协作图
一、实验目的
1.学会协作图的绘制方法
2.掌握顺序图和协作图的相互转换。
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析系统需求,画出ATM取款的协作图。
(2)分析学生管理系统,并画出详细的顺序图
四、实验步骤
(一).ATM取款的场景
1、ATM取款的场景分析:
(1)通过读卡机,用户插入ATM卡;
(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;(3)用户输入密码,ATM系统根据上面读出的卡上加密密码,对密码进行验证;(4)用户输入取款数量;
(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;(6)ATM系统输出先进、ATM卡和显示帐户余额的收据;(7)ATM系统记录事务到日志文件。寻找场景中的对象:ATM、客户和帐户。
2、绘图步骤:
下面介绍在Enterprise Architect中创建协作图的过程:
(1)在“Logical View”中新建“Collaboration Diagram“,双击图标,出现图5.1,为编辑顺序图做好准备。
图5.1
(2)创建类节点
创建四个类节点分别为ATM,Branch,Consortium,User。
分别选择其中的三个类节点ATM,Branch,Consortium 把它们拖动到CollaborationDiagram图中,如图5.2所示。
图
4.2
选择标记为 User 的类节点。将选定的类拖放到CollaborationDiagram图编辑器中,使其位于 ATM 生命线元素的上方,如图5.3所示。
图5.3
(3)添加连接器链接(Object Link)
协作图中的每个元素均可通过连接器链接与其他元素建立连接。您可以标识这些链
接,并在其中添加消息流。
从建模组件面板的“基本”类别中,选择 “ Object Link ” 图标。单击标记为 User 的生命线元素,然后单击 ATM。将在两个元素之间绘制一条连接器链接。使用相同的步骤绘制以下链接:
从 ATM 至 Consortium 的链接
从 Consortium 至 Branch 的链接
从 ATM 至 Branch 的链接
注意:在创建从 ATM 至 Branch 的链接时,请从 ATM 生命线的右侧水平绘制一条链接,并在到达 Branch 生命线的正上方时单击鼠标左键。这样便会在链接线上出现一个顶点,然后在顶点到 Branch 生命线之间垂直绘制一条链接。
此时,该图应当图5.4类似。
图5.4
在图编辑器中的任意位置单击鼠标右键,选择 “Edit” 的“delete from mode”菜单,可删除模型,如图5.5所示。
图5.5
(4)显示操作流
操作流将在图中显示为与链接平行的带标记箭头。此链接用于向目标元素传输消息或实现这种传输。在图编辑器中,选择 User 和 ATM 之间的连接器链接。右键单击距 ATM 生命线最近的连接器链接部分。如图4.6所示,从弹出式菜单中选择“Open Specification”,弹出”Link Specification For Untile”对话框,在对话框中按右键,从弹出式菜单中选择“Insert To: ATM”,在Message Name中输入public void GetCashOnHand(), 如图5.6所示。
图5.6
在 ATM 和Consortium 之间的连接器链接上,右键单击靠近Consortium生命线的链接部分。
添加消息 “ public void validateAccountInfo()”。Rose显示 2: public void validateAccountInfo()。
在 ATM 和 Branch 之间的连接器链接上,右键单击靠近Branch 生命线的链接部分。
添加消息 “public char getConnected”。Rose显示3: public char getConnected()。
右键单击 Consortium 和 Branch 之间靠近Branch 生命线元素的连接器链接。添加消息 “public void verifyCardWithBank(int stringCardSTrip)”。Rose显示 4: public void verifyCardWithBank(int stringCardSTrip)。
完成的协作图应当与图5.7类似。
图5.7
(5)模型检查并保存
使用Tools工具的”Check Model”,进行模型检查,查看是否有错。
如无误则在完成协作图后,您可以保存该图。在图编辑器中,从菜单中选择“保存”。
(二)分析学生管理系统,并画出详细的协作图
(1)如学生奖学金评定的协作图:倒入成绩、操行评定、计算综合评分、奖学金评定(2)助学贷款申请协作图:学生申请—班主任批准—学院批准-学校领导批准(3)助学勤工俭学申请协作图:(4)建立其它的一个以上协作图
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验六
构建状态图
一、实验目的
1. 熟悉状态图的基本功能和使用方法。2. 掌握如何使用建模工具绘制状态图方法。
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析图书管理系统中的书和借书证的状态,画出它们的状态图;
(2)分析学生管理系统,并画出详细的顺序图
四、实验步骤
(一)图书管理系统
1、分析
在图书管理系统中,分析书的状态如下:
(1)可借(2)被借(3)被预约(4)删除
借书证的状态如下:
(1)可用(2)不可用(3)删除
2、绘图步骤:
下面介绍在Rose2003中创建类和它们之间关系的过程:
(1)在“Logical View“中的“StateChart Diagram”菜单,双击图标,出现图6.1,为编辑状态图做好准备。
图6.1(2)在工具栏中选择“Start State”图标添加到编辑窗口中,如图6.2所示。
图6.2(3)在工具栏中选择“State”图标,添加一个元素,命名为“New book”,如图6.3所示。
图6.3(4)同样的方法添加其它状态,如图6.4所示。
图6.4 5)书的各个状态之间添加转移及相应的事件,如图6.5所示。
32(图6.5(6)同样的方法得借书证的状态图,如图6.6所示。
图6.6
(二)分析学生管理系统,并画出详细的状态图
(1)建立学生交款状态图:已交、未交、缓交、部分申请助学贷款(2)建立学生惩罚(记过以上)状态图:
(3)建立学生党员申请状态图:(4)建立其它的一个以上状态图
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验七
构建组件图和配置图
一、实验目的
1.掌握UML中组件图和配置图的建立方法;
2.掌握使用Enterprise Architect绘制组件图和配置图;
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析学校网上选课系统的组件图,画出系统组件图。(2)分析学校网上选课系统的配置图,画出系统配置图。(3)分析学生管理系统,并画出详细的组件图与配置图
四、实验步骤
(一)网上选课系统
1.分析
设计学校网上选课系统的组件图和配置图,需求如下: 某学校的网上选课系统主要包括如下功能:
管理员通过系统管理界面进入,建立本学期要开的课程、将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。
对于以上操作,可通过业务层,并将这些操作结果存入数据库中。
2.绘图步骤:
(1)绘制组件图的步骤如下:
确定组件;(系统管理系统, 课程管理系统,选课系统,查询系统,人员信息管理,注册系统,业务操作,备份系统,付费系统) 给组件加上必要的构造型; 确定组件的联系; 绘制组件图。
下面介绍在Rose2003中创建组件图的过程:
(a)在“Component View“中的 “New”的 “Component Diagram”中,出现图7.1,为编辑组件图做好准备,35
图7.1(b)创建组件图(根据要求创建)。
(2)绘制配置图的步骤如下: 确定节点;(数据库服务器,应用服务器,打印机,客户端(n个,连接为局域网))
加上构造型;
确定节点的联系; 绘制配置图。
下面介绍在Rose2003中创建配置图的过程:
(a)在“Deployment View“中,出现图7.2,为编辑配置图做好准备,图7.2
图7.3 系统配置图
(二)分析学生管理系统,并画出详细的组件图与配置图
(1)系统组件图 分析系统接口
如建立查询一个学生基本信息的接口,返回一个学生基本信息的类(类中有姓名、学号等属性)
搜索系统用户界面
搜索系统用户界面,作为系统一种特殊的接口,用户与系统的接口,建立单独的包Web InterFace保存用户界面,如学生基本信息操作的用户界面定义如下(从View继承过来的一个类,这里只考虑界面,类只考虑程序,可有部分重复):
为用户界面考虑接口,并关联不同的类
(2)系统配置图
假设有以下的子系统:学生管理系统用到财务子系统、成绩管理子系统,并各自有数据库。
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。
实验八
Enterprise Architect逆向工程
一、实验目的
1.掌握Enterprise Architect中逆向工程的建立方法; 2.掌握根据逆向工程画出类图;
二、实验器材
1.计算机一台;
2.Enterprise Architect 工具软件;
三、实验内容
(1)分析Java程序,实现EA逆向工程。(2)根据逆向工程所得类,画出对应类图。
四、实验步骤
1.分析
Enterprise Architect功能十分强大,从项目需求分析、开发、测试,整个项目过程都可使用Enterprise Architect,特别是在做需求分析与项目系统架构时建模的能力巨强。但是每个人不是在项目一开始就能参与到初期当中来的,有时候整个项目一期完工了,进行二期开发时,这个时候参与进项目,为了能够快速了解整个项目的框架,使用Enterprise Architect的逆向工程的功能极为有用。
2.绘图步骤:
(1)分析J2EE源代码,了解其结构
(2)新建一个Enterprise Architect工程,选择合适的文件夹,如下图选择包---代码工程—导入---源程序目录
选择根包,原类型为Java
点击确定即在对应的包下生成三个类Env,EnvList和ListS,新建视图,添加Env,EnvList和ListS到视图中,具体如图所示:
图8.3
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。