软件工程课程教学大纲
软件工程课程教学大纲
课程名称:软件工程课程编号:
英文名称:Software Engineerin g 课程属性:必选课
学时:54学分:3
先修课程:C#程序设计语言、数据库、网络原理等
适用专业:软件技术
一、课程简介
本课程是计算机科学与技术、软件工程和网络工程专业本科学生的骨干课程,是一门涉及知识面较广的综合性和实践性很强的课程。它对于培养学生的软件开发素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。
1.知识掌握
主要内容包括软件工程的基本概念及原理、面向过程的软件需求分析与设计的方法及过程、面向对象的软件分析与设计方法与过程、软件测试的方法、软件质量管理的方法与过程、项目计划与管理的方法。
2.能力培养
通过本课程的学习,使学生掌握大型软件系统开发的基本方法、了解软件开发的全过程。要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。为今后从事软件工程实践打下良好的基础。
3.教学方法
在教学中要采用知识讲授与实际案例分析相结合、知识吸纳与实际动手操作相结合的教学手段,使学生不仅学到了知识,还基本具备了将知识与实际相结合的能力。
第一章:软件工程概述(建议学时数:4学时)
【学习目的和要求】
1.知识掌握
了解的软件的发展过程、正确理解什么是软件、正确理解软件的特点、了解软件的分类、正确理解软件危机的概念、正确理解软件工程的概念、理解掌握软件生存周期、理解掌握软件工程过程与目标
2.能力培养
能正确理解软件工程的基本概念和原理
3.教学方法
讲授知识与演示
【重点】
软件危机的产生、软件工程过程。
【难点】
软件工程过程
第二章:软件生命周期与开发模型(建议学时数:4学时)
【学习目的和要求】
1.知识掌握
正确理解软件生命周期、了解软件开发方法、理解软件开发模型中的瀑布模型、增量模型、了解螺旋模型、喷泉模型、RAD模型和迭代模型、理解快速原型开发方式
2.能力培养
能正确理解软件生命周期,掌握瀑布模型和增量模型的异同
3.教学方法
讲授知识与演示
【重点】
软件生命周期、软件开发模型
【难点】
软件开发模型
第三章:软件需求分析(建议学时数:2学时)
【学习目的和要求】
1.知识掌握
了解可行性研究的任务和步骤;了解《可行性分析报告》的格式;了解项目计划。
2.能力培养
能执行可行性研究与项目计划
3.教学方法
讲授知识、案例分析
【重点】
进行可行性分析的步骤
【难点】
可行性分析报告的格式
第四章:软件需求分析(建议学时数:6学时)
【学习目的和要求】
1.知识掌握
掌握需求分析的任务,需求获取的方法;掌握数据流图的构成,构建数据流图的原则和步骤;掌握数据字典的用途、内容和方法。了解《需求分析报告》的格式;
2.能力培养
能根据需求分析获取的方法进行项目的需求分析
3.教学方法
讲授知识、案例分析
【重点】
获取需求的方法
【难点】
数据流图的绘制方法,数据字典的设计
第五章结构化软件设计(建议学时数:6学时)
【学习目的和要求】
1.知识掌握
深刻理解软件总体设计的基本任务,软件设计的基本原理.理解模块化,抽象,信息隐蔽,模块独立性等概念。了解概要设计和详细设计的任务、原则和内容。
2.能力培养
能正确的编写概要设计说明书和详细设计说明书。
3.教学方法
讲授知识、案例分析与上机实践相结合
【重点】
概要设计和详细设计的任务、原则和内容
【难点】
清晰的表达概要设计说明书和详细设计说明书
第六章数据库设计(建议学时数:6学时)
【学习目的和要求】
1.知识掌握
了解数据库设计所需具备的技术和知识;掌握数据库设计的过程;了解数据库设计各个阶段的主要任务。了解逻辑模型的转换,熟悉数据库设计说明书的格式
2.能力培养
数据库设计
3.教学方法
讲授知识与案例分析相结合
【重点】
数据库设计的各个阶段的任务。
【难点】
数据字典设计、数据流图DFD的应用、E-R图设计、实体关系
第七章用户界面设计(建议学时数:4学时)
【学习目的和要求】
1.知识掌握
了解用户界面的设计思想,掌握用户界面的设计原则,掌握用户界面设计方法
2.能力培养
形成较好的界面设计理念。
3.教学方法
讲授知识、案例分析与上机实践相结合
【重点】
用户界面设计的原则
【难点】
系统开发中用户界面设计的实现
第八章面向对象方法与UML建模语言(建议学时数:8学时)
【学习目的和要求】
1.知识掌握
理解面向对象设计的基本概念以及面向对象的基本特点,了解UML建模机制、结构、事务、关系和视图,掌握UML中的类图、用例图、对象图、状态图、活动图,了解包图、交互图、组件图和部署图
2.能力培养
UML各种图的设计
3.教学方法
讲授知识与案例分析相结合
【重点】
面向对象设计的基本概念和基本特点的理解
【难点】
UML中各种图的设计实现
第九章 RationalRose建模工具(建议学时数:4学时)
【学习目的和要求】
1.知识掌握
了解Rational Rose 建模工具的使用,了解Rose模型中的4个视图:Use Case 视图、Logical 视图、Component视图、Deployment视图,掌握快速方法
2.能力培养
运用Rose建模的快速方法
3.教学方法
讲授知识、案例分析与上机实践相结合
【重点】
Rose快速方法的掌握
【难点】
Rose快速方法的掌握
第十章软件编程(建议学时数:2学时)
【学习目的和要求】
1.知识掌握
了解程序设计语言的特点与应用范围,了解Java程序设计风格,了解程序设计算法与效率,掌握C/S结构和B/S结构的特点。
2.能力培养
熟悉结构化程序设计方法
3.教学方法
讲授知识、案例分析与上机实践相结合
【重点】
掌握C/S结构和B/S结构的特点
【难点】
程序设计算法与效率的衡量
第十一章软件测试流程(建议学时数:4学时)
【学习目的和要求】
1.知识掌握
识记软件测试的基本概念,掌握单元测试的概念、内容和步骤,了解集成测试的定义、层次和方式,了解系统测试,了解基于Web的系统测试,掌握验收测试的内容与标准、常用策略和过程。
2.能力培养
掌握软件测试的一般方法。
3.教学方法
讲授知识、案例分析与上机实践相结合
【重点】
掌握软件测试的流程,软件测试方法
【难点】
区分并了解各种测试
第十二章软件测试方法(建议学时数:4学时)
【学习目的和要求】
1.知识掌握
了解静态测试的方法,了解动态测试的方法,掌握白盒测试和黑盒测试。
2.能力培养
掌握基本的软件测试方法。
3.教学方法
讲授知识与案例分析相结合
【重点】
掌握并区分白盒测试的方法和黑盒测试的方法
【难点】
掌握并区分白盒测试的方法和黑盒测试的方法
第十三章软件测试工具LoadRunner(建议学时数:2学时)
【学习目的和要求】
1.知识掌握
了解Loadrunner的测试流程,掌握测试需求分析,掌握录制和编辑脚本,了解场景创建与运行。
2.能力培养
了解Loadrunner软件测试工具
3.教学方法
讲授知识与案例分析相结合
【重点】
掌握Loadrunner工具的基本使用方法
【难点】
掌握Loadrunner工具的基本使用方法
第十四章软件项目管理(选讲)
第十五章项目管理工具Project2003(选讲)
二、考核方式及要求
1. 平时上课、作业完成情况占期末成绩的30%。
2. 期末考试占70%
三、教材及参考书
教材:
1.刘竹林、卓泽鹏、蔡桂洲.李向丽软件工程与实践.第二版. 中国水利水电出版社.2010.4. 参考书:
1.钟珞.软件工程.清华大学出版社.2007.8.
2. 陶华亭.软件工程初级教程.清华大学出版社.2011.9.
3. Bernd Bruegge,叶俊民等.面向对象软件工程. 清华大学出版社.2012.7.
四、责任认定
1.大纲执笔人:余晓峰
2.大纲审定人:
3.制定时间:2012年08月