您的当前位置:首页正文

《软件工程》课程教学大纲

2020-09-03 来源:客趣旅游网
 《软件工程》课程教学大纲

第一部分 大纲说明

一、课程性质、目的与任务

《软件工程》是中央电大计算机应用专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。

根据培养基层应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。 二、先修课要求

计算机的基础知识、程序设计的知识 三、课程的教学要求

基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。 基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护 重点:系统分析、系统设计、系统实现、系统维护 难点:需求分析、软件测试

四、课程的教学方法和教学形式建议

1. 本课程概念较多,因此教学形式以讲授方式(面授和电视录像)为主。

2. 为加强和落实动手能力的培养,每章课后应安排作业,作业应让学生尽可能在CASE环境下进行。

3. 对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。 4. 如条件许可,应利用网络技术进行授课、答疑和讨论。 五、教学要求的层次

课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。

第二部分 教学媒体与教学过程建议

一、课程教学总学时数、学分数

课程教学总学时数为72学时,其中授课时间为50学时(含面授、录像学时),大作业课时为22学时。总学分数为4学分。 二、文字教材与音像教材的配合

1. 课程以文字教材为主(包括主教材和实验教材两部分),•文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。因此教材要概念清晰、便于自学。在内容上要使所用的名词术语符合国家通用标准,突出重点、兼顾一般,反映当代最新技术及应用。

2. 录像教材作为文字教材的强化媒体,配合文字教材讲授课程的重点、难点以及问题的分析方法与思路。两者互相补充,彼此配合。 3. 努力实现网上教学。

三、主要教学媒体的使用与学时分配

教学内容 <一> 软件工程概述 <二> 可行性分析 <三> 需求分析 <四> 概要设计 <五> 详细设计 <六> 面向对象分析与设计方法 <七> 编码 <八> 软件质量与质量保证 <九> 项目计划与管理 合 计 四、考核

本课程采用平时作业与集中笔试考核相结合的方式,平时作业占总成绩的30%,由地方自行组织考核,中央电大进行抽查,不做大作业者不能参加笔试;笔试由中央电大根据教学大纲统一命题,占总成绩的70%。

第三部分 教学内容和教学要求

1 软件工程概述

授课学时 4 2 6 6 6 8 6 10 2 50 教学内容 1.1 软件 1.1.1软件的发展 1.1.2软件的定义 1.1.3 软件的特点 1.1.4软件的种类 1.2 软件工程的概念

1.2.1 软件危机与软件工程的定义 1.2.2 软件工程的目标 1.2.3 软件工程的原则

1.3 软件生存周期与软件开发模型 1.3.1 瀑布模型 1.3.2 原型模型 1.3.3 螺旋模型 1.3.4 基于四代技术模型 1.3.5 面向对象与组件模型 1.3.6 混合模型 教学要求

掌握:软件和软件工程的基本概念 了解:软件生命周期及软件开发的各个模型

2 可行性分析 教学内容

2.1 可行性研究的任务 2.2 可行性研究的步骤 2.3 系统流程图 2.4 成本/效益分析 教学要求

了解:可行性分析的步骤

3 需求分析 教学内容

3.1 需求分析的任务与步骤 3.1.1 需求分析的任务 3.1.2 需求分析的步骤 3.1.3 需求分析的原则 3.2 需求分析方法

3.2.1面向数据流的分析方法 3.2.1.1 基本符号

3.2.1.2 基于数据流的分析方法 3.2.1.3 数据字典

3.2.2 面向数据结构的分析方法 3.2.2.1 Jackson系统开发方法 3.2.2.2 Warnier-Orr方法 3.3 需求规格说明与评审 教学要求:

掌握:需求分析的方法 理解:需求分析的任务和原则

4 概要设计 教学内容

4.1 概要设计的任务与步骤 4.1.1 概要设计的任务 4.1.2 概要设计的步骤 4.2 软件设计的概念与原则 4.2.1 模块化 4.2.2 抽象

4.2.3 信息隐藏和局部化 4.2.4 模块独立性 4.2.5 结构设计的评价原则 4.3 概要设计的方法 4.3.1 面向数据流的设计方法 4.3.1.1 基本概念

4.3.1.2 变换分析 4.3.1.3 事务分析 4.3.1.3 设计优化原则 4.3.2 面向数据结构的设计方法 4.3.2.1 Jackson方法 4.3.2.2 Warnier-Orr方法 4.4 概要设计文档与评审 教学要求

掌握:软件设计的概念与原则,概要设计的步骤、方法 了解:概要设计文档与评审

5 详细设计 教学内容

5.1 详细设计的任务与原则 5.1.1 详细设计的任务 5.1.2 详细设计的原则 5.2 详细设计的方法 5.2.1 程序流程图PFC 5.2.2 N-S图 5.2.3 PAD图 5.2.4 HIPO图

