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的更多相关文章

  1. AMD - Learning JavaScript Design Patterns [Book] - O'Reilly

    AMD - Learning JavaScript Design Patterns [Book] - O'Reilly The overall goal for the Asynchronous Mo ...

  2. [Design Patterns] 4. Creation Pattern

    设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,使用设计模式的目的是提高代码的可重用性,让代码更容易被他人理解,并保证代码可靠性.它是代码编制真正实现工程化. 四个关键元素 ...

  3. [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. 软件模 ...

  4. Learning JavaScript Design Patterns The Module Pattern

    The Module Pattern Modules Modules are an integral piece of any robust application's architecture an ...

  5. Design Patterns in Smalltalk MVC 在Smalltalk的MVC设计模式

    Design Patterns in Smalltalk    MVC在Smalltalk的MVC设计模式 The Model/View/Controller (MVC) triad ofclasse ...

  6. Design Patterns Example Code (in C++)

    Overview Design patterns are ways to reuse design solutions that other software developers have crea ...

  7. How I explained Design Patterns to my wife: Part 1

    Introduction Me and my wife had some interesting conversations on Object Oriented Design principles. ...

  8. 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 ...

  9. 图书-软件架构:《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书)

    ylbtech-图书-软件架构:<Design Patterns: Elements of Reusable Object-Oriented Software>(即后述<设计模式&g ...

随机推荐

  1. FreeSwitch安装配置记录

    安装FreeSwitch 主要命令如下: git clone -b v1.2.stable git://git.freeswitch.org/freeswitch.gitcd freeswitch/. ...

  2. Why Apache Spark is a Crossover Hit for Data Scientists [FWD]

    Spark is a compelling multi-purpose platform for use cases that span investigative, as well as opera ...

  3. redis 学习指南

    一.介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.一个高性能的key-value数据库.并提供多种语言的API.说到Key-Value数据库NoSQL数 ...

  4. 成功在神舟K650c-i7 d2(i7-4700MQ、HM87)上装好了Windows XP

    成功在神舟K650c-i7 d2(i7-4700MQ.HM87)上装好了Windows XP 本来已经在K650c上装好了Windows7.Windows8双系统,奈何某些旧软件只能在Windows ...

  5. IOS开发之代码之九宫格

    通过UIScrollView展示图片的时候,如果直接向UIScrollView添加UIImageView,在图片数量比较少的时候是没有问题的,但是当我们添加图片数量非常多的时候,会占用大量的内存,我们 ...

  6. vlc android 移植版编译

    同步发表于http://avenwu.net/2015/07/27/vlc-android-compiling 安装必备工具/解决环境问题 环境准备什么的如果没配置过需要一步步配置,主要是sdk/nd ...

  7. rbenv Your user account isn't allowed to install to the system Rubygems

    Clone一个新Rails项目到Mac, bundle install 的时候遇到下面的提示 Fetching source index from http://rubygems.org/ Your ...

  8. Photoshop操作指南

    缩放工具(Z) 之后涉及到移动功能,暂时切换到小抓手工具. 图1 图2 切换到:暂时切换到:当按住空格键的时候,显示小抓手工具.松开之后,又回到了之前的显示上. 满画布显示当前画面:ctrl+0(数字 ...

  9. Spring3系列5-Bean的基本用法

    Spring3系列5-Bean的基本用法 本篇讲述了Bean的基本配置方法,以及Spring中怎样运用Bean. 主要内容如下: 一.      Spring中Bean的相互引用 二.      Sp ...

  10. 关于STM8的用户数据空间读写问题

    情况是这样的,我的程序里有一个参数,数值不超过1000,我要保存到EEPROM中,那就要分两个字节存放.我用下面的方式保存是正常的: BASE = 0x4000; param = 999; eepro ...