软件工程(八)OOAD及面向对象概念及设计
目录
一、面向对象分析
1)面向对象起源
2)对象建模原则
3)⾯向对象的分析⽅法
二、面向对象设计
1)面向对象设计过程
2)⾯向对象思维⽅式的核⼼理念
三、类图建模
1)建⽴类图的步骤
2)类图建模⻛格
一、面向对象分析
1)面向对象起源
- ⾯向对象程序设计
- 数据库设计
- 结构化分析
- 知识表⽰
面向对象分析的五个核心概念:对象、属性、结构、服务和主题
2)对象建模原则
1、抽象
- 在对象间找出共性,忽略不相关细节
- 关注对象间的一般/特殊关系:将具有相同属性或角色的对象放入同一个类集合中,再通过父子关系,将由共性的类定义为同一个父类的子类
- 继承:⼀般—特殊结构,可以自底向上(从特殊到⼀般的类),也可以自顶向下(从⼀般到特殊的类)
2、分解
- 表达整体部分关系,细分为聚合和组合
3、服务建模
- 瞬时服务(Occurrence services):对象的创建、结束,修改等等
- 计算服务(Calculate services):对象为其他对象完成计算任务等
- 监控服务(Monitor services):对象持续监控流程,检查预设条件是否满⾜
4、投影
- 从多个视角分别建模问题的不同方面
3)⾯向对象的分析⽅法
- 识别对象和类(类是对象的抽象定义)
- 找出候选类:用例描述中的所有名词
- 排除超出问题关注的范围的类; 指代整个系统的类; 功能重复的类; 过于含糊或过于具体的类
- 识别类之间的关系,建⽴由继承和组合关系组成的类层次结构
- 定义主题,通过主题将对象模型组织成多个抽象层次或视⾓,⼀般说来通过继承关系或整体部分关系联系起来的类同属于⼀个主题
- 识别各个对象内部的属性信息,并将其赋予相应抽象层次的类
- 为每个类定义服务
二、面向对象设计
1)面向对象设计过程
- 进行适当的领域分析
- 撰写问题描述,确定系统的开发任务
- 基于问题描述抽取需求 • 开发用户界面原型
- 识别对象类 • 定义每个类的职责
- 确定类之间的交互关系
- 建立系统的设计模型
2)⾯向对象思维⽅式的核⼼理念
- 区分接⼝与实现
- 从具体到抽象
- 最⼩接⼝原则
三、类图建模
1)建⽴类图的步骤
- 研究分析问题领域,确定系统的需求。
- 发现对象与类,明确它们的含义和责任,确定属性和操作。
- 发现类之间的关系。把类之间的关系⽤关联、泛化、聚集、组合、依赖等关系表达出来。
- 设计类与关系。调整和细化已得到的类和类之间的关系,解决诸如命名冲突、功能重复 等问题。
- 绘制类图并编制相应的说明。
2)类图建模⻛格
- 属性名和类型应该⼀致
- 不要对有关联类的关联命名。
- 静态操作/属性要在实例操作/属性之前列出。
- 以可⻅性降低的次序列出操作/属性。
- 避免已被语⾔的命名规范所隐含的版型。
- 总是指明多样性
- 不要对每个依赖关系都建模
- 将⼦类放在超类的下⽅
- ⼩⼼基于数据的继承
- 按惯例是把整体画在部分的左边
软件工程(八)OOAD及面向对象概念及设计相关推荐
- 《软件工程》第十章 面向对象分析与设计 作业
1.用例之间具有哪三种关系?这三种关系分别表达什么含义?举例说明之. 包含(include) 包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定 ...
- 面向对象分析与设计--OOAD
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流.面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围.如数据库系统.交互式界面.应 ...
- OOAD 面向对象分析与设计
OOAD 面向对象分析与设计2007年06月16日 星期六 下午 04:38OOAD(Object Orient Analysis & Design,面向对象的分析和设计,面向对象分析与设计) ...
- UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)
文章目录 1. UML2面向对象分析与设计 学习目标 2. 面向对象思维 2.1 学习目标 2.2 什么是面向对象 2.3 面向对象技术的发展历史 2.4 面向对象技术的优势 2.4.1 便于沟通:在 ...
- 面向对象分析与设计(OOAD)
面向对象分析与设计(OOAD) 概述 人是怎么认识事物的 分类与分层的两种思维 问题域到解空间的映射 软件生命周期 要解决的问题 三个一致性 面向对象分析与设计过程 对象从哪里来 发现对象的方法 组织 ...
- 软考——软件工程——面向对象分析与设计方法
目录 1,面向对象的基本概念 2,面向对象分析与设计 2.1,面向对象分析OOA 2.2,面向对象设计OOD 2.3,面向对象编程OOP 面向对象(Object-Oriented)OO. 面向对象的基 ...
- 面向对象程序设计课程设计:利用决策树方法判定西瓜质量
目录 第一章课程设计的目的及要求 1.1课程设计目标 1.2课程设计实验环境 1.3课程设计的预备知识 1.4课程设计要求 第二章课程设计的内容 2.1c++语言程序设计--<利用决策树方法判定 ...
- 面向对象的几大设计原则
对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一.在面向对象设计中,可维护 ...
- 面向对象的关系数据库设计
面向对象的关系数据库设计 一.概念的区分 有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈.其实前者是数据库用户定义数据库模式的思路,后者是数据库 ...
最新文章
- 2022第一位华为“天才少年”来了!绩点1.8逆袭!
- arcgis for server 登陆manager失败解决办法
- hive-数据倾斜记录分享
- Nginx教程--配置
- unity3d 动态合批设置_【CocosCreator】突破动态合图
- win10删除开机密码_教你电脑如何设置开机密码_win10教程
- 网络模型 OSI七层协议和TCP/IP四层协议
- SQL Server数据库简繁体数据混用的问题
- 吹响数字经济时代的冲锋号 2021宝德X86生态伙伴大会在深召开
- 【工作记录】SpringMVC下js提交大数据量到controller失败解决
- GeoTools-WKT\GeoJson相互转换
- 按字母顺序排列c语言,C语言有n个国家名,要求按字母先后顺序排列,并按升序输出。(要求:尽量使用标准字符串函数)...
- 51单片机c语言相位计,相位计.doc
- 迅雷离线配合Internet Download Manager下载ED2K链接
- 如何成为一个高效、快乐、健康的程序员
- 〖Python 数据库开发实战 - Python与Redis交互篇⑫〗- 综合案例 - 新闻管理系统 - 删除新闻(含redis缓存)
- 管理信息系统案例分析_7.软件需求最佳实践笔记 | 需求分析与建模(一)
- 听见丨HTC发布新款Vive Pro,采用高分辨率OLED屏并内置耳机 高通在CES上发布新芯片,可将蓝牙耳机续航延长3倍
- zimbra mysql stopping_zimbra数据备份
- DFS BFS简单理解