教学大纲
(一)理论教学
第1讲 软件体系架构及设计模式简介 2学时
教学内容:本章主要让学生了解软件工程的发展背景和软件体系架构设计所要解决的问题,介绍软件体系架构设计在现代大型软件系统开发过程中的必不可少的作用。本章重点为软件体系架构设计的发展历史。
重点:了解软件体系架构设计的发展背景、理解软件体系架构设计所要解决的问题、理解软件体系架构设计案例介绍。
难点:了解软件体系架构设计的概念、了解软件体系架构设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解体系架构是什么、体系架构分析功能作用、体系架构组成、体系架构发展概况、典型体系架构特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出软件体系架构面临解决的问题,启发学生进一步思考。在讲解软件体系架构知识过程中,同时还采用案例教学方法,讲解软件体系架构组成部件和基本工具应用,使学生能直观理解软件体系架构应用方法。
第2讲 软件架构模型分析 2学时
教学内容:让学生了解主要的软件架构模型及要素,建模语言及工具,理解建模的指导思想及准则。向学生介绍目前软件工程界采用的主要软件架构模型,通过实例介绍各类架构的特点和功能,使学生初步具备按照功能要求进行软件体系设计的能力。本章重点为架构模型的特点和功能。
重点:了解架构模型的发展背景、理解架构模型设计所要解决的问题、理解架构模型设计案例介绍。
难点:了解架构模型设计的概念、了解架构模型设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解架构模型是什么、建模语言及工具的作用、典型建模语言及工具特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出架构模型设计面临解决的问题,启发学生进一步思考。在讲解架构模型知识过程中,同时还采用案例教学方法,讲解架构模型组成部件和基本工具应用,使学生能直观理解架构模型应用方法。
第3讲 软件架构设计方法 2学时
教学内容:让学生了解软件设计方法(Software Development Methodology)的内容及原理,掌握UML建模语言的基本要点及面向对象式设计(Object-Oriented Design)的基本方法。本章重点为UML建模语言的基本要点。
重点:了解软件设计方法的发展背景、理解UML建模语言所要解决的问题、理解UML建模语言设计案例介绍。
难点:了解软件设计方法的概念、了解UML建模语言在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解软件设计方法是什么、UML建模语言、典型UML建模语言特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出软件设计面临解决的问题,启发学生进一步思考。在讲解UML建模语言知识过程中,同时还采用案例教学方法,讲解UML建模语言组成部件和基本工具应用,使学生能直观理解UML建模语言应用方法。
第4讲 并发计算模型 2学时
教学内容:讲授内容包括多进程vs.多线程模型,多线程的thread pool vs. direct thread模式,Linux NPTL (Native POSIX Thread Library)线程库等,让学生掌握构建多线程同步并发计算的技术。本章重点为多线程并发计算体系。
重点:了解多进程方法的发展背景、理解多线程设计所要解决的问题、理解多线程同步并发设计案例介绍。
难点:了解多进程方法的概念、了解多线程同步并发设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解多进程方法是什么、多线程设计、多线程同步并发特点。
教学方法:采用翻转课堂教学方法,安排学生预习。。在课堂内,针对重点及难点进行探讨与讲解。首先引出多进程设计方法面临解决的问题,启发学生进一步思考。在讲解多线程同步并发知识过程中,同时还采用案例教学方法,讲解多线程同步并发基本工具应用,使学生能直观理解多线程同步并发应用方法。
第5讲 分布式计算架构 2学时
教学内容:讲授内容包括分布式体系的结构特点,分布式调度算法,通信界面,分布式计算架构如CORBA,RMI等,掌握构建分布式体系的基本知识。本章重点为分布式计算架构CORBA,RMI。
重点:了解分布式体系结构的发展背景、理解分布式调度算法所要解决的问题、理解分布式计算架构设计案例介绍。
难点:了解分布式体系结构的概念、了解分布式调度算法设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解分布式体系结构是什么、分布式调度算法设计、分布式计算架构特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出分布式体系结构设计面临解决的问题,启发学生进一步思考。在讲解分布式调度算法过程中,同时还采用案例教学方法,讲解分布式计算架构基本工具应用,使学生能直观理解分布式计算架构设计方法。
第6讲 中间件体系架构 2学时
教学内容:讲授内容包括分布式体系的结构特点,分布式调度算法,通信界面,分布式计算架构如CORBA,RMI等,掌握构建分布式体系的基本知识。本章重点为分布式计算架构CORBA,RMI。
重点:了解分布式体系结构的发展背景、理解分布式调度算法所要解决的问题、理解分布式计算架构设计案例介绍。
难点:了解分布式体系结构的概念、了解分布式调度算法设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解分布式体系结构是什么、分布式调度算法设计、分布式计算架构特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出分布式体系结构设计面临解决的问题,启发学生进一步思考。在讲解分布式调度算法过程中,同时还采用案例教学方法,讲解分布式计算架构基本工具应用,使学生能直观理解分布式计算架构设计方法。
第7讲 Web Service架构 2学时
教学内容:让学生掌握Web Service架构的组成特点,了解常见的C/S, B/S, Multi-tier, P2P架构的特点,掌握其主要功能和设计方法等,让学生对这一基于互联网体系的软件架构有一个准确理解。本章重点为Web Service体系的设计特点。
重点:了解Web Service架构的发展背景、理解C/S, B/S, Multi-tier, P2P架构的特点、理解Web Service架构设计案例介绍。
难点:了解Web Service架构的概念、了解C/S, B/S, Multi-tier, P2P架构设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解Web Service架构是什么、C/S, B/S, Multi-tier, P2P架构特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出Web Service架构设计面临解决的问题,启发学生进一步思考。在讲解Web Service架构设计过程中,同时还采用案例教学方法,讲解Web Service架构基本工具应用,使学生能直观理解Web Service架构设计方法。
第8讲 面向服务计算体系(SOA) 2学时
教学内容:让学生了解面向服务体系(SOA, Service-oriented Architecture)的概念和特点,了解其要素,设计特点,主要功能,建模方法等,让学生对这一新出现的软件体系结构有一个初步理解。本章重点为面向服务体系SOA的设计特点。
重点:了解面向服务体系架构的发展背景、理解面向服务体系架构的特点、理解面向服务体系架构设计案例介绍。
难点:了解面向服务体系架构的概念、了解面向服务体系架构设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解面向服务体系架构是什么、面向服务体系架构特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出面向服务体系架构设计面临解决的问题,启发学生进一步思考。在讲解面向服务体系架构设计过程中,同时还采用案例教学方法,讲解面向服务体系架构基本工具应用,使学生能直观理解面向服务体系架构设计方法。
第9讲 云计算架构体系(1) 2学时
教学内容:让学生了解云计算架构(Cloud Computing Architecture)的概念和特点,了解其要素,标准,功能,建模方法等,让学生对这一新型计算体系有一个初步理解。本章重点为云计算架构建模。
重点:了解云计算架构的发展背景、理解云计算架构的特点、理解云计算架构设计案例介绍。
难点:了解云计算架构的概念、了解云计算架构设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解云计算架构是什么、云计算架构特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出云计算架构设计面临解决的问题,启发学生进一步思考。在讲解云计算架构设计过程中,同时还采用案例教学方法,讲解云计算架构基本工具应用,使学生能直观理解云计算架构设计方法。
第10讲 云计算架构体系(2) 2学时
教学内容:讲授云计算架构的分层模型、三种服务模式(IaaS,PaaS,SaaS),云架构设计方法及云应用开发核心技术。本章重点为云计算服务模式及设计方法。
重点:了解云计算架构分层模型的发展背景、理解分层模型的特点、理解分层模型设计案例介绍。
难点:了解云计算架构分层模型的概念、了解分层模型设计在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解云计算架构分层模型是什么、云计算架构分层模型特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出云计算架构分层模型设计面临解决的问题,启发学生进一步思考。在讲解云计算架构分层模型设计过程中,同时还采用案例教学方法,讲解云计算架构分层模型应用,使学生能直观理解云计算架构分层模型设计方法。
第11讲 大数据计算架构 (1) 2学时
教学内容:讲解大数据基本概念、出现背景、大数据采集系统、数据建模分析、数据挖掘典型算法。
重点:了解大数据的发展背景、理解大数据的特点、理解大数据设计案例介绍。
难点:了解大数据的概念、了解大数据在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解大数据架构模型是什么、大数据架构模型特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出大数据计算架构设计面临解决的问题,启发学生进一步思考。在讲解大数据计算架构设计过程中,同时还采用案例教学方法,讲解大数据计算架构应用,使学生能直观理解大数据计算架构设计方法。
第12讲 大数据计算架构 (2) 2学时
教学内容:讲授大数据列存储结构、分布式文件系统与NoSQL数据库、MapReduce计算模型、图并行计算框架,以Google为代表的商业产品技术 vs. 以Hadoop为代表的开源技术。
重点:了解大数据列存储结构的发展背景、理解分布式文件系统的特点、理解NoSQL数据库、MapReduce计算模型、图并行计算框架设计案例介绍。
难点:了解各类大数据计算框架的概念、了解各类大数据计算框架在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解各类大数据计算框架是什么、各类大数据计算框架特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出各类大数据计算框架面临解决的问题,启发学生进一步思考。在讲解各类大数据计算框架设计过程中,同时还采用案例教学方法,讲解各类大数据计算应用,使学生能直观理解各类大数据计算框架设计方法。
第13讲 组件设计模式概念 2学时
教学内容:讲授设计模式概念(包括数据结构、组件模式、架构模式、应用模式),软件可复用性,设计模式的结构特点,功能特点及使用要求,让学生对软件设计模式有一个基本理解。本章重点为设计模式概念及功能。
重点:了解设计模式的发展背景、理解设计模式的特点、理解设计模式案例介绍。
难点:了解设计模式的概念、了解设计模式在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解设计模式是什么、设计模式特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出设计模式面临解决的问题,启发学生进一步思考。在讲解设计模式过程中,同时还采用案例教学方法,讲解设计模式应用,使学生能直观理解设计模式和方法。
第14讲 设计模式原理分析 2学时
教学内容:讲授软件设计模式在组件层面的设计原理和功能特点,让学生掌握设计模式的工作原理和实现方法。并介绍几种主要的设计模式(Singleton, Abstract Factory, Abstract Factory Method, Adaptor, Decorator, Observer, Iterator, Composite Structure)的编程实现,让学生掌握设计模式的使用方法。本章重点为设计模式的使用方法。
重点:了解软件设计模式的发展背景、理解设计模式的工作原理和实现方法。
难点:了解软件设计模式的概念、了解软件设计模式在现代服务行业的应用情况。
教学要求:通过课程教学,使学生了解软件设计模式是什么、软件设计模式特点。
教学方法:采用翻转课堂教学方法,安排学生预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出软件设计模式面临解决的问题,启发学生进一步思考。在讲解软件设计模式过程中,同时还采用案例教学方法,讲解软件设计模式应用,使学生能直观理解软件设计模式和方法。
(二)实验教学
实验1 需求分析及总体设计
学时分配:2 学时
教学方法:课内实验
教学要求:介绍OO/UML设计工具使用方法及架构设计步骤。
教学内容:介绍安装BoUML设计软件方法、需求用例Use Case设计、总体架构设计。
实验2 组件设计与技术文档
学时分配:2 学时
教学方法:课内实验
教学要求:介绍组件设计方法,设计文档写作。
教学内容:通过完成一个应用软件的概要设计加深对架构设计原理和方法的理解,掌握设计模式使用方法。
实验3 Hadoop单机安装配置
学时分配:2 学时
教学方法:课内实验
教学要求:介绍Hadoop单机安装的基本原理和步骤。
教学内容:对Hadoop单机模式安装、测试的方法和步骤。
实验4 Mapreduce实现智能交通软件设计实例
学时分配:2 学时
教学方法:课内实验
教学要求:数据分析算法设计和编程实现
教学内容:交通数据主要包括交道路信息数据、道路设施数据、停车场数据等静态数据以及如线圈设备、视频设备等采集到的交通动态数据,其具有多源性、多维性、海量性、动态性和异构性等特征。对于具有多源异构性且体量巨大的交通数据,如何存储数据以满足快速查询和计算的需求,是目前交通大数据面临的主要问题。基于Hadoop/MapReduce框架,实现交通大数据的实时分析与计算,加深对并行化算法的理解,掌握Mapreduce模型下并行算法的设计。
实验5 Spark安装部署
学时分配:2 学时
教学方法:课内实验
教学要求:介绍Spark安装的基本原理和步骤。
教学内容:对Spark安装、测试的方法和步骤。
实验6 Mapreduce和Spark的计算性能比对案例
学时分配:2 学时
教学方法:课内实验
教学要求: Mapreduce平台和Spark平台计算性能比较
教学内容:分别基于Mapreduce和Spark平台完成智能交通大数据分析项目,分析并比较两个平台的计算性能。