软件体系结构的多视图

  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. [browser srceen]、很多未知望大神告知、简单写了个拖拽

    未知作用的有.如果也有像我1样好奇的小伙伴了解了麻烦告知 // console.log(window.screen.availWidth);//未知效果 // console.log(window.s ...

  2. RDIFramework.NET敏捷开发框架 ━ 工作流程组件介绍

    RDIFramework.NET,基于.NET的快速信息化系统敏捷开发.整合框架,给用户和开发者最佳的.Net框架部署方案. 1.RDIFramework.NET敏捷开发框架介绍 RDIFramewo ...

  3. C#&.Net干货分享-构建后台自动定时任务的源码

    1.创建一个自动处理中心任务参数的类,直接源码: namespace Frame.AutoProcess{    /// <summary>    /// 委托(用于异步处理任务)    ...

  4. bash的基本特性

    1.命令历史 作用:查看之前使用的命令 关于命令历史的文件 每个用户家目录下面的.bash_history 在关机的时候,会自动写入一次(history -r 将内存中的命令历史写入文件) 关于命令历 ...

  5. vue跨域

    比如 我要请求的地址是https://edu.51cto.com/center/seckill/index/get-seckill-data 首先去 config ==> index.js 添加 ...

  6. 面向对象程序设计(JAVA) 第12周学习指导及要求

    2019面向对象程序设计(Java)第12周学习指导及要求 (2019.11.15-2019.11.18)   学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API ...

  7. 4.P1产品经理该如何学习提升

    0经验.想转型 对于想转型或者没有经验的人,这部分同学你肯定对产品本身有一定的了解了,但是在这个时候转型最痛苦的是你要从原来的工作转到一个新的工作中的时候,要回到一个原点.比如你是原来是做开发的,那么 ...

  8. The Three Rules/Laws of TDD

    You are not allowed to write any production code unless it is to make a failing unit test pass. 除非为了 ...

  9. JavaScript中如何判断数组类型

    前言 JavaScript中关于数组的判定问题,一直都是一个必须要掌握的点,那么,运用知识,如何判断一个类型是数组,就需要有对JavaScript使用有着深入的了解. 判断方法 一.Array.isA ...

  10. React: 研究React的组件化

    一.简介大概 在以往的Web开发中,会把web页面所有的复杂控件作为一个单一的整体进行开发,由于控件之间需要进行通信,因此不同的组件之间的耦合度会很多,由于开发一个控件的时候要考虑到控件与控件之间的联 ...