软件工程导论教学大纲-章程

合集下载

软件工程教学大纲正式版

软件工程教学大纲正式版

软件工程教学大纲正式版WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】《软件工程导论》课程教学大纲一、课程基本信息课程编号:英文名称名:Software Engineering总学时:54学时学分:3课程类别:专业必修课适用专业:全校本(专)计算机科学与技术先修课程:数据结构,大学数学,离散数学,计算机算法设计。

二、课程性质与目的、要求《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。

软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。

《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程,本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。

通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。

本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。

本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。

三、教学内容及学时分配本课程的教学内容共分十三章。

软件工程导论教案章程

软件工程导论教案章程

软件工程导论教案章程 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】安徽大学本科教学课程教案课程代码: ZJ36047课程名称:软件工程导论授课专业:软件工程授课教师:章程职称/学位:讲师/博士开课时间:二○一六至二○一七学年第 2 学期第 1 次课程教学方案第 1 次教学活动设计由两个实例引入:工程学的意义。

软件生产过程虽然很多方面与传统工程相似,但是仍然有自己的属性和问题。

软件工程定义为一门学科,目的是生产出满足客户要求的、未超出预算的、按时交付的、没有错误的软件。

需要在软件生产的各个阶段使用恰当的技术,包括何时进行分析、设计和交付后维护。

软件工程结合人类各个领域的许多知识,包括经济和社会科学。

1.1历史方面1968年在德国Garmisch召开的NATO软件工程会议上签署了声明,正式确立了软件工程的概念。

目标: 软件工程应当是一项类似工程的活动,应当使用已建立的工程学科的基本原理和范型来解决“软件危机”。

软件交付所出现的问题•推迟完成•超出预算•特性缺失错误软件危机仍然伴随着我们,告诉我们两件事情:(1)软件生产过程虽然很多方面与传统工程相似,但是仍然有自己的属性和问题。

(2)可能应当重新命名为“软件萧条”(Software Depression)•周期长•难预测1.2经济方面举例:使用新的编码技术 CTnew 编码时间比使用旧的编码技术CTold少花1/10的时间。

是否应该使用新的编码技术?通常的答案时:当然选择新的编码技术。

从软件工程的经济观点来看:•考虑培训的成本•考虑采用新技术CMnew 对维护工作的影响1.3维护性方面传统维护观点:传统意义上,维护是根据不同时期所开展的活动来进行定义的客户想要增加该软件产品的功能•传统维护(完善性)客户想要在软件之前做同一改变(“移动目标问题”)•传统开发范畴现代维护定义是软件因存在问题或因有改进或适应性需求时,对代码及相应文档所进行的修改过程1.4 需求、分析和设计方面提高需求、分析和设计技术是非常重要的•可以尽早发现错误•降低错误的总体数量(需求、分析和设计中错误所占比例较高)1.5 小组编程方面硬件成本不断降低•产品太大了无法由一个人在规定时间内编写完成这种产品需要由一个小组去完成•模块之间的接口问题•小组成员之间的交流协调问题1.6 为什么没有计划阶段在项目的开始,对管理需求和分析阶段进行初步计划一旦明确之道将要开发什么,就制定出软件项目管理计划在整个项目过程中,管理者需要监督SPMP的执行情况,并且注意是否有偏离计划的情况发生1.7 为什么没有测试阶段在一个软件准备好交付给客户时才检查它实在是太晚了持续测试活动必须始终贯穿于软件生命周期中测试活动是•每个软件正确建造的保证•软件质量保证(SQA)小组的责任1.8 为什么没有文档阶段在一个软件准备好交付给客户时才编制文档实在是太晚了软件行业中的人员流动性较大如果前一阶段的文档不是完整、正确和最新的,几乎不可能执行下一阶段的步骤除非提供文档来说明对一个软件产品期望的性能,否则不可能测试该软件产品是否正确工作如果没有一套完整、正确的文档精确地描述产品的当前版本做些什么,维护几乎是不可能的1.9 面向对象范型优点1. 由于信息隐藏,交付后维护更安全•极大地减少了出现回归错误的机会2. 使软件开发变得更加容易•对象在现实中都存在对应物•能够简化建模(建模在面向对象范型中起着非常重要的作用)3. 设计良好的对象是独立的单元第 2 次课程教学方案第 2 次教学活动设计2.1理论上的软件开发在理想世界中。

