软件工程教学大纲(正式版)
- 格式:doc
- 大小:130.50 KB
- 文档页数:8
《软件工程导论》课程教学大纲
一、课程基本信息
课程编号:
英文名称名:Software Engineering
总学时:54学时
学分:3
课程类别:专业必修课
适用专业:全校本(专)计算机科学与技术
先修课程:数据结构,大学数学,离散数学,计算机算法设计。
二、课程性质与目的、要求
《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程,本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML 语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。
通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。
本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。
三、教学内容及学时分配
本课程的教学内容共分十三章。
第1章软件工程学概述(2课时)
学习目的与要求:通过本章的学习,了解和掌握软件工程的基本概念(如软件和软件工程的定义、等),软件危机的表现形式、产生的原因及消除的途径,软件工程的基本原理、方法学,软件的生存期,几种主要的软件开发模型等。
知识点:①软件危机的产生、典型表现形式、产生的原因及消除的途径;②软件工程的基本原理、包括软件工程的定义、特性、方法学;③二种主要的软件开发方法;④软件生存周期;⑤软件过程、几种主要的开发模型。
1.1 软件危机
1.2 软件工程
1.3 软件生命周期
1.4 软件过程
1.5 小结
第2章可行性研究(4课时)
学习目的与要求:深刻理解可行性研究的必要性,掌握可行性研究的任务、过程、成本效益分析以及可行性研究报告的主要内容;掌握系统流程图、数据流程图、数据字典概念以及项目开发计划的基本内容。
知识点:①可行性研究的任务、具体步骤、成本效益分析、可行性研究报告;②系统流程图;③数据流图;④数据字典。
2.1 可行性研究的任务
2.2 可行性研究过程
2.3 系统流程图
2.4 数据流图
2.5 数据字典
2.6 成本/效益分析
2.7 可行性研究报告
2.8 小结
第3章需求分析(6课时)
学习目的与要求:掌握需求分析的任务,需求获取的方法、分析建模与需求规格说明,掌握数据建模的实体联系图、数据规范化,掌握描述系统行为模型的状态转换图,掌握层次方框图、Warnier图、IPO(HIPO)图。掌握验证软件需求的必要性、方法。
知识点:①需求分析的任务,需求获取、分析建模与需求规格说明;②实体联系图与数据规范化;③状态转换图;④层次方框图;⑤ Warnier图;⑥IPO(HIPO)图;⑦验证软件需求。
3.1 需求分析的任务
3.2 与用户沟通获取需求的方法
3.3 分析建模与规格说明
3.4 数据规范化
3.5 验证软件需求
3.6 小结
第4章形式化说明技术(2课时)
学习目的与要求:掌握形式化方法的概念、优点和应用准则,初步掌握有穷状态机、Petri 网、Z语言的概念和使用。
知识点:①形式化方法、非形式化方法、半形式化方法;②形式化方法的应用准则;③有穷状态机;④Petri网;⑤Z语言。
4.1 概述
4.2 有穷状态机
4.3 Petri网
4.4 Z语言
4.5 小结
第5章总体设计(4课时)
学习目的与要求:了解软件总体设计的目的、任务,掌握软件总体设计的过程、设计原理和启发规则,掌握描述软件结构的工具以及面向数据流的设计方法。能够将具体的数据流图的转换为软件的结构图,即变换分析技术和事务分析技术。
知识点:①总体设计、概要设计、初步设计;②软件总体设计的阶段和过程;③模块化、抽象、逐步求精、信息隐藏、模块独立;④启发规则;⑤层次图、HIPO图、结构图;⑥面向数据流的设计方法(结构化设计方法-SD方法)。
5.1 设计过程
5.2 设计原理
5.3 启发规则
5.4 描绘软件结构的图形工具
5.5 面向数据流的设计方法
5.6 小结
第6章详细设计(4课时)
学习目的与要求:了解软件详细设计阶段的目的、任务和结构化程序设计的概念,掌握人机界面设计的方法、过程设计的工具以及面向数据结构的设计方法,了解程序复杂程度的定量度量。
知识点:①结构化程序设计;②人机界面设计的问题、设计方法;③程序流程图、盒图(N-S图)、PAD图、判定表、判定树、过程设计语言;④JACKSON图、JACKSON方法。
6.1 结构程序设计
6.2 人机界面设计
6.3 过程设计的工具