`
coolme200
  • 浏览: 10096 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

object-oriented modeling and design 学习笔记 v1

阅读更多
面向对象定义:把软件组织成一系列离散的,合并了数据结构和行为的对象。
大致包含四个方面:标识(identity),分类(classification),继承(inheritance),多态(polymorphism)
OO开发是一种思维方式,而不是一种编程技术。
抽象:使我们可以专注于应用程序最本质的那些方面,同时忽略细节。意味着在实现功能前要先关注对象是什么,做了什么。使用抽象机制可以自由的尽可能的制定决策,避免不成熟的细节承诺。
封装:阻止程序的组成部分过于依赖。
建模的过程中不要寻找绝对的真理,在某种意图上充分就行了。对于一个场景来说,没有单个正确的模型,只有充分和不充分的模型。
三种模型:
类模型:表示系统静态的,结构化的“数据”层面。分析模型不应该包含计算机制品。
状态模型:表示系统时序的,行为的“控制”层面。每副状态图都显示了系统内允许的某个对象类的状态和事件序列。
交互模型:表示独立对象的协作,系统的“交互”层面。独立对象如何协作,来从整体上完成系统的行为。用例图,顺序图和活动图描述交互模型。用例图描述系统和外部参与者交互的主要内容。顺序图显示交互的对象和交互的时间顺序。活动图显示计算的处理步骤之间的控制流。
典型的软件过程合并了所有三个方面:使用数据结构,按时间设定操作顺序,并在对象之间传递数据和控制。
模型之间的关系:有限而清晰的互联。设计好的系统要做到隔离系统的不同层面,限制他们之间的耦合。
软件过程中各类人员的协作:分析师:不考虑最终实现的情况下创建应用程序的模型。设计人员给模型添加解决方案制品。实现人员为应用程序和解决方案制品编码。
模型可以从两个维度来理解:系统的视图(三个模型)和开发的阶段(分析,设计,实现)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics