- 浏览: 1504422 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
《uml面向对象建模与设计》本书提出了一套面向对象的表示法并且从分析到设计再到实现扩展出了一种过程。在开发过程的所有阶段里,都可以应用相同的表示法。本节为大家介绍类模型。
2.3 三种模型
我们发现从三种相关但不同的角度来构建系统模型会很有效, 每种角度都捕获了系统重要的一个层面, 但完整描述就需要全部三种模型。类模型表示系统静态的、结构化的“数据冶层面; 状态模型表示系统时序的、行为的“控制冶层面; 交互模型表示各个对象的协作, 是系统的“交互冶层面。一般的软件过程具备所有这三个方面: 它使用数据结构(类模型), 按时间设定操作顺序(状态模型), 并在对象之间传递数据和控制(交互模型)。每种模型都包含了对其他模型中的实体的引用。例如, 类模型将操作依附于类, 而状态模型和交互模型则详细描述这些操作。
三种模型将一个系统划分成不同的视图。不同的模型并不是完全独立的———系统不只是一系列独立的部件———但每种模型在很大程度上都可以被单独查看或理解。不同模型之间有着有限而清晰的互连。当然, 创建出糟糕的设计也是有可能的, 会让这三种模型交织在一起,不能分开; 但好的设计会隔离系统的不同层面, 限制它们之间的耦合。
在这三种模型当中, 每一种都会随着开发过程而演化。首先, 分析师在不考虑最终实现的情况下创建了应用程序的模型, 然后设计人员会给模型添加解决方案构件, 实现人员对应用程序和解决方案构件进行编码。模型有两维———系统的视图(类模型、状态模型或交互模型) 和开发的阶段(分析、设计或实现)。其意义一般从上下文中就可以清晰地看出来。
2.3.1 类模型
类模型描述系统中对象的结构———它们的标识、与其他对象的关系、属性和操作。类模型提供了状态和交互模型的上下文。除非要改变某些东西, 或要与其交互, 否则变化和交互就是无意义的。对象是我们划分世界的单元, 是模型的分子。
在构建类模型的过程中, 我们的目标是从现实世界中捕获那些对应用而言重要的概念。在构建工程问题模型的时候, 类模型应该包含为工程师所熟知的术语; 在构建商业问题模型的时候, 应该使用商业术语; 在构建用户界面模型的时候, 要使用应用程序的术语。分析模型不应该包含计算机概念, 除非正在建模的应用本质上就是计算机问题, 例如编译器或操作系统等。设计模型描述了要如何解决问题, 可能会包含计算机概念。
类图表达了类模型。泛化使得类之间可以共享结构和行为, 关联使得类之间发生关系。类定义了每个对象的属性值, 以及每个对象执行或经历的操作。
2.3.2 状态模型
状态模型描述了与操作的时间和顺序相关的对象层面———标记变化的事件, 界定事件上下文的状态, 以及事件和状态的组织。状态模型捕获控制, 即描述操作出现顺序的系统层面,不用考虑操作做了些什么, 它们在操作什么, 或它们是如何实现的。
状态图表示状态模型。每幅状态图都显示了系统内允许的某个对象类的状态和事件序列。状态图会引用其他的模型。状态图中的动作和事件都变成了类模型中对象上的操作。状态图之间的引用变成了交互模型中的交互。
2.3.3 交互模型
交互模型描述对象之间的交互———各个对象如何协作, 来从整体上完成系统的行为。状态和交互模型描述了行为的不同侧面, 它们两者配合才能完整描述行为。
用例、顺序图和活动图描述交互模型。用例描述系统和外部参与者之间交互的主要内容,顺序图显示交互的对象和交互的时间顺序, 活动图显示计算的处理步骤之间的控制流。
2.3.4 模型间的关系
每一种模型都描述了系统的一个方面, 但也包含了对其他模型的引用。类模型描述状态模型和交互模型操作的数据结构。类模型中的操作对应于事件和动作。状态模型描述对象的控制结构。它显示了依赖于对象取值的决策, 并引发动作来改变对象取值和状态。交互模型专注于对象之间的信息互换, 并提供了系统操作的整体视图。
关于由哪种模型来包含某段信息, 偶尔也会出现含糊不清的地方。这很自然, 因为任何抽象都只是对现实的一种粗略概括, 肯定有一些内容会超出抽象范围之外。系统的一些特性可能被模型表现得很差。这也很正常, 因为没有哪一种抽象是完美的, 抽象的目标是在不使模型负担过重的条件下简化系统描述, 否则太多的构想会使模型变成负担, 而不会起到帮助作用。对于模型无法充分捕获的那些内容, 自然语言或特定于应用的表示法也是可以接受的。
发表评论
-
LAMP网站架构方案分析
2011-09-21 11:09 1315LAMP(Linux-Apache-MySQL-PHP ... -
大流量网站的底层系统架构分析
2011-09-10 22:01 1207大流量、高并发的网站的底层系统架构 http://www.h ... -
详细介绍软件架构设计的三个维度
2011-09-07 19:28 1381本文介绍的是软件架构 ... -
十步构建大型网站架构(2)
2011-09-07 16:21 1468架构演变第六步:分库 享受了一段时间的系统访问量高速增长的幸 ... -
十步构建大型网站架构(1)
2011-09-07 16:20 1410今天我们来谈谈一个 ... -
架构、框架、设计模式之间的关系简述
2011-09-07 16:00 1678本文向您讲解架构、框 ... -
UML实践----用例图、顺序图、状态图、类图、包图、协作图
2011-09-07 10:01 1983面向对象的问题的处理 ... -
UML建模之时序图
2011-09-06 20:19 3021http://www.uml.org.cn/oobject/2 ... -
UML 活动图
2011-09-06 20:13 1473UML 活动图记录单个操作 ... -
UML 状态图
2011-09-06 20:04 1328http://www.uml.org.cn/oobject/2 ... -
5 款基于 Web 浏览器的建模工具
2011-09-05 10:29 1282http://www.oschina.net/news/209 ... -
UML用例图
2011-09-02 16:31 5062一、UML用例建模简介 ... -
深入浅出REST
2011-08-19 09:48 1171不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正 ... -
数据量非常大的照片分享社区网站架构设计
2011-07-21 21:31 9512数据库一向是网站架构中最具挑战性的,瓶颈通常出现在这里。又拍网 ... -
相关知识
2011-07-04 16:34 1287(二) 架构的分类 架构由于应用的不同而存在不同。大体而言, ... -
软件需求分析方法总结--轻巧建模之需求篇(二)
2011-06-27 23:07 2006http://hi.baidu.com/tdskee/blog ... -
软件需求分析方法总结--轻巧建模之需求篇(一)
2011-06-27 23:05 2248需求从哪儿来? 来自于项目甲方,还是直接或间接的用户、经 ... -
软件需求分析方法总结--撰写优秀的需求
2011-06-27 23:04 1633软件需求常常被写得很糟且难于遵循。清楚地阐明你的需求将使每位项 ... -
软件需求分析方法总结--如何分析问题和需求
2011-06-27 23:03 2301如何分析问题和需求 万事开头难,需求没有完全分析清楚,系 ... -
软件需求分析方法总结--如何进行软件需求分析(三)
2011-06-27 23:02 14768.需求分析的过程 需 ...
相关推荐
1.操作系统为用户提供三种类型的使用接口,它们是命令方式和系统调用和图形用户界面。 。
elsevier期刊三种类型的模板,包括单双栏,简单实用。 elsevier期刊三种类型的模板,包括单双栏,简单实用。 elsevier期刊三种类型的模板,包括单双栏,简单实用。 elsevier期刊三种类型的模板,包括单双栏,简单...
在这个场景中,“三种模型的训练损失曲线”指的是在利用LCQMC数据集训练过程中,有三个不同的深度学习模型(可能是基于Transformer的BERT、RoBERTa或者其它自注意力机制模型)的损失值随训练迭代次数的变化情况。...
"浅谈动态交通分配的三种模型以及算法" 本文主要讨论了动态交通分配问题的三个模型:多用户动态交通分配模型、基于多时段动态交通分配模型和基于模糊旅行时间的动态交通分配模型。这些模型都是为了解决城市交通拥挤...
comsol方形锂电池电化学—热耦合模型充放电循环热仿真,三种模型。 一维电化学模型耦合三维方形铝壳电池模型。 还包括电池组风冷、相变散热模型。
本数据集“YOLO车辆检测三类别数据集 1793张(car-detect-dataset三种类型)”是专门设计用于训练YOLO模型进行车辆检测的,其中包含了汽车、公交车和卡车这三种不同类型的车辆。 数据集的特点和结构如下: 1. **...
在实际应用问题中,我们经常会遇到三种类型的问题,它们分别是:与“利润最大、产值最高、造价最低”相关的优化问题(类型I)、涉及“利率、增长率及翻番”的指数问题(类型II)以及体现变化过程特定关系的定义型...
1997年 给出三种模型相结合的方法 实用城市配电网优化规划模型
房屋类型分类检测数据集,数据分为三种类型;农家乐,现代,质朴。还有很多不同类型的房子,但为了简化事情,我只选择了三种常见但又彼此不同的风格。 房屋类型分类检测数据集,数据分为三种类型;农家乐,现代,质朴...
圆周运动的三种模型.doc
初中数学解题模型专题讲解11---“将军饮马”三种模型详解.pdf
本篇论文的作者王雨生通过对空间型三种经典模型的表示方法进行了统一性的分析和探讨,给出了这三种模型与测地极坐标系间的关系。以下是对本篇论文涉及知识点的详细阐述: 1. 空间型经典模型 空间型经典模型通常指的...
B2B、B2C、C2C三种类型电子商务活动比较与分析.pptx
通过深入分析和比较这三种模型,不仅可以掌握APF的基本原理,还能对不同控制策略的优缺点有深刻理解,为进一步优化设计和实际应用打下坚实基础。同时,这也为教学和工程实践提供了一个直观、互动的学习平台。
减数分裂的三种类型-1页.pdf
为了定量表征 ESD 特性,一般将 ESD 转化成模型表达方式,ESD 的模型有很多种,下面介绍常用的三种。 1.HBM:Human Body Model,人体模型: 该模型表征人体带电接触器件放电,Rb 为等效人体电阻,Cb...
Dog Breed Identification 任务三种模型的 python 实现代码,包括:VGG11、resnet18、SE block,优化器为 SGD 和 Adam,并进行了一些数据增强,score 最佳:1.16 左右
具体而言,这三种模型可能包含了如下内容: - 双指数模型:双指数模型是其中一种较为简单的雷电流模型,它的表达式通常包括两个指数项,一个用于描述电流波头部分,另一个描述波尾部分。这种模型的表达式可能是 I(t...
接下来将会讲到三种模型(季节分解,指数平滑,ARIMA模型)。 一般情况下时间序列的数值变化规律有四种(长期趋势T,循环变动C,长期趋势T,不规则变动I)。我们先要对数据做出时间序列图,观察数据随周期的变化,...
在数据库领域,主要存在三种模型:概念模型、逻辑模型和物理模型,每种模型都有其独特的用途和特点。 1. 概念模型(Conceptual Model): 概念模型,也称为信息模型,是数据库设计的起点,它以用户或业务的角度来...