相关信息

Modern Service Computing Group (MSCG)
B1-202 East, Main Building,
Clear River Campus, UESTC
Chengdu, China. 611731

Email: yutang@uestc.edu.cn
Phone: (86) 028-61830683
授课教案
SLIDES
Lecture Topics Slides
Lecture 01  Introduction to the large-scale mission-critical software systems, including application domain, workload model, software architecture, performance metrics, and design/development methodology. [PPT]
[PDF]
Lecture 02  Concepts of software architecture, key elements, major modeling theories, introduction to model description languages. [PPT]
[PDF]
Lecture 03  Major architectural models: Client/Server, MVC, PAC, multi-tier Web service architecture, event-driven architecture, component-based distributed system. [PPT]
[PDF]
Lecture 04  Software development methodology, OOAD, UML basics, data modeling, Use Case, class design, preliminary design vs. detailed design, IDE (Integrated Development Environment). [PPT]
[PDF]
Lecture 05  Software development methodology (cont’d) [PPT]
[PDF]
Lecture 06  Concurrent computing: multi-process vs. multi-thread, threading model: thread pool vs. direct thread, Linux’s NPTL (Native POSIX Thread Library) API. [PPT]
[PDF]
Lecture 07  Distributed computing architecture, distributed scheduling, communication interface, RMI, CORBA, synchronous call vs. asynchronous call. [PPT]
[PDF]
Lecture 08  Middleware/application framework approach, component-based API, cross-platform importability, open architecture and open standard, COTS product integration. [PPT]
[PDF]
Lecture 09  Model-driven methodology, platform-independent model (PIM) and platform-specific model (PSM), forward engineering vs. reverse engineering, code generation, model-based document creation. [PPT]
[PDF]
Lecture 10  Service-oriented Architecture (SOA) design, service abstraction, service decoupling, service contract, service provider/service consumer, service discovery, SOA Reference Architecture, Meta Model, SOA analysis and design. [PPT]
[PDF]
Lecture 11  Concept of design pattern, design reuse, advantages and disadvantages. [PPT]
[PDF]
Lecture 12  Major design patterns: Singleton, Abstract Factory, Adaptor, Decorator, Observer, Iterator, Composite Structure, etc. [PPT]
[PDF]
Lecture 13  Model-driven architecture, model, and development methodology [PPT]
[PDF]
Lecture 14  Case Study: AEGIS Tactical Display Application Framework (DAF) and NOAA’s AWIPS (Advanced Weather Interactive Processing System). [PPT]
[PDF]

《软件体系结构及设计模式》授课教案

2009—2010 学年第 1 学期

    课 程 名 称:软件体系结构及设计模式
    授 课 学 时:48
    授 课 班 级:2006级
    任 课 教 师:汤 羽
    教 师 职 称:教 授

电子科技大学

 课程名称  软件体系结构及设计模式  授课专业班级  软件学院2006级  年级  4年级
 课程编号  72231330  修课人数  150
 课程类型  必修课  学科基础课 (  ) ; 专业基础课 ( √ ) ; 专业课 (   )
 选修课  专 选 课 ( ) ; 公选课 ( )
 授课方式  理论课 ( √ ) ;实践课 (√)  考核方式  考  试 (√)
 考  查 (  )
 是否采用多媒体  是  是否双语  是
 学时分配  课堂讲授28(习题课)学时;  实践课16学时
 名称  作者  出版社及出版时间
 教材   软件工程设计导论  Christopher Fox  清华大学出版社, 2007
 Java设计模式  Steven J. Metsker等  人民邮电出版社,2007
 参考资料  The Art of Software Architecture: Design Methods and Techniques  Stephen T. Albin  Wiley & Sons, 2003
 Software Engineering: A Practitioner's Approach  R. Pressman  McGraw-Hill, 2001
 Design Patterns: Elements of Reusable Object-Oriented Software  作者  出版社及出版时间
 软件体系结构教程  Gamma, Helm 等  Addison-Wesley, 1995
 授课时间  2009年9月-2010年1月,周三第五、六节;周五第一、二节

课程性质和任务

