在开始进行对象分析和设计之前,先通过“扔骰子”这个软件(游戏者扔两个骰子,如果总是是7,则赢,否则输),来简单分析下这个过程。

1:用例

需求分析,可能包括人们如何应用的场景或情节,这些都可以被编写成用例。

用例不是面向对象的制品,只是对情节的记录。比如,对于“扔骰子”这个游戏,用例是:

骰子游戏:游戏者请求扔骰子,如果骰子的总点数是7,则游戏者赢,否则游戏者输。

2:领域模型

可以用领域模型来展示用例中重要的概念或者对象

3:定义交互图

面向对象设计关注软件对象的定义--他们的职责和协作,顺序图就是描述协作的常见表示法。它展示了软件对象之间的消息流,和由消息引起的方法调用。

4:类设计图

除了用交互图表示对象协作的动态视图外,还可以用类设计图来有效表示类定义的静态视图,来描述类的属性和方法

比如,根据交互图,我们可以得出一下结论

  1. 向骰子游戏发送了 “游戏开始”的指令,因此,骰子游戏类,需要一个play方法
  2. 扔骰子,得到点数结果,因此,骰子类,需要一个Roll和GetFaceValue方法。

总结:骰子游戏很好的涵盖了面向对象分析和设计的时候,所需要进行的步骤,有很好的参考作用。

最新文章

  1. jvm系列(三):java GC算法 垃圾收集器
  2. poj2217
  3. sizzle编译函数
  4. Linux安装JDK1.7
  5. Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(二)
  6. Html5的表单
  7. eclipse导入Android项目后,项目的名称变为了主Activity的名称
  8. java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子
  9. C++著名程序库的比较和学习经验 (转)
  10. C# 数据结构--排序[上]
  11. SQL Server 2005的XML数据修改语言(XML DML)
  12. scrollTop 值为 0
  13. asp.net core + mysql + ef core + linux
  14. tabbar颜色与文字大小,状态栏样式
  15. XCode里的模拟器到底在哪里?我的App被放到哪里了?如何寻找真机的沙盒文件?
  16. hive、impala集成ldap
  17. 一、Python表达式基础
  18. jsp和
  19. js---设置cookie的方法
  20. 2010-10-08在浏览器中兼容+jQuery3

热门文章

  1. KVC/KVO之暴力的KVC
  2. VC++ GetSafeHwnd用法
  3. Hibernate_day04--课程安排_Hibernate查询方式_对象导航查询_OID查询
  4. 剑指 offer set 26 不用加减乘除做加法
  5. Qt slot中获取sender
  6. 通过chrome浏览器调试手机页面(IOS和Android)
  7. Session过期后自动跳转到登录页面的实例代码
  8. java基础---->Java中异常的使用(二)
  9. 【BZOJ3894】文理分科 最小割
  10. Python全栈day21(函数的解耦)