分析类共有三个:边界类(boundary)、控制类(control)和实体类(entity),这些分析类都是类的版型。分析类是跨越需求到设计实现的桥梁。

边界类:从需求向现实的转换过程中,任何两个有交互的关键对象之间都应该考虑建立边界类。

对现实世界来说,边界类的实例可以是窗口、通信协议、打印机接口、传感器、终端等。

在计算机世界里,当我们打算对A对象和B对象之间的交互进行建模时,边界类可以充当这一载体。

控制类:用于对一个或几个用例所特有的控制行为进行建模。控制对象通常控制其他对象,因此他们的行为具有协调性质。控制类将用例的特有行为进行封装。

实体类:用于对必须存储的信息和相关行为建模的类。实体对象用于保存和更新一些现象的有关信息,例如,事件,人员或者一些现实生活中的对象。

分析类的三高:

1、高于设计实现:在为需求考虑系统实现的时候,可以不理会复杂的设计要求,比如设计模式的应用、框架规范的要求等,而专心的为从需求到实现搭建一座桥梁。

例如实体类,不论使用哪一种设计实现,都要遵循相关的规范,实现特定的接口等。

2、高于实现语言:在为需求考虑系统实现的时候,可以不理会采用哪一种语言来编写代码,排除语言特定语法、程序结构等杂音,专心解决需求问题。

3、高于实现方式:在为需求考虑系统实现的时候,可以不考虑采用哪一种具体的实现方式。例如安全认证,可以的实现方式有很多,如果在需求分析阶段就开始考虑这些实现方式一方面会付出过多精力,另一方面考虑过多的具体细节相反会扰乱需求实现的分析工作。

UML核心元素--分析类的更多相关文章

  1. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素

    1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPat ...

  2. <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性

    设计类

  3. <八>面向对象分析之UML核心元素之分析类

    一:基本概念        ---->在那大数项目中,分析类是被忽视的一种非常有用的元素.        ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...

  4. <十>面向对象分析之UML核心元素之关系

    关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)

  5. 【笔记】UML核心元素

    1.参与者 定义:在系统之外与系统交互的某人或某物. 特点:1.可以非人:2.与系统直接交互:3.主动发出动作并获得反馈:4.涉众(stakerholder)的代表 具有两个版型: 1.业务主角(bu ...

  6. <四>面向对象分析之UML核心元素之用例

    一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这 ...

  7. <三>面向对象分析之UML核心元素之参与者

    一:版型        --->在UML里有一个概念叫版型.有些书里也称类型,构造型.        --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...

  8. <七>面向对象分析之UML核心元素之包

    一:基本概念 

  9. <五>面向对象分析之UML核心元素之边界

    一:基本概念

随机推荐

  1. Js遍历对象中的属性

    var obj = {"name": "xiaol","age":"18"} for(var attr in obj){ ...

  2. Python 面试题(上)

    Python语言特性 1 Python的函数参数传递 看两个例子: a = 1 deffun(a): a = 2 fun(a) printa # 1 a = [] deffun(a): a.appen ...

  3. nginx服务

    nginx服务 一.nginx安装 1.yum安装:yum  -y install nginx 注:centos 7中yum安装nginx前需要先安装 epel-release 2.源码包安装 安装之 ...

  4. 微信小程序生命周期

    微信小程序 生命周期 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的角度来看,生命周期指程序从创建.到开始.暂停.唤起.停止.卸载的过程. 下面从一下三个方面介绍微信小程序的生命周期: 应用生 ...

  5. ubuntu 16.04 jenkins pipline的实现 最终docker启动服务

    准备工作:两台虚拟机A:192.168.1.60 B:192.168.1.61 C:一个存放代码的代码库(github)A:jenkins git docker openssh-server(ssh) ...

  6. 20145229吴姗珊 《Java程序设计》第5周学习总结

    20145229吴姗珊 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 1.设计错误对象都继承自java.lang.Throwable类 2.Java中所有错误都会 ...

  7. CHAR,TCHAR,WCHAR 三者的区别与转换

    #ifdef   UNICODE               typedef   wchar_t   TCHAR; #else               typedef   unsigned   c ...

  8. Vim 标签定义

    一.单个文件: m+标记字符 打上标记,如在开头行按ms(start),标记开头: 如需返回到自己的标记点,按`+标记字符就行: 二.多个文件: m+大写标记字符 如果删除了标签的行,同时也删除了标签 ...

  9. EntityFramework 学习 一 Persistence in Entity Framework

    实体框架的持久化 当用EntityFramework持久化一个对象时,有两种情形:连接的和断开的 1.连接场景:使用同一个context上下文从数据库中查询和持久化实体时,查询和持久化实体期间,con ...

  10. EntityFramework 学习 一 Model Browser

    我们已经为School表创建第一个实体数据模型,可视化的EDM设计器不显示所有的实体,而是显示和数据库中对应的表和视图 Model Browser为你提供关于所有对象和函数的信息, Diagrams ...