[Design Patterns] 1. Primary concept & term - UML
It's time to review design patterns, especially when I reach the turning-point of my career. That's not a small test, but a challenge to my life. Hold it!
http://blog.csdn.net/lovelion/article/details/17517213
View and Diagram
用户视图:Use Case Diagram // describe requiremnet
结构视图:Class Diagram, Object Diagram, Package Diagram, Composite Structure Diagram // static behavour
行为视图:State Diagram, Activity Diagram, SequenceDiagram, Communication Diagram, Timing Diagram, Interaction Overview Diagram // dynamic behavour
实现视图:Component Diagram // logical file <--> physical file
环境视图:Deployment Diagram // physical file <--> physical device
Class Diagram
Category
Entity Class, Control Class, Boundary Class
Model Element between Class Diagrams
Association: 双向关联,单项关联,自关联,多重性关联,聚合关系(Aggregation),组合关系(Composition)
Dependency: 作为参数,作为局部变量,调用静态方法
Generalization
Interface & Implement
Illustration

Demostration
Reference: http://www.cnblogs.com/hoojo/p/UML_design_constitute_example.html, http://raychou.blogbus.com/

Use Case Diagram (Demand Analysis)

用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。
关注用户的输入和系统的输出。
参与者:关联,泛化
用例:关联,包含,扩展
用况图说明表格:

Class Diagram (System Analysis: 面向业务;System Design)

Timing Diagram (System Analysis: 面向过程;System Design)

Activity Diagram (System Analysis: 面向过程)

Object Diagram

Component Diagram

Deployment Diagram

State Diagram

Collaboration Diagram

消息通信:类之间只能通过消息控制(杜绝友元类)
粒度控制:同种类打包
OOA:(分析问题,列出功能,平台无关,现实世界)
需求模型:用况图,系统中的参与者对系统功能使用情况的描述,定义功能需求
基本模型:类图【对象层,特征层,关系层】
辅助模型:包图(把类打包),顺序图(方法执行的顺序),活动图(行为执行的过程),状态机图(状态见的转换)
- - - - - - - - - - - - - - - - - - - - - - - -
MDA(Model-driven architecture)
PIM --> PSM (平台无关-->平台专用)
- - - - - - - - - - - - - - - - - - - - - - - -
OOD:(对特定实现条件进行设计,软件世界)
问题域部分设计
人机交互部分设计
控制驱动部分设计:主动类;进程,线程
数据接口部分设计
构件化与系统部署
OOP:(具体语言,具体设计)
[Design Patterns] 1. Primary concept & term - UML的更多相关文章
- AMD - Learning JavaScript Design Patterns [Book] - O'Reilly
AMD - Learning JavaScript Design Patterns [Book] - O'Reilly The overall goal for the Asynchronous Mo ...
- [Design Patterns] 4. Creation Pattern
设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,使用设计模式的目的是提高代码的可重用性,让代码更容易被他人理解,并保证代码可靠性.它是代码编制真正实现工程化. 四个关键元素 ...
- [Design Patterns] 3. Software Pattern Overview
When you're on the way which is unknown and dangerous, just follow your mind and steer the boat. 软件模 ...
- Learning JavaScript Design Patterns The Module Pattern
The Module Pattern Modules Modules are an integral piece of any robust application's architecture an ...
- Design Patterns in Smalltalk MVC 在Smalltalk的MVC设计模式
Design Patterns in Smalltalk MVC在Smalltalk的MVC设计模式 The Model/View/Controller (MVC) triad ofclasse ...
- Design Patterns Example Code (in C++)
Overview Design patterns are ways to reuse design solutions that other software developers have crea ...
- How I explained Design Patterns to my wife: Part 1
Introduction Me and my wife had some interesting conversations on Object Oriented Design principles. ...
- Design Patterns Uncovered: The Chain Of Responsibility Pattern
Chain of Responsibility in the Real World The idea of the Chain Of Responsibility is that it avoids ...
- 图书-软件架构:《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书)
ylbtech-图书-软件架构:<Design Patterns: Elements of Reusable Object-Oriented Software>(即后述<设计模式&g ...
随机推荐
- 10TSQL语言概述-脚本调试-命名规范-天轰穿数据库2014
关键字:sqlserver 数据库脚本 数据库 编码规范大纲:sql概念,TSQL脚本调试,数据库编码规范 优酷超清地址 腾讯超清地址 土豆超清地址
- Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)
一.缘由 上一篇文章Spring3.3 整合 Hibernate3.MyBatis3.2 配置多数据源/动态切换数据源 方法介绍到了怎么样在Sping.MyBatis.Hibernate整合的应用中动 ...
- 上海邮政EMS海关清关(个人) 流程
最近雾埋越来越严重,上个星期买了一个tacx骑行台,不料运气欠佳,被税了.那就去乖乖缴税吧. 拿着EMS的通知单(没有通知单就不要去了),到通知单指定的地址(上海有两处,我的是武定路458号)清关提货 ...
- 兼容iOS 10 资料整理
1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...
- PS脚本获取网络适配器状态
1. Get-WmiObject -Class Win32_NetworkAdapterConfiguration ` -filter "IPEnabled = $true" 2. ...
- BZOJ 4300: 绝世好题 动态规划
4300: 绝世好题 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4300 Description 给定一个长度为n的数列ai,求ai的 ...
- IOS中的多线程之GCD
在ios中,使用多线程有三种方式,分别是:NSThread.NSOperation和NSOperationQueue.GCD,在本节,主要讲解一下CDD的使用. GCD(Grand Central D ...
- Zone.js 简介 & 抛砖引玉
Zone.js是angular团队参照NodeJS的Domain,Dart的Zone,为angular 2开发的核心组件. 一开始,我对Zone.js是拒绝的.我们知道类似的 Domain 模块,主要 ...
- WPF 定时写入文本
public static void Start() { ThreadStart start = new ThreadStart(ThreadAction); Thread th = new Thre ...
- 单击HighCharts柱形体弹框显示详细信息
上篇博客介绍了如何在HighCharts统计图表下生成表格,二者相互结合,可以对数据进行更好的统计分析.在统计的同时,如果需要想要及时查看详细信息的话,就得再加一个功能,就是单击柱形体,显示该项下的详 ...