软件工程大纲.docx
《软件工程大纲.docx》由会员分享,可在线阅读,更多相关《软件工程大纲.docx(9页珍藏版)》请在冰豆网上搜索。
软件工程大纲
新疆大学《软件工程》教学大纲
课程编号:
课程类型:
专业必修课
总学时:
64学分:
3.5
适用对象:
软件工程专业本科生
先修课程:
程序设计、数据结构和数据库设计
使用教材及参考书:
[1]《软件工程导论》(第五版),张海藩编著,北京:
清华大学出版社,2008
[2]《软件工程实用教程》,大连:
东软电子出版社2009
[3]《UMLl系统分析设计与应用案例》,北京:
人民邮电出版社2003
[4]《UML.基础、案例与应用.(第三版)》,北京:
人民邮电出版社2004
[5]《面向对象的系统分析与设计(UML版)》,北京:
清华大学出版社2005
一、课程性质、目的和任务
《软件工程》是软件工程专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件危机、软件过程、软件开发模型、软件开发方法、系统分析、设计、编码、测试、维护与管理。
根据培养软件工程人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和面向对象方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、教学基本要求
多媒体教室
三、教学内容及要求
教学内容由3部分组成:
软件工程概述;传统软件工程方法(结构化软件工程);面向对象软件工程
第一部分软件工程概述
第一章软件工程概述
教学内容:
1、软件
软件的发展、软件的定义、软件的特点、软件的种类
2、软件危机的概念
软件危机的定义、现象
3、软件工程的概念
软件工程的定义、软件工程的目标、软件工程的原则
教学要求:
掌握:
软件和软件工程的基本概念
了解:
了解软件危机产生原因、消除软件危机的途径
第二章软件过程与生命周期建模
教学内容:
1、软件过程与软件生存周期
2、软件开发模型
瀑布模型、快速原型模型、螺旋模型、基于四代技术模型、
面向对象与组件模型、混合模型
教学要求:
掌握:
软件过程与软件生存周期的基本概念
了解:
软件开发的各个模型
第三章结构化和面向对象方法
教学内容:
1、结构化方法
2、面向对象方法
3、面向对象的基本概念与特征
教学要求:
理解:
结构化方法和面向对象方法的基本概念和适用范围
了解:
面向数据结构的分析方法、Jackson系统开发方法、
面向对象软件工程的概念
第二部分结构化软件工程
第四章系统分析
教学内容:
1、可行性研究
可行性研究的任务、可行性研究的步骤、成本/效益分析
2、需求分析
需求分析的任务、需求获取、需求分析建模,E-R图、状态转换图、需求验证、评审和管理
教学要求:
掌握:
可行性分析的步骤、需求分析的方法(通过标准文档范例深化)
理解:
需求分析的任务和原则
第五章系统设计
教学内容:
1、软件设计的概念、目的、原理与原则
模块化、抽象、信息隐藏和局部化、模块独立性、结构设计的评价原则
2、设计的过程
包括应用程序、数据库、界面和接口等
两个层次:
概要设计(系统结构设计、子系统划分、系统模块)
详细设计(模块及其接口设计)
3、设计的方法
面向数据流的设计方法(基本概念、变换分析、事务分析、设计优化原则)
面向数据结构的设计方法、Jackson方法
程序流程图PFC、N-S图、PAD图、HIPO图、过程设计语言PDL
4、程序复杂度的度量
教学要求:
掌握:
软件设计的概念与原则,设计的步骤、方法
了解:
程序复杂度的度量
第六章系统实现
教学内容:
1、程序设计语言
程序设计语言分类、程序设计语言特点、程序设计语言选择
2、编程风格
3、编程效率
4、编程安全
5、面向对象编程技术
6、结构化的软件测试
软件测试的概念和原则、软件测试技术(白盒测试、黑盒测试)、
软件测试的步骤:
软件测试过程、软件测试步骤、单元测试、综合测试、确认测试、系统测试
纠错技术(Junit,LoadRunner使用)
7、软件测试计划与测试分析报告
教学要求:
掌握:
一般的编码原则、软件测试的方法和步骤;软件测试基本概念、原理
了解:
面向对象编程、面向对象软件测试的特点
第七章项目管理
教学内容:
1、软件项目特点、管理的特殊性及软件管理功能
2、确定项目的工作要求
3、确定软硬件资源
4、人员的计划及组织
5、成本估算及控制
6、进度计划
7、软件配置管理
8、能力成熟度模型
教学要求:
了解:
项目计划与管理的基本内容、
掌握:
开发时间的估计方法、Gantt图(Project软件)和软件配置管理(cvs软件用法)
第三部分面向对象软件工程
第八章面向对象技术概述
教学内容:
1、面向对象的基本概念
对象、类、方法、属性、封装、继承、多态性、重载
2、面向对象方法及其特点
3、面向对象建模
UML
教学要求:
了解:
软件工程的发展趋势;面向对象的方法及其特点;UML概念及其组成
掌握:
面向对象的基本概念
第九章面向对象软件开发过程模型
教学内容:
1、迭代开发与瀑布式开发、迭代开发与快速原型法
2、Rational统一过程
教学要求:
了解:
迭代开发特点;RUP核心机制
第一十章面向对象的系统分析
教学内容:
1、获取需求;业务建模;
流程图、参与者、用例、用例图、用例图分包;界面设计;用例描述;活动图
2、分析模型:
模式选择;(MVC);时序图
教学要求:
掌握:
获取需求,业务建模方法(viso用法);用例及用例图、用例描述、界面设计、分析类(RationalRose用法)
第一十一章面向对象的系统设计
教学内容:
1、设计模式
设计模式概念、常见模式
2、设计模型
由分析类和设计模式导出设计类;设计模型时序图
教学要求:
掌握:
设计模式概概念、常见模式特点;由分析类和设计模式导出设计类;设计模型时序图方法;
了解:
常见模式
四、教学重点与难点
基本概念和基本知识:
软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
基本技能:
能用软件工程的方法参与软件项目的分析、设计、实现和维护
重点:
系统分析、系统设计、系统实现、系统维护
难点:
需求分析、软件测试
课程的教学要求在每一章教学内容之前给出,大体上分为三个层次:
了解、理解和掌握。
了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。
五、学时分配
序号
章节顺序及名称
时数
1
软件工程概述
2
2
软件过程与生命周期建模
2
3
结构化和面向对象方法
2
4
系统分析
10
5
系统设计
10
6
系统实现
8
7
项目管理
4
8
面向对象技术概述
2
9
面向对象软件开发过程模型
2
10
面向对象的系统分析
10
11
面向对象的系统设计
12
合计时数
64
六、考核方式
1.课程的教学方法和教学形式建议
(1)本课程概念较多,因此教学形式以讲授方式为主。
(2)为加强和落实动手能力的培养,安排一定实验课。
每章课后应安排作业,作业应让学生尽可能实用当前业界主流工具如Visio,RationalRose,PowerDesigner,Project等。
(3)对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。
(4)如条件许可,应利用网络技术进行答疑和讨论。
2.考核
本课程采用平时作业与笔试考核相结合的方式,平时作业占总成绩的30%,不做大作业者不能参加笔试;笔试根据教学大纲统一命题,占总成绩的70%。
3.课程大作业和实施要求
为了进一步弄清和巩固课堂所学的知识及实际的应用,配合讲课,
设置以下课程大作业:
1、结构化分析
2、系统设计
3、系统测试
4、面向对象分析与设计
6、面向对象编程
实施要求:
1、课程大作业的1-3使用传统的软件工程方法;
4-6使用面向对象的软件工程方法;
可以设计一个大课题,用两种方法来做,也可以分别做两个例子。
文档规范参照国标GB8567-88“计算机软件产品开发文件编制指南”。
2、建议大作业之前有作业辅导,2学时。
3、建议作业完成后进行讨论,对这两种方法进行总结,2学时。
4、建议使用Rational_Rose、PowerDesigner、Visor、Project、Junit,LoadRunner等主流CASE平台及工具。
制定者:
张凯
审核者:
柯尊旺
批准者:
于炯
校对者:
柯尊旺