《软件工程导论》课程教学大纲(5篇)

《软件工程导论》课程教学大纲(5篇)

《软件工程导论》课程教学大纲(5篇)第一篇:《软件工程导论》课程教学大纲《软件工程导论》课程教学大纲课程编号:课程中文名称:软件工程导论课程英文名称:Introduction of Software Engineering 总学分:2 总学时: 36 讲课学时:36习题课学时:0 实验学时:0 上机学时:0 授课对象:软件工程专业本科先修课程:程序设计课程要求:必修课课程分类:专业基础课一、课程教学目的随着计算机技术的发展,软件的规模越来越大,软件的结构越来越复杂,软件开发与维护的难度也越来越高,软件的质量难以保证,软件开发与维护的进度和成本难以控制,这就要求有一种科学的方法指导软件的开发与维护工作。

软件工程就是这样一种指导软件开发和维护的工程学科。

通过本课程的学习,使学生了解软件工程的概念、原理和技术,初步掌握软件开发的基本方法和常用工具,建立软件开发和维护的工程化意识,培养独立思考的能力和团队合作的精神,为后续相关课程的学习以及从事软件开发与维护的实际工作打下良好的基础。

二、教学内容及基本要求教学内容:1.课程内容简介(1学时)本课内容简介,基本要求和目标,教学方法,学习方法,教材(英1 文原版)的主要内容及使用,中文参考教材简介2.软件工程的基本概念(4学时)软件工程的基本概念,软件危机产生的原因,软件危机面临的问题及解决方法,什么是好的软件以及软件的质量的概念,实施软件工程的人员,软件工程的系统方法,软件工程的工程方法,软件工程的发展3.过程建模与生命周期(4学时)过程的概念,软件过程模型,软件生命周期,各种常用的软件过程模型,过程建模的工具和技术 4.软件项目计划与管理(4学时)软件项目进展跟踪,软件项目的人员,工作量的估算,风险管理,项目计划,项目管理 5.需求获取(4学时)需求过程,需求的类型,需求的特征,需求的表示方法,原型需求法,需求文档,需求过程的参加人员,需求确认,需求度量,需求表示方法的选择,表示需求的工具。

《软件工程导论》课程教学大纲

《软件工程导论》课程教学大纲

《软件工程导论》课程教学大纲软件工程导论课程教学大纲一、课程介绍软件工程导论课程致力于介绍软件工程的基本概念、原理和技术,帮助学生了解软件开发的整体流程以及相关的管理和质量控制方法。

通过本课程的学习,学生将掌握软件工程的基本理论和实践技能,为日后的软件项目开发奠定坚实的基础。

二、教学目标1. 让学生了解软件工程的发展历程和重要性,并理解软件工程在实际应用中的作用。

2. 掌握软件工程的基本概念和核心原理,包括需求分析、设计、编码、测试和运维等方面。

3. 学会运用常见的软件工程方法和工具,提高软件开发的效率和质量。

4. 培养学生的团队合作能力和项目管理能力,使其能够适应未来的软件开发工作。

三、教学内容1. 软件工程导论1.1 软件工程的定义和背景1.2 软件工程的发展历程1.3 软件工程的重要性和挑战2. 软件生命周期2.1 软件生命周期模型2.2 软件需求与分析2.3 软件设计与体系结构2.4 软件编码与测试2.5 软件维护与升级3. 需求工程3.1 需求获取与分析3.2 需求规格说明3.3 需求验证与验证4. 软件设计4.1 结构化设计原理4.2 面向对象设计原理4.3 软件设计工具和方法5. 软件测试5.1 测试的基本概念和原理5.2 测试用例设计和执行5.3 软件缺陷的管理和修复6. 软件项目管理6.1 软件项目计划与组织6.2 软件项目进度控制与风险管理6.3 软件质量管理和配置管理四、教学方法1. 理论讲授:通过课堂讲解,介绍软件工程的基本概念、原理和方法。

