全部课程 >面向对象方法学(外语)    Object-Oriented Method

课程基本信息

课程编码:05B30091

课程类别:未设置

先修课程:面向对象程序设计、软件工程

适用专业:软件工程专业

开课院部:外语学院

课程负责人:
课程教学团队:
课程资源:
没有资源记录!

课程展示


课程简介

本课程主要介绍面向对象的基本概念,面向对象的分析与设计的产生、发展以及重要意义;讲授面向对象的分析与设计的策略;详细介绍面向对象的系统分析与设计方法、技术和开发过程,并探讨面向对象方法的几个典型的应用领域。开设面向对象的分析与设计课程是为了使学生具有面向对象分析、设计的相关知识,具备使用该方法开发软件的基本能力,为他们在今后的工作中,适应软件开发的变化,研究和开发软件打下良好的基础。本课程可作为软件工程专业的专业课。

通过比较全面、概括性的讲述面向对象分析与设计中的一些基础性知识和重要概念,并配合实践教学,使学生能够达到以下教学目标:

  1. 使学生清楚面向对象的分析与设计的基本概念。
  2. 了解面向对象技术与传统技术的区别与联系;以及该技术的发展趋势。
  3. 掌握面向对象的分析设计风格;并可将面向对象的思想、方法及过程应用到系统分析和系统设计中去。
  4. 最终使学生具备使用面向对象方法开发软件的相应知识和能力。

 

This course introduces the basic concepts of object-oriented, object-oriented analysis and design production, development and significance; teach object-oriented analysis and design strategies; details of object-oriented systems analysis and design methods, techniques and development process, object-oriented approach and to explore a few typical applications. Creation of object-oriented analysis and design course is designed to enable students to have an object-oriented analysis, knowledge of the design, with the use of the method development software is the ability for them in the future work to adapt the software development changes, research and development of software lay a good foundation. This course can be used as a professional software engineering courses.
Through more comprehensive, embracing about object-oriented analysis and design of some basic knowledge and key concepts, and in line with the practice of teaching, teaching to enable students to achieve the following objectives:

  1. make students understand the basic concepts of object-oriented analysis and design.
  2.  understand object-oriented technology and traditional technology differences and relations; and the development trend of the technology.
  3.  grasp of object-oriented analysis and design style; and object-oriented ideas, methods and processes applied to the system analysis and system designs.
  4.  eventually equip students with the use of object-oriented software development method appropriate knowledge and ability.

课程教学要求

序号

专业毕业要求

课程教学要求

关联程度

1

工程知识

如何使用UML进行需求分析,软件项目设计。

H

2

问题分析

应用面向对象方法学的基本思想,分析问题域及其需求,能够抽象出有效表达问题的对象模型(即数据类型)。

H

3

设计/开发解决方案

根据对象模型,合理设计基于类的数据类型描述客观事物及其概念,并应用类及其方法求解较复杂的工程问题。

H

4

研究

研究UML case正向工具和逆向工具

M

5

使用现代工具

熟练使用VC、.net、eclipse环境和工具,熟练使用UML工具,提高软件的设计和开发效率。

6

工程与社会

所有的软件项目来源于社会和生活实际,要用工程的方法模拟现实社会,将工程与社会生活实际的哲理应用于软件项目设计、算法实现上

7

环境和可持续发展

项目的设计要利用软件的特性,在可复用性上,实现软件的可持续发展

8

职业规范

遵守从事软件行业职业道德规范,具有良好的职业操守。

M

9

个人和团队

具有良好的协作能力,在团队开发中发挥作用。

10

沟通

具有良好的交流能力,应用面向对象思想和方法有效地表达思维和过程。

11

项目管理

应用面向对象方法进行基本的代码重用和项目管理。

12

终身学习

通过学习OOAD,掌握面向对象方法学的基本特点和方法及原理,在职业发展中能够自主地用OOAD方法学的基本原理持续学习新技术和新工具。

M

课程教学内容

章节

名称

主要内容

重难点关键词

学时

类型

绪论

