文档库 最新最全的文档下载
当前位置:文档库 › 类图、对象图实验报告

类图、对象图实验报告

类图、对象图实验报告
类图、对象图实验报告

UML建模课程

实验三、UML类图、对象图模型的设计

班级:信息0702 组别:指导老师:徐凯波姓名:王姗学号:2007030331205

一、实验要求:掌握利用UML建模工具建立类图和对象图的方法。

二、实验内容:利用UML建模工具设计类图和对象图

三、实验环境:Windows 2000 Professional以上环境、Rational Rose

2003、Sybase Power Designer 10

四、操作步骤:

五、遇到的问题和解决方法:

类图是所有图中比较好画的一种图,就是将角色、系统它们所具有的属性和活动输入到软件中去,我的类图中角色有管理员、学生,管理员的属性有:管理学的账号、管理员的姓名、管理员的性别、管理员的年龄,他所参与的活动有添加课程信息、删除课程信息、修改课程信息、查询课程信息、登录系统、添加学生信息、删除学生信息、修改学生信息、查询学生信息、查询学生信息;学生的属性有:学生账户、学生姓名、学生性别、学生年龄,他所参与的活动有:查询课程信息、选课、查询个人选课信息,登录系统。系统的包括:学生信息维护系统、课程管理系统、选课管理系统,学生信息维护系统的属性有:学生的账号、姓名、性别、年龄、管理员的账号;选课管理系统:学生账号、课程编号、课程名称、课程地点、课程时间、课程学分、课程学时;课程管理系统:课程编号、课程名称、课程地点、课程时间、课程学分、课程学时。在画整个类图的过程中,我没有遇到太多的问题。

六、实验心得和体会:

在老师的辅导下,我经过前一阶段的练习,基本掌握了UML的要领,类图我基本上没有太费时间,只是想好属性和动作,还有就是个角色之间的关系,类图的难点是角色与角色之间的关系,究竟是一对多、一对一、多对多。确定好角色与角色的关系,类图就很容易完成了。

实验报告:图

实验报告(实验七) 专业班级姓名学号课程名称数据结构 学年2009 --2010 学期1□/ 2□课程类别专业必修□限选□任选□实践□ ●实验内容:实验时间:2010年7月2日 1.编写函数,采用邻接矩阵表示法,构造一个无向网。 2.编写函数,实现从键盘输入数据,建立一个有向图的邻接表。 3.编写函数,输出该邻接表。 4.编写函数,采用邻接表存储实现无向图的深度优先非递归遍历。 5.编写函数,采用邻接表存储实现无向图的广度优先遍历。 6.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。 ●实验目的及要求: 1.掌握图的存储思想及其存储实现 2.掌握图的深度、广度优先遍历算法思想及其程序实现 3.掌握图的常见应用算法的思想及其程序实现 ●方法与步骤: 详见从第2页开始的源代码 ●实验结果: ●小结: 分数:批阅老师:2010年月日

实验报告(附页)源代码: #include #include #include #define MAX_VERTEX_NUM 10 //顶点最大个数 #define STACK_INIT_SIZE 100 //邻接矩阵的类型定义 #define INFINITY 888 /* 用888代替∞*/ typedef struct ArcCell { int adj; }ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { int vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; int vexnum,arcnum; }MGraph; //构造无向网 MGraph *CreateUDN(MGraph *N) { int i,j,k,w; int v1,v2; printf("输入顶点的个数:"); scanf("%d",&N->vexnum); printf("输入边数:"); scanf("%d",&N->arcnum); printf("输入%d个顶点的元素:",N->vexnum); for(i=0;ivexnum;i++) { scanf("%d",&N->vexs[i]); } for(i=0;ivexnum;i++) for(j=0;jvexnum;j++) N->arcs[i][j].adj=INFINITY; for(k=0;karcnum;k++) {

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

类图、对象图实验报告