2. 实践操作:引导学生使用常见的软件工程方法和工具进行实践,加深对软件开发流程的理解。

3. 项目实践:组织学生进行小型软件项目开发,培养团队合作和项目管理能力。

4. 讨论与互动:鼓励学生在课堂上提问和讨论,促进知识的深入理解和应用。

五、评价方式1. 平时表现:包括课堂参与、作业完成情况、实践操作等。

2. 课程项目:对学生参与的实际软件开发项目进行评估。

软件工程导论教案-章程

软件工程导论教案-章程

安徽大学本科教学课程教案课程代码: 课程名称: 授课专业: 授课教师: 职称/学位: 开课时间:二○ 一六ZJ36047 软件工程导论 软件工程 章程 讲师/博士 至二○ 一七 学年第 2 学期1 / 58第周次 教学 章节 1 第 1 章 软件工程的范畴1次课程教学方案课时数 2(1)明确软件工程的各个方面的含义。

目标 要求 (2)描述传统软件工程生命周期模型和面向对象范型。

(3)感受遵守道德规范的重要性。

重点 难点重点: (1)软件工程的定义; (2)软件工程的传统范型; (3)软件工程的面向对象范型。

难点:维护的传统和现代的观点。

√ 课堂讲授 □ 作业讲评 √ 文字教材 □ 小组活动 □ 实践教学 √ 电子教案 □ IP 课件 □ 实验演示 □ 考试测验 □ 录像材料 □ 其他资源: √ 难点答疑 □ 其他活动 □ 录音材料 □ 直播课堂 √ 提问教学 方式 媒体 资源 课后 作业□ CAI 课件(1)为什么传统意义上的维护观点对于今天的软件产品不现实? (2) “软件危机”一词于 1976 年提出,它是什么意思?这个词现在还适用吗?2 / 58板 书 设 计教学课件《第 1 章 软件工程的范畴》 1. 历史方面 2. 经济方面 3. 维护性方面 4. 需求、分析和设计方面 5. 小组编程方面 6. 为什么没有计划阶段 7. 为什么没有测试阶段 8. 为什么没有文档阶段 9. 面向对象范型 10. 术语 11. 道德问题3 / 58第教学 环节1次教学活动设计内容设计与手段导 入 新 课由两个实例引入:  工程学的意义。

 软件生产过程虽然很多方面与传统工程相似,但是仍然有自己的属性和问题。

 软件工程定义为一门学科,目的是生产出满足客户要求的、未超出预算的、按时 交付的、没有错误的软件。

 需要在软件生产的各个阶段使用恰当的技术,包括何时进行分析、设计和交付后 维护。

 软件工程结合人类各个领域的许多知识,包括经济和社会科学。

《软件工程》教学大纲+授课计划

《软件工程》教学大纲+授课计划

《软件工程》教学大纲+授课计划《软件工程》教学大纲及授课计划引言:软件工程是计算机科学中的重要领域,对开发高质量软件至关重要。

本文将从教学大纲和授课计划两个方面,详细介绍《软件工程》课程的内容和组织安排,旨在培养学生系统地理解和应用软件工程的知识和技能。

第一部分:教学大纲1. 课程简介1.1 课程背景1.2 学习目标1.3 先修要求2. 课程内容2.1 软件需求工程2.1.1 需求获取和分析2.1.2 需求规格化和验证2.2 软件设计与建模2.2.1 结构设计2.2.2 行为设计2.3 软件构建与测试2.3.1 编码规范和实践2.3.2 软件测试技术2.4 软件项目管理2.4.1 项目计划与进度管理2.4.2 风险管理3. 教学方法3.1 理论讲授3.2 实践操作3.3 课堂讨论3.4 项目实践4. 考核方式4.1 期中考试4.2 课堂表现和作业4.3 项目实践成果第二部分:授课计划1. 第一周1.1 课程介绍与教学大纲解读1.2 软件工程导论2. 第二周2.1 软件需求工程概述2.2 需求获取和分析方法3. 第三周3.1 需求规格化和验证基础3.2 用例建模与需求验证4. 第四周4.1 软件设计与建模概述4.2 结构设计原理与实践5. 第五周5.1 行为设计基础5.2 状态图与活动图6. 第六周6.1 软件构建与测试概述6.2 编码规范与实践7. 第七周7.1 软件测试基础7.2 单元测试与集成测试8. 第八周8.1 软件项目管理概述8.2 项目计划与进度管理9. 第九周9.1 风险管理基础9.2 风险识别与应对策略10. 第十周10.1 软件质量保证与持续改进10.2 课程总结与复习结语:本教学大纲和授课计划旨在帮助学生系统学习软件工程的理论与实践,全面提升他们软件开发与管理的能力。

