课程概述

    随着计算机与互联网在经济与日常生活中的渗透,各种形态的软件层出不穷,本课程就是学习如何把编程语言、软件设计的原则和方法、用户交互等方面的知识和工具,融合到增量迭代的开发流程,把实际的问题通过“设计、编写、测试和调试的软件设计的能力。课程内容主要包括:

l  软件设计模式的特点和面向对象设计一般基本原则。

l  软件设计模式之创建型模式:简单工厂模式、工厂模式、抽象工厂模式、单例模式、原型模式。

l   软件设计模式之结构型模式:适配器模式、桥接模式、组合模式、外观模式。

l  软件设计模式之行为型模式:命令模式、观察者模式、策略模式。

课程以刘伟教授编著,清华大学出版社于2018年出版的《C#设计模式》为教材,按照软件设计模式的原则、方法和技术,优化课程内容、组织结构和授课方式,将教材、PPT、程序代码、课后辅助材料等整合到一起,望给学习者提供优秀的教学资源

 

证书要求

期末成绩按照卷面成绩与平时成绩综合折算


预备知识

C#程序设计语言

数据结构基础

面向对象程序设计

授课大纲

第 1 章 软件开发概述

1.3 软件开发过程

1.6 为什么不直接编写软件

1.1 程序与软件 &1.2 软件生存周期

1.7 案例导读

1.4 敏捷开发

1.5 软件构造

1 软件开发概述测验

第 0 章 前言

0 前言

第 2 章 模块化软件构造

2.5 调试程序

2.6 案例分析与实践

2.7 讨论与提高

2.1 分解与模块化

2.2 数据结构与算法

2.3 模块化设计理论初步

2.4 测试程序

2 模块化软件构造测验

第 3 章 面向对象的软件构造

3.4 调试的基本技术

3.1 抽象与封装

3.3 面向对象的设计

3.6 案例分析与实践

3.7 讨论与提高

3.5 软件自动化测试

3.2 认识面向对象

3 面向对象的软件构造测验

面向对象软件构造实践

第 4 章 数据处理的软件构造

4.7 运用JUnit

4.4 字符串处理与正则表达式

4.2 文件与输入/输出流

4.5 程序中数据集的使用

4.6 基于程序结构的调试

4.3 编写健壮的程序

4.1 数据及其持久化

4.9 讨论与提高

4.8 案例分析与实践

4 数据处理的软件构造测验

数据处理的软件构造实践

第 5 章 用户交互的软件构造

5.4 静态测试

5.1 程序及其功能的使用

5.5 软件集成与测试

5.7 讨论与提高

5.3 用户交互的开发

5.6 案例分析与实践

5.2 用户交互概述

5 用户交互的软件构造测验

第 6 章 软件重构与交付

6.4 讨论与提高

6.2 软件交付

6.1 代码重构

6.3 案例分析与实践

6 软件重构与交付测验

第 7 章 GUI软件构造

7.1 GUI简介

7.3 Java GUI设计模式

7.5 案例分析与实践

7.2 GUI的基本元素与设计规范

7.4 事件驱动编程

7 GUI 软件构造测验

第 8 章 应用数据库

8.5 案例分析与实践

8.1 数据库概述

8.3 数据库的开发过程

8.4 编程操作数据库

8.2 结构化查询语言

8 应用数据库测验

第 9 章 基于复用的软件构造

9.5 讨论与提高

9.3 框架

9.4 案例分析与实践

9.1 软件复用

9.2 设计模式

9 基于复用的软件构造测验

参考资料

教材:《C#设计模式(第2版)》,刘伟著,清华大学出版社,2018年。

参考教材:

1)《设计模式沉思录》, John Vlissides ,人民邮电出版社2015年。

2)《大话设计模式(第5版)》,程杰著,清华大学出版社,2012年。

3)研磨设计模式,陈臣王斌著,清华大学出版社2011年。.

4)《设计模式-可复用面向对象软件的基础》,Erich Gamma著,机械工业出版社,2013年。

5)《云计算架构设计模式》, Alex Homer著,华中科技大学出版社,2017年。

6)《重构改善既有代码的设计》, Martin Fowler著,人民邮电出版社,2015年。