UML建模课程 实验三、UML类图、对象图模型的设计 班级:信息0702 组别:指导老师:徐凯波姓名:王姗学号:2007030331205 一、实验要求:掌握利用UML建模工具建立类图和对象图的方法。 二、实验内容:利用UML建模工具设计类图和对象图 三、实验环境:Windows 2000 Professional以上环境、Rational Rose 2003、Sybase Power Designer 10 四、操作步骤: 五、遇到的问题和解决方法: 类图是所有图中比较好画的一种图,就是将角色、系统它们所具有的属性和活动输入到软件中去,我的类图中角色有管理员、学生,管理员的属性有:管理学的账号、管理员的姓名、管理员的性别、管理员的年龄,他所参与的活动有添加课程信息、删除课程信息、修改课程信息、查询课程信息、登录系统、添加学生信息、删除学生信息、修改学生信息、查询学生信息、查询学生信息;学生的属性有:学生账户、学生姓名、学生性别、学生年龄,他所参与的活动有:查询课程信息、选课、查询个人选课信息,登录系统。系统的包括:学生信息维护系统、课程管理系统、选课管理系统,学生信息维护系统的属性有:学生的账号、姓名、性别、年龄、管理员的账号;选课管理系统:学生账号、课程编号、课程名称、课程地点、课程时间、课程学分、课程学时;课程管理系统:课程编号、课程名称、课程地点、课程时间、课程学分、课程学时。在画整个类图的过程中,我没有遇到太多的问题。

六、实验心得和体会: 在老师的辅导下,我经过前一阶段的练习,基本掌握了UML的要领,类图我基本上没有太费时间,只是想好属性和动作,还有就是个角色之间的关系,类图的难点是角色与角色之间的关系,究竟是一对多、一对一、多对多。确定好角色与角色的关系,类图就很容易完成了。

图像处理实验报告

重庆交通大学 学生实验报告 实验课程名称数字图像处理 开课实验室数学实验室 学院理学院年级信息与计算科学专业 2 班学生姓名李伟凯学号631122020203 开课时间2014 至2015 学年第 1 学期

实验(一)图像处理基础 ?实验目的 学习Matlab软件的图像处理工具箱,掌握常用的一些图像处理命令;通过编程实现几种简单的图像增强算法,加强对图像增强的理解。 ?实验内容 题目A.打开Matlab软件帮助,学习了解Matlab中图像处理工具箱的基本功能;题目B.掌握以下常见图像处理函数的使用: imread( ) imageinfo( ) imwrite( ) imopen( ) imclose( ) imshow( ) impixel( ) imresize( ) imadjust( ) imnoise( ) imrotate( ) im2bw( ) rgb2gray( ) 题目C.编程实现对图像的线性灰度拉伸y = ax + b,函数形式为:imstrech(I, a, b); 题目D.编程实现对图像进行直方图均衡化处理,并将实验结果与Matab中imhist 命令结果比较。 三、实验结果 1).基本图像处理函数的使用: I=imread('rice.png'); se = strel('disk',1); I_opened = imopen(I,se); %对边缘进行平滑 subplot(1,2,1), imshow(I), title('原始图像') subplot(1,2,2), imshow(I_opened), title('平滑图像') 原始图像平滑图像

UML实验报告全

《系统分析与建模》实验指导书__2011__/__2012__年第__二__学期 姓名:____钱秀梅_________ 学号:__ 10030117_____ 班级:_ 10计一_______ 指导教师:___殷凯__________ 计算机科学与技术系编写

系统分析与建模实验指导书―1―计算机科学与技术系 目录 实验0 熟悉软件开发环境 (1) 实验1 用例图设计………………………………………………… 实验2 类和对象图设计 (3) 实验3 交互图设计 (7) 实验4 状态图设计 (9) 实验5 活动图设计 (12) 实验6 包图设计 (15) 实验7 物理图设计 (17) 附录考核登记表 (23)

