Uml分享
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Uml分享

on

  • 1,794 views

 

Statistics

Views

Total Views
1,794
Views on SlideShare
1,746
Embed Views
48

Actions

Likes
2
Downloads
11
Comments
0

4 Embeds 48

http://blog.goodtiger.net 40
http://blog.goodtiger.info 5
http://blog.goodtiger.me 2
http://xianguo.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Uml分享 Presentation Transcript

  • 1. UML 交流 Goodtiger 2010-01-19
  • 2. Topics
    • UML 是用来交流的
    • 快速了解下 9 种 UML 图及使用场景
    • CASE (掷骰子)
    • 五步 UML 简介及缴费 CASE 的 EA 管理
  • 3. 什么是 UML?
  • 4. 几个概念
    • Architecture
      • 分层…
    • Process ( Development Processes )
      • UP…
    • Methodology
      • OOAD 、 DDD…
    • UML 是语言,它需要有依附的载体
  • 5. 什么是 UML?
    • 建模语言
      • 语言使用的 场景 (软件开发过程)
      • 语言是用来 交流 (交流的内容)
      • 语言有什么特征(表达?)
    • 过程
      • 过程有不同的阶段
        • 需求、分析、设计、开发、测试、部署
      • 我们拿 OOAD 过程来展开
      • 重要的是过程,而不是表达过程的语言
  • 6. 我们需要解决的问题是什么?
  • 7. 不变的东东
  • 8. 问题域视角来看 UML
  • 9. 9 种类型 UML 图
    • 用例图( Use Case )
    • 活动图( Activity )
    • 组件图( Component )
    • 顺序图( Sequence )
    • 协作图( Collaboration )
    • 类图 ( Class )
    • 状态图( State chart )
    • 部署图( Deployment )
    • 包图( Package )
  • 10. 用例
    • 区别用例(或用例描述)和用例图
      • 用例图,表达整体、 完整性
      • 用例是对场景的描述,这及其重要
      • 业务用例、系统用例有区别吗?
      • 用例的作用
      • 需求的描述
      • 和受众交流和细化需求
      • 测试用例的部分产出
  • 11. 用例描述
    • 参见代付用例文档
      • 《代付 _ 系统 Use+Case 实现规约 .doc 》
  • 12. 需求和用例的对应 确保用例和需求的一致,不会产生遗漏 序号 用例 PRD 需求 备注 1 开启关闭代扣 后台 - 代扣开关管理 2 查询代扣记录 后台 - 代扣记录 3 设置代扣参数 后台 - 代扣时间间隔 4 设置账期 后台 - 代扣开关管理 5 查询签约信息 后台 - 签约信息 6 后台解约 后台 - 签约信息
  • 13. 用例图( Use Case )
    • 显示系统的外部可视行为
    • 对强调 What 而不是 How
    • 场景的描述
    • 关键元素
      • Actor 、 Use Case 、 Communication
      • System boundaries
  • 14. 业务用例 1 、完整性够了 2 、缺少边界
  • 15. 好的用例图
  • 16. 活动图
    • 详细描述系统行为
    • 关系比较近的几类图
      • 泳道图(描述业务流程)
      • 序列图(强调交互)
      • 状态图(实体或领域对象的角度描述)
  • 17.  
  • 18. 序列图
    • 描述对象之间随着 时间 的交互
    • 交互 操作 的细节的描述
    • 发送的 消息 ( What 、 When 、 How )
      • 同步、异步
  • 19.  
  • 20. 活动图和序列图
    • 有什么区别
    • 什么时候用活动图
    • 什么时候用序列图
    • 选择在于你
  • 21. 协作图
    • 也是对象的交互的描述
    • 强调了对象之间的关系
    • 和序列图包含的信息差不多
    • 协作图关注的是对象的角色
    • 序列图关注的是随着时间对象之间消息的发送
  • 22. 协作图示例
  • 23. 类图
    • 类图定义了类和类之间的关系
    • 关系( association 、 aggregation 、 generalization )
    • 组合和聚合
    • 领域模型?
  • 24. 类图示例
  • 25. 状态图
    • 描述对象对于时间的状态改变
    • 对象主要是行为和状态
    • 领域模型的状态?
    • 状态的变化可抽取成服务
  • 26. 状态图例子
  • 27. 组件图和部署图
    • 组件图描述系统的可部署单元及接口,可部署单元通过接口进行交互
    • 部署图描述了系统的可部署单元如何被赋予不同的节点,这些节点如何互相通信,以及这些节点如何与设备进行通信。可以用于系统映射,可可以用作研究系统负载。
  • 28. 组件和部署图
  • 29. 什么样的 UML 图是好图 ?
  • 30. 什么样的 UML 图是好图 ?
    • 符合标准的?
    • 描述非常具体的?
    • 结构排版清晰的?
    • 你想要表达什么?
    • 选择合适的图来表达!
  • 31. 同样的名字不同的目的
  • 32. 一个简单常用的方法(个人)
    • 需求工程的一个图
    • 定义用例
    • 定义领域模型
    • 定义交互图
    • 定义设计类图
    • 来看一个案例(扔两个骰子)
    • 参见 EA ( diceGame.eap )
  • 33. 再来抽象一点 -DRADR
    • Define (定义)
    • Refine (细化)
    • Assign (分配)
    • Design (设计)
    • Repeat/iterate (重复 / 迭代)
  • 34. 定义
      • 通过用例图表示系统的需求,添加其他可以清楚表达用例的图
    • 找出需求中的角色和领域对象,并以参与者为核心去画用例图,在过程中完善领域对象及关系。
  • 35. 细化
      • 通过活动图中捕获的场景来详细描述每个需求中的步骤
      • 为每一个用例都建立一个场景(活动图)来详细地描述此用例做什么(按需)
      • 活动图中的活动可以包含子活动来对活动进一步描述
      • 复杂的细节可以采用状态图来表示
  • 36. 分配
      • 使用活动图来把步骤分配给系统的元素
      • 最好的实践就是泳道图( 参考 )
      • 泳道图也可以用序列图表达,但是序列图的是线性的,而活动图表达非线性分支和循环,可以表达复杂的逻辑。不建议采用 UML2.0 中序列图表示分支和循环。
      • 通过泳道图的分析,可以大致得出组件以及接口,为分析做铺垫
  • 37. 设计
      • 使用组件图来表达元素之间的关系。添加其他可以清楚显示组件的图
      • 表达清楚组件和接口,以及组件之间接口的关系
      • 表达和分析依赖关系
      • 完整的组件图可以整理成体系结构设计
  • 38. 重复 / 迭代
      • 将过程的范围缩小为单独的元素(使用类图进行设计)
      • 扩展到超出整个系统的范围(使用部署图来表达)
      • 添加其他可以帮助理解系统(系统交互的)图
      • 适当的重复前面的 4 个步骤进行重复和迭代
      • 抽象和细化
  • 39. DRADR 总结
  • 40. 银弹
    • 汗水
    • 眼泪
    • 奶茶水果
    • 良好的管理
    • 创意和执行
    • UML 只是帮助我们组织很多因素,但该面对的还是需要面对, UML 只是一个语言或者只是一个工具。
  • 41. 参考书籍推荐
    • 《 UML Distilled-A Brief Guide to the Standard Object Modeling Language 》
    • 《 Applying UML and Patterns 》
    • 《 UML Applied: A .NET Perspective 》
    • 《 Practical UML- A Hands-On Introduction for Developers 》
    • 《 Practical Object-Oriented Design with UML 》
    • 《 Object Design: Roles, Responsibilities, and Collaborations 》
  • 42. Q&A 谢谢