《软件工程概论大纲(共8页).doc》由会员分享,可在线阅读,更多相关《软件工程概论大纲(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件工程概论()教学大纲01教学单位:软件学院02课程代码:03课程名称:软件工程概论 04课程英文名称:Software Engineering05课程学时: 48学时06课程学分: 3学分07课程类别:专业教育课08课程性质:必修09开课学期:第5 学期10面向专业:软件工程11选用教材1Shari Lawrence Pfleeger,Joanne M.Atlee.软件工程理论与实践:SOFTWARE ENGINEERINGTheory and Practice (第四版 影印版),北京:高等教育出版社,2009.12。12主要参考书1 张海藩编著. 软件工程导论
2、(第5版). 北京:清华大学出版社,20082 郑人杰、马素霞、殷人昆编著.软件工程概论. 北京:机械工业出版社,201113课程教学目的与任务教学目的:本课程支撑的培养要求(毕业要求)指标点:指标点3-3:了解软件系统的基本结构,掌握软件开发基本方法和技术。指标点3-4:了解工程基础知识,了解软件项目管理和软件过程管理的基本方法。指标点4-1:熟悉软件需求分析、设计、实现、评审、测试、维护以及过程与管理的方法和技术。指标点7-3:正确认识工程对于客观世界和社会的影响;理解用技术手段降低其负面影响的作用与局限性。指标点9-2:对信息技术领域及软件行业的国际发展趋势有初步了解。软件工程是研究软件
3、开发维护和软件管理的一门工程科学,本课程是软件工程专业指导性教学计划规定的教学环节中的一部分,是软件学院软件工程专业教学计划规定中一门重要的专业基础课程。本课程是专业教育性质的必修课程,比较全面而概括地介绍软件工程的基本原理和主要内容,让学生熟悉软件需求分析、设计、实现、评审、测试、维护以及过程与管理的方法和技术。旨在让学生掌握软件工程学科基本理论和专业知识。了解本学科的核心概念、知识结构和典型方法。掌握软件开发基本方法和基本技术,以及软件项目组织的基本方法。它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。本课程是双语教学课,使用国外优秀原版教材为主要讲授蓝本
4、,使学生在学习软件工程理论知识的同时提高专业英语的水平,能够初步阅读本专业的外文资料,对信息技术领域及软件行业的国际发展趋势有初步了解。本课程教学目的旨在介绍软件工程的基本原理和主要内容,让学生熟悉软件需求分析、设计、实现、评审、测试、维护以及过程与管理的方法和技术(指标点4-1),为学生进一步深入学习与软件工程相关的其他课程如:软件需求过程、软件分析与设计和软件项目管理、软件过程管理、软件测试等打下坚实的理论基础,了解软件系统的基本结构,掌握软件开发基本方法和技术(指标点3-3),启发学生把握软件开发过程的基本规律,掌握和运用软件分析、设计的常用方法、软件开发过程的管理方法以及质量保证方法等
5、,了解工程基础知识,了解软件项目管理和软件过程管理的基本方法(指标点3-4)来解决软件开发中的实际问题,能够有效地策划和管理软件开发活动。并能够比较容易地进行软件工程其他相关后续课程的深入学习。达到学以致用的目的。教学任务:本课程的基本任务是使学生通过课程的学习,能够掌握软件工程的基本含义、它的主要作用、软件开发的过程、过程管理技术、软件开发各个阶段的主要目的和可能采用的一些技术手段和方法,并理解软件项目管理的主要思想。课程完成后学生能够应用软件工程的思想和理论指导软件开发实践。(1)介绍软件工程的基本原理和主要内容,让学生熟悉软件需求分析、设计、实现、评审、测试、维护以及过程与管理的方法和技
6、术(指标点4-1);(2)如何进行软件度量和管理,怎样进行质量保证活动,正确认识工程对于客观世界和社会的影响;理解用技术手段降低其负面影响的作用与局限性(指标点7-3),从而能够有效地策划和管理软件开发活动。(3)了解软件系统的基本结构,掌握软件开发基本方法和技术(指标点3-3),启发学生把握软件开发过程的基本规律,掌握和运用软件分析、设计的常用方法、软件开发过程的管理方法以及质量保证方法等,了解工程基础知识,了解软件项目管理和软件过程管理的基本方法(指标点3-4)来解决软件开发中的实际问题。(4)在学习软件工程理论知识的同时提高专业英语的水平,能够初步阅读本专业的外文资料,对信息技术领域及软
7、件行业的国际发展趋势有初步了解。(指标点9-2)14课程教学基本要求本课程教学环节主要包括:课堂讲授、教学辅助环节、考试等。课堂讲授主要采用多媒体教学方法,扩展内容和实例可采用板书教学方法。教学辅助环节主要包括作业、讨论、答疑、课堂考试等,完成作业要求学会检索资料,对课程内容相关的技术、社会、法律、管理、经济等问题进行一定深度的分析,阐述自己的观点。考试环节包括课程期末考试和平时考核。要求教师在教学中采用启发式教学和因材施教,并给出一些章节的启发式教学内容的设计。课程纲目以中英文对照,具体内容讲授可使用中文,对英文教材中较难理解的部分要着重讲解,对主要术语要注意中英文对照。15预备知识或先修课
8、程要求先修课程:计算机导论、面向对象程序设计、数据结构、统一建模语言及工具、数据库原理后续课程:软件项目管理、软件工程工具与应用、项目计划与控制、项目组织与团队管理。16课程教学内容、要求及学时分配Chapter01 Introduction to Software Engineering(3学时)教学内容:(1)软件的概念和特点(2)软件的分类(3)软件危机(4)什么是软件工程,软件工程的三个要素:方法、工具和过程(5)系统方法和工程方法(6)软件工程规范的基础概念(7)软件工程的本质特性、框架、活动、原则、基本准则及范围知识点:软件的概念、特点、软件的分类;软件危机;软件工程的三个要素:方
9、法、工具和过程;系统方法和工程方法;软件工程规范;软件工程的本质特性、软件工程框架、软件工程活动、软件工程原则、软件工程的基本准则。重点:软件工程的定义、软件工程的3个要素、软件工程过程的主要活动、如何理解好的软件、软件工程的基本目标和它们之间的关系、软件工程的8个原则、软件工程7个基本准则。难点:软件工程的本质特性和框架教学要求:(1)了解软件的概念、特点。(2)了解软件工程的要素、本质特性,理解软件工程框架、软件工程活动、软件工程原则。(3)了解进行质量保证活动,正确认识工程对于客观世界和社会的影响;理解用技术手段降低其负面影响的作用与局限性(指标点7-3)能力要求:(1)运用现代信息技术
10、获取与软件工程技术相关的信息、新知识、新技术的能力。(2)查阅与软件工程技术相关的外文资料能力。(3)运用系统方法和工程方法进行应用领域创新的思维能力。Chapter02 Modeling the Process and Lifecycle(4学时)教学内容:从总体上了解过程、软件工程过程和软件生存期的基本概念和内容;软件生存期模型。(1)什么是过程?过程的含义、过程的特征、过程的重要性,软件生命周期。(2)软件过程模型,为什么建立软件过程模型?(3)典型的过程模型:瀑布模型、加强的瀑布模型、V-模型、原型化模型、操作说明模型、变换模型、阶段化开发:增量和迭代模型、螺旋模型、喷泉模型、敏捷方法
11、。知识点:过程、软件生命周期的基本概念和内容;软件过程模型。重点: 瀑布模型、原型化模型、螺旋模型、喷泉模型、敏捷方法难点:了解过程、软件生命周期的基本概念和内容;软件过程模型。软件生存期的各种阶段划分方法。软件生存期的各种模型的特点和优缺点教学要求:(1)了解过程及其相关概念和重要性。(2)掌握过程与管理的方法和技术(指标点4-1);能力要求:(1)掌握过程模型对现代软件工程的影响,有效的在实际工程活动中运用过程模型的能力。(2)能正确的进行过程模型剪裁和运用的能力。Chapter03 Planning and Managing the Project(6学时)教学内容:(1)项目管理概述(
12、2)软件项目进度计划(3)软件项目中的人员与组织结构(4)软件项目的成本与工作量估算(5)软件项目的风险管理(6)软件项目配置管理知识点:软件项目管理,管理的范围,软件项目中的管理活动,项目的分解结构,项目的进度管理。软件项目中的人员与组织结构,软件项目成本估计技术,成本/效益分析的方法,风险管理的内容重点:软件项目管理的内容、范围和活动;软件项目成本估计技术,成本/效益分析的方法,风险管理。难点:了解项目管理基本概念和内容;软件项目管理的特殊性。教学要求:(1)了解软件项目管理的基本概念和方法(2)掌握项目进度管理、软件项目成本分析和软件开发过程人员组织的方法。能力要求:(1)了解软件项目管
13、理和软件过程管理的基本方法(指标点3-4),应用所学知识来解决软件开发中的实际问题能力。Chapter04 Capturing the Requirements(7学时)教学内容:(1)需求获取技术(2)需求类型和特征(3)需求分析方法(4)原型化需求(5)需求规格说明(6)需求确认(7)需求规格说明技术的选择知识点:(1)需求获取、需求分析的任务、需求分析的过程、软件需求分析的原则。(2)需求提取(引出)、系统需求的资料来源、需求提取的实际入手方法、需求提取中注意的事项。(3)结构化分析技术、面向对象的分析(4)需求规格说明的原则(5)需求评审的内容重点:需求分析的实现过程和步骤;需求的描述
14、方式;结构化分析建模技术。难点:结构化分析的步骤和方法:(1)数据建模;(2)功能建模和数据流;(3)行为建模;(4)数据词典 。教学要求:(1)了解需求分析的相关概念(2)掌握结构化分析的实施技术。能力要求:让学生熟悉软件需求分析的方法和技术(指标点4-1);有应用所学知识来解决软件需求分析实际问题的能力。Chapter05 Designing the System(6学时)教学内容:(1)软件设计过程(2)分解和模块性(3)软件体系结构(技术风格和策略)(4)描绘软件结构的图形工具(5)面向数据流的设计方法(6)优秀设计的特征(7)重要的设计问题(设计原理)(8)改进设计的技术(9)设计的
15、评估和确认知识点:(1)软件设计的本质、系统设计过程、设计的两个阶段。(2)分解的层次、模块性、软件设计层次。(3)软件体系结构、体系结构定义和相关术语、软件体系结构描述的内容、常用的软件体系结构风格。(4)描绘软件结构的图形工具。(5)面向数据流的设计方法。(6)模块性与抽象层次、协作设计、设计用户界面、并发、设计模式与复用。(7)组件独立性、例外识别与处理、防错和容错。(8)降低复杂度、合约设计、原型化设计、错误树分析。(9)设计的评估和确认重点:软件体系结构、常用的软件体系结构风格、面向数据流的设计方法、组件独立性。难点:常用的软件体系结构风格的理解、面向数据流的设计方法实践、内聚和耦合
16、的级别。教学要求:了解软件设计的阶段概念,掌握软件体系结构的真正含义,掌握体系结构的设计方法。能力要求:让学生了解软件系统的基本结构,掌握软件开发基本方法和技术(指标点3-3);有应用所学知识来进行软件结构设计的初步能力。Chapter06 Concerning Objects(6学时)教学内容:(1)什么是面向对象?(2)面向对象开发过程(3)用例(4)OO的表示:UML示例(5)面向对象系统设计(6)面向对象的程序设计和其他问题知识点:(1)对象的特点;类、消息、方法与属性;面向对象的特征。(2)面向对象需求分析过程、面向对象设计的准则、面向对象设计的启发规则、面向对象设计过程、面向对象编
17、码和测试。(3)用例、用例规格说明。(4)UML的定义、UML的9种图、UML的5种视图。(5)划分对象类、设计类框图、其他UML图。(6)程序设计要注意的问题、设计辅助、用户界面设计、数据管理设计、任务管理设计、面向对象的度量、结构化设计方法与面向对象设计特点比较。重点:对象的特点、面向对象的特征、面向对象设计的准则、面向对象设计过程、UML的应用。面向对象系统设计。难点:面向对象需求分析过程、面向对象系统设计。教学要求:了解面向对象的概念,面向对象方法的真正含义,掌握面向对象的设计方法。能力要求:让学生了解面向对象方法与结构化方法的差异,掌握不同方法和技术的精髓;有采用面向对象方法来进行软
18、件设计的初步能力。Chapter07 Writing the Programs(3学时)教学内容:(1)编程标准和过程。(2)编程指导方针。(3)文档(4)程序复杂程度的定量度量知识点:(1)软件工程标准、注释的标准格式。(2)控制结构、结构程序设计。(3)编码风格、过程设计技术和工具。(4)McCabe方法、Halstead方法、交点复杂度。重点:结构程序设计、编码风格,交点复杂度。难点:结构程序设计。教学要求:掌握结构程序设计方法。能力要求:让学生了解程序设计的重点问题,进行程序编码的基本能力。Chapter08 Testing the Programs(5学时)教学内容:(1)软件故障和
19、失效。(2)测试的有关事项。(3)单元测试(4)集成测试(5)测试面向对象系统(6)测试计划(7)何时停止测试知识点:(1)软件失效机理、系统失效因素、错误类型分类。(2)测试的意义、测试指导原则、测试技术的分类。(3)黑盒测试、白盒测试、选择测试、测试的彻底性。(4)集成测试的方法、集成测试的步骤。(5)面向对象测试和传统测试之间的差别。(6)测试计划的组成。(7)覆盖标准、错误数估计、置信度。重点:测试的目标、正交错误分类、黑盒、白盒测试、穷举和选择测试、测试的彻底性、集成测试的方法,测试停止标准的选择。难点:单元测试的方法、集成测试的方法、测试停止标准的选择。教学要求:掌握软件测试的原则
20、、了解单元测试的方法、了解集成测试的方法。能力要求:让学生了解软件测试的层次,掌握测试的方法和原则,使他们具有进行软件测试设计的基本能力。Chapter09 Testing the System(2学时)教学内容:(1)系统测试的原则。(2)功能测试。(3)性能测试(4)可靠性、可用性和可维护性(5)验收测试(6)安装测试(7)测试文档知识点:系统测试的原则、软件错误的根源、系统测试过程、功能测试目标与任务、功能测试的指导方针、因果图、性能测试的类型、可靠性、可用性和可维护性度量、验收测试类型和结果、测试文档。重点:系统测试的原则、功能测试目标与任务、可靠性、可用性和可维护性度量。难点:对系统
21、测试的整体理解。教学要求:掌握系统测试的原则、了解系统测试的方法。能力要求:让学生了解系统测试的方法和原则,使他们具有进行系统测试设计的基本能力。Chapter10 Delivering the System(1学时)教学内容:培训、文档。知识点:用户与操作员职能、培训类型、培训援助、用户帮助和故障诊断、出错信息指南。重点:培训、用户文档。难点:用户帮助。教学要求:了解培训和文档的重要性。能力要求:让学生了解用户,建立用户帮助能力。Chapter11 Maintaining the System(3学时)教学内容:(1)关于变化的系统。(2)维护的本质。(3)维护有关的问题(4)度量维护特性(
22、5)维护技术和工具知识点:系统类型、系统生命期、软件演化法则、维护的本质、维护小组的职责、影响维护成果的因素、维护工作量建模、可维护性的外部属性、可维护性的内部属性、变动控制、后果分析、软件再生及分类。重点:系统类型、软件演化法则、维护的本质、影响维护成果的因素、软件再生。难点:对系统维护本质的整体理解。教学要求:掌握维护的整体概念。能力要求:让学生了解软件维护的一般技术要求。17考核要求、考核方式及成绩评定标准考核要求:(1)考核要求包括知识考核与能力考核。(2)知识考核涵盖每个章节的知识点,具体要求分解到每个章节,详见“课程教学内容”每个章节的“教学要求”。(3)能力考核在每个章节中有不同
23、的要求,具体要求分解到每个章节,详见“课程教学内容”每个章节的“能力要求”。考核方式:(1)考核方式包括平时考核和期末考核两种方式。(2)平时考核以能力考核为主,知识考核为辅。考核评价依据包括课外作业、课堂测验等教学材料。课外作业主要是涉及不宜在限定时间内完成、需要查阅相关资料、需要考虑非技术因素、需要考虑复杂工程环境、需要综合运用相关知识等相关内容的技术方法、应用领域、功能实现、项目开发的分析与设计。(3)期末考核以知识考核为主,能力考核为辅。考核评价依据主要是考试试卷。期末考试采用开卷形式,考核范围基本上覆盖各章内容,突出重点章节,加大重点章节内容的覆盖密度。考核试题主要题型有填空、选择、简答、简单应用、综合应用等形式。成绩评定标准: 课程成绩由平时考核成绩和期末考核成绩组成。平时考核成绩与期末考核成绩所占比例按具体学期要求和教学方式而定。考核成绩满分100分。课程成绩及格分数线为60分,表明达到本课程在知识和能力方面的基本要求。18.其他说明无19执笔人:朱晓冬 教授20制定日期:21审核人:李颖 教授22审核日期:专心-专注-专业
限制150内