实验0 熟悉软件开发环境 一、实验目的 学习使用EA开发环境创建模型的一般方法,理解EA界面布局和元素操作的一般技巧。 二、实验环境 软件平台:Microsoft Windows2000 /XP。软件工具:EA 7.5。 三、实验内容与要求 1.学会启动和关闭EA 7.5开发环境。 2.使用目标项目(Project)的向导创建一个项目。 3.了解EA 7.5界面的六大组成部分(菜单Menu、浏览器Browser、文档窗口Document Window、图窗口Diagram Window、日值窗口Log Window和工具栏。 4.在浏览器中实现如下操作:增加模型元素(包括角色、用例、类、组建、图等); 查看现有模型元素;查看现有模型元素之间的关系;移动模型元素;更名模型元 素;访问元素的详细规范。 5.分别在在图中增加删除图元素和在浏览器中增加删除图元素。 四、实验预习和准备 参考相关书籍,能够熟练地安装和使用EA 7.5软件建立模型。 五、实验过程与结果 读者 借书 还书 续借图0-1 用例图

河北工业大学UML实验报告

《面向对象与UML》 实验报告

实验一UML建模基础 一、实验目的 1.熟悉UML建模工具Rational rose的可视化环境。 2.掌握利用Rational rose进行建模的步骤。 二、实验内容 1.熟悉Rational rose建模环境 2.建模基本步骤 3.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rational rose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。 三、实验结果 建模基本步骤中得到的用例图 实验2 用例图 一、实验目的 1. 熟悉UML用例图的基本图形元素。 2. 掌握用例与用例之间的各种关系。 3. 熟悉针对具体场景使用例图进行软件建模的方法。 4. 掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。

二、实验内容 1. 根据实验一建模实例,熟悉利用Raional rose软件绘制用例图的基本方法。 2 通过对“学生信息管理系统”的需求描述,确定系统用例图: “学生信息管理系统”的需求描述如下: 在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。 学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。 在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。学生可以通过本系统进行成绩的查询。 学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。只有将已选择的课程删除掉才能再选择新课程。系统管理员负责修改、增加、删除选修课程。 系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。 a) 请根据上述描述,确定系统的参与者 b) 确定系统的用例并绘制完整的用例图。 3. 根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的 用例规格说明。 4. 考虑一个网络订餐系统的需求,并绘制出完整的用例图。 实验步骤: 1参与者:管理员学生校领导教师 2用例:登陆系统,录入学生基本信息,查询学生基本信息,修改学生基本信息,删除学生基本信息,(学生信息包括:学籍,年龄,家庭住址,性别,身高,学生证号,身份证号,查询班级基本信息(任课教师,辅导员,学生姓名,学生人数,专业班级),添加班级,修改班级基本信息,删除班级,录入成绩,查询成绩,修改成绩,查询课程信息,(课程基本信息包括:课程号,所属专业,课程名称,开课学期,学时数,学分,任课教师)选择课程,删除已选课程,修改课程,增加课程,删除选修课程,添加帐号,设置帐号(设置帐号的权限和对应

工图实验报告

工图实验报告

————————————————————————————————作者: ————————————————————————————————日期: ?

实验一 一.实验目的 1.学会打开、关闭和保存图形文件和熟悉AutoCAD的界面。 2.熟悉AutoCAD环境及常用绘图命和编辑命令。 3.学会部分常用绘图命令和编辑命令,掌握工具栏的调用方法。二.实验内容 根据立体图和尺寸,在AutoCAD上画出立体图的三视图。

三.实验步骤 (说明:给出实验内容具体描述,以及具体操作步骤) 第一题: 1.启动AutoCAD。 2.选择新建文件 选择一个样板文件,之后打开创建新文件。 3.系统环境设置 设置背景色,窗口元素配置、靶框大小设置 4.绘图单位格式设置。 设置图形单位:长度和角度,精度 5.构件图层,设计颜色,线型及线宽。 粗实线?黑色实线0.7mm 细实线??黑色?实线0.3mm 粗实线?黑色?虚线?0.7mm 6.首先画主视图。 1)选择粗实线图层。 2)首先使用矩形命令(Rectang):依次输入矩形的第一角点坐标和第二角点坐标。 3)再用直线命令(line)依次画出主视图上的轮廓线,在用打断命令(break)在矩形的下边打断合适的一段。 7.画出左视图 1)按一定的尺寸用直线命令画出左视图的所有最大轮廓线,与主视图的高平齐。 2)在选择虚线图层,将看不到的部分用虚线画出。 8.画出俯视图 1)选择粗实线图层。 2)按一定尺寸,与主视图长对正,与左视图的宽相等。画出俯视图的最大轮廓线。

