软件工程导论教学大纲-章程(共15页).doc
《软件工程导论教学大纲-章程(共15页).doc》由会员分享,可在线阅读,更多相关《软件工程导论教学大纲-章程(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件工程导论教学大纲 安徽大学计算机科学与技术学院 2017 年 3 月软件工程导论教学大纲课程编号:ZJ36047课程名称:软件工程导论 英文名称:Introduction to Software Engineering学分/学时:2/34 课程性质:学科平台课程适用专业:软件工程先修课程:计算机导论开课单位:计算机科学与技术学院 一、课程的教学目标与任务软件工程导论课程是软件工程专业高等教育的专业基础课程和学科平台课程,是“科研训练计划”教育课程。软件工程导论以科学技术方法论为逻辑起点,结合部分管理方面的基本理论,讲授软件工程与方法论的联系,从而提高软件的质量和生
2、产率。本课程以软件工程专业本科二年级学生为讲授对象,是集理论性与应用性为一体的学科。设置本课程的目的是:使学习者在全面了解软件工程发展历史、基本理论的基础上,系统掌握软件开发过程中的现代方法和管理手段,具备用工程化方法设计和构建规范软件的思想,从而为后续软件工程开发方法的系列课程奠定理论基础。学习本课程的要求是:学习者应深刻认识软件危机产生的原因,纠正对软件开发的错误认识,掌握软件工程科学方法论的基本概念和基本原理,初步具备作为专业人员组织软件开发和设计工作的能力。为检验掌握软件开发应遵循的原则和编写文档的基本方法的程度,最后的考核是通过考试进行,同时以加深对课程内容的理解。二、课程具体内容及
3、基本要求 第一章 软件工程的范畴 ( 2学时)基本内容包括:第一节 历史方面一、定义软件(1)介绍软件的形式化定义。结合经典教科书中关于软件的定义,介绍软件中所包含的三个要素:指令的集合;数据结构;软件描述信息。(2)阐述非形式化定义中软件具有的特性。对比其他人工产品的特性,总结软件所具有的三个特性。二、软件工程的发展历程和应用领域第二节 经济方面结合例子阐述经济学原则在软件生产方面的重要性。第三节 维护性方面介绍软件生命周期模型和步骤,阐述维护工作在生命周期模型中的重要性和具体分类。一、维护的传统和现代观点二、交付后维护的重要性第四节 需求、分析和设计方面通过解决错误的成本曲线说明提高需求、
4、分析和设计技术的重要性。第五节 小组编程方面阐述软件工程范畴中人的因素的重要性。第六节 为什么没有计划阶段阐述为什么不存在独立的计划阶段,而是计划活动贯穿于软件生命周期的始终。第七节 为什么没有测试阶段阐述为什么在产品实现后没有独立的测试阶段。第八节 为什么没有文档阶段阐述为什么不应当有独立的文档阶段。而是软件文档必须是完整、正确和最新的。第九节 面向对象范型对比传统的开发范型阐述面向对象范型的特点和优点。第十二节 道德问题说明软件工程师应该遵守的八个准则。1.基本要求通过本章的学习,明确软件工程的各个方面的含义,描述传统软件工程生命周期模型和面向对象范型,感受遵守道德规范的重要性。2.重点、
5、难点重点:(1)软件工程的定义;(2)软件工程的传统范型;(3)软件工程的面向对象范型。难点:维护的传统和现代的观点。3.作业及课外学习要求:(1)为什么传统意义上的维护观点对于今天的软件产品不现实?(2)“软件危机”一词于1976年提出,它是什么意思?这个词现在还适用吗?第二章 软件工程的概念 ( 4学时)基本内容包括:第一节 理论上的软件开发对比软件开发在理论上和实践上的不同。(一)软件专业人员在开发中会犯错。(二)软件开发过程中客户的需求会发生变化。第二、三、四节 小型实例研究(一)通过Winburg小型系统实例描述进化树生命周期模型,并对比瀑布生命周期模型。(二)通过野鸭拖拉机公司小型
6、实例研究说明公司业务需求发生变化的时候对软件开发过程所产生的危害。第五节 迭代和递增描述迭代和递增两个概念。(一)迭代是软件工程的一个固有特性。软件开发的基本过程是迭代的,每个版本比前一个版本离目标更近一步。(二)递增也是软件工程的一个固有特性。软件开发过程需要逐步求精。描述软件生命周期中的五个核心工作流。第六节 修订的Winburg小型实例研究通过Winburg小型实例把进化树模型添加在迭代-递增模型之上,说明递增的含义。第七节 迭代和递增的风险和其他方面阐述迭代-递增模型的优点和存在的风险。第八节 迭代和递增的控制阐述为什么需要对迭代-递增模型进行控制。第九节 其他生命周期模型描述编码-修
7、补生命周期模型、瀑布生命周期模型、快速原型开发生命周期模型、开源生命周期模型、敏捷过程、螺旋生命周期模型,分别描述几种模型的特点和适用条件。第十二节 生命周期模型的比较对比几种生命周期模型的优点和缺点。1.基本要求通过本章的学习,掌握各种不同的软件生命周期模型,能够针对某一具体项目选用合适的生命周期模型,对比和比较各种生命周期模型。第二章计划4学时。2.重点、难点重点:(1)迭代的定义;(2)递增的定义;(3)生命周期模型。难点:迭代-递增生命周期模型。3.作业及课外学习要求:(1)描述什么情况下螺旋生命周期模型不适用?(2)描述什么样的产品是螺旋生命周期模型的理想应用?(3)在迭代-递增生命
8、周期模型中如何使用逐步求精?第三章 软件过程 ( 4学时)基本内容包括:第一节 统一过程结合实例说明统一过程是一种自适应的方法学。第二节 面向对象范型内的迭代和递增描述面向对象范型是一个迭代和递增的方法。第三节 需求流阐述需求流的目标是让开发组织确定客户的需求。(一)理解应用域。(二)找出存在的限制条件。(三)明确用户需求。第四节 分析流描述分析流的目标是分析和提取需求。分别对比传统分析方法和面向对象分析方法。(一)传统分析:结构化系统分析-基于流程建模DFD(二)面向对象分析:用例和类是基础。抽象出实体类、边界类和控制类。第五节 设计流描述设计流的目标是细化分析流的制品,指示产品如何做。对比
9、传统设计方法和面向对象设计方法。(一)传统设计:1、确定产品的内部结构,将产品分解成模块,进行接口设计。2、实施详细设计,为每个模块选择相应的算法和数据结构。(二)面向对象设计:1、完成类图。2、进行详细设计。第六节 实现流描述实现流的目标是用选择的实现语言实现目标软件产品。第七节 测试流描述在统一过程中,测试从始至终与其他工作流并行进行。第八节 交付后维护描述交付后维护的主要工作和重要性。第九节 退役描述在何种情况下软件到达退役的阶段。第十节 统一过程的各阶段1、开始阶段(第一次递增)2、细化阶段(第二次递增)3、构件阶段(第三次递增)4、转换阶段(第四次递增)第十一节 一维和二维生命周期模
10、型通过一维和二维模型的比较描述传统生命周期模型和统一过程模型的区别。1.基本要求通过本章的学习,掌握统一过程中的五个核心工作流和四个阶段,解释统一过程的工作流和阶段之间的差别,理解软件过程改进的重要性。2.重点、难点重点:(1)统一过程的五个核心工作流;(2)统一过程的四个阶段。难点:统一过程工作流与阶段之间的差别。3.作业及课外学习要求:(1)统一过程的“阶段”是什么意思?(2)瀑布生命周期模型的缺点是交付后的产品可能不满足客户的需求。统一过程是如何解决这个问题的?第四章 软件小组 ( 4学时)基本内容包括:第一节 小组组织阐述在软件开发中小组组织的重要性和主要方法。第二节 民主小组方法描述
11、民主小组组织的特点。第三节 传统的主程序员小组方法描述传统的主程序小组的特点,通过纽约时报项目进行说明。同时阐述其的不实用性。第四节 主程序员小组和民主小组之外的编程小组通过描述主程序小组和民主小组的缺陷,阐述针对这些问题的组织方法。第五节 同步-稳定小组描述微软公司所使用的同步-稳定小组方法的特点和优缺点。第六节 敏捷过程小组描述敏捷过程小组方法的特点和优缺点。第七节 开源编程小组描述开源编程小组方法的特点和优缺点。第八节 人员能力成熟度模型介绍描述管理和开发人力资源框架的人员能力成熟度模型。第九节 选择合适的小组组织对比不同小组组织方法的优缺点,阐述小组组织的原则。1.基本要求通过本章的学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 教学大纲 章程 15
限制150内