通过理论讲授、实践操练和项目实践等方式,学生将掌握软件需求工程、软件设计与建模、软件构建与测试以及软件项目管理等关键知识和方法。

软件工程导论课程教学大纲

软件工程导论课程教学大纲

软件工程导论课程教学大纲软件工程导论》课程教学大纲一、课程性质、地位和作用《软件工程导论》是是软件工程专业的专业基础课程,属必修课。

本课程主要讲述建造软件系统的基本方法、技术、流程、工具及规范等。

通过学习可以使学生了解软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的基本内容和发展动向;学习用工程化的方法开发软件项目,初步掌握开发过程中应遵循的流程、准则、标准和规范。

本门课程为将来从事软件开发学生的软件工程师之路奠定坚实的基础。

二、课程教学对象、目的和要求本课程适用于软件工程、计算机应用等从事软件开发的本科专业。

课程教学目的、要求:(一)从教学内容上,应使学生了解软件工程的基本概念,主要包括软件与软件开发的基本过程,软件危机与软件工程。

掌握个人软件开发过程的基本内容和方法,了解软件开发模型及结构化软件设计方法,以及软件质量保证基本内容。

(二)从能力方面,应使学生通过对软件工程基本概念和方法的学习和课后练习,培养学生养成规范化个人开发的良好习惯,培养学生按照软件工程的基本过程和方法来设计和开发软件。

(三)从教学方法上,在课堂理论教学中,采用学生可以理解的软件开发素材,通过一边实践一边讲解的方法,讲解软件过程的基本思想和方法,通过学生完成与实践结合的作业,调动学生的积极性,使软件工程的基本思想逐步植根于学生头脑中。

三、相关课程及关系本课程的先修课程是“ C 语言程序设计”和“数据结构”等程序设计课程,学习应在学生具有一定的编程能力基础上进行。

本课程为后续的“软件制造工程” 和“软件设计工程”等课程打下了必要的理论基础。

四、课程内容及学时分配总学时:32学时(一)绪论 1 学时1、软件工程及其重要性2、软件开发需要软件工程3、软件工程课程体系架构(需要什么软件工程)4、课堂的组织、学习方法、章节安排与考核要求学生了解软件工程的起源,软件工程在软件开发中的作用,了解软件工程课程体系。

《软件工程导论》教学大纲

《软件工程导论》教学大纲

软件工程教学大纲课程名称:软件工程开课学期:第5学期学时/学分:48 / 3课程类型:专业必修课开课专业:游戏开发选用教材:《软件工程导论》(第四版),张海藩编著,清华大学出版社;主要参考书:1.《实用软件工程》(第二版),郑人杰、殷人昆、陶永雷编著,清华大学出版社;2.《软件工程:实践者的研究方法》(原书第五版),Roger S. Pressman,机械工业出版社;3.《软件工程》(原书第六版),Ian Sommerville,机械工业出版社;4.《面向对象与传统软件工程》(原书第五版),Stephen R. Schach,机械工业出版社。

5.《面向对象的软件工程》,B.Bruegge,A.H.Dutoit著,清华大学出版社一、课程性质、目的与任务软件工程是研究软件开发维护和软件管理的一门工程科学,本课程是计算机科学与技术专业指导性教学计划规定的教学环节中的一部分,教学目的旨在介绍软件工程的基本原理和主要内容,为学生进一步深入学习与软件工程相关的其他课程如:软件需求过程、软件分析与设计和软件项目管理、软件过程管理等打下坚实的理论基础。

