优秀的软件需要精心的设计!如何设计软件,使其不仅能满足当前的需要,还能适应今后变化的需要,这是IT企业迫切需要的技能。
《面向对象分析与设计》是软件工程专业重要的专业基础课,适合具备了一定的面向对象语言 (如 Java 、 C++ 等)编程能力的同学进一步深造,在开发实际的软件项目时,给出良好的设计方案。
《面向对象分析与设计》课程讲解的核心:
-面向对象的思维方式;
-如何对问题领域进行分析,抽象出领域概念、关系等,并设计领域模型;
-如何定义待开发系统的软件类、软件类的属性,如何在软件类之间分配系统职责、如何定义软件类之间的关系。课程会讲解一些专业的技术、方法,如名词法、CRC(类-关系-协作)方法等;
-面向对象分析设计的原则、职责分配原则GRASP、常用设计模式。同时,通过UML工具,如类图、顺序图、状态图等,展示、验证设计方案的可行性、合理性。
软件设计是一门艺术,设计师的理念、经验、知识、灵感都会映射到设计方案上。通过课程的学习,帮助同学们在设计理念、设计能力等方面得到提升,为若干年之后成为优秀的软件设计师打下基础。
第1章 面向对象概述
1.1 序言
1.2 课程定义
1.3 面向对象思想的起源
1.4 面向对象的基本概念
1.5 面向对象的思考方式
1.6 面向对象的核心特征(一)
1.7 面向对象的核心特征(二)
第一章单元测试
第2章 建模工具UML
2.1 UML序言
2.2 用例模型
2.3 活动图
2.4 类图
2.5 顺序图
2.6 通信图
2.7 状态图
第2章单元作业
第二章 单元测验
第3章 面向对象分析(一)
3.1 面向对象分析与设计概览
3.2 面向对象分析方法(一) 名词法
3.3 面向对象分析方法(一) 名词法案例
3.4 面向对象分析方法(二) 分析模型法
3.5 面向对象设计(初步)
第3章 单元作业
第3章 单元测试
第4章 面向对象分析 (二)
4.1 标识概念类和对象的注意点
4.2 CRC方法标识概念类
4.3 CRC方法建模的一些规则
4.4 CRC方法建模的案例:ATM取款机软件
第4章单元测试
第4章单元作业
第5章 领域模型
5.4 系统顺序图
5.5 其他的需求信息
5.1 领域模型定义
5.2 领域模型建模指导
5.3 领域模型案例
第5章单元作业
第5章单元测试
第6章 从分析到设计
6.1 准备高质量的用例模型
6.2 高质量的用例描述
6.3 契约式设计
6.4 操作契约
6.5 开始进入设计
6.6 面向对象设计
第6章单元作业
第6章单元测试
第7章 设计原则GRASP(一)
7.1 GRASP原则一:创建者
7.2 GRASP原则二:信息专家
7.3 GRASP原则三:低耦合
7.4 GRASP原则四:控制器
7.5 GRASP原则五:高内聚
第7章单元作业
第7章单元测试
第8章 设计原则GRASP(二)
8.1 GRASP原则六:多态
8.2 GRASP原则七:纯虚构
8.3 GRASP原则八:间接
8.4 GRASP原则九:隔离变化
8.5 其他面向对象设计原则1:开-闭原则
8.6 其他面向对象设计原则2
8.7 其他面向对象设计原则3:依赖倒置原则
第8章单元作业
第8章单元测试
第9章 GOF设计模式(一)
9.1 关于设计模式
9.2 GOF设计模式一:单实例
9.3 GOF设计模式二:适配器
9.4 GOF设计模式三:外观
9.5 GOF设计模式四:观察者模式(一)
9.6 GOF设计模式四:观察者模式(二)
第9章单元测试
第9章单元作业
第10章 GOF设计模式(二)
10.1 策略模式
10.2 修改后的设计方案
10.3 简单工厂模式
10.4 工厂模式
第10章单元测试
第11章 成为好的架构师
11.1 心存志远
11.2 成为一个好的架构师(一)
11.3 成为一个好的架构师(二)
11.4 课程总回顾