课程性质

    This course serves as a major foundation course for senior students, which provides an in-depth knowledge and understanding in the architectural model and design pattern of modern software systems. It also introduces the modeling language and tools in constructing software system and key techniques in applying reusable design patterns to software development. The primary goal of this course is to develop student’s capability to design and develop a robust software system under the software industry standards.

课程任务

    课程内容和要求

      课程为软件工程专业的专业基础课,面向软件工程专业三年级或四年级的高年级学生,教学目的为讲授软件系统设计原理和方法、增强学生软件工程方面的实际能力。

      课程内容分13章,具体如下:

    第一章 大型软件系统设计简介 (2学时)                      课件下载  (点击展开收缩)
    一、	教学内容
    本章主要介绍算术大型软件系统概念及其应用范围、软件架构、性能参数,以及软件设计和开发方法。
    1、大型软件系统概念:软件规模和任务关键性的要求;
    2、大型系统的主要特征:可扩展性、可管理性、安全性等;
    3、大型系统的应用范围及案例:基于传感器网络的战场监控系统、Aegis Q-70、AWIPS;
    4、软件模型介绍:软件架构模型、软件开发模型;
    5、软件设计原理和开发方法介绍;
    6、大型软件设计、开发的新趋势:分布式环境、中件间、开放体系结构和标准、系统可扩展性、MDA、SOA。
    
    二、教学要求
    1、了解大型软件系统的概念、主要特征和应用
    2、了解大型软件系统架构模型及开发模型
    3、把握现代大型软件系统设计、开发的趋势
    
    三、教学重点
    1、大型软件系统的主要特征
    2、软件架构模型和开发模型
    3、软件设计原理和开发方法
    
    四、教学难点
    1、软件架构模型软件开发模型
    2、软件设计原理和开发方法
    
    五、作业
    无
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
      人民邮电出版社;
    [2] 《The Art of Software Architecture: Design Methods and Techniques》,
      Stephen T. Albin编著,Wiley & Sons;
    
    第二章 软件架构模型的概念,要素及建模方法 (2学时)               课件下载  (点击展开收缩)
    一、教学内容
    本章主要讲解软件架构的概念、关键元素、主要的建模理论,并介绍建模描述语言。
    1、软件架构的概念:A high level abstraction and description to the structure and
      organization of software system, also a blueprint for software development 
      and evolution.
    2、软件架构的主要组件、子系统、组件之间的接口和关系;
    3、软件架构的主要元素:组件、连接器、拓扑、组件间的交互;
    4、软件架构的主要框架
    5、4+1视图详解:逻辑视图、进程视图、开发视图、物理视图、场景。
    
    二、教学要求
    1、掌握软件架构概念及其目的和目标
    2、掌握软件架构各主要元素
    3、了解软件架构框架
    
    三、教学重点
    1、软件架构目的和目标
    2、软件架构的主要元素
    3、4+1视图
    
    四、教学难点
    1、软件架构的主要元素
    2、4+1视图
    
    五、作业
    1、什么是软件架构?为什么在软件设计中需要软件架构?
    2、列出一个软件架构的主要元素,并描述它们的功能。
    
    六、参考资料
    [1] 《软件工程设计导论---过程、原理与模式(UML2.0版)》,Christopher Fox著, 韩毅、罗颖译
        清华大学出版社;
    [2] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著
        人民邮电出版社;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著
        McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    
    第三章 软件架构主要模型 (2学时)                          课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍软件架构的主要模型,包括客户端-服务器、MVC、PAC、多层Web服务架构、事件驱动架构,
    以及基于组件的分布式系统。
    1、4+1视图详解:逻辑视图、进程视图、开发视图、物理视图、场景;
    2、主要模型:结构化模型(分层架构)、用例模型(用例图)、组件模型(组件图)、类模型(类图)、
       通信/交互模型、部署模型;
    3、软件架构类型;
    4、软件架构模式:客户端-服务端、MVC、PAC、RPC、分层架构、分布式系统、面向对象架构(OOA)、
       面向服务架构(SOA)、多层架构。
    
    二、教学要求
    1、掌握4+1视图
    2、了解软件架构的主要模型
    3、了解软件架构的模式
    
    三、教学重点
    1、软件架构的主要模型
    2、软件架构的模式
    
    四、教学难点
    1、软件架构的主要模型
    2、软件架构的模式
    
    五、作业
    无
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
        人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,
        Stephen T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。 
    
    七、教学后记
    
    第四章 软件开发模型及方法 (4学时)                         课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍软件开发模型及方法,包括OOD、UML基础、数据建模、用例、类的设计,
    以及集成开发环境(IDE)。
    1、对象模型概念:The collection of concepts used to describe objects in 
      a particular object-oriented language, specification, or analysis 
      and design methodology;
    2、对象模型包括对象抽象、对象形为、接口描述;
    3、对象分析:对象属性、动态模型、功能模型;
    4、面向对象建模:UML elements、UML relationships、UML model/diagram;
    5、UML初步:用例关系及表示符号、类模型、组件模型、交互模型、建模工具;
    6、软件开发方法的概念,与面向对象语言、建模语言、建模工具的区别;
    7、软件开发流程:需求管理、架构建模、软件设计、编码实现、集成/测试、软件发布、技术文档;
    8、开发流程模型和方法:、SEI CMM/CMMI (defense industry)、ISO 15504 (SPICE)/ISO 9001
      (telecom, commercial)、Six Sigma (manufacture-oriented)、RUP 
      (Rational Unified Process) – IBM、RAD (Rapid Application Development)、Agile ;
    9、主要的软件开发模型:Build-and-Fix、Waterfall、Spiral、Iterative and Incremental、
       Rapid Prototyping、Extreme Programming、Model-Driven Development、OOD。
    
    二、教学要求
    1、了解对象模型
    2、掌握面向对象分析方法
    3、掌握基础的UML
    4、了解软件开发流程
    5、了解主要的软件开发模型
    
    三、教学重点
    1、面向对象分析
    2、UML基础
    3、软件开发模型
    
    四、教学难点
    1、面向对象分析
    2、软件开发流程
    
    五、作业
    1、当代工业中主要的软件开发方法有哪些?列出它们优缺点。
    2、描述软件架构设计中的中间件方法,并指出优缺点。
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
        人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,
        Stephen T. Albin编著, Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,
        McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社;
    [5]《The Art of Software Architecture: Design Methods and Techniques》,
        Stephen T. Albin编著,Wiley & Sons。
    
    七、教学后记
    
    第五章 (并发)同步计算:多进程与多线程 (2学时)                课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍并发计算,包括多进程、多线程及其比较,线程模型,线程池、直接线程及其比较,
    以及Linux的NPTL线程API。
    1、并发与并行的异同:Concurrency(“Logically" simultaneous processing, Does not
      imply multiple processing elements),Parallelism(“Physically" simultaneous
      processing, Involves multiple processing elements and/or independent device 
      operations);Both concurrency and parallelism require controlled access to 
      shared resources, e.g. I/O devices, files, database records, in-core data 
      structures, consoles, etc;
    2、多进程和多线程;
    3、线程模型:一对一线程模型、多对一线程模型、多对多线程模型、Java线程模型;
    4、线程同步;
    5、Java线程API。
    
    二、教学要求
    1、理解并发计算
    2、了解线程模型
    
    三、教学重点
    1、多进程与多线程的异同
    2、线程同步
    
    四、教学难点
    1、并发与并行
    2、线程同步
    
    五、作业
    无
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
        人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,Stephen 
        T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著
        McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    第六章 分布式计算体系 (2学时)                           课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍分布式计算体系,分布式调度,通信接口,RMI,CORBA,同步调用与异步调用。
    1、分布式体系结构定义及特征:A computing platform that supports a hardware system 
      consists of  multiple and autonomous computing elements. (multiple autonomous 
      nodes, resources may not be directly accessible, software concurrency, multiple 
      controls/multiple failure);
    2、中间件概念及分类:Middleware is software that enables interprocess communication. 
      It provides an API that isolates the application code from the underlying 
      network communication formats and protocols(FAPs). 中间件分为面向事务中间件、
      面向消息中间件、面向对象中间件;
    3、远程过程调用(RPC);
    4、CORBA体系结构:CORBA参考模型(OMA)、接口定义语言(IDL)、对象请求代理(ORB)、
    通用对象服务(COS)、CORBA名字服务。
    
    二、教学要求
    1、了解分布式体系结构及其特征
    2、理解中间件
    3、了解CORBA体系
    
    三、教学重点
    1、分布式体系结构
    2、中间件
    
    四、教学难点
    1、中间件
    2、CORBA体系
    
    五、作业
    1、描述模型驱动型架构及其开发方法,并指出其优缺点。
    2、为什么并发计算广泛应用于分布式环境?当前在大型系统中主要使用了哪些并发计算技术?
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
        人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,Stephen
        T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,
        McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    第七章 中间件设计 (2学时)                             课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍中间件、应用构架方法,基于组件的API,跨平台,开放体系结构和标准,COTS产品集成。
    1、组件;
    2、Host infrastructure 中件间:JVM、CLR、ACE;
    3、分布式中间件、OMG Real-time CORBA & DDS、Sun RMI、Microsoft DCOM、W3C SOAP;
    4、通用中间件:、CORBA、J2EE、.NET、W3C web service;
    5、Domain-specific 中间件;
    6、案例学习:ACE/TAO
    
    二、教学要求
    1、了解各种中间件
    2、理解TAO中间件设计方法
    
    三、教学重点
    1、各种中间件的学习
    2、ACE/TAO案例学习
    
    四、教学难点
    1、TAO的理解
    
    五、作业
    无
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
       人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,
       Stephen T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
     
    七、教学后记
    
    第八章 模型驱动设计方法(Model-Driven Methodology) (2学时)          课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍模型驱动设计方法,平台独立模型,专用平台模型,前向工程和逆向工程及其比较,
    代码生成,基于模型的文档生成。
    1、Promise and Reality:Model、Analyze、Synthesize 、Provision、技术挑战;
    2、模型驱动开发(MDD):编程语言和平台、包方面的挑战及MDD解决方案、配置方面的挑战及MDD解决方案、
      规划方面的挑战及MDD解决方案、QoS保证及MDD解决方案。
    
    二、教学要求
    1、掌握模型驱动设计、开发方法
    
    三、教学重点
    1、模型驱动设计、开发方法
    
    四、教学难点
    1、模型驱动设计、开发方法
    
    五、作业
    无
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
       人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,
       Stephen T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    第九章 面向服务式软件体系(Service-Oriented Architecture) (2学时)        课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍面向服务体系结构(SOA)的设计,包括服务抽象,服务解耦,服务合同,服务提供方和服务
    消费方的异同,服务发布,SOA参考体系结构,SOA元模型,SOA开发等。
    1、SOA概念;
    2、SOA原则;
    3、SOA元素;
    4、SOA元模型;
    5、面向服务的设计方法;
    6、面向服务的分析和设计(SOAD):Service identification and definition 、Domain 
      decomposition、Naming conventions、Service granularity、Business process 
      and rules;
    7、面向服务的建模和体系结构(SOMA):SOA meta-model、SOA layer model、SOA architecture 
      document template。
    
    二、教学要求
    1、掌握SOA的概念和原则 
    2、理解SOA参考体系
    3、熟悉SOAD和SOMA
    
    三、教学重点
    1、SOA参考体系
    2、SOAD和SOMA
    
    四、教学难点
    1、SOAD
    2、SOMA
    
    五、作业
    无
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
       人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,
      Stephen T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    第十章 设计模式(Design Pattern)概念,设计重复性及优缺点 (2学时)        课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍设计模式,设计重用,以及它们的优缺点。
    1、设计模式的概念:A design structure that captures common static and dynamic attributes 
      of design problems  and reusable solutions to these problems.(not code reuse, 
      but design reuse,not real design (design pattern or mechanism),not binding 
      to a particular language or platform);
    2、模式描述及应用;
    3、为什么需要设计模式;
    4、设计模式的原则:separate interface from implementation,differentiate common features 
      from application-specific features,only apply to recurred design problems,integrated 
      with middleware framework,do not overkill;
    5、基本的设计模式:Creational Pattern、Structural Pattern、Architectural Pattern、
      Behavioral Pattern、ACE/TAO的框架模式简介;
    6、设计模式的使用:Factory 模式、模式描述例子、Singleton模式的实现、抽象Factory、结构模式的例子。
    
    二、教学要求
    1、熟悉设计模式的概念和原则
    2、掌握基本设计模式
    3、掌握设计模式的使用
    
    三、教学重点
    1、设计模式类型
    2、设计模式的使用
    
    四、教学难点
    1、设计模式的使用
    
    五、作业
    1、描述什么是设计模式,并解释为什么需要设计模式,同时描述软件架构和设计模式的区别。
    2、描述singleton、抽象factory、adaptor、observer这四个主要设计模式的结构和服务。
    
    六、参考资料
    [1] 《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
       人民邮电出版社;
    [2]《The Art of Software Architecture: Design Methods and Techniques》,
       Stephen T. Albin编著,Wiley & Sons;
    [3]《Software Engineering: A Practitioner's Approach》,R. Pressman编著,McGraw-Hill;
    [4]《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    第十一章 主要设计模式类型,设计与实现 (2学时)                 课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍主要的设计模式,包括Singleton, Abstract Factory, Abstract Factory Method, 
      Adaptor, Decorator, Observer, Iterator, Composite Structure等。
    1、Architectural patterns:Pipes and filters、Model-View-Controller(MVC)、层次模式、
      Repository pattern、blackboard pattern、Broker pattern、Behavioral pattern;
    2、模式应用:Command pattern、Mediator pattern、Iterator pattern、Strategy pattern。
    
    二、教学要求
    1、熟悉主要设计模式
    2、熟悉主要设计模式的应用
    
    三、教学重点
    1、设计模式的类型
    2、设计模式的应用
    
    四、教学难点
    1、设计模式的应用
    
    五、作业
    无
    
    六、参考资料
    1、《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
       人民邮电出版社;
    2、《The Art of Software Architecture: Design Methods and Techniques》,
       Stephen T. Albin编著,Wiley & Sons;
    3、《Software Engineering: A Practitioner's Approach》,R. Pressman编著,
       McGraw-Hill;
    4、《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    第十二章 模型驱动体系设计及开发方法 (2学时)                 课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍模型驱动体系结构及其建模和开发方法。
    1、MDD相关的学术成果:CADENA、VEST、ESML;
    2、MDD相关的商业成果;
    3、相关的中间件;
    4、MDD趋势CoSMIC、CIAO、DanCE。
    
    二、教学要求
    1、了解MDD的研究成果
    2、了解MDD发展趋势
    3、总结
    
    三、教学重点
    1、现有MDD成果
    2、MDD的发展趋势
    
    四、教学难点
    1、现在MDD成果
    
    五、作业
    无
    
    六、参考资料
    1、《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,人民邮电出版社;
    2、《The Art of Software Architecture: Design Methods and Techniques》,Stephen T. Albin编著,Wiley & Sons;
    3、《Software Engineering: A Practitioner's Approach》,R. Pressman编著,McGraw-Hill;
    4、《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记
    
    
    第十三章 设计案例:宙斯盾战术显示系统,美国AWIPS系统 (2学时)        课件下载  (点击展开收缩)
    一、教学内容
    本章主要介绍设计案例的学习,包括AEGIS Tactical Display Application Framework 
    (DAF)以及NOAA的AWIPS。
    1、AEGIS DAF中间件;
    2、NOAA的AWIPS系统;
    3、SensorNet-based Distributed System:系统体系结构、传感器设施、
      无线传感器网络(WSN)、协议模型。
    
    二、教学要求
    1、了解AEGIS DAF中间件
    2、了解NOAA的AWIPS系统
    3、熟悉 SensorNet-based Distributed System
    
    三、教学重点
    1、SensorNet-based Distributed System
    
    四、教学难点
    1、SensorNet-based Distributed System
    
    五、作业
    无
    
    六、参考资料
    1、《Java设计模式(第2版)(英文版)》,Steven J. Metsker and William C. Wake编著,
       人民邮电出版社;
    2、《The Art of Software Architecture: Design Methods and Techniques》,
       Stephen T. Albin编著,Wiley & Sons;
    3、《Software Engineering: A Practitioner's Approach》,R. Pressman编著,
       McGraw-Hill;
    4、《软件体系结构教程》,李代平等编著,清华大学出版社。
    
    七、教学后记