Intro
面对对象的程序设计提供了一种新的思维方式,软件设计的焦点不再是程序的逻辑流程,而是软件或程序中的对象以及对象之间的关系。使用面向对象的思想进行程序设计,能够更好的设计软件架构、维护软件模块、易于框架和组件的重用。
面对对象是一种方法学。面对对象是一种描述业务问题——设计业务实体和实体之间关系的方法。面对对象主要用于软件开发的分析和设计阶段,通常使用UML(统一建模语言)进行建模。
统一建模语言并不是软件设计开发的方法,而是一种描述软件开发过程的图形化标记。UML使用若干种模型图来描述软件开发中的每个重要步骤。
Knowledge
类图(Class Diagram):类图描述系统中类的静态结构。不仅定义系统中的类,还表示类之间的联系,如:关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。
对象图(Object Diagram):对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。
用例图(Use Case Diagram):用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。
顺序图(序列图)(Sequence Diagram):顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。
活动图(Activity Diagram):活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动,活动图描述了用例要求所要进行的活动(工作流程),以及活动间的约束关系,有利于识别并行活动。
状态图(Statechart Diagram): 状态图是一个类对象可能经历的所有历程的模型图,状态图描述了类的对象所有可能经历的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。
协作图(Collaboration Diagram):协作图描述对象间的协作关系,协作图与顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。
构件图(Component Diagram):构件图(组件图)为系统的构件建模型—构件即构造应用的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响。
部署图(Deployment Diagram):部署图是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。
九种模型图分为三大类:
结构分类包括:用例图、类图、对象图、构件图和部署图,
动态行为包括:状态图、活动图、顺序图和协作图,
模型管理包括:类图
UML各图之间的关系:
术语说明
BD:Base Design 基本设计
DD:Detailed Design 详细设计
FD:Functional Design 功能设计
Apply
apply1:类图
apply2:对象图
apply3:用例图
apply4:顺序图
apply5:活动图
apply6:状态图
apply7:协作图
apply8:构件图
apply9:部署图
Result
图例标记都可以使用UML建模工具绘制,如Rational Rose。使用这些建模工具可以准确、快速的描述系统的行为。Rational Rose虽然能更好的管理对象,但也因其软件的庞大,必须学习每种图形的绘制方法。
建模工具只是辅助系统分析、设计的手段,也可以使用手写的方式描述系统模型。最重要的是能够清晰、准确的分析和设计程序,而不是软件工具的优劣。
领取专属 10元无门槛券
私享最新 技术干货