《软件工程—原理·方法与应用》 课程教学大纲(48学时) 适用专业:计算机科学与技术专业、计算机软件专业、计算机应用专业等 学时数:48 讲课:32课内实验:16 学分:3 编写者:顾春华 、教学性质、目的与要求 《软件工程》是计算机科学与技术专业、计算机软件专业、计算机应用等专业本、专 科生的一门的专业基础课,旨在使学生掌握软件工程的基本概念、原理和方法,从软件开 发技术、软件工程管理和软件工程环境等几个方面了解如何将系统的、规范化的和可以度 量的工程方法运用于软件开发和维护中。要求学生通过本门课的学习,基本掌握结构化方 法、面向对象方法等软件开发技术,初步了解软件复用的概念及基于构件的开发方法,同 时对软件工程管理和环境等内容有一个总体的了解 作为高校本科软件工程课的主要教材,《软件工程一一原理·方法与应用》并行讲解 了第一、二代软件工程,全书注重实践,广举实例,名副其实地成为原理与应用紧密结合 的教材。如果适当删节,也可供专科学生软件工程课使用 、教学内容及学时分配 本课程共包括15章,讲课需要31学时,余下1学时,可用于复习或作为机动时间 第一章绪论(2学时) 本章主要介绍软件的基本概念、软件危机、软件工程学的范畴、传统软件工程和面向 对象软件工程以及软件工程的应用。最后对软件工程教学中的常见问题进行了讨论,给出 了本书的导读 重点掌握:学习软件工程的意义,面向对象软件工程和传统软件工程的比较 第二章软件生存期和软件开发模型(2学时) 本章从叙述软件生存周期开始,介绍了传统的软件开发模型(瀑布模型、快速原型模 型)、软件演化模型α増量模型、螺旋模型)、面冋对象过程模型(构件集成模型)、基于 形式化方法的软件开发模型(转换模型、净室模型)等 重点掌握:各种软件开发模型的内容,不同开发模型的特点比较 第三章软件需求分析(4学时) 需求分析是软件生存周期中的一个重要阶段,本章在介绍了软件需求分析的任务、步
《软件工程——原理·方法与应用》 课程教学大纲(48 学时) 适用专业:计算机科学与技术专业、计算机软件专业、计算机应用专业等 学时数:48 讲课:32 课内实验:16 学分:3 编写者:顾春华 一、教学性质、目的与要求 《软件工程》是计算机科学与技术专业、计算机软件专业、计算机应用等专业本、专 科生的一门的专业基础课,旨在使学生掌握软件工程的基本概念、原理和方法,从软件开 发技术、软件工程管理和软件工程环境等几个方面了解如何将系统的、规范化的和可以度 量的工程方法运用于软件开发和维护中。要求学生通过本门课的学习,基本掌握结构化方 法、面向对象方法等软件开发技术,初步了解软件复用的概念及基于构件的开发方法,同 时对软件工程管理和环境等内容有一个总体的了解。 作为高校本科软件工程课的主要教材,《软件工程——原理·方法与应用》并行讲解 了第一、二代软件工程,全书注重实践,广举实例,名副其实地成为原理与应用紧密结合 的教材。如果适当删节,也可供专科学生软件工程课使用。 二、教学内容及学时分配 本课程共包括 15 章,讲课需要 31 学时,余下 1 学时,可用于复习或作为机动时间。 第一章 绪论(2 学时) 本章主要介绍软件的基本概念、软件危机、软件工程学的范畴、传统软件工程和面向 对象软件工程以及软件工程的应用。最后对软件工程教学中的常见问题进行了讨论,给出 了本书的导读。 重点掌握:学习软件工程的意义,面向对象软件工程和传统软件工程的比较。 第二章 软件生存期和软件开发模型(2 学时) 本章从叙述软件生存周期开始,介绍了传统的软件开发模型(瀑布模型、快速原型模 型)、软件演化模型(增量模型、螺旋模型)、面向对象过程模型(构件集成模型)、基于 形式化方法的软件开发模型(转换模型、净室模型)等。 重点掌握:各种软件开发模型的内容,不同开发模型的特点比较。 第三章 软件需求分析(4 学时) 需求分析是软件生存周期中的一个重要阶段,本章在介绍了软件需求分析的任务、步
骤后,分别按结构化和面向对象两类方法,给出了需求分析模型和它们的描述工具,并结 合实例进一步阐述了结构化分析和面向对象分析的过程 重点掌握:两种分析模型。 难点:分析模型描述工具 第四章软件设计概述(2学时) 软件设计是软件开发中最富有创造性的一个阶段。本章主要介绍软件设计的一般概 念,包括软件设计的任务、基本原理、模块化设计和设计文档等内容。这些概念适用于任 何开发方法和开发过程,可以为后面两章的教学奠定基础 重点掌握:软件设计的任务、基本概念,模块化设计,设计文档。 难点:模块与构件,抽象与细化,信息隐臧等 第五章传统的设计方法(4学时) 本章介绍了传统的设计模型,以及从分析模型导出设计模型的一般方法。重点讲述了 面向数据流设计的结构化设计方法(包括结构设计和过程设计)和面向数据结构设计的 Jackson设计方法。 重点掌握:结构化设计模型,结构化设计方法。 第六章面向对象的设计方法(4学时) 本章概述了面向对象设计的任务和设计模型,并从系统设计、对象设计和领域对象设 计等几个方面介绍了面向对象设计的主要内容和描述工具。 重点掌握内容:模型对象设计模型,系统设计,对象设计 难点:领域对象设计 第七章UML(1学时) 本章主要讲述统一建模语言UML的组成、特点和应用,以及如何进行静态建模、动 态建模和物理架构建模,最后简单介绍RUP。本章内容主要由学生自学,课堂学时仅指明 重点,有条件时可结合模拟项目进行实践 重点掌握内容:UML中的视图与图 第八章编码和语言选择(自学) 本章主要讲述编码的目的与风格,常见的编码语言和编码语言的选择,主要由学生自 重点掌握内容:编码的风格,编码语言的选择 第九章软件测试(4学时) 本章阐明了测试的基本概念,用大量实例详细介绍了黑盒测试和白盒测试的测试用例 设计方法,以及面向过程多模块程序的测试策略,以及常用的纠错技术。最后介绍了面向 对象软件的测试策略和面向对象的测试用例设计,讨论了它们与传统方法的差异
骤后,分别按结构化和面向对象两类方法,给出了需求分析模型和它们的描述工具,并结 合实例进一步阐述了结构化分析和面向对象分析的过程。 重点掌握:两种分析模型。 难点:分析模型描述工具 第四章 软件设计概述(2 学时) 软件设计是软件开发中最富有创造性的一个阶段。本章主要介绍软件设计的一般概 念,包括软件设计的任务、基本原理、模块化设计和设计文档等内容。这些概念适用于任 何开发方法和开发过程,可以为后面两章的教学奠定基础。 重点掌握: 软件设计的任务、基本概念,模块化设计,设计文档。 难点:模块与构件,抽象与细化,信息隐藏等 第五章 传统的设计方法(4 学时) 本章介绍了传统的设计模型,以及从分析模型导出设计模型的一般方法。重点讲述了 面向数据流设计的结构化设计方法(包括结构设计和过程设计)和面向数据结构设计的 Jackson 设计方法。 重点掌握: 结构化设计模型,结构化设计方法。 第六章 面向对象的设计方法(4 学时) 本章概述了面向对象设计的任务和设计模型,并从系统设计、对象设计和领域对象设 计等几个方面介绍了面向对象设计的主要内容和描述工具。 重点掌握内容:模型对象设计模型,系统设计,对象设计。 难点:领域对象设计 第七章 UML(1 学时) 本章主要讲述统一建模语言 UML 的组成、特点和应用,以及如何进行静态建模、动 态建模和物理架构建模,最后简单介绍 RUP。本章内容主要由学生自学,课堂学时仅指明 重点,有条件时可结合模拟项目进行实践。 重点掌握内容:UML 中的视图与图。 第八章 编码和语言选择(自学) 本章主要讲述编码的目的与风格,常见的编码语言和编码语言的选择,主要由学生自 学。 重点掌握内容:编码的风格,编码语言的选择。 第九章 软件测试(4 学时) 本章阐明了测试的基本概念,用大量实例详细介绍了黑盒测试和白盒测试的测试用例 设计方法,以及面向过程多模块程序的测试策略,以及常用的纠错技术。最后介绍了面向 对象软件的测试策略和面向对象的测试用例设计,讨论了它们与传统方法的差异
重点掌握:黑盒测试,白盒测试,多模块程序测试,面向对象的测试。 难点:测试用例设计,面向对象的测试用例设计 第十章软件复用(2学时) 本章概述了软件复用的基本概念,介绍了领域工程(包括领域分析、可复用构件、可 复用构件库)和基于构件的软件开发等内容,简单讨论了面向对象技术与软件复用技术的 相互关系。 重点掌握内容:软件复用的概念,领域工程,基于构件的软件开发。 难点:可复用构件库 第十一章软件维护(1学时) 本章介绍了软件维护的种类,软件可维护性的属性,以及软件维护的实施和管理等内 容,简介了软件再工程的概念和方法 重点掌握内容:软件维护,软件再工程。 第十二章软件项目计划(1学时) 软件生存周期的起始两个阶段是问题定义和可行性研究,本章补叙了这两个阶段的基 本活动,同时介绍了软件风险分析和项目计划文档等内容 重点掌握内容:问题定义、可行性研究、项目计划 难点:软件风险分析 第十三章软件工程管理(1学时) 本章简要介绍了软件工程管理的相关内容,包括软件估算模型、软件成本估计、人员 的分配与组织、项目进度安排和软件知识产权保护。 重点掌握内容:资源估算模型, COCOMO模型,软件项目管理。 难点:软件成本估计 第十四章软件质量管理(2学时) 本章在概述了软件质量保证和认证的基本概念后,介绍了软件可靠性、程序正确性证 明、软件度量以及CMM软件能力成熟度模型、ISO9000国际标准等内容。 重点掌握内容:质量保证和质量认证的基本概念,软件可靠性,CMM软件能力成熟 度模型和ISO9000国际标准等。 难点:程序正确性证明、软件度量 第十五章软件工程环境(1学时) 本章介绍了软件工程环境的基本概念,理想环境的模型,CASE环境的组成与结构等 内容,给出了两个CASE环境的实例 重点掌握内容:理想环境模型,CASE环境的组成
重点掌握: 黑盒测试,白盒测试,多模块程序测试,面向对象的测试。 难点:测试用例设计,面向对象的测试用例设计 第十章 软件复用(2 学时) 本章概述了软件复用的基本概念,介绍了领域工程(包括领域分析、可复用构件、可 复用构件库)和基于构件的软件开发等内容,简单讨论了面向对象技术与软件复用技术的 相互关系。 重点掌握内容:软件复用的概念,领域工程,基于构件的软件开发。 难点:可复用构件库 第十一章 软件维护(1 学时) 本章介绍了软件维护的种类,软件可维护性的属性,以及软件维护的实施和管理等内 容,简介了软件再工程的概念和方法。 重点掌握内容:软件维护,软件再工程。 第十二章 软件项目计划(1 学时) 软件生存周期的起始两个阶段是问题定义和可行性研究,本章补叙了这两个阶段的基 本活动,同时介绍了软件风险分析和项目计划文档等内容。 重点掌握内容:问题定义、可行性研究、项目计划。 难点:软件风险分析 第十三章 软件工程管理(1 学时) 本章简要介绍了软件工程管理的相关内容,包括软件估算模型、软件成本估计、人员 的分配与组织、项目进度安排和软件知识产权保护。 重点掌握内容:资源估算模型,COCOMO 模型,软件项目管理。 难点:软件成本估计 第十四章 软件质量管理(2 学时) 本章在概述了软件质量保证和认证的基本概念后,介绍了软件可靠性、程序正确性证 明、软件度量以及 CMM 软件能力成熟度模型、ISO 9000 国际标准等内容。 重点掌握内容:质量保证和质量认证的基本概念,软件可靠性,CMM 软件能力成熟 度模型和 ISO 9000 国际标准等。 难点:程序正确性证明、软件度量 第十五章 软件工程环境(1 学时) 本章介绍了软件工程环境的基本概念,理想环境的模型,CASE 环境的组成与结构等 内容,给出了两个 CASE 环境的实例。 重点掌握内容:理想环境模型,CASE 环境的组成
教学基本要求 1.课堂讲授 在多媒体教室中采用电子教案授课,上课时边讲边演示。 2.作业 每章适当布置课后作业 作业批改方式:个别抽查(每个同学的作业至少批改一次)、习题课集体讲解、通过 网络公布参考答案 3.课内实验(16学时) 选择有一定规模的实际项目作为实验内容,划分成多个子系统后由学生分组设计与开 发,实验进度和课堂教学同步,由教师给出文档标准模板,学生分别担任项目经理,项目 组长,系统分析员,程序员和测试员等角色,参与实际项目的管理、分析、设计、编码和 测试等工作并书写完整的文档;项目经理和项目组长还要考虑子系统间的接口,项目组协 调等工作 4.考核方式 平时上课、作业30% 实验演示、团队协作及文档40% 期末笔试30% 四、本课程与其它课程的联系 先修课程:程序设计语言 后继课程: 五、教材及参考教材 教材:《软件工程原理、方法与应用》史济民等编著高等教育出版社 参考教材:《 Software engineering- A Practitioners Approach》 Fifth edition,RS Mc graw hill Second Edition. Shari L. Pfleeger Prentice hall 《软件工程》,齐治昌等,高等教育出版社
三、 教学基本要求 1. 课堂讲授 在多媒体教室中采用电子教案授课,上课时边讲边演示。 2. 作业 每章适当布置课后作业。 作业批改方式:个别抽查(每个同学的作业至少批改一次)、习题课集体讲解、通过 网络公布参考答案。 3. 课内实验 (16 学时) 选择有一定规模的实际项目作为实验内容,划分成多个子系统后由学生分组设计与开 发,实验进度和课堂教学同步,由教师给出文档标准模板,学生分别担任项目经理,项目 组长,系统分析员,程序员和测试员等角色,参与实际项目的管理、分析、设计、编码和 测试等工作并书写完整的文档;项目经理和项目组长还要考虑子系统间的接口,项目组协 调等工作 4. 考核方式 平时上课、作业 30% 实验演示、团队协作及文档 40% 期末笔试 30%。 四、本课程与其它课程的联系 先修课程:程序设计语言 后继课程: 五、教材及参考教材 教材: 《软件工程 原理、方法与应用》史济民等编著 高等教育出版社 参考教材:《Software Engineering –A Practitioner’s Approach》Fifth Edition, R.S.Pressman, Mc Graw Hill 《Software Engineering Theory and Practice.》Second Edition. Shari L. Pfleeger, Prentice Hall 《软件工程》,齐治昌等,高等教育出版社