《软件设计》教学大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GDOU-B-11-213
《软件设计》教学大纲
课程简介
课程简介:
软件设计是软件工程专业人员必须掌握的基础知识,也是高等院校软件工程专业学生的必修课程。

本课程主要是:结合传统的软件工程和面向对象、
面向模式的软件设计方法,讲授软件设计的基本原理、软件过程、开发方法、
应用技术以及系统框架等。

主要内容包括:软件过程的概论;软件设计原则、统一建模语言UML和代码级设计;设计模式(创建型设计模式、结构型设计模式、行为型设计模式);
组件(JavaBeans、Microsoft组件集);面向对象分析与设计。

对于各种设计
模式,都有实例作为实验教学内容。

课程大纲
一、课程的性质与任务:
本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。

其任务是讲授软件设计的基本原理,在传统软件工程的
基础上,掌握软件设计的基本原理、软件过程、开发方法、硬功技术以及系
统框架等。

从而全面掌握软件设计思想。

同时通过实例介绍各种设计模式。

二、课程的目的与基本要求:
1.掌握软件模式的基本概念。

2.掌握应用软件构件技术开发系统。

3.掌握面向对象软件技术开发工程过程。

三、面向专业:
软件工程、计算机类
四、先修课程:
计算系统基础,Java,软件工程,数据结构
五、本课程与其它课程的联系:
本课程以计算系统基础,Java语言,软件工程,数据结构等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能
将数据结构、Java、软件工程等课程的知识融入到本课程之中。

六、教学内容安排、要求、学时分配及作业:
第一章:软件过程(2学时)
软件过程概述(A);需求分析用(A);设计(B);编码(A);测试(A);维
护(A)。

第二章:程序设计回顾及软件设计导论(2学时)
第一节:“软件设计”的含义
设计原则、统一建模语言和代码级设计(A);设计模式(A);组件(A);面
向对象设计和分析(B)。

第二节:函数的说明文档
Java编码标准(A);详细说明函数功能(A);描述函数如何符合它的规范(A);出错处理(A)。

第三节:回顾编写函数时应具有的编程好习惯
变成好习惯(A)。

第四节:软件设计的目标
示例(A);正确性、充足性、模块性和可读性(A);健壮性(A);灵活性(A);可重用性(A);高效性(A);其他设计目标:可靠性和可用性(A)。

第五节:软件设计符号
设计符号(A)
第三章:面向对象(2学时)
第一节:面向对象的目标
目标(A)。

第二节:类和对象
类的引入(A);实例化(A);类的成员(A);面向对象中的“客户”概念(A)。

第三节:面向对象的特点
继承(A);多态性(A);接口和封装(B)。

第四章:统一建模语言(2学时)
第一节:UML中类的关系
UML的目标(A);UML中的类(A);继承(A);聚合(A);依赖性(A);关联
(A);示例(A)。

第二节:用例
什么是用例(A);用力的集合(A);组合用例(A)。

第三节:时序图
时序图的组成部分(B)。

第四节:状态模型
状态的含义(A);事件(A);转移(A);状态转移图(B)。

第五节:活动图
活动图的符号(A);使用活动图的例子(A)。

