软件体系结构的多视图

  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类图和用例图的更多相关文章

  1. UML类图的6大关系

    <小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...

  2. [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图

    [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...

  3. UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

    UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父 ...

  4. UML——在Visual Studio 2013/2015中设计UML类图

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

  5. [转载]UML类图总结

    前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明 ...

  6. 图解六大UML类图关系

    在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...

  7. UML类图基本元素符号

     UML类图基本元素符号 元素名称 符号图例 含义 Class 包含类的名称.属性和方法定义. 可见性修饰符: + public -  private # protected 无修饰符为 intern ...

  8. UML类图几种关系的总结(转)

    原文:http://gjhappyyy.iteye.com/blog/1422515 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization), ...

  9. UML类图关系大全

    UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...

随机推荐

  1. Servlet小结(面试)

    1.doGet()和doPost()区别/get和post请求方法区别: (1)在form表单中:method  = “get/post”相对应doGet和doPost方法. (2)在http协议中: ...

  2. .netcore控制台->定时任务Quartz

    之前做数据同步时,用过timer.window服务,现在不用那么费事了,可以使用Quartz,并且配置灵活,使用cron表达式配置XML就可以.我用的是3.0.7版本支持.netcore. 首先创建一 ...

  3. 使用Settings sync同步VS Code配置

    使用Settings sync同步VS Code配置 因为要在多台电脑上使用VSCode,想要简单地管理VSCode地配置,不用每次手动去一一配置,保持多个开发环境的同步,于是使用Settings s ...

  4. 微信小程序API交互反馈,wx.showToast显示消息提示框

    导读:wx.showToast(OBJECT) 显示消息提示框. OBJECT参数说明: 参数 类型 必填 说明 最低版本 title String 是 提示的内容 icon String 否 图标, ...

  5. 更改 undo_retention 时,Lob retention 不更改 (Doc ID 563470.1)

    Lob retention not changing when undo_retention is changed (Doc ID 563470.1) APPLIES TO: Oracle Datab ...

  6. docker 无法启动

    背景:想修改docker0的ip地址,所以在/etc/docker/daemon.json文件里加了[bip]. { "registry-mirrors": ["http ...

  7. 前端如何快速定位问题传参 和false

    今天下午在请求接口的时候,出现了一个问题就是  传参问题 接口是请求成功的200,但是修改后返回来的却是500,这就很纳闷怎么会这样了. 经过查找,原来是因为传参问题.将有一个name:0 传递成了n ...

  8. 关于jvm的常识介绍

    1.关于jvm的组成(只介绍1.8,以前的版本不多介绍) vm stack,native method stack,program counter register,heap,metaspace 2. ...

  9. 201871010107-公海瑜《面向对象程序设计(java)》第一周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/   ...

  10. 设计模式-Decorator(结构型模式) 用于通过 组合 的方式 给定义的类 添加新的操作,这里不用 继承 的原因是 增加了系统的复杂性,继承使深度加深。

    以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Decorator.h #pragma once class Component { public: virtual ~C ...