第十一章 OOD(面向对象设计)
- 格式:ppt
- 大小:72.00 KB
- 文档页数:34
OOD模型设计目录1 面向对象设计(OOD)的定义? (3)2 面向对象设计(OOD)与面向对象分析(OOA)的关系? (3)3 面向对象设计(OOD)的特点? (3)4 面向对象设计(OOD)过程以及过程模型? (4)4.1 问题域部分的设计 (6)4.2 人机交互部分的设计 (7)4.3 控制驱动部分的设计 (8)4.4 数据管理部分的设计 (9)4.5 构件及部署部分的设计 (10)1 面向对象设计(OOD)的定义?在面向对象分析阶段,已经针对用户需求建立起用面向对象概念描述的系统分析模型。
在设计阶段,要考虑为实现系统而采用的计算机设备、操作系统、网络、数据库管理系统以及所采用的编程语言等有关因素,进一步运用面向对象的方法对系统进行设计,最后形成一个可以实现的设计模型,即面向对象设计模型。
2 面向对象设计(OOD)与面向对象分析(OOA)的关系?在面向对象分析阶段,针对的是现实世界,把需求转化为面向对象概念所建立的模型,以易于理解问题域和系统责任,最终建立一个映射问题域,满足用户需求,独立于实现的OOA模型,面向对象的设计就是在面向对象分析的基础上运用面向对象方法主要解决与实现有关的问题,目标是产生一个符合具体实现条件的OOD模型。
由于OOD以OOA为基础,且OOA与OOD采用一致的表示法,使得从OOA到OOD不存在转换,只需做必要的修改与调整。
OOA与OOD之间不存在传统方法中分析与设计之间的鸿沟,二者能够紧密衔接。
OOA与OOD之间不强调阶段划分,但是OOA与OOD有着不同的侧重点和不同的分工,并因此具有不同的开发过程及具体策略。
“分析”只针对问题域和系统责任,不考虑实现有关的因素,建立一个独立于实现的OOA模型;”设计“则考虑与实现有关的问题,如选用的编程语言、数据库系统和图形用户界面等,建立一个针对具体实现的OOD模型。
3 面向对象设计(OOD)的特点?•以面向对象的分析为基础,一般不依赖结构化分析•与相应的OOA方法共同构成OOA&D方法体系,OOA和OOD采用一致的概念与原则,但属于软件生命周期的不同阶段,有不同的目标和策略•较全面地体现了面向对象方法的概念与原则•大多数OOD方法独立于编程语言,但是具体应用OOD时,则要考虑特定编程语言,因为它通过面向对象的设计所得到的系统模型,要由确定的编程语言实现4 面向对象设计(OOD)过程以及过程模型?在OOA 阶段只考虑问题域和系统责任,在OOD阶段则要考虑与具体实现有关的问题,这样做的目的是•使反映问题域本质的总体框架和组织结构长期稳定,而细节可变•把稳定部分(问题域部分)与可变部分(与实现有关的部分)分开,使得系统能从容地适应变化•有利于同一个分析模型用于不同的设计和实现•支持系统族和相似系统的分析与设计•使一个成功的系统具有超出其生存期的可扩展性为达到上述目的,设计如下的面向对象设计模型从一个侧面观察OOD模型,它包括一个核心部分,即问题域部分;还包括四个外围部分,即人机交互部分、控制驱动部分、数据管理部分以及构件及部署部分。
面向对象设计---在线视频分享(YLSN)--OOD
1、语言和框架选择
基本先前所学知识,本系统采用面向对象的java语言进行开发,并基于SSH框架的MVC设计模式,很大程序增强了系统的开发效率与后期的维护成本。
2、类图
3、包图
actionforms:指任务提交表单类所在的包,如用户注册表单
actions:指任务的处理和控制类所在的包,如用户登陆LoginAction
dao:系统所有接口所在的包,如数据库管理类DatabaseManager
mananger:数据库操作类所在的管理包,如数据库管理类的实现类DatabaseManagerImp
pojos:所有实体类所映射对象的集合,实体类的映射MyVideo
utils:系统工具类所在的包,包括property属性的读取等
4、顺序图
、协作图
5
6、数据库设计
本系统共7张表,包括管理员表、公共图片表、友情图片表、初始参数表、伴图图片表
用户表、视频表,各表结构如下:。
OOD、OOP、AOP区别
OOD:⾯向对象设计(Object-Oriented Design,OOD)⽅法是OO⽅法中⼀个中间过渡环节。
其主要作⽤是对OOA分析的结果作进⼀步的规范化整理,以便能够被OOP直接接受。
OOP:⾯向对象编程(Object Oriented Programming,OOP,⾯向对象程序设计)是⼀种计算机编程架构。
OOP 的⼀条基本原则是计算机程序是由单个能够起到⼦程序作⽤的单元或对象组合⽽成。
AOP:AOP为Aspect OrientedProgramming的缩写,意为⾯向切⾯编程。
所谓的⾯向切⾯编程其实是对业务逻辑⼜进⾏了进⼀步的抽取,将多种业务逻辑中的公⽤部分抽取出来做成⼀种服务(⽐如⽇志记录,性能统计,安全验证等),从⽽实现代码复⽤。
另外这种服务通过配置可以动态的给程序添加统⼀控制,利⽤AOP可以对业务逻辑的各个部分进⾏分离,从⽽使得业务逻辑各部分之间的耦合度降低。
简述面向对象设计的原则。
面向对象设计(简称OOD)是一种软件设计方法论,它基于建模和模块化方法,将一个复杂的系统分解成一系列用于交互的简单的对象。
它的目的是使设计过程变得更加容易,从而使维护和更新更容易。
面向对象设计遵循一些基本原则,包括:一、(单一职责原则)每个对象应只负责一项功能,以及它应该完成指定任务的所有职责,而不会担负任何其他任务。
例如,在一个购物系统中,顾客对象只应负责处理客户订单,而不应该负责订单处理系统的管理。
这样做的目的是减少代码重复,降低系统整体耦合度,并降低系统的复杂性,从而使系统变得更加可维护和可扩展。
二、(开放-封闭原则)软件实体(如类、模块、函数)应该是可以扩展的,但是不可修改。
也就是说,软件实体对拓展应该是开放的,对修改是封闭的。
这样做可以使得新功能更容易添加,而不需要更改已有的功能。
三、(里氏替换原则)子类必须能替换他们的父类。
也就是说,子类的行为要与父类的行为保持一致,以便它能够替换父类而不会破坏原有的系统结构。
这种关系称为“is-a”关系,因为它表明子类和父类有一定的关系,而且子类是其父类的一个实例。
这样做的好处是,当要拓展功能时,只需要创建新的子类,而不需要修改父类,从而减少了系统的复杂性。
四、(接口隔离原则)客户端不应该依赖于它不需要的接口。
也就是说,对接口的依赖应该尽可能的小,客户端只应该依赖于它需要的接口。
这样做的好处在于,当有要求变更或拓展新功能时,只需要改变相关接口,而不需要改变客户端,从而可以减少系统的维护和更新成本。
五、(依赖倒置原则)抽象(通用)不应该依赖于具体(特殊),具体(特殊)应该依赖于抽象(通用)。
也就是说,程序应该依赖于通用的抽象接口,而不应该依赖于非标准的具体实现。
这样做的目的是让代码更容易维护和更新,从而减少系统的复杂性。
六、(协作原则)一个类应该尽可能多的协作,而不是尽可能多的执行。
也就是说,类之间的交互应尽可能少,类的实现应尽可能多。
面向对象设计知识点面向对象设计(Object-Oriented Design,简称OOD)是软件工程领域中的重要概念,它是一种以对象为基本构建单元的设计方法。
对象是由数据属性(属性)和操作方法(方法)组成的封装体,通过类的定义来创建对象。
面向对象设计具有灵活、模块化、易维护等优点,被广泛应用于各种软件系统开发场景。
本文将介绍面向对象设计中的一些重要知识点,包括封装、继承、多态和抽象等。
一、封装封装是面向对象设计的核心概念之一,它将数据和行为封装在一个对象内部,对象对外部隐藏了具体的实现细节,只暴露出一组接口供其他对象使用。
封装可以有效地保护对象的数据,提高了代码的可维护性和可重用性。
在封装中,我们需要关注以下几点:1. 数据隐藏:将对象的数据设置为私有(private)属性,通过公有(public)方法来获取和修改数据,确保对象数据的访问受到限制。
2. 隐藏实现细节:对象应该将内部的实现细节隐藏起来,只提供有限的接口给外部使用,这样可以避免外部对对象的依赖,同时也方便后续对实现进行修改和优化。
二、继承继承是面向对象设计中实现代码重用的一种方式。
通过继承,一个类可以继承另一个类的属性和方法,并在此基础上进行扩展或修改。
被继承的类称为父类或基类,继承的类称为子类或派生类。
继承有以下特点:1. 单继承和多继承:单继承表示一个子类只能继承自一个父类,而多继承允许一个子类同时继承自多个父类。
2. 继承关系:子类继承了父类的属性和方法,并可以添加新的属性和方法或覆盖父类的方法。
3. 代码复用:继承可以避免重复编写相同的代码,提高代码的可维护性和可读性。
三、多态多态是面向对象设计的重要特性,它允许子类对象对父类的方法进行不同的实现。
多态性使得我们可以通过父类引用指向不同子类的对象,并根据实际的子类类型来调用相应的方法。
多态性的特点包括:1. 重写(覆盖):子类可以重写父类的方法,实现自己的特定逻辑。
2. 动态绑定:运行时根据对象的实际类型来动态地调用方法,而不是根据引用类型来确定调用哪个方法。