1.1 背景                   

1.2 编程简史               

1.3 软件开发的方法学    

1.4面向对象概念  

1.5为什么需要OOA & OOD

1.编程语言简史

2. 软件开发的方法学

3.OOA、OOD

4

理论讲授

面向对象程序设计语言

2.1 引言

2.2 C++

2.3 java

2.4 C#

2.5 三种主流语言的联系区别

1.OOPL

2.编译器

3.联系区别

2

理论讲授

UML基础

3.1 UML简介

3.1.1 什么是UML

3.1.2 UML的历史

3.1.3 UML与可视化建模

3.2 UML的组成

3.2.1 类图

3.2.2 对象图

3.2.3 用例图

3.2.4 顺序图

3.2.5 协作图

3.2.6 状态图

3.2.7 活动图

3.2.8 构件图

3.2.9 部署图

3.2.10 组成结构图

3.2.11 交互纵览图

3.2.13 计时图

3.2.13 包图

3.3 UML的通用机制

3.3.1 注释

3.3.2 关键字和构造型

 

1.UML

2.类图、用例图

3.顺序图、状态图、活动图

4.包图、部署图、构件图

4

理论讲授

封装

4.1 引言                   

4.2 封装的粒度                   

4.3 方法和属性的封装             

4.4 更大粒度的封装  

4.5 封装的原则      

4.6 类定义的内容          

4.7 共享数据和共享操作    

4.8 类型                  

4.9 术语                  

4.10重用代码

1.封装

2.封装的原则

3.封装的粒度

4.共享数据与操作

3

理论讲授

继承

5.1 引言                   

5.2 设计类层次结构         

5.3 给类层次结构添加实现代码

5.4 抽象类                 

5.5 重定义方法             

5.6 实现栈类               

5.6.1 使用继承实现栈       

5.6.2 使用复合实现栈       

5.6.3 继承和复合           

5.7 多重继承               

5.8 使用继承的原则

1. 继承

2.继承使用的原则

3、聚合与复合

4、关联

5、抽象类与接口

3

理论讲授

多态

6.1 引言                   

6.2 动态和静态类型系统     

6.3 多态性                 

6.4 动态绑定               

6.5 多态性规则             

6.6 类型转换               

6.7 显式类型转换           

6.8 使用模板进行泛化

1.多态

2.动态绑定

3.多态变量与多态消息

4.模板、泛化

2

理论讲授

面向对象的方法学

7.1 面向对象的方法学       

7.2 UML、RUP和XP           

7.3 开发工具的需求         

7.4 Ripple概述             

7.5 RUP概述               

7.6 敏捷方法学         

7.7 XP 概述  

1.面向对象方法学

2.Ripple

3.Rup

4. 敏捷方法学

5.XP

2

理论讲授

对象分析

8.1 对象和类               

8.2 表示法                 

8.3 研究问题域和用户需求   

8.4 发现对象               

8.5 对象分类  

1. 发现对象

2. 问题域和用户需求

3. 对象分类

2

理论讲授

对象设计

9.1 对象的属性和操作       

9.2 表示法                 

9.3 定义属性               

9.4 定义操作               

9.5 建立类图的特征层(设计级别)

9.6 接口的概念及其用途  

1. 属性

2. 操作

3. 接口

 

2

理论讲授

系统对象间的关系分析

10.1 关联关系

10.2 关联关系实现代码表示

10.3 一般-特殊结构及其实现代码表示

10.4 继承实现代码表示

10.5 整体-部分结构

10.6 聚合、组合实现代码表示

10.7 消息

10.8 关于依赖关系的讨论

1.关联关系

2. 一般-特殊结构

3. 整体-部分结构

4.消息

2

理论讲授

十一

设计模式

OOAD

11.1 引言                   

11.1.1 模式简史             

11.1.2 目前的软件模式       

11.2 面向对象设计原则               

11.3 常见的设计模式         

11.3.1 观察器模式           

11.3.2 单一模式             

11.3.3 迭代器模式           

11.3.4 工厂方法和抽象工厂   

