分析类共有三个:边界类(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. PHP环境变量归纳(转自网络)

    PHP环境变量主要有$GLOBALS[].$_SERVER[].$_GET[].$_POST[].$_COOKIE[].$_FILES[].$_ENV[].$_REQUEST[].$_SESSION[ ...

  2. date_default_timezone_get():

    [Symfony\Component\Debug\Exception\ContextErrorException]                      Warning: date_default ...

  3. 2.5链表 链式A+B

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAGpCAIAAACI2PCZAAAgAElEQVR4nO2d3YsdSX6m++/wXf8Fxu ...

  4. python打包工具 --- pyinstaller

    安装 安装python并添加到环境变量之后,在终端执行如下命令即可: pip install pyinstaller 截图如下: 若安装失败,可到: https://www.lfd.uci.edu/~ ...

  5. Yii2 提供可以用属性的方式去获取类的一个方法

    刚开始用 Yii 的小朋友可能对下面的写法非常疑惑: public function actionIndex() { $user = User::find()->where(['name'=&g ...

  6. iOS base64编码 MD5 加密

    //创建一个Base64编码的NSString对象 //字符串 转二进制 NSData *nsdata = [@"iOS Developer Tips encoded in Base64&q ...

  7. 网络编程概述和IP地址的获取方法

    java网络通信概述 一.网络通信步骤: 主机1 主机2 QQ-------QQ FEIQ-----FEIQ 1.找到对方IP. 2.找到对方端口号.数据要发送到对方的应用程序上.为了标识这些应用程序 ...

  8. python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数

    Python绘制正余弦函数图像 # -*- coding:utf-8 -*- from matplotlib import pyplot as plt import numpy as np impor ...

  9. Entity Framework中的Identity map和Unit of Work模式(转)

    一,什么是Identity map模式 Identity map是EF获取和缓存数据的模式.Identity map模式指的是任何数据都只会被加载一次,以map的形式缓存,以唯一的identity来再 ...

  10. EntityFramework 学习 一 Persistence in Entity Framework

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