<五>面向对象分析之UML核心元素之边界
一:基本概念 ---->边界在UML图符里的定义只是一个简单的矩形,四个边决定了边界的内外。参与者,用例和边界相生相克。
---->边界是一个很重要的概念,和封装的概念师出同门。面向对象,任何一个对象都有一个边界。
--->在收集需求时,我们总要先假定一个范围边界。在这个边界内寻找需求,而找到的需求集合又决定了最终边界的大小。在需求出来之前,我们必须先设想一个边界,这个边界的大小是不确定的,随着需求的明确,边界也逐步变得明朗。但是问题出在确定需求靠什么?靠参与者和用例对吧?而参与者和用例得意明确的前提条件是边界确定的,而偏偏这个时候边界是无法确定的。是的,这是一个矛盾,实际上需求就是在不断地调整这个矛盾的过程中逐步明确进而更加确定边界的。这个调整过程不可避免地会导致参与者和用例的变化,所以需求过程是一个动态的过程,不可能一蹴而就,也因为统一过程需要迭代,而不能采用瀑布方法。
二:边界决定视界
---->站在不同的边界外,看到的参与者和用例是不一样的。
---->站在大楼外边,看见楼层,大门。站在大楼内部,看见电梯,柱子。
三:边界决定抽象层次
---->一般大型系统,自顶向下抽象。寻找边界,参与者,用例
四:灵活使用边界
---->其实边界不仅能够在需求方面发挥作用,在设计层面也能发挥重要作用。软件设计也面临着很大的信息量,既要实现需求,又要保证性能,要具有扩展能力,还要友好易用。如果把这些要求都参杂在一起,设计师的脑袋就得痛了。这时设定一些边界就能有效地降低复杂度,比如将实现需求的任务交给分析墨香,在这个边界内只考虑需求实现;将扩展能力交给框架设计,在这个边界内专心设计灵活的框架;然后在框架的束缚下把分析模型转化为设计模型,这就比分析模型中考虑扩展能力简单多了。
----->总之,边界是无形的,与其说它是一个UML元素,不如说它是一种分析方法。在面向对象的方法中,边界大到业务建模,小到接口设计都发挥重要的作用。读者在实际工作中应当学会灵活地使用边界,用边界来决定抽象层次和视角,进而排除边界外大量的杂音来降低复杂程度,这也是面向对象能够比面向过程厉害的地方。
<五>面向对象分析之UML核心元素之边界的更多相关文章
- <四>面向对象分析之UML核心元素之用例
一:基本概念 --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值. --->所谓用例,就是一件事情,要完成这 ...
- <十>面向对象分析之UML核心元素之关系
关系 --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构. 一,关联关系(association)
- <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性
设计类
- <八>面向对象分析之UML核心元素之分析类
一:基本概念 ---->在那大数项目中,分析类是被忽视的一种非常有用的元素. ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...
- <三>面向对象分析之UML核心元素之参与者
一:版型 --->在UML里有一个概念叫版型.有些书里也称类型,构造型. --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...
- <十二>面向对象分析之UML核心元素之节点和设备
节点,设备
- <七>面向对象分析之UML核心元素之包
一:基本概念
- <六>面向对象分析之UML核心元素之业务实体
一:基本概念
- <十一>面向对象分析之UML核心元素之组件
组件
随机推荐
- [转载]ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结
异常详细信息: System.UnauthorizedAccessException: 对路径“D:/temp1/MyTest.txt”的访问被拒绝 在windows 2003下,在运行web ...
- HTML中动态图片切换JQuery实现
相信很多同学都注意到了,各大新闻或者娱乐网站都含有动态图片切换,那个漂亮的感觉让刚刚学习html的人,都非常好奇和心动.那下面就让我们看一下到底如何实现动态图片切换呢?看一下百度贴吧的效果图吧~ // ...
- POJ3250Bad Hair Day
http://poj.org/problem?id=3250 题意 : n个牛排成一列向右看,牛 i 能看到牛 j 的头顶,当且仅当牛 j 在牛 i 的右边并且牛 i 与牛 j 之间的所有牛均比牛 ...
- 将DJANGO管理界面的filter_horizontal移到前面来复用
参考URL: http://www.hoboes.com/Mimsy/hacks/replicating-djangos-admin/reusing-djangos-filter_horizontal ...
- ORA-04052\ ORA-00604\ORA-12154
ORA-04052: error occurred when looking up remote object TBCS.SUBS_PRIVILEGE@DD2A ORA-00604: error oc ...
- hadoop集群基本配置
最近在学习hadoop.网上具体过程很多,我就说说简单过程和注意问题. 环境:宿主机(windows64),虚拟机(centos64). 准备软件: 1.Vmware——虚拟机 2.centos镜像文 ...
- Android中ListView滚动时上下边界的那一抹色彩
后台实现: if (Integer.parseInt(Build.VERSION.SDK) >= 9) { listview.setOverScrollMode(View.OVER_SCROLL ...
- lintcode:Binary Search 二分查找
题目: 二分查找 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1. 样例 ...
- 【Linux高频命令专题(6)】mkdir
简述 用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 命令格式 mkdir [选项] 目录... 命令参数 -m, --mode=模式 ...
- Orcle数据库查询练习复习:三
一.题目 1.与“张三”同乡的男生姓名 select * from student where snativeplace=(select snativeplace from student where ...