11.3.6 状态模式             

11.3.7 桥接模式             

11.3.8 适配器模式           

11.4 使用模式的技巧

1. 设计模式

2. 面向对象设计原则

3.工厂模式等

6

理论讲授

 

 

 

 

 

 

astah  UML工具的使用及使用eclipse进行java实例开发

1、掌握用Rational与astah的安装

2、使用Rational与astah绘制各种UML图。

3、掌握JDK的安装与环境变量的设置。

4、掌握eclipse插件的安装方法和操作;

1.UML

2.Rational

3. astah

4

上机实验

简单工厂模式与工厂模式对比设计

1、掌握简单工厂模式的设计

2、工厂模式设计

3、两者的区别与联系;

4、实例分析与设计

1. 简单工厂模式

2. 工厂模式

 

4

上机实验

使用UML对IChart实例分析设计

1、掌握面向对象的软件开发方法。

2、掌握XP或Ripple方法中各种制品的制作方法与步骤。

3、掌握eclipse的编译与调式和编写代码的技巧。

4、掌握软件项目的面向对象分析方法

1.OOAD开发方法

2.XP

3.系统分析

4

上机实验(综合型)

考核要求及成绩评定

序号

成绩类别

考核方式

考核要求

权重(%)

备注

1

期末成绩

期末考试

笔试闭卷

100%

百分制,60分及格

2

平时成绩

平时表现

上课上机出勤

 

缺勤3次则无法获得学分

3

作业

3次

 

检查重点内容的掌握情况:多态、继承、封装、类型转换。

4

实验报告

3次

 

检查三个实验项目的完成及相关知识的掌握情况

5

期中考试

笔试闭卷

 

考试题型与期末考试相同

学生学习建议

  • 学习方法建议

本课程在教学实践中需要同时注重面向对象的基本概念、语法规则、设计方法和工具环境的理解和应用。学生在学习过程中需要注意下列3个方面的结合:

1.理论与实践相结合。准确理解面向对象方法的基本概念和面向对象的设计原则,并勤于在面向对象vc++或eclipse环境中编程实践以求熟练应用。

2.理论与实践相结合。结合具体软件项目的面向对象分析方法和设计从而对软件项目面向对象设计的原理进行理解。

3.实例与项目相结合。结合课堂教学的基本概念、原理与实验课讲授的计算器设计、工资打印程序设计、即时聊天软件的设计等应用,能够举一反三,达到对设计模式的高度融合理解和应用。

本课程上机实验建议采用Visual C++ 2005(或不低于该版本)或eclipse或netbeans或visual studio 2010作为实验环境。(语言不限,可用C++、C#、java)

 

  • 学生课外阅读参考资料

Stanley B. Lippman, Josée Lajoie Barbara E. Moo著.李师贤等译. C++ Primer中文版, 第4版. 北京: 人民邮电出版社, 2006.3.

Paul Deitel, Harvey Deitel. C++ How to Program, Seventh Edition.Pearson Education Inc., 2010.

Bruce Eckel, Chuck Allison著, 刁成嘉等译. C++编程思想, 第1卷:标准C++引导. 北京: 机械工业出版社, 2006.1.

Bjarne Stroustrup. The C++ Programming Language, Third Edition. Addison-Wesley Publishing Company, 1997.

《面向对象的系统分析》 邵维忠、杨芙清 清华大学出版社 2006.

《设计模式:可复用面向对象软件基础》 Erich Gamma 等 机械工业出版社 1998.

课程改革与建设

面向对象方法学课程是面向对象程序设计课程延续和升华课程,前者是教会同学们如何进行更好的面向对象的程序设计,是设计方案的优化。后者是程序语言基础是OOAD的一个部分内容OOPL,很多人不了解该课程的重要性。

课程文档下载

课程其它文档下载

本站 所有信息归:武汉工程大学教务处 版权所有 鄂ICP064787

技术支持: 北京文华在线教育科技股份有限公司    建议在IE8以上浏览器1024*768分辨率下浏览本站