分析类共有三个:边界类(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. Open AI Gym简介

    介绍 OpenAI Gym是一款用于研发和比较强化学习算法的工具包,它支持训练智能体(agent)做任何事——从行走到玩Pong或围棋之类的游戏都在范围中. OpenAI Gym 是一个用于开发和比较 ...

  2. java面向对象入门之创建类

    /* Name:如何创建类的实例 Power by Stuart Date:2015-4-23*/ //一个bike测试类 public class bikeTest{ //bike 一个变量 Str ...

  3. sublime 添加 ctags 实现代码跳转

    ctags -R -f .tags生成  .tags文件

  4. shell按行合并文件

    file1abc file2123 如何合并两个文件,得到a 1b 2c 3 awk方式 awk 'NR==FNR{a[NR]=$0}NR>FNR{print a[FNR],$0}' file1 ...

  5. 在 CentOS7最小化 下的编译安装:Nginx 1.5.2 + PHP 5.5.7 + MySQL 5.6.10

    1.安装Nginx: 安装包目录 mkdir -p /Data/tgzcd /Data/tgz 安装编译依赖 yum install wget yum install pcre yum install ...

  6. PIG执行MR时报Connection refused错误

    原因是jobhistory没有启动,其启动脚本位于hadoop/sbin目录下 启动命令如下 mr-jobhistory-daemon.sh start historyserver

  7. 每天一个Linux命令(36)ps命令

          Linux中的ps命令是Process Status的缩写.       ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不必要的程序.       (1)用法:   ...

  8. Data Structure Array: Program for array rotation

    http://www.geeksforgeeks.org/array-rotation/ O(n), O(1) #include <iostream> #include <vecto ...

  9. 《程序员代码面试指南》第五章 字符串问题 去掉字符串中连续出现k 个0 的子串

    题目 去掉字符串中连续出现k 个0 的子串 java代码 package com.lizhouwei.chapter5; /** * @Description: 去掉字符串中连续出现k 个0 的子串 ...

  10. 微信小程序消息模板

    wxml: <form bindsubmit='sendSms' report-submit='true' id='fo'> <button form-type='submit'&g ...