• 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)
        {
            ...
        }
    }
    

  • 相关阅读:
    mac/unix系统:C++实现一个端口扫描器
    C++:通过gethostbyname函数,根据服务器的域名,获取服务器IP
    PostMan Setting Proxy 设置 代理
    企业架构 Red Hat Drools KIE Project 三大核心产品
    IDS,IPS,IPD
    Vehicle routing with Optaplanner graph-theory
    SonarQube Detection of Injection Flaws in Java, C#, PHP
    Spring AOP Log
    Code Quality and Security | SonarQube
    Gradle vs. Maven: Performance, Compatibility, Speed, & Builds
  • 原文地址:https://www.cnblogs.com/zhengyazhao/p/11899570.html
Copyright © 2020-2023  润新知