第五章:设计准则Ⅰ:正确性和健壮性(2学时)
第一节:正确性和充分性
实现正确性的途径(B);模块接口(B;模块化(B);为正确性和充分性而重
整(B)。

第二节:健壮性
检查输入(A);为提高健壮性而初始化(B);提高健壮性的参数传递技术(B);
强化意图(B)。

第三节:设计细节:充分性
设计细节:充分性(B)。

第六章:设计准则Ⅱ:灵活性、可重用性和高效性(2学时)
第一节:灵活性
灵活性的目标(A);用于增加更多同类型功能的设计(A);用于增加不同类型功能的设计(A);设计的灵活性(A)。

第二节:可重用性
可重用性的目标(A);函数设计的可重用性(B);基于重用的类选择(B);
基于重用的类组合(B)。

第三节:高效性
执行效率(B);存储效率(B)。

第四节:健壮性、灵活性、可重用性与高效性之间的折中
折中(B)。

第七章:设计模式导论(2学时)
第一节:可重现设计目标
可重现设计目标的实例(A)。

第二节:设计模式的概念
不使用设计模式的实例(B);使用设计模式的实例(B);
第三节:按类型总结设计模式:创建型、结构型、行为型
创建型设计模式(B);结构型设计模式(B);行为型设计模式(B)第四节:设计模式的特征:观点、角色、层次
描述模式的两种观点:静态和动态(B)、模式的两个层次:抽象和具体(B);
模式使用的三个角色:模式应用、客户和建立(B)。

第五节:设计模式的形式:委托和递归
委托的起源和意义(A);Delegation设计模式的形式(B);Recursion设计
模式的形式(B)。

第八章:创建型设计模式(2学时)
第一节:创建型设计的目标
目标(A)
第二节:Factory设计模式
Factory设计模式的目标(A);Factory设计模式的客户端接口(A);Factory
设计模式的类模型(B);Factory设计模式的时序图(A);Factory设计模
式的应用实例(A)。

第三节:Singleton设计模式
Singleton设计模式的目标(A);Singleton设计模式的客户端接口(A);
Singleton设计模式的类模型(B);Singleton设计模式的应用实例:试验
(A);Singleton设计模式在Java API中的应用(A);Singleton设计模式
小结(B)。

第四节:Abstract Factory设计模式
Abstract Factory设计模式的目标(A);Abstract Factory设计模式的客
户端接口(A);Abstract Factory设计模式的类模型(B);Abstract Factory
设计模式的时序图(A);Abstract Factory设计模式的实例:“字处理器”
(A);Abstract Factory设计模式小结(B)。

第五节:Prototype设计模式
Prototype设计模式的目标(A);Prototype设计模式的客户端接口(A);
Prototype设计模式的类模型(A);Prototype设计模式的时序图(A);
Prototype设计模式的应用实例:顾客信息的录入(A);Prototype设计模
式和Java API(B);Prototype设计模式小结(B)。

第九章:结构型设计模式(2学时)
第一节:结构型设计的目标
目标(A)。

第二节:Facade:类集的接口
Facade设计模式的目标(A);Façade设计模式的客户端接口(A);Façade
设计模式的类模型(B);Façade设计模式的应用实例(B);Façade设计模
式在Java API中的应用(A);Façade设计模式小结(A)。

第三节:Decorator:运行时负责添加或删除类
Decorator设计模式的目标(A);Decorator设计模式的客户端接口(A);
Decorator设计模式的类模型(B);Decorator设计模式的时序图(B);
Decorator设计模式的应用实例(B);Decorator设计模式在Java API中的
应用(A);Decorator设计模式小结(A)。

第四节:Composite:对象的属性结构表示
Composite设计模式的目标(A);Composite设计模式的客户端接口(A);
Composite设计模式的类模型(B);Composite 设计模式的时序图(B);
Composite设计模式的应用实例(B); Composite设计模式小结(A)。

第五节:Adapter:更具灵活性的接口
Adapter设计模式的目标(A);Adapter设计模式的客户端接口(A);Adapter
e设计模式的类模型(B);Adapter设计模式的应用实例(B);Adapte和Java
API(A);Adapter设计模式小结(A)。

第六节:Flyweight:管理大量极为相似的类
Flyweight设计模式的目标(A);Flyweight设计模式的客户端接口(A);
Flyweight设计模式的类模型(B);Flyweight 设计模式的时序图(B);Java
API中的Flyweight设计模式(A); Flyweight设计模式小结(A)。

第七节:Proxy:避免多余的操作
Proxy设计模式的目标(A);Proxy设计模式的客户端接口(A);Proxy设计
模式的类模型(B);Proxy设计模式的时序图(B);Java API中的Proxy设
计模式(A);Proxy设计模式的应用实例(B); Proxy设计模式小结(A)。

第十章:行为型设计模式(2学时)
第一节:行为型设计的目标
目标(A)。

第二节:Interpreter:分析表达式
Interpreter设计模式的目标(A);Interpreter设计模式的客户端接口(A);
Interpreter设计模式的类模型(B);Interpreter设计模式的时序图(B);
Java API中的Interpreter设计模式(A);Interpreter设计模式的应用实
例(B); Interpreter设计模式小结(A)。

第三节:Iterator:访问集合中的成员
Iterator设计模式的目标(A);Iterator 设计模式的客户端接口(A);
Iterator设计模式的类模型(B);Java API中的Iterator r设计模式(A);
Iterator设计模式的应用实例(B); Iterator设计模式小结(A)。

第四节:Mediator设计模式
Mediator设计模式的目标(A);Mediator设计模式的类模型(B);Mediator
设计模式的时序图(B);Java API中的Mediator设计模式(A);Mediator
设计模式的应用实例(B); Mediator设计模式小结(A)。

第五节:Observer设计模式
Observer设计模式的目标(A);Observer 设计模式的客户端接口(A);
Observer设计模式的类模型(B);Java API中的Observer设计模式(A);
Observer设计模式的应用实例(B); Observer设计模式小结(A)。

第六节:State设计模式
State设计模式的目标(A);State设计模式的客户端接口(A);State设计
模式的类模型(B);Java API中的State设计模式(A);State设计模式的
应用实例(B); State设计模式小结(A)。

第七节:Chain of Responsibility设计模式
Chain of Responsibility设计模式的目标(A);Chain of Responsibility
设计模式的客户端接口(A);Chain of Responsibility设计模式的类模型
(B);Java API中的Chain of Responsibility设计模式(A);Chain of
Responsibility设计模式的应用实例(B);Chain of Responsibility设计
模式小结(A)。

第八节:Command设计模式
Command设计模式的目标(A);Command设计模式的类模型(B); Java API
中的Command设计模式(A);Command设计模式的应用实例(B); Command
设计模式小结(A)。

第九节:Template设计模式
Template设计模式的目标(A);Template 设计模式的客户端接口(A);
Template设计模式的类模型(B);Java API中的Template设计模式(A);
Template设计模式小结(A)。

第十一章:组件的介绍(2学时)
第一节:组件的定义
组件的定义(A)。

第二节:组件使用的一个实例
实例(A)。

第三节:组件的组成
属性、方法、事件(A);清单(A);内省与元数据(A)。

第四节:组件的UML标识
标识(A)。

第五节:组件生存期的各个阶段
设计/执行阶段(A);实例创建阶段(A);汇编阶段(A);部署阶段(A);
执行阶段(A)。

第六节:CORBA组件标准
CORBA组件标准(B)。

第十二章:JavaBeans(4学时)
第一节:JavaBeans的目标
JavaBeans的目标(A)。

第二节:JavaBeans的定义
示例:估计椅子的生产(A);Bean的各个阶段(B);阶段1:创建Bean类
(C);阶段2:创建组合多个类的Bean(B);阶段3:创建Bean实例(B);
阶段4:在Bea环境中组合和部署Bean(C);通过改变属性来连接Bean:“有
界的”变量(B);
第三节:在JSP中使用Bean
在JSP中使用Bean(B)。

第十三章:Microsoft组件集(4学时)
第一节:的概述
.NET的目标(A);.NET的体系结构(C);.NET组件集(B)。

第二节:C#语言的组成
C#语言的组成(B)。

第三节:一个简单的组件集
实例(A)。

第四节:一个包含多重类的.NET组件
一个包含多重类的.NET组件(B)。

第五节:.NET组件集中的元数据
.NET中元数据的概览(A);查看元数据(B);版本(B);属性(B)。

第六节:组件集的识别
私有组件集(B);共享组件集(B)。

第十四章:需求和领域类(4学时)
第一节:面向对象分析和设计的特性
使用NonOOA&D来实现应用程序的开发(A);基本的OOA&D方法(B)。

第二节:Encounter实例研究
实例研究(A)。

第三节:获得领域类
用例需求描述(B);将用例转换成时序图(B);从时序图中得到领域类(B);
从其他来源中寻找类(B)。

第四节:利用领域类来组织需求
一个示例的部分需求文档(A)。

第十五章:体系结构和框架(2学时)
第一节:软件体系结构的含义
含义(B)。

第二节:OO分析和设计的模型
用例模型(B);类模型(B);数据流模型(B);状态模型(B)。

第三节:软件的体系结构
体系结构和模块化的目标(A);模块化、内聚和耦合(B);使用Façade设
计模式(B);标准的软件体系结构(C)。

第四节:框架
框架的含义和用法(B);框架的用法:工具箱、抽象框架和控制(B);框架
的目标(B);框架的开发和实例(C)。

第五节:完成一个应用程序的设计
设计控制(B);接口的设计(B);连接数据库(B);类模型(B);完成函数
列表(B)。

七、实验名称与类别:
注:实验类别指:演示型、操作型、验证型、综合型、设计型、研究创新型
八、实验目的、内容与要求
九、教材与参考书:
本课程选用教材:
Eric J. Braude.《软件设计——从程序设计到体系结构》电子工业出版社.2005 十、本课程理论课及实验课的考核方式:
理论课考核方式:
考试
执笔:
审核:
批准人:
时间:。

相关文档
最新文档