- 浏览: 1471859 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 1277LAMP(Linux-Apache-MySQL-PHP ... -
大流量网站的底层系统架构分析
2011-09-10 22:01 1168大流量、高并发的网站的底层系统架构 http://www.h ... -
详细介绍软件架构设计的三个维度
2011-09-07 19:28 1346本文介绍的是软件架构 ... -
十步构建大型网站架构(2)
2011-09-07 16:21 1408架构演变第六步:分库 享受了一段时间的系统访问量高速增长的幸 ... -
十步构建大型网站架构(1)
2011-09-07 16:20 1370今天我们来谈谈一个 ... -
架构、框架、设计模式之间的关系简述
2011-09-07 16:00 1643本文向您讲解架构、框 ... -
UML实践----用例图、顺序图、状态图、类图、包图、协作图
2011-09-07 10:01 1939面向对象的问题的处理 ... -
UML建模之时序图
2011-09-06 20:19 2979http://www.uml.org.cn/oobject/2 ... -
UML 活动图
2011-09-06 20:13 1426UML 活动图记录单个操作 ... -
UML 状态图
2011-09-06 20:04 1289http://www.uml.org.cn/oobject/2 ... -
5 款基于 Web 浏览器的建模工具
2011-09-05 10:29 1239http://www.oschina.net/news/209 ... -
UML用例图
2011-09-02 16:31 5023一、UML用例建模简介 ... -
深入浅出REST
2011-08-19 09:48 1137不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正 ... -
数据量非常大的照片分享社区网站架构设计
2011-07-21 21:31 9476数据库一向是网站架构中最具挑战性的,瓶颈通常出现在这里。又拍网 ... -
相关知识
2011-07-04 16:34 1244(二) 架构的分类 架构由于应用的不同而存在不同。大体而言, ... -
软件需求分析方法总结--轻巧建模之需求篇(二)
2011-06-27 23:07 1983http://hi.baidu.com/tdskee/blog ... -
软件需求分析方法总结--轻巧建模之需求篇(一)
2011-06-27 23:05 2214需求从哪儿来? 来自于项目甲方,还是直接或间接的用户、经 ... -
软件需求分析方法总结--撰写优秀的需求
2011-06-27 23:04 1598软件需求常常被写得很糟且难于遵循。清楚地阐明你的需求将使每位项 ... -
软件需求分析方法总结--如何分析问题和需求
2011-06-27 23:03 2267如何分析问题和需求 万事开头难,需求没有完全分析清楚,系 ... -
软件需求分析方法总结--如何进行软件需求分析(三)
2011-06-27 23:02 14318.需求分析的过程 需 ...
相关推荐
1.操作系统为用户提供三种类型的使用接口,它们是命令方式和系统调用和图形用户界面。 。
elsevier期刊三种类型的模板,包括单双栏,简单实用。 elsevier期刊三种类型的模板,包括单双栏,简单实用。 elsevier期刊三种类型的模板,包括单双栏,简单实用。 elsevier期刊三种类型的模板,包括单双栏,简单...
基于三种类型图像数据的人脸识别测试.pdf
在本文中,我们提出了三种分析多个相关的二进制结果的方法; 每个人都可以对确定的目标有益。 我们回顾方法一和方法二,并提出方法三。 三种方法使用GEE方法估算多元二进制纵向数据的边际均值。 第一种方法解决的...
预测模型 ARMA三种模型
1997年 给出三种模型相结合的方法 实用城市配电网优化规划模型
电脑BIOS怎么设置光盘启动 三种类型BIOS设置光驱启动的图文详解教程
2.内容:分别通过AR,GM11,KNN三种模型来对交通流量进行预测matlab仿真+代码操作视频 3.用处:用于AR,GM11,KNN算法编程学习 4.指向人群:本硕博等教研学习使用 5.运行注意事项: 使用matlab2021a或者更高版本...
非洲菊三种类型花瓣动态生长规律研究,李凌飞,张丽丽,花瓣形态建成关系到观赏花卉的品质形成。本研究以复杂花序花卉非洲菊为材料,对三种不同类型的花瓣生长规律进行了研究。结果表明
LCQMC三种模型的训练损失曲线
房屋类型分类检测数据集,数据分为三种类型;农家乐,现代,质朴。还有很多不同类型的房子,但为了简化事情,我只选择了三种常见但又彼此不同的风格。 房屋类型分类检测数据集,数据分为三种类型;农家乐,现代,质朴...
CNN_BiLSTM_Attention模型,LSTM模型,DNN(全连接神经网络)三种模型对短期日负荷曲线的预测
圆周运动的三种模型.doc
- **第一种:安卓自带AlertDialog** - **第二种:popwindow** - **第三种:activity类型自定义的弹出框** 有需要的可以参考
初中数学解题模型专题讲解11---“将军饮马”三种模型详解.pdf
十三种类型的客户.docx
java中int_char_string三种类型的相互转换
B2B、B2C、C2C三种类型电子商务活动比较与分析.pptx
顾客的二十三种类型.doc
bios设置的三种类型,能够轻松理解电脑U盘装系统的具体做法,进一步了解U盘装系统的原理