5.2.5 过程设计语言PDL 5.2.6 详细设计方法的选择 5.3 详细设计规格说明与评审 教学要求

掌握:详细设计方法

了解:详细设计规格说明与评审

6 面向对象的分析与设计方法 教学内容

6.1 面向对象方法的基本概念和特征 6.2 面向对象分析

6.2.1 确定对象 6.2.2 确定属性 6.2.3 定义操作 6.2.4 对象间通信 6.3 面向对象设计 6.3.1 面向对象设计概念 6.3.2 面向对象设计方法 6.3.3 程序构件及接口 6.3.4 细节设计 6.4 UML方法

6.4.1 UML的发展与特点 6.4.2 UML的表示法 6.4.3 UML的开发步骤 6.5 面向对象实例分析与设计 6.5.1 建立用例 6.5.2 确定表

6.5.3 设计对象的交互作用 6.5.4 指定联系 6.5.5 寻找继承 6.5.6 分析对象行为 6.5.7 设计系统的体系结构 教学要求

1. 掌握:面向对象的基本概念和特征

2. 了解:面向对象分析与设计方法及UML的开发方法

7 编码 教学内容 7.1 程序设计语言 7.1.1 程序设计语言分类 7.1.2 程序设计语言特点 7.1.3 程序设计语言选择

7.2 编程风格 7.3 编程效率 7.4 编程安全 7.5 面向对象编程技术 教学要求

1. 掌握:一般的编码原则 2. 了解:面向对象编程的特点

8 软件质量与质量保证 教学内容

8.1 软件质量的定义 8.2 影响软件质量的因素 8.3 软件质量保证策略 8.4 软件质量保证活动 8.5 软件质量保证标准 8.6 软件评审 8.7 结构化的软件测试 8.7.1 软件测试的概念和原则 8.7.1.1 测试的概念 8.7.1.2 测试的原则 8.7.1.3 测试的方法 8.7.2 软件测试技术 8.7.2.1 白盒测试 8.7.2.2 黑盒测试 8.7.3 软件测试的步骤 8.7.3.1 软件测试过程 8.7.3.2 软件测试步骤 8.7.3.3 单元测试 8.7.3.4 综合测试 8.7.3.5 确认测试 8.7.3.6 系统测试

8.7.4 纠错技术

8.8 面向对象的软件测试

8.8.1 面向对象分析和面向对象设计的模型测试 8.8.1.1 面向对象分析和面向对象设计模型的正确性 8.8.1.2 面向对象分析和面向对象设计模型的一致性 8.8.2 面向对象的测试策略 8.8.2.1 面向对象的单元测试 8.8.2.2 面向对象的组装测试 8.8.2.3 面向对象的确认测试 8.8.3 面向对象软件测试用例设计 8.8.3.1 测试用例设计蕴涵面向对象的概念 8.8.3.2 传统测试用例设计方法的适用性 8.8.3.3 基于故障的测试

8.8.3.4 面向对象编程对测试的影响 8.8.3.5 测试用例与类的分层 8.8.3.6 基于脚本的测试设计 8.8.3.7 测试外部结构和内部结构 8.8.4 可用于类层次上的测试方法 8.8.4.1 面向对象类的随即测试 8.8.4.2 类层次的分割测试 8.8.5 类间测试用例设计 8.8.5.1 多重类测试

8.8.5.2 按行为模型导出的测试 8.9 软件测试计划与测试分析报告 8.10 软件维护

8.10.1 软件维护的定义、分类、特点 8.10.2 软件维护步骤及组织 8.10.3 软件的可维护性 8.10.4 软件维护的副作用 8.10.5 逆向工程和再生工程

教学要求

1. 掌握:软件质量保证的概念、策略和方法,软件评审或测试的方法和步骤。 2. 了解:软件维护过程

9 项目计划与管理 教学内容

9.1 软件项目特点、管理的特殊性及软件管理功能 9.2 确定项目的工作要求 9.3 确定软硬件资源 9.4 人员的计划及组织 9.5 成本估算及控制 9.6 进度计划 9.7 软件配置管理 9.8 软件管理方案 教学要求

了解:项目计划与管理的基本内容

第四部分 课程大作业

为了进一步弄清和巩固课堂所学的知识及实际的应用,配合讲课,设置以下课程大作业:

1. 结构化分析 2. 概要设计 3. 详细设计 4. 测试

5. 面向对象分析与设计 6. 面向对象编程 7. 面向对象测试 实施要求:

1. 课程大作业的1-4使用传统的软件工程方法;5-6使用面向对象的软件工程方法;可以设计一个大例子,用两种方法来做,也可以分别做两个例子。 2. 建议大作业之前有作业辅导,2学时。

3. 建议作业完成后进行讨论,对这两种方法进行总结,2学时。

4. 建议使用CASE平台及其他工具平台。

因篇幅问题不能全部显示,请点此查看更多更全内容