软件工程》课程教学大纲
一、课程基本信息
课程名称:软件工程
英文名称:SoftwareEngineering
课程编码:U223C
课程类别:专业主干课
总学时:48学时(含实验IO学时)
总学分:3
适用专业:计算机科学与技术/网络工程方向
先修课程:高级语言程序设计,数据库设计原理,数据结构
开课系部:计算机科学与技术系
二、课程的性质和任务
《软件工程》是计算机科学与技术专业本科生的一门专业主干课程。它是一门指导计算机软件系统开发和维护的工程学科,也是计算机科学与技术领域的一个重要学科。软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学,通过本课程的学习,使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向;开发软件项目的工程化的方法及在开发过程中应遵循的流程、准则、标准和规范等。使学生掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为今后从事软件开发和应用打下良好的基础。通过本课程的学习,培养学生对软件开发能力和项目管理能力。
三、课程教学基本要求
(一)理论教学内容和基本要求
1章软件工程概述
了解软件工程的产生和发展、软件危机的原因,知道如何消除软件危机。明白软件工程的
基本概念,知道软件工程中包含的领域范围
重点:软件危机的产生和消除方法
2章软件过程
软件与软件生命周期任务,软件开发过程中的基本开发模型,软件开发工具与软件开发环境。掌握软件生存期模型,软件开发模型方法介绍。
重点:软件与软件生存期,软件开发过程模型
难点:软件开发过程模型
3章结构化分析
掌握软件需求获取的方法、软件需求工程的任务、软件需求的原则、主要的需求分析方法;需求工程的基本活动、需求的有效性验证、需求变动管理、需求规格说明;建立结构化分析的三种模型;三种模型对应的描述方法:E-R图,数据流图,状态图。掌握分层数据流图、数据词典和加工逻辑说明的基本构造方法。
重点:软件需求获取方法、结构化分析方法、分析建模方法
难点:结构化分析建模方法
4章结构化设计
理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。掌握模块构造的基本原则(耦合性(COUPIing)、内聚性(CoheSion)及信息隐蔽)。能够灵活掌握描述软件结构的图形工具,理解数据流图的分类、典型的系统结构、变换分析、事务分析、软件模块结构图的改进,掌握有数据流图到结构图的变换方法,人机界面设计的基本要领,掌握软件过程设计的基本方法,过程设计的工具,程序流程图、软件工程学什么N-S图、PAD图;程序设计语言的选择、结构化程序设计、程序设计风格、算法与程序效率;能够熟练的运用过程设计工具描述详细设计的基本要求。
重点:模块设计的基本要求、DFDSC变换方法、IJl设计基本原则、过程设计的基本工具和方法。
难点:DFDSC的转换方法第5章结构化实现
掌握程序编码的选择方法、编码基本风格;理解黑盒测试和白盒测试的内涵,能够很流畅的画出流图。掌握逻辑覆盖的基本方法以及各种方法之间的关系,掌握控制结构测试的基本方法;能够灵活使用黑盒测试的三种基本方法,理解软件测试在整个开发过程中对应的地位。知道基本的调试方法和调试途径。
重点:软件测试的基本方法:白盒测试和黑盒测试;控制结构的测试方法;单元测试和集成测试;调试过程
难点:白盒测试和黑盒测试基本方法,控制结构测试方法
6章面向对象方法分析
理解面向对象方法的要点及面向对象方法学的优点,灵活应用面向对象模型的基本
表示符号,掌握面向对象分析建模基本方法,建立面向对象分析的动态模型和功能模型。
重点:面向对象的重要基本概念,面向对象分析的基本任务与分析过程,面向对象分析建模方法
难点:对象模型的建立,功能模型的建立方法第7章面向对象设计理解面向对象设计的基本准则;理解面向对象设计建模和系统架构设计,设计任务管理子系统,设计数据管理子系统,设计人一机交互,掌握软件重用技术。
重点:面向对象设计的准则、启发规则、设计人一机交互难点:任务子系统分解,系统架构设计方法
8章统一建模语言
掌握UML的形成及主要内容、UML的特点、通用模型元素、视图。掌握用例图、确定执行者、确定用例、确定用例之间的关系。熟练掌握类的识别、类属性与操作、类图与对象图、包图及其应用。要求熟练掌握状态图、顺序图、合作图、活动图及其应用。掌握构件图、配置图及其应用。了解RUP统一过程及其应用
重点:UML的图形表示
难点:UML的图形表示,动态建模机制
9章软件管理技术
了解常见的软件开发工具。进度计划的估量方法,提高进度方法。知道软件风险分析和识别的基本方法,质量保证措施。
重点:软件进度计划管理,风险分析方法
(二)实验教学内容和基本要求
见实验大纲。
四、课程教学要求及形式
1、课程概念多、抽象、涉及面广,教学形式以讲授方式为主+多媒体辅助+网络教学平台进行答疑和讨论。
2、为加强实动手能力的培养,应充分重视实践性教学环节,课内学时保证机机时不少于10学时。
3、关键环节实现方面的技术问题可辅以课堂讨论的形式。
4、课程概念多、比较抽象,算法分析有一定难度,为了学生进一步理解课堂教学内容,拟布置一定数量习题为宜,教师批改作业本的1/3,并安排时间上习题课。
考核形式:考试。
要求:平时成绩:20%,实验成绩20%,期末成绩:60%
五、学时分配
章节
主要内容
各教学学时分配
备注
讲授
习题
实验
讨论
合计
1
软件工程概述
2
2
2
软件过程
2
2
3
结构化分析
5
5
4
结构化设计
5
1
6
5
结构化实现
6
1
2
9
6
面向对象方法分析
4
2
6
7
面向对象设计
4
4
8
8
统一建模语言
5
1
2
8
9
软件管理技术
2
2
合计
35H
3H
10
48H