范文一:uml 静态视图泛化
uml 静态视图泛化
泛化
泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。具体描述与一般描述完全一致所有特性、成员和关系,并且包含补充的信息。例如,抵押是借贷中具体的一种,抵押保持了借贷的基本特性并且加入了附加的特性,如房子可以作为借贷的一种抵押品。一般描述被称作父,具体描述被称作子如借贷是父而抵押则是子。泛化在类元(类、接口、数据类型、用例、参与者、信号等等)、包、状态机和其他元素中使用。在类中,术语超类和子类代表父和子。
泛化用从子指向父的箭头表示,指向父的是一个空三角形(如 图 4 – 7 表示)。多个泛化关系可以用箭头线组成的树来表示,每一个分支指向一个子类。
图 4–7 泛化表示法
泛化的用途
泛化有两个用途。第一个用途是用来定义下列情况:当一个变量(如参数或过程变量)被声明承载某个给定类的值时,可使用类(或其他元素)的实例作为值,这被称作可替代性原则(由 Barbara Liskov 提出)。该原则表明无论何时祖先被声明了,则后代的一个实例可以被使用。例如,如果一个变量被声明拥有借贷,那么一个抵押对象就是一个合法的值。
泛化使得多态操作成为可能,即操作的实现是由它们所使用的对象的类,而不是由调用者确定的。这是因为一个父类可以有许多子类,每个子类都可实现定义在类整体集中的同一操作的不同变体。例如,在抵押和汽车借贷上计算利息会有所不同,它们中的每一个都是父类借贷中计算利息的变形。一个变量被声明拥有父类,接着任何子类的一个对象可以被使用,并且它们中的任何一个都有着自己独特的操作。这一点特别有用,因为在不需要改变现有多态调用的情况下就可以加入新的类。例如,一种新的借贷可被新增加进来,而现存的用来计算利息操作的代码仍然可用。一个多态操作可在父类中声明但无实现,其后代类需补充该操作的实现。这种不完整操作是抽象的(其名称用斜体表示)。 泛化的另一个用途是在共享祖先所定义的成分的前提下允许它自身定义增加的描述,这被称作继承。继承是一种机制,通过该机制类的对象的描述从类及其祖先的声明部分聚集起来。继承允许描述的共享部分只被声明一次而可以被许多类所共享,而不是在每个类中重复声明并使用它,这
种共享机制减小了模型的规模。更重要的是,它减少了为了模型的更新而必须做的改变和意外的前后定义不一致。对于其他成分,如状态、信号和用例,继承通过相似的方法起作用。
? 继承
每一种泛化元素都有一组继承特性。对于任何模型元素的包括约束。对类元而言,它们同样包括一些特性(如属性、操作和信号接收)和关联中的参与者。一个子类继承了它的所有祖先的可继承的特性。它的完整特性包括继承特性和直接声明的特性。
对类元而言,没有具有相同特征标记的属性会被多次声明,无论直接的或继承的,否则将发生冲突,且模型形式错误。换而言之,祖先声明过的属性不能被后代再次声明。如果类的接口一致(具有同样的参数、约束和含义),操作可在多个类中声明。附加的声明是多余的。一个方法在层次结构中可以被多个类声明,附在后代上的方法替代(重载)在任何祖先中声明过的具有相同特征标记的方法。如果一个方法的两个或多个副本被一个类继承(通过不同类的多重继承),那么它们会发生冲突并且模型形式错误(一些编程语言允许显式选定其中的一种方法。我们发现如果在后代类中重新定义方法会更简单、安全)。元素中的约束是元素本身及它所有祖先的约束的联合体,如果它们存在不一致,那么模型形式错误。 在一个具体的类中,每一个继承或声明的操作都必须有一个已定义的方法,无论是直接定义或从祖先那里继承而来的。 ? 多重继承
如果一个类元有多个父类,那么它从每一父类那里都可得到继承信息(如图 4-8 )。它的特征(属性、操作和信号)是它的所有父类特征的联合。如果同一个类作为父类出现在多条路径上,那么它的每一个成员中只有它的一个拷贝。如果有着同样特征的特性被两个类声明,而这两个类不是从同一祖先那里继承来的(即独立声明),那么声明会发生冲突并且模型形式错误。因为经验告诉我们设计者应自行解决这个问题,所以 UML 不提供这种情形的冲突解决方案。像 Eiffel 这样的语言允许冲突被程序设计者明确地解决,这比隐式的冲突解决原则要安全,而这些原则经常使开发者大吃一惊。
图 4–8 多重继承
? 单分类和多重分类
在最简单的形式中,一个对象仅属于一个类,许多面向对象的语言有这种限制。一个对象仅属于一个类并没有逻辑上的必要性,我们只要从多个角度同时观察一下真实世界的对象就可以发现这一点。在 UML 更概括的形式中,一个对象可以有一个或多个类。对象看起来就好像它属于一个隐式类,而这个类是每个直接父类的子类 — 多重继承可以免去再声明一个新类,这可提高效率。
? 静态与动态类元
在最简单的形式中,一个对象在被创建后不能改变它的类。我们再次说明,这种限制并没有逻辑上的必要性,而是最初目地是使面向对象编程语言的实现更容易些。在更普遍的形式下,一个对象可以动态改变它的类,这么做会得到或失去一些属性或关联。如果对象失去了它们,那么在它们中的信息也就失去了并且过后也不能被恢复,哪怕这个对象变回了原来的类。如果这个对象得到了属性或关联,那么它们必须在改变时就初始化,就像初始化一个新对象一样。
当多重分类和动态分类一起使用时,一个对象就可以在它的生命期内得到或失去类。动态类有时被称作角色或类型。一个常见的建模模式是每个对象有一个唯一的静态的固有类(即不能在对象的生命期内改变的类),加上零个或多个可以在对象生命期内加入或移走的角色类。固有类描述了这个对象的基本特性,而角色类描述了暂时的特性。虽然许多程序设计语言不支持类声明中的多重动态分类,然而它仍然是一个很有用的建模概念,并且可以被映射到关联上。
范文二:uml建模步骤 期末复习
1、状态图的建模分析步骤
(1)首先要确定进行系统控制的对象,也可以从顺序中寻找
(2)确定对象的起始状态和结束状态
(3)在对象的整个生命周期寻找有意义的控制状态
(4)寻找状态之间的转换
(5)补充引起转换的事件
(6)用 UML 建模工具画状态图
(7)补充必要的文档
2、活动图建模的步骤
(1)在采集的原始需求中选择重点流程
(2)首先要确定要设计的活动图是针对业务流程还是用例
(3)其次要设计活动过程的起点和终点
(4)确定活动图所有执行对象
(5)确定活动节点,并根据执行对象进行活动分组
(a )如果对用例建活动图,则把角色所发出的的每一个动作变为活动节点。
(b )如果对业务流程建活动图,则把每一个流程步骤(或片段)变为活动节点。
(6)确定活动节点之间转移
(7)处理在活动节点之间的分支和合并
(8)处理在活动节点之间的分支和汇合
(9)用 UML 建模工具进行活动图建模
(10)编写必要的补充文档
3、顺序图的建模分析步骤
(1)完成用例图的细致分析
(2)对每个用例,识别出参与基本事件流的对象(包括接口、子系统、角色等)
(3)识别出这些对象是主动对象还是被动对象
(4)识别出这些对象发出的消息是同步消息还是异步消息
(5)从主动对象开始向接收对象发消息
(6)接收对象再调用自己的服务为主动对象返回结果
(7)如果接受对象需要再调用其他对象的服务,需要向其他对象再发消息
(8)如此反复,最后返回给主动对象有意义的结果
(9)用 UML 建模工具绘出顺序图
(10)给顺序图补充必要的说明文档
范文三:uml建模实验报告
实 验 报 告
实验名称 UML建模 指导教师 XXX 实验类型 验证 实验学时 3 实验时间 一、 实验目的和要求
1. 参考实验指导书中的示例,完成用例图,类图,序列图的绘制。 2. 对相应的图表进行简单的文字描述,并对整体分析建模流程进行阐述。 3. 总结UML建模的心得体会,为撰写需求规格说明书做好准备。 二、实验环境(实验设备)
Visual Paradigm for UML CE Windows软件,PC
三、实验原理及内容
1.用例图的绘制
用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。
我们以一信息管理系统为例进行用例图绘制。该系统共有两类用户,即管理员和用户。管理员负责后台的“用户资料管理 ”,其中包括“角色信息维护”和“管理员维护”两项。用户可直接接触到的是 “角色信息维护”,具体由“用户资料修改”和“用户资料查询”两种基本操作构成。而“管理员维护”模块包括“用户资料注销”,“用户信息修改”和“数据查询”。特别的,在“用户资料维护”的大项中,附带了“导出资料”的扩展功能,便于管理员调用各种信息。
基于该信息管理系统的结构,我们绘制了如下的用例图。
2
2.类图的绘制
类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系,它用于描述系统的结构化设计,类图(Class diagram)最基本的元素是类或者接口。
本实验中,我们依据一个剧院购票系统的类构成情况,进行类图的绘制。
本例中,共有顾客(Customer),预定(Reservation),季票(Seasonal),单次票(One Time),门票(Ticket),表演(Performance)和剧院(Theatre)七大类。我们首先将各类及功能图绘制完成,如下图。
3
接下来,根据各类之间的相互关系,我们对将各类通过不同方式连接。容易理解,顾客类具有预定的功能,即预定类与客户类相关联,并具有单向性。而预定的过程分为季票预定和单次预定,两者相结合构成预定类的从属类。无论通过哪种方式成功订票,顾客都将获得门票,顾门票类是季票类和单次票类的关联类;同时,门票显示表演场次,因此,门票类同时是表演类的关联类。最后,表演在特定剧场开展,故表演类和剧场类为聚合相关关系。根据上述关系,我们绘制了该例的类图。
4
3.序列图的绘制
序列图(Sequence Diagram)是一种UML行为图,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
我们以用户调用一个数组内容的过程为例。该过程中共有三个对象:用户接口(UserInterface),数据控制(DataControl)和数据源(DataSource),三者分别对应一条生命线,如下图。
5
当用户请求调用数组内容时,用户接口端向数据控制端发送一个请求,这时控制端将向数据源发送请求数组大小的指令。数据源检索后,向控制端返回数组大小。此时,控制端开始根据数组大小进行循环,逐个向数据源申请调用数组内容,数据源一一返回。当完成所有内容调用后,控制端将数组一次性发回给用户。这样一个过程的实现可用如下的序列图表现。
实 验 报 告
6
四、实验小结,包括问题和解决方法、心得体会、意见与建议等,
通过本次实验,我对UML建模的认识从课堂上概念的理解深化到了实践运用。通过绘制用例图,类图和序列图,我熟悉了Visual Paradigm for UML的基本操作,建立了一定的建模思想基础。
在用,,,建模过程中,首先要分析出哪些对象需要使用状态图来描述。在确定了所使用的状态图类型后,应将该图的所有元素罗列出来,分析各元素之际的关系,再用适合的方式连接起来。
需要注意的是,UML建模工具有很多,这次实验并没有全部接触到,在课余时间可多花些时间,熟悉各种工具,找到最适合自己的工具,为今后撰写规格说明书做好充分准备。 五、指导教师评语
成 绩 批阅人 日 期
7
范文四:uml建模实验报告
uml静态视图泛化2016
uml建模实验报告
面向对象建模方法与技术综合实验报告
题目:班级:学号:姓名:指导教师:
在线选课系统的UML建模
信息081班
程显
修宇
UML建模实验报告
一、用例图(一)本次目的
1)熟悉用例图的基本功能和使用方法。2)掌握如何使用建模工具绘制用例图方法。
(二)要求请完成如下任务:
1)使用Ratio
nalrose画出选课系统的用例图。2)同时对主要功能用例进行详细说明。
选课系统用例图如下图所示:
DeleteCourse
图1
二、活动图(一)本次目的
1)熟悉活动图的基本功能和使用方法。2)掌握如何使用建模工具绘制活动图方法。
(二)要求请完成如下任务
1 / 4 ---------------------------------------------感谢观看本文-------谢谢-----------------------------------------------------------
uml静态视图泛化2016
用活动图来描述系统中已知用例的业务过程
1)使用活动图对选课用例或相关用例进行描述。
2)使用活动图对建立选修课程目录表用例进行描述。
活动图如下图所示:
使用ROSE创建类图。请完成如下任务:
1)寻找和抽象出选课用例或相关功能中的类,并进行简要说明。2)确定类之间的继承关系已经创建类之间的继承关系,。
3)请根据教材中示例部分在RationalRose中绘制类间的关联关系。
类图如下图所示:
图3四、序列图及协作图
完成了选课系统的需求分析,并从业务对象中抽象出了类。现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。
(一)本次目的
1)理解顺序图的基本概念;2)理解协作图的基本概念;
3)掌握在RationalRose中绘制交互图的操作方法。
(二)要求请完成如下任务
2 / 4 ---------------------------------------------感谢观看本文-------谢谢-----------------------------------------------------------
uml静态视图泛化2016
1)阅读用例建模得到的用例文档说明和用例图。
2)根据事件流,确定对象,对选课功能中的主要用例进行动态建模。
3)根据分析设计情况,进一步发现类,细化各类之间的关系,确定主要类的属性和职
责。
AddCourse序列图如下所示:
图4
DeleteCourse序列图如下所示:
图5
ModifyCourse序列图如下所示:
武汉理工大学
学生实验报告书
实验课程名称UML建模技术开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级
2012—2013学年第二学期
实验课程名称:UML建模技术
实验课程名称:UML建模技术
华北科技学院计算机学院综合性实验
实验报告
课程名称面向对象建模UML
实验学期2012至2013学年第二学期
3 / 4 ---------------------------------------------感谢观看本文-------谢谢-----------------------------------------------------------
uml静态视图泛化2016
学生所在院部计算机学院
年级专业班级
学生姓名学号
任课教师黄江兰实验成绩
计算机学院制
《面向对象建模UML》课程综合性实验报告
UML建模实训报告
4 / 4 ---------------------------------------------感谢观看本文-------谢谢-----------------------------------------------------------
范文五:程序在线测试(uml建模)
数学与计算机学院
面向对象方法 (软件工程 ) 课程设计
设计名称:在线程序测评
专业班级:计算机科学与技术(软件) 学生学号:201110081119 学生姓名:周兴华
设计时间:2013-12-16至 2014-1-2 2013-2014年第 1学期
课程设计成绩评定表
目 录
一、需求分析 . .................................................................................................................................. 1
1、系统功能需求 . .................................................................................................................... 1
2、模块描述 . ............................................................................................................................ 2二、 UML 建模 . ................................................................................................................................... 2
1、学生用例图 . ........................................................................................................................ 2
2、教师用例图 . ........................................................................................................................ 3 2、普通管理员用例图 . ............................................................................................................ 4 4、用例说明 . ............................................................................................................................ 5三、静态结构模型 ...........................................................................................................................7
1、 类 student_user...........................................................................................................7.
2、 类 teacher_user....................................................................................................................8
3、 类 normal_admin.................................................................................................................9
4、 类 admin...............................................................................................................................9
5、 类 problem_description.............................................................................................10
6、 类 web_page......................................................................................................................10
7、 类 compiling_system..................................................................................................11
8、类图 ...................................................................................................................................11 四、 动态行为模型 ..........................................................................................................................13 1、 时序图 .............................................................................................................................13
1. 创建普通管理员 ....................................................................................................13
2. 创建用户 (学生用户、 教师用户 ) ......................................................................14
3. 浏览试题 ...............................................................................................................15
4. 提交源代码 .............................................................................................................16
5. 更新题库 ..................................................................................................................17
6. 登陆系统 ...............................................................................................................18
7. 查看提交记录 .........................................................................................................19
8. 挂靠教师 ..................................................................................................................20 2、 活动图 ..............................................................................................................................20
1. 学生用户活动图 ....................................................................................................21
2. 教师用户活动图 ....................................................................................................22
3. 普通管理员活动图 ................................................................................................23五、 数据库设计 ............................................................................................ ...............................23
1、 用户集数据库 ....................................................................................... .......................23
2、 程序题数据库 .............................................................................................................24
3、 测试样例数据库 .........................................................................................................24
4、 六、参考资料 ..............................................................................................................25
一 需求分析
1系统功能需求
计算机专业的学生用 C 语言或 java 语言编写的程序如果全部交给任课教师 人为手工批改将会是一个很大很艰巨的任务,通常对于程序的好坏评定是基于 两个方面:一方面为程序的正确性,另一方面则是基于对资源的消耗情况;因 此计算机专业的任课教师需要一个程序评定系统来完成对学生编写的程序的评 定,该系统需要一个 web 界面,用户集数据库、程序题数据库、测试样例数据 库、 以及核心的编译运行系统。 该系统主要用与学生平时编程练习、校内竞赛、 在线测试、以及校外程序设计竞赛的校内人才选拔;学生程序在线评测系统主 要结构图。
2模块划分
在 web 页面可对整个系统进行所有的操作:
1. 身份认证(学生用户、教室用户、普通管理员、系统管理员)
2. 查看动态(题库更新、校内新闻、最火试题)
3. 提交试题代码
4. 查看记录
5. 上传新试题
6. 预约比赛
2.1识别参与者和用例
经过分析,参与者可分为两大类四小类,用户(学生、教师) 、管理员 (普通、系统)
学生用户 (student_user):统一端口注册,由普通管理员审核通过后可 登陆;权限有:挂靠教师、浏览试题、提交试题代码、查看该用户的提交通 过记录
教师用户 (teacher_user):统一端口注册, 由普通管理员审核通过后可登陆 使用;权限有:查看挂靠学生、浏览试题、提交试题代码、预约比赛(测试), 查看挂靠学生通过记录。
普通管理员 (normal_admin):由系统管理员创建,权限有:审核用户资质、 浏览试题、更新题库
系统管理员(admin ):仅存在于服务器主机,权限为:指定普通管理员、 维护系统
二 UML建模
1. 学生用户用例图:
2. 教师用户用例图:
3. 普通管理员用例图
用例说明:
(1
(2
(3
(4
(5
(6
(7
(8
(9
三 静态结构模型
在该系统中可以确定的主要对象包括学生用户、教师用户、普通管理员、 程序题 测试样例
1. 类 student_user
类 student_user描述了用户的信息包括用户名、密码、类型、挂靠教师, 通过记录。
私有属性包括:
Name :string 用户名
Job :string 用户类型
Password :long 密码
Zdjs : string 挂靠教师
Histor : date 提交记录
公共操作:
Landing ()登陆到系统
Create ()构造方法,注册学生信息
Browse ()浏览试题
Check () 查看提交记录
Update_messge()更新个人信息
类
teacher_user
说明 :
Name :string 用户名
Job :string 用户类型
Password :long 密码
Student_list : string 挂靠学生列表
Histor : date 提交记录
公共操作:
Landing ()登陆到系统
Create ()构造方法,注册教师信息 Browse ()浏览试题
Check () 查看提交记录
Update_messge()更新个人信息 Check_stu_list() 查看挂靠学生
类 normal_admin
说明 :
私有属性:
Name :string 用户名
Job :string 用户类型
Password :long 密码
Journal : date 使用日志
Histor :date 提交记录
公共操作:
Landing () 登陆到系统
Create () 普通管理员构造方法 Update_messge() 更新个人信息 Check_user() 审核用户资格 Update_date() 更新题库
Browse () 浏览试题
类 admin
公共操作:
Insert ()新添加普通管理员
Update () 更新普通管理员资料 Delete ()删除普通管理员资料 Select ()查看资料
类 problem_description
说明:
Title :问题标题
Date :问题文本主题
Worked_example : 样例数据集
公共操作:
Creat () :新建问题描述
Update () ;更新样例描述
Insert () :保存问题描述到数据库 Delete () :删除问题描述
Select () :浏览问题描述标题列表 类 web_page
说明:
私有属性:
Page_state : string 网页声明陈述 Page_content : date 网页内容主体 Page_title : string 网页标题 公共操作:
Get_title()设置网页标题
Get_content()设置网页内容主体
类 compiling_system
说明:
私有属性 :
Text_txt : date 参加变异的文本对象 公共操作 :
Gettext () 获取参加编译的文本 Check_error() 检错、生成错误报告 Compiling() 编译并按样例执行
类图
四 动态行为模型 时序图
1. 创建普通管理员
2. 创建用户 (学生用户、教师用户 )
浏览试题:
提交源代码:
更新题库:
登陆系统:
查看提交记录:
挂靠教师:
活动图
1.学生用户活动图:
教师用户活动图:
普通管理员活动图:
数据库设计
本系统共需要三个数据库 分别为 用户集数据库、程序题数据库、样例数据库 1. 用户集数据库
本数据库用于存放使用者的信息主要用 学生用户表、 教师用户表、 普通 管理员表、提交记录表、预注册临时表
5、 程序题数据库 1) 程序题表
6、 测试样例数据库 1) 样例数据表
邵维忠 杨芙清 《面向对象系统分析(第 2版) 》 清华大学出版社