UML核心元素--分析类
分析类共有三个:边界类(boundary)、控制类(control)和实体类(entity),这些分析类都是类的版型。分析类是跨越需求到设计实现的桥梁。
边界类:从需求向现实的转换过程中,任何两个有交互的关键对象之间都应该考虑建立边界类。
对现实世界来说,边界类的实例可以是窗口、通信协议、打印机接口、传感器、终端等。
在计算机世界里,当我们打算对A对象和B对象之间的交互进行建模时,边界类可以充当这一载体。
控制类:用于对一个或几个用例所特有的控制行为进行建模。控制对象通常控制其他对象,因此他们的行为具有协调性质。控制类将用例的特有行为进行封装。
实体类:用于对必须存储的信息和相关行为建模的类。实体对象用于保存和更新一些现象的有关信息,例如,事件,人员或者一些现实生活中的对象。
分析类的三高:
1、高于设计实现:在为需求考虑系统实现的时候,可以不理会复杂的设计要求,比如设计模式的应用、框架规范的要求等,而专心的为从需求到实现搭建一座桥梁。
例如实体类,不论使用哪一种设计实现,都要遵循相关的规范,实现特定的接口等。
2、高于实现语言:在为需求考虑系统实现的时候,可以不理会采用哪一种语言来编写代码,排除语言特定语法、程序结构等杂音,专心解决需求问题。
3、高于实现方式:在为需求考虑系统实现的时候,可以不考虑采用哪一种具体的实现方式。例如安全认证,可以的实现方式有很多,如果在需求分析阶段就开始考虑这些实现方式一方面会付出过多精力,另一方面考虑过多的具体细节相反会扰乱需求实现的分析工作。
UML核心元素--分析类的更多相关文章
- 【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 ...
- <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性
设计类
- <八>面向对象分析之UML核心元素之分析类
一:基本概念 ---->在那大数项目中,分析类是被忽视的一种非常有用的元素. ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...
- <十>面向对象分析之UML核心元素之关系
关系 --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构. 一,关联关系(association)
- 【笔记】UML核心元素
1.参与者 定义:在系统之外与系统交互的某人或某物. 特点:1.可以非人:2.与系统直接交互:3.主动发出动作并获得反馈:4.涉众(stakerholder)的代表 具有两个版型: 1.业务主角(bu ...
- <四>面向对象分析之UML核心元素之用例
一:基本概念 --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值. --->所谓用例,就是一件事情,要完成这 ...
- <三>面向对象分析之UML核心元素之参与者
一:版型 --->在UML里有一个概念叫版型.有些书里也称类型,构造型. --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...
- <七>面向对象分析之UML核心元素之包
一:基本概念
- <五>面向对象分析之UML核心元素之边界
一:基本概念
随机推荐
- ssm框架与shiro的整合小demo,用idea开发+maven管理
shiro安全框架是目前为止作为登录注册最常用的框架,因为它十分的强大简单,提供了认证.授权.加密和会话管理等功能 . shiro能做什么? 认证:验证用户的身份 授权:对用户执行访问控制:判断用户是 ...
- Windows磁盘MBR结构详解
在之前的文章 Windows存储管理之磁盘结构详解 中介绍了Windows的磁盘结构和MBR.本文将对Windows Basic Disk中的MBR的结构进行介绍,帮助读者更好的了解Windows系统 ...
- xutils3文件上传、下载、get、post请求
@ContentView(R.layout.activity_xutils3_net) public class XUtils3NetActivity extends Activity { @View ...
- 第四章 python中的面向对象设计
一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需 ...
- Android关闭USB的ADB调试和文件传输功能(禁用USB)【转】
本文转载自:https://blog.csdn.net/jun4331247/article/details/51201825 通过设置系统属性(System Property)[persist.sy ...
- C语言的操作符号
#include <iostream> int main(void) { int a = 100, b = 40; //理解++在前还后的区别: a = b++; //a = b ; b= ...
- 织梦dedecms 无法下载远程图片 fsockopen函数被禁用的解决方法
在linux服务器上fsockopen()函数被无情的禁用了(这其实是出于安全考虑,可以理解),下载远程图片的功能就没有办法使用了.找了一些资料之后,找到了解决方法,就是用stream_socket_ ...
- MapReduce修改输出的文件名
MapReduce默认输出的文件名称格式如下:part-r-00000 自定义名称,比如editName,则输出的文件名称为:editName-r-0000,此方法没有彻底修改整个文件名,只修改了一部 ...
- pyqt5开发之俄罗斯方块
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial This is a Tetri ...
- BZOJ 1059 [ZJOI2007]矩阵游戏:二分图匹配
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1059 题意: 给你一个n*n的01矩阵. 你可以任意次地交换某两行或某两列. 问你是否可以 ...