[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 ...
随机推荐
- curl上传、下载、https登陆
1.下载 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "ftp://127.0.0.1/downtest.txt"); cur ...
- 【VerySky原创】RPR_ABAP_SOURCE_SCAN
[VerySky原创]RPR_ABAP_SOURCE_SCAN 扫描 ABAP 报表源
- 字符串匹配的KMP算法——Python实现
#! /usr/bin/python # coding=utf-8 """ 基于这篇文章的python实现 http://blog.sae.sina.com.cn/arc ...
- typeid详解
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“ ...
- Backbone.js Wine Cellar 教程
中文版: http://rd.189works.com/article-74541-1.html http://www.189works.com/article-74542-1.html http:/ ...
- ubuntu下安装多版本Python
今天一不小心又把ubuntu系统给完坏了,因为我把python3卸载了,然后就...好了,不废话了,接下来就说一下如何在ubuntu下管理python的多个版本.我这里使用的是一个叫pyenv的Pyt ...
- ABAP报表中负值展示问题的处理方法
现象描述 在使用ABAP报表展示数据的时候会涉及到金额类字段,在手动计算金额的时候,有时会发生存在负值而无法正常展示的情况. 处理过程 ABAP报表的数据展示常用的方法有两种,分别是表控制和ALV ...
- [译]PostCSS介绍
PostCSS介绍 原文链接:http://www.smashingmagazine.com/2015/12/introduction-to-postcss/ 转自:http://www.zcfy.c ...
- BSTestRunner——一个丑在路上的python unnitest HTML报告生成Runner
今天忽然看到HTMLTestRunner的样式,第一眼的感觉是样式有点过时了,稍微看了下源码,果然最后更新时间是几年前,由于实现比较简单,所以顺手将样式改一下. 效果图 设计思想 既然有UI,那么如果 ...
- (转)新手必看:HighCharts几个基础问答
转自:http://bbs.hcharts.cn/article-21-1.html