第二题: 1.启动AutoCAD。 2.选择新建文件。 3.系统环境设置 4.构件图层,设计颜色,线型及线宽。 5.画主视图: 1)选择粗实线的图层 2)用矩形命令画出一个长为100,宽为60的矩形。 3)之后用倒角命令将矩形的上边的两侧各选长为25,两侧的边各选30,之后倒角。 4)在用直线命令画出上面的凹槽。之后打断(break)凹槽上方。 5)之后用同样的方法打断长为65的距离。在画出下方的凹槽。 6)在用直线命令画出矩形里面的两个轮廓线。 6.画左视图: 1)用直线命令先画一个与主视图高平齐的矩形。 2)先将矩形下面的两个直角的两边剪切掉长为15高为12 的小矩形。 3)在用直线命令画出矩形内部的轮廓线。 4)切换虚实线的图层。 5)画出立体图的上下两个凹槽的底边轮廓线。 7.画俯视图。 1)切换粗实线图层。 2)首先画一个与主视图长对正,与左视图的宽相等的矩形。 3)用倒角命令将矩形的四个角各倒掉上面为长25,两边为15的角。 4)再用直线画出立体图上方的凹槽的轮廓线。 5)切换虚线图层。 6)用直线命令画出立体图下方的凹槽的轮廓线。 四.实验结果 第一题:

图书馆管理系统用例图 活动图 类图 时序图

