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. Objective-c中 isEqual ,isEqualToString , == 三者的区别

    首先 OC中的对象都是用指针表示,方法的调用是基于消息机制实现,== 比较的自然是指针指向的地址 然后 说下 isEqual 和 isEqualToString 的区别 IsEqual 是 NSObj ...

  2. Cocos2dx.3x入门三部曲-软件环境配置(一)

    一.环境: Win7 32位 二.必备软件: l  Java JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/inde ...

  3. Django抛错不存在(DoesNotExist)

    from django.core.exceptions import ObjectDoesNotExist try: disabledusers.objects.get(sAMAccountName= ...

  4. android中xmlns:tools属性详解

    今天读到一篇总结的非常棒的文章,写的逻辑很清晰也很实用,很少见到如此棒的文章了.就原文转发过来,我把格式给整理了一下,分享给园子里的各位朋友!好久没写博客了,就为2015年的11月留份纪念吧.希望对你 ...

  5. 一种可以避免数据迁移的分库分表scale-out扩容方式

    原文地址:http://jm-blog.aliapp.com/?p=590 目前绝大多数应用采取的两种分库分表规则 mod方式 dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月 ...

  6. ab 测试模块高并发

    转载:http://gekie.iteye.com/blog/1704235 作为程序员,写好一个模块后,不知道这个模块在高并发的情况下能不能平稳过渡,这里所说的平稳过渡是指,在高并发的情况下还能正常 ...

  7. sqlite 的比较等运算是根据不同的值而不同的,并不是根据的字段类型,因为 sqlite 是弱类型字段

    sqlite 的比较等运算是根据不同的值而不同的,并不是根据的字段类型,因为 sqlite 是弱类型字段   --------------------------------------------- ...

  8. 2.C#中泛型在方法Method上的实现

    阅读目录   一:C#中泛型在方法Method上的实现 把Persion类型序列化为XML格式的字符串,把Book类型序列化为XML格式的字符串,但是只写一份代码,而不是public static s ...

  9. mac os x 安装mysql遇到 Access denied for user 'root'@'localhost' (using password: YES)的解决方法

    最近把开发环境迁移到macbook上,装上mysql启动之后,连接,总是报这个错误.5.5的版本默认密码为空.其实这个错误是root未授权的问题.解决方法如下: 未给localhost root用户授 ...

  10. JVM 参数翻译汉化解释

    博客搬家,新地址:http://www.zicheng.net/article/38.htm Behavioral Options(行为参数) Option and Default Value Des ...