软件工程教学大纲
课程代码
选课编号
学分:4
学时:64
适用专业:计算机科学与技术(本科)
课程类别:专业技术必修
课程说明:讲授
一、课程简介
(一)课程性质
软件工程借鉴了传统工程的原则和方法,目的是高效地开发高质量的 软件,涉及到计算机科学、数学、工程科学和管理科学。其中,计算机科 学和数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估 成本及确定权衡,管理科学用于计划、资源、质量和成本的管理。
软件工程课程在计算机学科人才培养架构中占有重要的地位,教授包 括软件系统的设计与开发,项目的开展与维护,研究如何经济有效地开发 可靠的系统,学习技术方法、工具和管理等诸多方面,同时它又是一门迅 速发展的新兴学科,新概念、新技术、新方法不断涌现。是帮助学生总结 已修专业科目,学习成为行业实践者的重要课程。
(二)课程目标
本课程要求学生掌握软件工程的基础知识和理论,分析大型软件开发 过程中出现的问题,了解软件开发生命周期中常用的技术,掌握软件开发 过程的结构化方法和面向对象方法,学会运用面向对象的软件工程方法进 行软件需求分析、系统设计、实现和测试,并通过课程实践,实际运用软 件工程的思想和技术,掌握软件项目管理和团队开发的工作方法,并从事 复杂软件项目开发和维护的实践应用能力与创新能力。
软件工程学什么完成课程的学习之后,学生应该能够:
1)意识到工程性在软件开发中的重要性,例如选择用户所关心的问 题,使用有限的资源,保证软件的可靠性和可维护性;
2)分析一个软件开发问题,简单准确的表达它的本质;
3)设计一个结构模型来解决问题,评价解决问题的方法;
4)实现一个模型以便于它可以正确有效的执行;
5)以小组为单位,在软件开发的各个方面合作,并且有组织有建设 性的相互交流意见,执行计划,书写文档。
(三)内容框架
要求学生需要具备的相关知识:具备计算机专业的基础知识,掌握程 序设计基础、数据结构、操作系统、数据库原理等知识,具有一定的编程 能力。
根据本科生的知识基础和学习特点,本课程集中介绍了软件工程的基 本知识体系,从实用的角度讲解软件工程的基本原理、概念和技术方法。 整个课程分成七个部分:
1)软件工程概述,涉及一些基本概念和基础问题,包括软件的发展 历史与主要问题、软件的特点、软件工程与软件过程的概念、软件生命周 期过程和软件开发的基本策略;
2)介绍软件项目管理的基本知识,包括软件项目管理的基本概念、 软件项目规划与估算、软件项目风险管理、软件项目的组织等内容。
3)讨论与需求工程有关的各种问题,包括软件需求和需求工程的基 本概念、常用的需求获取技术和结构化的需求分析技术;
4)结合目前流行的面向对象技术,重点介绍了基于UML的面向对象 分析和设计技术;
5)介绍编码和软件测试,包括软件测试的概念和原则、软件测试的 基本方法和过程管理;
6)讨论软件维护,包括软件可维护性的概念和软件度量、软件逆向 工程和再工程的知识;
7)介绍软件质量与软件质量保证有关的内容,包括软件质量的基本 概念、质量管理的理论体系和软件质量保证活动、ISO9000CMM;
(四)教学时数分配
序号
内容
建议学时
1
软件工程概述
8
2
软件项目管理
12
3
需求
12
4
面向对象分析设计
16
5
编码和软件测试
8
6
维护和再工程
4
7
质量管理
4
8
进阶
0 (根据具体情况安排)
总计
64
表格 1:分章节教时分配表
(六)教学方式
学生在学习过程中应该真正理解软件工程的基本概念和理论,树立软 件工程的思想,由于软件工程具有很强的实践性,因此特别需要结合课程
实践掌握软件工程的技术和方法。课程以讲授和实训互相穿插的形式进行, 学生能力允许的情况下可以以实训为主讲授为辅。
二、教学内容及基本要求
章节
教学内容
要求
学生活动
备注
一、软件工程概述
1、软件的本质
2、定义软件工程 学科
3、软件过程
4、软件过程模型
5、敏捷开发
理解产生软件危机的原因及 解决途径;
理解软件工程的基本原理; 了解软件工程方法学; 深入理解软件生命周期中各 阶段的基本任务;
理解软件过程模型;
重点
软件工程的基本原理; 软件生命周期中各阶段的基 本任务;
难点
各类软件过程模型的特点及 适用范围;
二、软件项目管理
6、软件工程人的 方面
7、项目管理概念
8、度量和估算
9、项目计划和风 险管理
10、文档写作
了解软件度量的概念、范围、 软件特征量;
了解软件开发成本和工作量 的估算;
掌握基于LOC的度量方法 和基于FP的度量方法; 了解软件计划的概念、内容、 分类和项目调度技术; 了解项目管理的“4P”。
了解常用的软件项目管理活 动。
了解常用的软件项目组织形 式。
理解项目沟通的复杂性、沟 通方式和沟通活动。
了解风险管理的过程; 熟练掌握可行性分析方法及 相关文档写作;
重点
软件度量;
基于LOC的度量方法和基 于FP的度量方法; 项目管理的内容、流程和以 架构为中心的项目管理; 软件开发的诸角,团队的 组织结构; 工程文档写作;
学生选题,并根据 选题和学生实际 情况分组;
完成项目范围与 视图说明;
完成可行性分析 报告;