图书馆管理系统 一.图书馆管理系统需求分析 1、系统目标设计 系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。 能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。 能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。 提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。 提供对书籍进行的预先预订的功能。 提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。 能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。 提供较为完善的差错控制与友好的用户界面,尽量避免误操作。 2、系统功能需求分析 (1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、 借书数量、借书期限、备注等。 (2)书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、 类别、关键词、备注。 (3)借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处 理和书籍丢失后的处理。 (4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理

基于UML的图书馆管理系统建模设计 满足以上需求的系统主要包含有一下几个子系统 (1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。 (2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。 (3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。 (4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。 (5)帮助功能子系统。 二、系统动态建模 1、用例图、

图像处理实验报告

实验报告 实验课程名称:数字图像处理 班级:学号:姓名: 注:1、每个实验中各项成绩按照10分制评定,每个实验成绩为两项总和20分。 2、平均成绩取三个实验平均成绩。 2016年 4 月18日

实验一 图像的二维离散傅立叶变换 一、实验目的 掌握图像的二维离散傅立叶变换以及性质 二、实验要求 1) 建立输入图像,在64?64的黑色图像矩阵的中心建立16?16的白色矩形图像点阵, 形成图像文件。对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。 2) 调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中 心化)都显示于屏幕上,比较变换结果。 3) 调整输入图像中白色矩形的尺寸(40?40,4?4),再进行变换,将原始图像及变 换图像(三维、中心化)都显示于屏幕上,比较变换结果。 三、实验仪器设备及软件 HP D538、MATLAB 四、实验原理 傅里叶变换作为分析数字图像的有利工具,因其可分离性、平移性、周期性和共轭对称性可以定量地方分析数字化系统,并且变换后的图像使得时间域和频域间的联系能够方便直观地解决许多问题。实验通过MATLAB 实验该项技能。 设),(y x f 是在空间域上等间隔采样得到的M ×N 的二维离散信号,x 和y 是离散实变量,u 和v 为离散频率变量,则二维离散傅里叶变换对一般地定义为 ∑∑ -=-=+-= 101 )],( 2ex p[),(1 ),(M x N y N yu M xu j y x f MN v u F π,1,0=u …,M-1;y=0,1,…N-1 ∑∑-=-=+=101 )],( 2ex p[),(),(M x N y N uy M ux j v u F y x f π ,1,0=x …,M-1;y=0,1,…N-1 在图像处理中,有事为了讨论上的方便,取M=N ,这样二维离散傅里叶变换对就定义为 ,]) (2ex p[),(1 ),(101 ∑∑ -=-=+- = N x N y N yu xu j y x f N v u F π 1,0,=v u …,N-1 ,]) (2ex p[ ),(1 ),(101 ∑∑-=-=+= N u N v N vy ux j v u F N y x f π 1,0,=y x ,…,N-1 其中,]/)(2exp[N yv xu j +-π是正变换核,]/)(2exp[N vy ux j +π是反变换核。将二维离散傅里叶变换的频谱的平方定义为),(y x f 的功率谱,记为 ),(),(|),(|),(222v u I v u R v u F v u P +== 功率谱反映了二维离散信号的能量在空间频率域上的分布情况。 五、实验步骤、程序及结果: 1、实验步骤: (1)、编写程序建立输入图像; (2)、对上述图像进行二维傅立叶变换,观察其频谱 (3)、改变输入图像中白框的位置,在进行二维傅里叶变换,观察频谱;

图书管理系统uml实验报告.doc

面向对象分析与设计大作业 学院:计算机科学与工程学院 班级:计算机软件 3 学生姓名:陈俊伟 学号:2174 指导老师:苏锦钿 提交日期:

华南理工大学 面向对象分析与设计大作业课程实验报告 实验题目 :_____ 图书管理系统 uml 图__________________________ 姓名 :___ 陈俊伟 ________学号:_ 2174_____ 班级 : ___09 软件 3 班________ 组别 : ________ 合作者 : __________________ 指导教师 : ______ 苏锦钿 __________ 实验概述 【实验目的及要求】 一.目的 1.掌握面向对象技术的基本原理和各种相关概念; Rational Rose 2003 、 IBM 2. 熟练掌握 UML的基本知识和9 种常见的 UML图形 , 并能够利 用 Software Architecture、或trufun UML工具进行建模; 3.根据问题进行学习,拓广、深化; 4.独立完成一个应用程序的分析、设计和建模,为以后软件项目的开发打下实践基础。 【实验原理】 UML建模,就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类 之间的关联、类的实例相互配合实现系统的动态行为等。UML提供了多种图形可视化描 述模型元素,同一个模型元素可能会出现在多个图中对应多个图形元素,人们可以从多 个视图来考察模型。UML建模主要分为结构建模、动态建模和模型管理建模 3 个方面,第 1 个方面是从系统的内部结构和静态角度来描述系统的,在静态视图、用例视图、实施视 图和配置视图中适用,采用了类图、用例图、组件图和配置图等图形。例如类图用于描述系 统中各类的内部结构(类的属性和操作)及相互间的关联、聚合和依赖等关系, 包图用于描述系统的分层结构等;第 2 个方面是从系统中对象的动态行为和组成对象间的相互 作用、消息传递来描述系统的,在状态机视图、活动视图和交互视图中适用,采 用了状态机图、活动图、顺序图和合作图等图形,例如状态机图用于一个系统或对象从 产生到结束或从构造到清除所处的一系列不同的状态;第 3 个方面描述如何将模型自身组织到高层 单元,在模型管理视图中适用,采用的图形是类图。建模的工作集中在前两 方面,而且并非所有图形元素都适用或需要采用

数字图像处理实验报告

数字图像处理实验报告

实验一数字图像处理编程基础 一、实验目的 1. 了解MA TLAB图像处理工具箱; 2. 掌握MA TLAB的基本应用方法; 3. 掌握MA TLAB图像存储/图像数据类型/图像类型; 4. 掌握图像文件的读/写/信息查询; 5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法; 6. 编程实现图像类型间的转换。 二、实验内容 1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。 2. 运行图像处理程序,并保存处理结果图像。 三、源代码 I=imread('cameraman.tif') imshow(I); subplot(221), title('图像1'); imwrite('cameraman.tif') M=imread('pout.tif') imview(M) subplot(222), imshow(M); title('图像2'); imread('pout.bmp') N=imread('eight.tif') imview(N) subplot(223), imshow(N); title('图像3'); V=imread('circuit.tif') imview(V) subplot(224), imshow(V); title('图像4');

N=imread('C:\Users\Administrator\Desktop\1.jpg') imshow(N); I=rgb2gary(GRB) [X.map]=gary2ind(N,2) RGB=ind2 rgb(X,map) [X.map]=gary2ind(I,2) I=ind2 gary(X,map) I=imread('C:\Users\dell\Desktop\111.jpg'); subplot(231),imshow(I); title('原图'); M=rgb2gray(I); subplot(232),imshow(M); [X,map]=gray2ind(M,100); subplot(233),imshow(X); RGB=ind2rgb(X,map); subplot(234),imshow(X); [X,map]=rbg2ind(I); subplot(235),imshow(X); 四、实验效果

UML实验报告

中南民族大学管理学院学生实验报告 课程名称:UML面向对象分析与设计教程 年级: 专业:信息管理与信息系统 学号: 姓名: 指导教师: 实验地点:管理学院综合实验室 2013 学年至 2014 学年度第 2 学期

目录 实验一 UML建模基础实验二用例图 实验三 UML类图 实验四对象图 实验五包图 实验六动态模型图

实验(一) UML建模基础 实验时间: 实验目的 1.熟悉UML建模工具Rational Rose的基本菜单及操作。 2.掌握UML的三大组成部分及各部分作用。 3.掌握UML的可见性规则和构造型的作用。 实验内容 1.练习使用建模工具建立各种UML图形,并对图形进行相应编辑 和修改。 2.认识各种UML关系及可见性符号,并用工具表示出来。

分析与讨论 1.总结UML在软件工程中的作用以及使用UML建模的必要性。 答:统一建模语言(UML)是用来对软件密集系统进行可视化建模的一种语言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制文档的一种语言。 UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。 UML可以贯穿软件开发周期中的每一个阶段,最适于数据建模、业务建模、对象建模、组件建模。UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次方面已经被验证有效。 UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型,从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。 指导教师批阅:

图像处理 实验报告

摘要: 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 设计要求 可视化界面,采用多幅不同形式图像验证系统的正确性; 合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化; 1.课题目的与要求 目的: 基本功能:彩色图像转灰度图像 图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘 图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求: 1、熟悉图像点运算、代数运算、几何运算的基本定

义和常见方法; 2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法 3、掌握在MATLAB中进行插值的方法 4、运用MATLAB语言进行图像的插值缩放和插值旋转等 5、学会运用图像的灰度拉伸方法 6、学会运用图像的直方图设计和绘制;以及均衡化和规定化 7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际2.课题设计内容描述 1>彩色图像转化灰度图像: 大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。 真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。 在一些特殊环境下需要将真彩色转换成灰度图像。 1单独处理每一个颜色分量。 2.处理图像的“灰度“,有时候又称为“高度”。边缘加强,平滑,去噪,加 锐度等。 3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。 2>图像的几何空间变化: 图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。 图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。 旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。

体系结构实验报告

中南大学软件学院 软件体系结构 设计模式实验报告 学生姓名:宋昂 所在学院:软件学院 学生学号: 3901080115 学生班级:软件0801 指导老师:刘伟 完成日期: 2010-12-7

一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。 二、实验内容 使用PowerDesigner和任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。 (1) 简单工厂模式 使用简单工厂模式设计一个可以创建不同几何形状(Shape)的绘图工具类,如可创建圆形(Circle)、方形(Rectangle)和三角形(Triangle) 对象,每个几何图形都要有绘制draw()和擦除erase()两个方法,要求在绘制不支持的几何图形时,提示一个UnsupportedShapeException,绘制类图并编程实现。 (2) 简单工厂模式 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man 对象,如果传入参数“W”,则返回一个Woman对象,使用任意一种面向对象编程语言实现该场景。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意女娲的变化。 (3) 工厂方法模式 某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统。用代码实现日志记录器实例,如果在系统中增加一个中的日志记录方式——控制台日志记录(ConsoleLog),绘制类图并修改代码,注意增加新日志记录方式过程中原有代码的变化。

汇编实验报告

汇编语言程序设计 实验报告 学号:100511530 班级:电气信息类1005 姓名:陆淑琴 指导老师:李诗高

实验一、汇编语言上机的基本过程及环境 【实验目的】 (1)熟悉汇编语言的编辑、汇编、连接及调试的全过程,重点掌握使用DEBUG调试程序的方法。 (2)了解汇编语言的程序结构。 【实验内容】 (1)在数据段中定义两个数(数据自拟,包含有正数和负数),要求编写程序分别计算出这两个数的和、差、积、商,并用Debug的相关命令查询计算结果(包括对CF,OF,SF,ZF的影响)。 (2)首先对AX,BX,CX寄存器赋初值(数据自拟),再将AX寄存器的中间八位,BX的低四位和CX的高四位拼接成一个新的字,并把结果存入偏移地址为0000H的存储单元。其中BX的低四位作为结果字的高四位,CX的高四位作为结果字的低四位。并用Debug的相关命令查询内存单元的结果字。 源代码: DA TA SEGMENT val1 DW 1000h val2 DW 2000h maxv DW ? DA TA ENDS STACK SEGMENT STACK 'STACK'

DB 100H DUP(?) STACK ENDS CODE SEGMENT 'CODE' ASSUME CS:CODE, DS:DATA,SS:STACK .386 MAIN: MOV AX, DATA; MOV DS, AX PUSH val1 PUSH val2 CALL MAX ; POP maxv ;栈顶返回值出栈 MOV AX, 4c00H INT 21H MAX PROC PUSH BP ;执行该指令前堆栈情况 MOV BP, SP ;执行后堆栈情况 MOV AX, [BP+4] CMP AX, [BP+6] JA EXIT MOV AX, [BP+6] EXIT: MOV [BP+6], AX ;用栈顶返回值 POP BP RET 2 ;执行后堆栈情况 MAX ENDP CODE ENDS END MAIN 【实验步骤】 (1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ) (3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。

图的实验报告

《数据结构》 实验报告 题目: 图 一、实现图得邻接矩阵与邻接表存储(一)需求分析 对于下图所示得有向图G,编写一个程序完成如下功能: 1.建立G得邻接矩阵并输出之 2.由G得邻接矩阵产生邻接表并输出之 3.再由2得邻接表产生对应得邻接矩阵并输出之 (二)系统设计 1、本程序中用到得所有抽象数据类型得定义; typedef struct { int no; InfoType info; } VertexType; //顶点类型 typedef struct //图得定义 { int edges[MAXV][MAXV]; int vexnum,arcnum; VertexType vexs[MAXV]; } MGraph; //图得邻接矩阵类型typedef struct ANode //弧得结点结构类型 { int adjvex; struct ANode *nextarc;

InfoType info; } ArcNode; typedef int Vertex; typedef struct Vnode //邻接表头结点得类型 { Vertex data; ArcNode *firstarc; //指向第一条弧 } VNode; typedef VNode AdjList[MAXV]; //AdjList就是邻接表类型 typedef struct { AdjList adjlist; //邻接表 int n,e; } ALGraph; //图得邻接表类型 2、主程序得流程以及各程序模块之间得层次调用关系,函数得调用关系图: void MatToList(MGraph g,ALGraph *&G) 将邻接矩阵g转换成邻接表G void DispMat(MGraph g) 输出邻接矩阵g void DispAdj(ALGraph *G) 输出邻接表G int OutDegree(ALGraph *G,int v) 求图中每个顶点得出度 (三)调试分析 调试过程中还就是出现了一些拼写错误,经检查后都能及时修正。有些就是语法设计上得小错误,比如一些参变量得初始值设置错误,使得程序调试出错。在小组讨论分析后纠正了这些结果,并尽量改进了算法得性能,减小时间复杂度。 将邻接矩阵g转换成邻接表G,输出邻接矩阵g,输出邻接表G得算法时间复杂度都就是O(n^2)。 通过这次实验,对图得存储方法有了更深刻得印象。 (四)测试结果 测试结果: (1)有向图G得邻接矩阵为 0 1 0 4 0 0 9 2 3 5 8 0 0 0 6 0 (2)图G得邻接矩阵转换成得邻接表为:

初中化学《常见的酸和碱》单元教学设计以及思维导图(1)学习资料

常见的酸和碱主题设计 适用年级九年级 所需时间课内共用6课时,每周3课时;课外共用1课时 主题单元学习概述 本单元的教学核心内容,隶属于课程标准中第二个“一级主题”——“身边的化学物质”在的二级主题——生活中的常见化合物,是其主要内容之一。本主题单元旨在引导学生认识和探究身边的化学物质酸和碱,了解它们对人类生活的影响,体会科学进步对提高人类生活质量所做出的巨大贡献;增强学生对化学的好奇心和探究欲望,使学生初步认识物质的用途和性质之间的关系,帮助学生从化学的角度认识和理解人与自然的关系,初步形成科学的物质观和合理利用物质的意识。 本主题单元内容来源于人教版教材初中化学九年级课本第十单元。该主题单元共分为以下四个专题: 专题一:酸及其性质。让学生认识常见的酸,认识酸的性质并知道认识物质性质的方法;学会对浓酸的使用;了解酸的应用。 专题二:碱及其性质。让学生认识常见的碱,认识碱的性质并进一步学习认识物质性质的方法;学会对浓碱的使用;了解碱的应用。 专题三:酸碱中和反应。理解中和反应的实质就是酸和碱中的H+和OH-结合成H2O;知道可以通过中和反应的方法降低酸或碱的含量。

专题四:溶液的酸碱性。了解酸碱指示剂和pH试纸检验溶液酸碱性的方法,并知道酸碱性对人体健康和农作物生长的影响。 本主题单元的教学重点:酸和碱的化学性质,酸碱的中和反应,溶液酸碱性对生命活动的意义。 主要的学习方式:探究学习、自主学习与合作学习等。 预期教学成果:探究实验报告、思维导图、课堂综合检测、主题单元检测等。 主题单元规划思维导图 主题单元学习目标

知识与技能: 1.了解酸和碱的性质 2.理解物质的酸碱性及中和反应的实质 3.初步学会测定溶液酸碱性的方法及判断溶液酸碱性强弱的方法 过程与方法: 1.通过比较常见酸和碱学会概括归纳的学习方法 2.通过对酸和碱的化学性质的认识过程学习探究认识事物的方法 3.通过对酸碱溶液的酸碱性的认识学习建立微观与宏观相联系的思维方式 4.通过对溶液酸碱性的测定及酸碱混合后pH的变化测定体会间接观察法在实验探究中的作用 情感态度与价值观: 1.通过对酸碱性质的探究,增进对科学探究的理解,提高科学探究能力和分析问题、解决问题的能力 2.通过了解酸和碱对生命活动的重要意义,进一步激发学生学习化学的兴趣 3.通过对酸碱对生命活动的作用及中和反应的应用学习体会化学的价值所在 对应课标 1.认识常见酸碱的主要性质和用途,知道酸碱的腐蚀性 2.初步学会常见酸碱溶液的稀释方法

20150528_152805_40_UML-实验报告(03)-类图

北京信息科技大学 实验(上机)报告 课程名称U M L及建模工具学号2012012194姓名李自然成绩_______

附录: 影片租赁源程序 //租赁类的定义 class Rental { private Movie _movie; // 影片 private int _rentDate; // 租赁日期 private int _daysRented; // 租期 public Rental(Movie movie, int daysRented) { _movie = movie; _daysRented = daysRented; } public int getDaysRented() { return _daysRented; } public Movie getMovie() { return _movie; } double getCharge() { return _movie.getCharge(_daysRented); } int getFrequentRenterPoints() { return _movie.getFrequentRenterPoints(_daysRented); } } //顾客类的定义 class Customer { private String _name; // 姓名private String _phone; // 电话号码private Vector _rentals = new Vector(); // 租借纪录

public Customer(String name) { _name = name; } public void addRental(Rental arg) { _rentals.addElement(arg); } public String getName() { return _name; } //输出租赁交易报告 public String statement() { Enumeration rentals = _rentals.elements(); String result = "Rental Record for " + getName() + "\n"; while (rentals.hasMoreElements()) { Rental each = (Rental) rentals.nextElement(); //显示该顾客的每个租赁 result += "\t" + each.getMovie().getTitle()+ "\t" + String.valueOf(each.getCharge()) + "\n"; } //结尾打印(总费用和积分) result += "Amount owed is " + String.valueOf(getTotalCharge()) + "\n"; result += "You earned " + String.valueOf(getTotalFrequentRenterPoints()) + " frequent renter points"; return result; } //已超文本方式输出租赁交易报告 public String htmlStatement() { Enumeration rentals = _rentals.elements(); String result = "

Rentals for " + getName() + "

\n"; while (rentals.hasMoreElements()) { Rental each = (Rental) rentals.nextElement(); //显示该顾客的每个租赁

相关文档