同时启发学生把握软件开发过程的基本规律,掌握和运用软件分析、设计的常用方法、软件开发过程的管理方法以及质量保证方法等,来解决软件开发中的实际问题,达到学以致用的目的。

二、教学基本要求1)本门课程是软件工程导论性质的课程,所以它比较全面而概括地介绍了与软件开发、管理和维护相关的各阶段的工作。

学生通过这门课程的学习,能够掌握软件工程的基本含义、它的主要作用、软件开发的过程、软件开发各个阶段的主要目的和可能采用的一些技术手段和方法,并理解软件项目管理的主要思想。

课程完成后,学生能够应用软件工程的思想指导软件开发实践,并能够比较容易地进行软件工程其他相关后续课程的深入学习。

2)要求教师在教学中采用启发式教学和因材施教,并至少给出一些章节的启发式教学内容的设计。

3)制作电子教学课件,运用课件进行教学。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程导论》教学大纲安徽大学计算机科学与技术学院2017 年 3 月《软件工程导论》教学大纲课程编号:ZJ36047课程名称:软件工程导论英文名称:Introduction to Software Engineering 学分/学时:2/34 课程性质:学科平台课程适用专业:软件工程先修课程:计算机导论开课单位:计算机科学与技术学院一、课程的教学目标与任务《软件工程导论》课程是软件工程专业高等教育的专业基础课程和学科平台课程,是“科研训练计划”教育课程。

《软件工程导论》以科学技术方法论为逻辑起点,结合部分管理方面的基本理论,讲授软件工程与方法论的联系,从而提高软件的质量和生产率。

本课程以软件工程专业本科二年级学生为讲授对象,是集理论性与应用性为一体的学科。

设置本课程的目的是:使学习者在全面了解软件工程发展历史、基本理论的基础上,系统掌握软件开发过程中的现代方法和管理手段,具备用工程化方法设计和构建规范软件的思想,从而为后续软件工程开发方法的系列课程奠定理论基础。

学习本课程的要求是:学习者应深刻认识软件危机产生的原因,纠正对软件开发的错误认识,掌握软件工程科学方法论的基本概念和基本原理,初步具备作为专业人员组织软件开发和设计工作的能力。

为检验掌握软件开发应遵循的原则和编写文档的基本方法的程度,最后的考核是通过考试进行,同时以加深对课程内容的理解。

二、课程具体内容及基本要求第一章软件工程的范畴 ( 2学时)基本内容包括:第一节历史方面一、定义软件(1)介绍软件的形式化定义。

结合经典教科书中关于软件的定义,介绍软件中所包含的三个要素:①指令的集合;②数据结构;③软件描述信息。

(2)阐述非形式化定义中软件具有的特性。

对比其他人工产品的特性,总结软件所具有的三个特性。

二、软件工程的发展历程和应用领域第二节经济方面结合例子阐述经济学原则在软件生产方面的重要性。

第三节维护性方面介绍软件生命周期模型和步骤,阐述维护工作在生命周期模型中的重要性和具体分类。

一、维护的传统和现代观点二、交付后维护的重要性第四节需求、分析和设计方面通过解决错误的成本曲线说明提高需求、分析和设计技术的重要性。

第五节小组编程方面阐述软件工程范畴中人的因素的重要性。

第六节为什么没有计划阶段阐述为什么不存在独立的计划阶段,而是计划活动贯穿于软件生命周期的始终。

第七节为什么没有测试阶段阐述为什么在产品实现后没有独立的测试阶段。

第八节为什么没有文档阶段阐述为什么不应当有独立的文档阶段。

而是软件文档必须是完整、正确和最新的。

第九节面向对象范型对比传统的开发范型阐述面向对象范型的特点和优点。

第十二节道德问题说明软件工程师应该遵守的八个准则。

1.基本要求通过本章的学习,明确软件工程的各个方面的含义,描述传统软件工程生命周期模型和面向对象范型,感受遵守道德规范的重要性。

2.重点、难点重点:(1)软件工程的定义;(2)软件工程的传统范型;(3)软件工程的面向对象范型。

难点:维护的传统和现代的观点。

