UML类图和用例图
软件体系结构的多视图
kruchten提出了软件体系结构的4+1视图模型,其中用例图位于中心位置(4+1视图中的1)。
- 逻辑视图
一种静态建模视图
- 进程视图
一种并发进程或任务视图
- 开发视图
一种子系统和构件设计视图
- 物理视图
一种反应物理拓扑结构及连接关系的视图、
UML图
应用开发中,uml表示法支持以下图:
- 用例图
- 类图
- 对象图
- 通信图
- 顺序图
- 状态机图
- 活动图
- 组合结构图
- 部署图
用例图
一个参与者(actor)发起一个用例(use case)。用例之间的关系分为如下:
- 关联(communication association)
- 包含(include)
- 扩展(extend)
类和对象
表示类的方框总是包含类名,并且可选择性的列出类的属性和操作.
对象关名称需要带有下划线,为了区分类和对象。
1. class
2. 类和属性
3. 类和属性和操作
类图
类图中,类之间的永久关系被描述成连接方框之间的连线。UML表示法支持以下三种类之间的主要关系类型:
- 关联关系
- 整体/部分关系
- 泛化关系
- 依赖关系
1. 关联关系
关联是两个或多个类之间的结构化关系。每个连接类的关联线的末端表明关联的多重性。
多重性的是的一个类的多少个实例可能和另一个类的单个实例有关。
类的多重性可以是(1),可选(0..1),零或多个()
单向关联
public class user
{
private Address address;
}
public class Address
{
}
自关联
public class Question
{
public Question ParentUser;
}
2. 聚合关系
表示整体与部分的关系,在一个聚合里部分实例能添加到聚合整体中,也能从聚合整体删除.
public class user
{
private Role role;
public user(Role role)
{
this.role=role;
}
}
public class Role
{}
3. 组合关系
也是整体和部分的关系,但是组合是一旦整体对象不存在,那么部分对象也将不存在
public class user
{
private UserMenu usermenu;
public user()
{
usermenu=new UserMenu;
}
}
public class UserMenu
{
}
4. 泛化关系
user是adminuser和testUser的父类,这种关系就是泛化,也就是继承。
public class user
{
protected string name;
public bool AddUser()
{
...
}
}
public class AdminUser:user
{
}
public class TestUser:user
{
}
5. 依赖关系
某一个类依赖另一个类才能完成
public class user
{
private UserService userService;
public bool Adduser(userModel model)
{
....//todo
userService.AddUser(model);
}
}
public class UserService
{
public bool AddUser(usermodel model)
{
...
}
}
UML类图和用例图的更多相关文章
- UML类图的6大关系
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父 ...
- UML——在Visual Studio 2013/2015中设计UML类图
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- [转载]UML类图总结
前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明 ...
- 图解六大UML类图关系
在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...
- UML类图基本元素符号
UML类图基本元素符号 元素名称 符号图例 含义 Class 包含类的名称.属性和方法定义. 可见性修饰符: + public - private # protected 无修饰符为 intern ...
- UML类图几种关系的总结(转)
原文:http://gjhappyyy.iteye.com/blog/1422515 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), ...
- UML类图关系大全
UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...
随机推荐
- Implement Property Value Validation in the Application Model 在应用程序模型中实现属性值验证
In this lesson, you will learn how to check whether or not a property value satisfies a particular r ...
- Inherit from the Business Class Library Class 继承自Business类(EF)
In this lesson, you will learn how to implement business classes for your application using the Busi ...
- Microsoft Visual Studio 2017 找不到 Visual Studio Installer
Microsoft Visual Studio 2017 找不到 Visual Studio Installer ? 打开vs2017 ,选择 工具 --> 扩展和更新 --> 联机,搜索 ...
- Node.js操作Mysql的简单示例
API的封装:封装为系统可用的工具,分为线上和线上的数据库. 使用:让API直接操作数据库,不再使用假数据. DEMO代码: const mysql = require('mysql'); // 创建 ...
- Hadoop、storm和Spark Streaming简单介绍(非原创)
文章大纲 一.Hadoop是什么二.storm是什么三.Spark Streaming是什么四.Spark与storm比较五.参考文章 一.Hadoop是什么 1. 简介 Hadoop是一个由Ap ...
- Java程序猿怎么才能月薪过万?
每一个略微有点长进的人,都应该把作业里的前三名作为自己斗争的政策和对手.你离成为冠军Java程序员还有多远,看完这篇你就知道了. 软件工程师的作业生涯里,知识有一个三年的半衰期.这意味着三年后,你所具 ...
- C++内置二分查找用法
c++内置二分查找 #include < algorithm > 一.binary_search:查找某个元素是否出现.函数模板:binary_search(arr[], arr[]+si ...
- ccf再卖菜
https://blog.csdn.net/imotolove/article/details/82777819 记忆化搜索,还不太理解..
- Codeforces Round 596 题解
万幸的是终于碰上了一场上分好场. 不幸的是一开始差点不会 A. 万幸的是想了个不那么稳的结论过了 pretest. 不幸的是罚时很高,而且慌得一比. 万幸的是然后半个小时内把 B 和 C 码了. 不幸 ...
- golang数据结构之递归解决迷宫问题
简单来说:递归就是函数/方法自己调用自己,只是每次传入不同的变量. 递归可以解决各种数学问题:n皇后问题.阶乘问题.汉诺塔.迷宫问题.球和篮子问题等等: maze.go package maze im ...