课程概况


讲述内容

本课程从软件开发方法学的角度,讲述面向对象的理论、方法与技术体系,主要内容包括:


基础知识

介绍软件开发方法学概述, 讲述面向对象方法的基本概念及主要特点, 分析比较各种建模方法, 简要介绍 UML及本课程的 OO 方法概貌


面向对象的分析 OOA

介绍如何通过研究问题域和用户需求, 发现问题域中与系统责任有关的对象、对象的特征和互关系,建立一个直接映射问题域、符合用户需求的 OOA 模型。


面向对象的设计 OOD

首先在 OOA 基础上, 介绍如何运用面向对象的概念与原则, 按照具体的实现条件进行系统设计, 产生一个可实现的 OOD 模型。

进而介绍如何将模型优化,得到易于演化和实现的设计,主要介绍设计模式。


专题研讨

课程进行中,会就新型软件开发技术、程序设计范型、编程语言等专题进行报告研讨。

鼓励同学们报名做技术专题报告, 和大家分享知识,共同研讨。

技术报告主题范围(不限于):


建模实践

主要用面向对象方法完成一个小型系统的分析、设计与实现验证。该系统在系统原型完成后可能会有需求变更,因此要针对该变更调整设计与实现。总结报告需要涵盖如下内容:

时间安排:

序号 时间 内容
1 公开募集题目和需求设计 W5
2 小组自由组队(2-3人),确定题目 W6
3 完成系统开发和部署 W7-11
4 甲方初次验收并提出需求变动 W12
5 进一轮开发 W13-15
6 甲方再次验收并提交验收报告 W16

公开募集题目和需求设计

有兴趣当甲方的同学提交题目和详细的需求设计。系统功能不需要太复杂,要体现面向对象的方法并考虑未来的需求变动。甲方不需要进行项目开发,承担项目管理的角色。乙方需要用面向对象技术进行项目开发。

题目发布与组队选题

任务1提交后, 我们会选取几位同学作为甲方,他们的需求设计将成为大作业的题目。其他同学选择感兴趣的题目,成为乙方。

甲方的任务是学习如何管理软件项目的研发,进行过程管理。需和乙方沟通,根据 乙方的进度和自己的实际需求,管理需求变更。

需求变更

甲方对乙方的研发任务初次验收后,发布变更的需求(需求变更是软件开发过程中常见的情况),良好的面向对象设计应能较好地适应需求变更,以较低的成本取得较高的开发质量。

再次验收

乙方根据变动的需求再次开发完成后,提交所有设计文档和代码。甲方进行验收并评估,提交验收报告,对自己的题目和需求变更的合理性、乙方完成程度进行分析。


考核要求


教材与参考书

教材:

参考书:


参考资料

转发一个设计分析

设计模式

软件体系结构风格, 数据库

UML工具

消息, 消息中间件, 并发编程

继承 vs 组装

需求分析

软件开发技术

关于面向对象


其他声音