3.作业及课外学习要求:(1)为什么传统意义上的维护观点对于今天的软件产品不现实?(2)“软件危机”一词于1976年提出,它是什么意思?这个词现在还适用吗?第二章软件工程的概念 ( 4学时)基本内容包括:第一节理论上的软件开发对比软件开发在理论上和实践上的不同。

(一)软件专业人员在开发中会犯错。

(二)软件开发过程中客户的需求会发生变化。

第二、三、四节小型实例研究(一)通过Winburg小型系统实例描述进化树生命周期模型,并对比瀑布生命周期模型。

(二)通过野鸭拖拉机公司小型实例研究说明公司业务需求发生变化的时候对软件开发过程所产生的危害。

第五节迭代和递增描述迭代和递增两个概念。

(一)迭代是软件工程的一个固有特性。

软件开发的基本过程是迭代的,每个版本比前一个版本离目标更近一步。

(二)递增也是软件工程的一个固有特性。

软件开发过程需要逐步求精。

描述软件生命周期中的五个核心工作流。

第六节修订的Winburg小型实例研究通过Winburg小型实例把进化树模型添加在迭代-递增模型之上,说明递增的含义。

第七节迭代和递增的风险和其他方面阐述迭代-递增模型的优点和存在的风险。

第八节迭代和递增的控制阐述为什么需要对迭代-递增模型进行控制。

第九节其他生命周期模型描述编码-修补生命周期模型、瀑布生命周期模型、快速原型开发生命周期模型、开源生命周期模型、敏捷过程、螺旋生命周期模型,分别描述几种模型的特点和适用条件。

第十二节生命周期模型的比较对比几种生命周期模型的优点和缺点。

1.基本要求通过本章的学习,掌握各种不同的软件生命周期模型,能够针对某一具体项目选用合适的生命周期模型,对比和比较各种生命周期模型。

第二章计划4学时。

2.重点、难点重点:(1)迭代的定义;(2)递增的定义;(3)生命周期模型。

难点:迭代-递增生命周期模型。

3.作业及课外学习要求:(1)描述什么情况下螺旋生命周期模型不适用?(2)描述什么样的产品是螺旋生命周期模型的理想应用?(3)在迭代-递增生命周期模型中如何使用逐步求精?第三章软件过程 ( 4学时)基本内容包括:第一节统一过程结合实例说明统一过程是一种自适应的方法学。

第二节面向对象范型内的迭代和递增描述面向对象范型是一个迭代和递增的方法。

第三节需求流阐述需求流的目标是让开发组织确定客户的需求。

(一)理解应用域。

(二)找出存在的限制条件。

(三)明确用户需求。

第四节分析流描述分析流的目标是分析和提取需求。

分别对比传统分析方法和面向对象分析方法。

(一)传统分析:结构化系统分析---基于流程建模DFD(二)面向对象分析:用例和类是基础。

抽象出实体类、边界类和控制类。

第五节设计流描述设计流的目标是细化分析流的制品,指示产品如何做。

对比传统设计方法和面向对象设计方法。

(一)传统设计:1、确定产品的内部结构,将产品分解成模块,进行接口设计。

2、实施详细设计,为每个模块选择相应的算法和数据结构。

(二)面向对象设计:1、完成类图。

2、进行详细设计。

第六节实现流描述实现流的目标是用选择的实现语言实现目标软件产品。

第七节测试流描述在统一过程中,测试从始至终与其他工作流并行进行。

第八节交付后维护描述交付后维护的主要工作和重要性。

第九节退役描述在何种情况下软件到达退役的阶段。

第十节统一过程的各阶段1、开始阶段(第一次递增)2、细化阶段(第二次递增)3、构件阶段(第三次递增)4、转换阶段(第四次递增)第十一节一维和二维生命周期模型通过一维和二维模型的比较描述传统生命周期模型和统一过程模型的区别。

1.基本要求通过本章的学习,掌握统一过程中的五个核心工作流和四个阶段,解释统一过程的工作流和阶段之间的差别,理解软件过程改进的重要性。

2.重点、难点重点:(1)统一过程的五个核心工作流;(2)统一过程的四个阶段。

难点:统一过程工作流与阶段之间的差别。

3.作业及课外学习要求:(1)统一过程的“阶段”是什么意思?(2)瀑布生命周期模型的缺点是交付后的产品可能不满足客户的需求。

