分析类共有三个:边界类(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. spring项目改名后不能启动的原因及解决办法

    今日修改了一个spring项目的项目名称,修改后启动项目Debug as->Debug on server,过了很久也没有出现web首页,仔细看项目的定时器已经启动,eclipse的Consol ...

  2. eclipse revert resources 很慢的解决办法

    eclipse启动无响应,停留在Loading workbench状态,或老是加载不了revert resources 做开发的同学们或多或少的都会遇到eclipse启动到一定程度时,就进入灰色无响应 ...

  3. Javaweb基础--->监听器listener(转发)

    JavaWeb中的监听器 1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 Servl ...

  4. Linux 下 Crontab 命令使用详解 定时任务

    一.  Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的运行. 1.1 /etc/crontab 文件 在/etc文件夹下有一个crontab文件,这里存放有系统运行的一 ...

  5. LeetCode:字母异位词分组【16】

    LeetCode:字母异位词分组[16] 题目描述 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", &quo ...

  6. SpringBoot学习笔记(2):引入Spring Security

    SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: ...

  7. js完美实现table分页

    // JavaScript Document /** * js分页类 * @param iAbsolute 每页显示记录数 * @param sTableId 分页表格属性ID值,为String * ...

  8. 【leetcode刷题笔记】Distinct Subsequences

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  9. P4455 [CQOI2018]社交网络(矩阵树定理)

    题目 P4455 [CQOI2018]社交网络 \(CQOI\)的题都这么裸的吗?? 做法 有向图,指向叶子方向 \(D^{out}(G)-A(G)\) 至于证明嘛,反正也就四个定理,先挖个坑,省选后 ...

  10. 登陆获取shell时的配置文件加载过程

    最近遇到一台ubuntu服务器登陆时默认语言环境变量变成posix问题, 导致中文显示乱码,影响程序的正常运行 # locale LANG= LANGUAGE= LC_CTYPE="POSI ...