统一过程是如何解决这个问题的?第四章软件小组 ( 4学时)基本内容包括:第一节小组组织阐述在软件开发中小组组织的重要性和主要方法。

第二节民主小组方法描述民主小组组织的特点。

第三节传统的主程序员小组方法描述传统的主程序小组的特点,通过《纽约时报》项目进行说明。

同时阐述其的不实用性。

第四节主程序员小组和民主小组之外的编程小组通过描述主程序小组和民主小组的缺陷,阐述针对这些问题的组织方法。

第五节同步-稳定小组描述微软公司所使用的同步-稳定小组方法的特点和优缺点。

第六节敏捷过程小组描述敏捷过程小组方法的特点和优缺点。

第七节开源编程小组描述开源编程小组方法的特点和优缺点。

第八节人员能力成熟度模型介绍描述管理和开发人力资源框架的人员能力成熟度模型。

第九节选择合适的小组组织对比不同小组组织方法的优缺点,阐述小组组织的原则。

1.基本要求通过本章的学习,明确一个组织良好的软件小组的重要性,描述现代分级小组是如何组织的,分析各种不同小组组织的优缺点。

2.重点、难点重点:(1)民主小组方法;(2)传统的主程序员小组方法。

难点:分散决策形式下的技术管理沟通渠道。

3.作业及课外学习要求:(1)要给一个零售公司开发电子商务网页,你如何组织小组?(2)给项目选择生命周期模型如何影响小组组织的选择?第五章软件工程工具 ( 4学时)基本内容包括:第一节逐步求精法通过实例描述逐步求精法的特点。

第二节成本-效益分析法描述如何用成本-效益分析法确定客户是否应当进行业务计算机化,如果确定使用计算机处理业务,应用何种方式来比较各种可选方案的成本和收益。

第三节分治描述分析工具“分治”的特点和问题。

第四节关注分离描述关注分离的概念。

第五节软件度量描述软件开发中几种基本的度量方法。

第六节CASE描述计算机辅助软件工程的概念。

第七节CASE的分类第八节CASE的范围第九节软件版本描述交付后维护范围内的版本控制。

第十节配置控制1.基本要求通过本章的学习,掌握两种类型的开发工具:理解(分析)工具、软件(CASE)工具。

2.重点、难点重点:(1)分析工具;(2)CASE工具。

难点:CASE分类。

3.作业及课外学习要求:(1)关注分离是分治的一个特例吗?(2)如果设计审查期间的检测错误率提高一倍,你将推断出什么?第六章测试 ( 4学时)基本内容包括:第一节质量问题描述软件质量保证中包含的概念。

第二节非执行测试描述评审中走查和审查的概念。

第三节执行测试描述执行测试的概念。

第四节应该测试什么描述需要测试哪些行为特性。

第五节测试与正确性证明通过实例描述正确性证明的过程。

第六节谁应当完成执行测试阐述系统的执行测试必须由独立的SQA小组完成,而不是由程序员完成。

第七节测试什么时候停止描述测试何时最终结束。

1.基本要求通过本章的学习,掌握质量保证问题,掌握如何对制品进行基于非执行的测试,掌握基于执行的测试原则,了解需要测试什么。

2.重点、难点重点:(1)非执行测试;(2)正确性测试。

难点:正确性测试。

3.作业及课外学习要求:(1)走查和审查之间有什么相似之处?又有什么不同?(2)正确性证明能够解决交付给客户的产品可能不是客户真正需要的这类问题吗?请回答并解释原因。

第七章从模块到对象 ( 4学时)基本内容包括:第一节什么是模块描述模块的概念。

第二、三节内聚、耦合从模块内聚和模块耦合两方面分析了什么构成了良好设计的模块。

特别地,模块应具有高内聚和低耦合。

第四节数据封装描述在数据封装中,一个模块包含一个数据结构和对这个数据结构进行的操作。

第五节抽象数据类型描述抽象数据类型时一个数据类型,连同对这种类型的实例进行的操作。

第六节信息隐藏描述信息隐藏在软件模块设计中的体现。

相关文档
最新文档