软件工程教学大纲
- 格式:doc
- 大小:35.50 KB
- 文档页数:6
软件工程课程教学大纲一、课程概述软件工程课程旨在培养学生的软件开发能力和团队协作能力,通过理论学习和实践项目开发,使学生能够独立完成软件开发项目并具备解决实际问题的能力。
二、教学目标1. 理解软件工程的基本概念和原理;2. 掌握软件开发过程中的需求分析、设计、编码和测试等关键技术;3. 培养软件项目管理和团队协作的能力;4. 培养解决实际软件开发问题的能力。
三、教学内容1. 软件工程导论- 软件工程的定义与目标- 软件工程的发展历程- 软件工程的重要性和应用领域2. 软件开发过程- 瀑布模型- 增量模型- 敏捷开发模型- 迭代开发模型- 螺旋模型3. 需求分析与规格说明- 需求获取技术- 需求分析与建模- 法律、伦理和专业责任问题4. 软件设计与建模- 结构化设计- 面向对象设计- UML建模工具的使用- 设计原则与模式5. 软件测试与验证- 软件测试的基本概念- 黑盒测试和白盒测试- 单元测试、集成测试和系统测试- 测试策略与自动化测试工具6. 软件项目管理- 项目计划与进度管理- 项目风险管理- 团队协作与沟通- 质量管理与过程改进四、教学方法1. 理论授课:讲解软件工程基本概念和原理;2. 实践项目:学生以小组形式参与软件开发项目,包括需求分析、设计、编码和测试等环节;3. 讨论与案例分析:通过分析实际软件开发案例,学习解决问题的方法和策略;4. 实验与实践:使用软件工程相关工具进行实验和实践,加深对理论知识的理解和应用能力。
五、教材与参考书目主教材:- 《软件工程导论》(第4版),Ian Sommerville,人民邮电出版社,2020年。
参考书目:- 《软件工程:实践者导向》(第9版),Roger Pressman,机械工业出版社,2020年。
- 《UML和模式应用》(第3版),Craig Larman,机械工业出版社,2017年。
- 《软件测试:原理、技术与工具》(第3版),武汉大学软件工程研究所软件测试团队,清华大学出版社,2018年。
《软件工程》课程教学大纲一、课程代码与名称(小四号宋体加粗)课程代码: CS132201中文名称: 软件工程英文名称: Software Engineering二、课程概述及与相关课程关系软件工程是计算机科学与技术专业的专业必修课, 是指导学生按照工程化、标准化和规范化的方法开发软件系统的一门课程。
通过本课程学习, 学生能够掌握现代软件设计与开发的基本原理、方法和技术;熟悉结构化和面向对象软件设计与开发的全过程;了解软件项目管理、软件维护等方面知识。
软件工程与前后课程间关联关系、课程群对应的局部鱼骨图分别如下所示:图例:应用方向软件工程课程群及对应课程群项目、学年项目(局部)图图例:三、课程教学对象与教学目的适用专业: 计算机科学与技术教学目的:通过理论教学和实践相结合, 使学生初步具备运用软件工程的概念、原理、技术和方法开发与维护软件的能力, 并提高学生编写相关技术文档的能力, 及分析问题和解决问题的能力和团队工作交流能力。
*注: 该表所列指标可对照培养方案中所列指标来解释。
A: 认知, 指从教、学活动中、从生活经验和社会经验等多种信息渠道获得知识, 侧重知识的获取, 没有实训要求。
B: 训练, 指教、学活动中由教师引导开展的基础测试或练习, 匹配有课程讨论、课后研讨等环节。
C: 实践, 指以学生为主导, 通过实练而形成的对完成某种任务所必须的活动方式, 匹配有课程的三级项目或其它实践环节。
D: 探索, 指学生独立探寻问题、摸索、解答的活动, 不设置专门的考核。
(留空表示无该项要求)四、课程内容、学时分配及主要的教学方法本课程对主要软件开发方法采用项目驱动教学模式, 结合实验和项目开发实践, 使课程的实践与理论教学内容紧密配合, 同步进行, 达到理论指导实践, 实践促进理论学习目的。
通过理论教学、实践(实验)、团队项目开发实践3环节将理论与实践紧密联系。
教学中采用问题引导方式推进学生基于问题的学习(problem based learning), 以为学生为中心鼓励学生参与课程讨论, 促进学生采用主动学习方法(active learning)。
软件工程实验教学大纲
一、课程简介
软件工程实验是软件工程专业的一门基础实验课程。
本课程旨在通过实践操作和实验项目,培养学生软件开发与测试的能力,提升学生的团队协作和解决问题的能力。
本课程将通过一系列实验项目,引导学生掌握软件工程的基本概念、方法和流程。
二、教学目标
1.了解软件开发的基本原理和方法;
2.理解软件工程的基本概念和软件开发的生命周期;
3.掌握常用的软件开发工具和方法;
4.培养团队合作和项目管理能力;
5.提升解决问题和分析能力。
三、教学内容
本课程的教学内容主要包括以下几个方面:
1.软件开发基本原理
- 软件开发的基本概念和流程
- 需求分析与规格说明
- 设计与架构
- 编码与测试
- 部署与维护
2.软件开发工具和方法
- Agile开发方法
- 敏捷开发工具和项目管理工具的使用
- 版本控制工具的使用
3.实验项目
本课程将根据教学内容设计一系列实验项目,每个实验项目都将涉及到一定的软件开发和测试任务。
具体的实验项目将在课程开始前公布,并根据学生的实际情况进行调整。
四、教学方法。
软件工程专业教学大纲软件工程专业教学大纲:
第一部分:导论
软件工程的定义与概念
软件工程发展历程
软件工程的重要性与应用领域
第二部分:基础知识
计算机科学与软件工程的关系
软件工程的基本原理
软件生命周期与软件开发过程
需求分析与软件设计
软件测试与质量保证
第三部分:主要课程及内容
数据结构与算法
计算机网络原理
操作系统与系统编程
数据库原理与应用
面向对象程序设计
软件项目管理与团队协作
第四部分:实践教学
软件工程实践课程介绍
软件系统设计与开发实践
软件测试与调试实践
软件项目管理实践
软件质量保证实践
第五部分:教学方法与评估
课堂教学与实践相结合
案例分析与小组讨论
考试、作业与实验报告评估
课程设计与项目实践评估
第六部分:教学目标与培养要求培养学生的计算机基本功
培养学生的软件开发能力
培养学生的团队合作与沟通能力
培养学生的解决问题能力与创新思维
第七部分:教学资源与保障
教材与参考书目
实验室设备与软件环境
教师团队与指导导师
学校资源与实习机会
第八部分:教学内容更新与发展
结合当前软件工程领域热点
引入新技术与新方法
持续改进课程内容与教学方法
总结:
通过本教学大纲的设计,旨在为软件工程专业的学生提供系统全面的课程安排,培养学生的软件工程能力,提高学生在软件领域的竞争力,为其未来的职业发展打下坚实的基础。
愿每一位学生在本专业的学习过程中都能获得实实在在的收获,成为优秀的软件工程师。
第1篇一、课程简介《软件工程》是一门研究软件开发原理、方法和工具的学科,旨在培养学生具备软件开发的基本理论、实践技能和工程素养。
本课程通过实践教学,使学生能够掌握软件工程的基本方法,提高软件开发能力,为后续课程学习和实际工作打下坚实基础。
二、教学目标1. 理解软件工程的基本概念、原理和方法。
2. 掌握软件开发过程中的需求分析、设计、编码、测试和维护等基本技能。
3. 具备使用常用软件开发工具进行实际项目开发的能力。
4. 培养良好的团队协作和沟通能力,提高工程素养。
三、教学内容1. 软件工程概述- 软件工程的定义和发展历程- 软件生命周期和开发模型- 软件工程的目标和原则2. 需求分析- 需求获取和分析方法- 需求规格说明和文档编写- 需求管理3. 软件设计- 设计原则和模式- 数据库设计- 系统架构设计4. 软件开发- 编码规范和最佳实践- 集成开发环境(IDE)的使用- 版本控制工具的使用5. 软件测试- 测试方法和技术- 测试用例设计- 软件测试管理6. 软件维护- 维护过程和方法- 软件配置管理- 软件质量保证7. 软件项目管理- 项目管理的基本概念和原理- 项目计划、执行和监控- 团队协作和沟通四、实践教学安排1. 实践教学课时:共40学时,其中理论课24学时,实践课16学时。
2. 实践教学环节:(1)课堂演示:讲解软件工程的基本概念、原理和方法,演示常用软件开发工具的使用。
(2)案例分析与讨论:分析实际软件项目案例,讨论软件工程在实际开发中的应用。
(3)上机实验:完成以下实验项目:1. 需求分析实验:完成一个简单软件的需求分析,编写需求规格说明书。
2. 设计实验:完成一个简单软件的设计,包括数据库设计、系统架构设计等。
3. 编码实验:使用一种编程语言实现一个简单软件的功能。
4. 测试实验:编写测试用例,对软件进行功能测试和性能测试。
5. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。
软件工程课程教学大纲软件工程课程教学大纲一、课程概述软件工程课程是一门面向软件开发和管理的综合性学科,旨在培养学生的软件系统分析、设计、实现和维护的能力,以及理解并应用软件工程原理和方法进行软件开发和管理的能力。
本课程涵盖软件开发的全过程,包括需求分析、设计、编码、测试、部署、维护和管理等方面。
二、课程目标通过本课程的学习,学生将能够:1、掌握软件工程的基本概念和方法;2、熟悉软件开发的全过程,理解并应用各种软件开发方法和模型;3、掌握常用的软件开发工具和技术,如面向对象编程、设计模式、版本控制等;4、掌握软件测试的基本技术和方法,理解并应用测试流程和管理方法;5、掌握软件维护和管理的基本技术和方法,理解并应用配置管理和版本控制等工具;6、增强团队协作和沟通能力,能够有效地参与和领导软件开发团队。
三、课程内容本课程将分为以下四个模块:1、软件工程基本概念和方法:介绍软件工程的基本概念、软件的生命周期、常用的软件开发方法和管理模型等;2、需求分析和设计:介绍需求分析的方法和工具,如USE Case图、数据流图等,以及软件设计的基本原理和方法,如面向对象设计、设计模式等;3、软件实现和测试:介绍编码的基本技术和规范,如代码风格、代码结构等,以及软件测试的基本技术和方法,如黑盒测试、白盒测试等;4、软件维护和管理:介绍软件维护和管理的基本技术和方法,如Bug 管理、版本控制等,以及配置管理和版本控制等工具的使用。
四、课程安排本课程将持续一个学期,共计36个学时,具体安排如下:1、软件工程基本概念和方法:10学时;2、需求分析和设计:12学时;3、软件实现和测试:10学时;4、软件维护和管理:4学时。
五、评估方式本课程的评估方式将包括以下方面:1、平时作业:占总评分的30%;2、期末考试:占总评分的50%;3、出勤率:占总评分的20%。
六、参考资料本课程将使用以下教材和参考书籍:1、《软件工程》(机械工业出版社,作者:史济民);2、《Head First Software Development》(中国电力出版社,作者:Andy Oram等);3、《敏捷软件开发》(人民邮电出版社,作者:Scott W. Ambler 等)。
软件工程课程教学大纲(SoftwareEngineering)学时数:32其中:实验学时:6课外学时:0学分数:2适用专业:计算机科学与技术一、课程的性质、目的与任务《软件工程》是计算机科学与技术专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
根据培养基层应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、课程教学的基本要求(-)基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
(二)基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护重点:系统分析、系统设计、系统实现、系统维护难点:需求分析、软件测试课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法:理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用三、课程的教学内容、重点和难点第一章概论一、软件(一)软件的发展;(二)软件的定义;(三)软件的特点、软件的种类。
二、软件工程的概念(一)软件危机与软件工程的定义;(二)软件工程的目标;(三)软件工程的原则。
三、软件生存周期与软件开发模型(一)瀑布模型、原型模型、螺旋模型、基于四代技术模型、面向对象与组件模型、混合模型。
教学要求:软件和软件工程的基本概念,软件生命周期及软件开发的各个模型重点:软件生存周期与软件开发模型第二章可行性分析一、可行性研究的任务二、可行性研究的步骤三、系统流程图四、成本/效益分析第三章需求分析一、需求分析的任务与步骤(一)需求分析的任务;(二)需求分析的步骤;(三)需求分析的原则。
《软件工程》课程教学大纲课程类别:专业基础课总课时:40(讲授30, 实验10)适用专业:计算机科学与技术一、课程的性质和任务本课程是计算机科学与技术专业本科生的一门专业基础课程。
本课程从系统工程的角度讲述软件开发的过程、步骤、方法与技术,要求学生掌握软件开发的基本过程与技术,培养学生用工程的方法进行软件开发的能力。
二、课程教学的基本要求1. 掌握软件开发的基本过程与技术。
2. 能用工程的方法进行软件开发。
三、课程主要内容及学时分配第一部分传统的软件工程(一) 软件工程引论(1学时)软件产品的概念与特征,软件危机,软件工程的产生及发展(二) 软件工程过程模型(2学时)软件工程的技术基础,软件工程过程,软件过程模型线性顺序模型,原型模型,快速应用开发模型,演化软件过程模型软件过程技术,软件重用技术(三) 系统工程基础与可行性研究(2学时)系统需求识别,可行性研究与分析,系统体系结构建模,系统定义与评审(四) 软件需求分析与建模(2学时)需求分析,数据建模,功能建模,行为建模,数据字典结构化需求分析的若干技术,验证软件需求(五) 软件设计(3学时)软件设计中的基本概念和原理,体系结构设计,面向数据流的体系结构设计方法面向数据流的详细设计方案,面向数据结构的设计方法(六) 软件编码(2学时)程序设计语言,编码风格几软件效果,程序复杂度的概念及度量方法(七) 软件测试技术(2学时)软件测试基础,白盒测试技术,黑盒测试技术软件测试计划和测试分析报告,软件测试策略第二部分面向对象的软件工程(八) 面向对象的方法学引论(2学时)软件工程的新途径,面向对象建模,对象模型,动态模型,功能模型(九) 面向对象分析(2学时)面向对象分析过程,建立对象模型,建立动态模型,建立功能模型,定义服务(十) 面向对象设计(2学时)面向对象的设计准则,问题域子系统设计,人机交互子系统设计,任务管理子系统设计数据管理子系统设计,服务与关联的设计,面向对象设计的优化(十一) 面向对象实现(2学时)面向对象的程序设计语言,面向对象的程序实现特征,面向对象测试,组建技术第三部分软件工程项目管理(十二) 软件工程项目管理基础(1学时)项目管理的范围,人员角色管理,问题管理,过程管理(十三) 软件度量(1学时)软件度量,面向规模的度量,面向功能的度量,软件质量的度量在软件过程中集成度量数据(十四) 软件计划(2学时)软件范围界定,资源需求,项目估算,软件项目计划的结构,项目计划的分解求精计划跟踪监督,计划执行情况的度量与计划调控(十五) 软件工程风险管理(1学时)软件风险,风险识别,风险预测,风险缓解、监控与管理,RMMM计划(十六) 软件质量保证(2学时)软件质量与SQA,软件复审,正式的技术复审,基于统计的质量保证软件可靠性,SQA计划(十七) 软件配置管理(1学时)软件配置管理的任务,SCM过程,软件配置中对象的标识版本控制,变更控制,配置审核与状态报告四、实验要求课程实验要求学生完成一个较大的工程实例分析与设计。
软件工程教学大纲[简介]软件工程是计算机科学中的一门学科,旨在教授学生软件开发以及项目管理的理论和实践知识。
本文将介绍软件工程教学大纲的内容和目标,以及教学方法和评估方式。
[第一部分:引言]1. 软件工程的定义:软件工程是一种系统化、规范化和可重复的方法,用于开发高质量的软件。
2. 软件工程的重要性:软件在现代社会中的应用广泛,软件工程的实践能够提高软件开发的效率和质量。
[第二部分:教学目标]1. 理论知识:学生应该掌握软件工程的基本原理和方法,包括需求分析、设计、开发、测试和维护等方面的知识。
2. 实践能力:学生应该能够应用软件工程的理论知识解决实际问题,包括软件开发过程中的各个环节。
3. 团队合作:软件开发是一项团队活动,学生应该培养良好的沟通和协作能力。
[第三部分:教学内容]1. 需求分析:介绍需求工程的基本概念和方法,包括需求获取、分析和规格说明等内容。
2. 软件设计:讲解软件设计的原理和方法,包括结构化设计、面向对象设计以及设计模式等知识。
3. 软件开发:介绍软件开发的流程和方法,包括编码、调试、版本控制和软件测试等。
4. 质量保证:教授软件质量保证的理论知识和实践方法,包括软件测试、代码审查和性能优化等。
5. 项目管理:介绍项目管理的基本知识和技巧,包括项目计划、资源管理和风险管理等。
[第四部分:教学方法]1. 理论讲授:通过课堂讲解,向学生传授软件工程知识和理论。
2. 实践操作:安排实践环节,让学生亲自参与软件开发项目,提高他们的实践能力。
3. 小组讨论:组织小组讨论,让学生共同解决软件工程中的问题,培养他们的团队合作能力。
4. 项目实践:安排真实的软件开发项目,让学生在实际环境中应用所学知识,提高他们的实践能力。
[第五部分:评估方式]1. 考试:通过理论考试,评估学生对软件工程理论知识的掌握情况。
2. 项目评估:对学生在实际项目中的表现进行评估,包括项目成果和团队合作能力等方面。
《软件工程》教学大纲
一、课程概述
本课程向学生介绍与大型软件相关的规划. 分析. 设计. 实现. 测试. 维护等概念. 原理. 技术与工具,同时向学生讲述传统的结构化开发方法与当前流行的面向对象开发方法。
要求学生牢固掌握软件生命周期. 软件质量. 软件成本等基本概念以及传统的结构化分析. 设计与实现方法;掌握面向对象软件工程的基本概念与表示技术,基本掌握软件开发中的管理技术。
通过本课程的学习,让学生对软件工程学有一个全貌的了解,对其所涉及的基本概念. 原理. 方法和有关技术逐步领会并进行运用。
要求学生能够在已有的程序设计. 数据结构. 数据库等理论基础上,为今后进行实际的软件开发奠定一个良好的基础。
本课程应强调实际运用,最好在教学中安排学生参予系统开发的策划. 分析. 设计. 编码. 测试等阶段工作的环节,积极引导学生从个人的单纯编程活动转移到进行系统分析与设计方面上来。
如果受条件所限,可让学生在毕业设计中将这一环节补上。
本课程的先修课程为“面向对象程序设计”. “数据结构与算法”与“数据库”。
本课程的后续课程可以为“程序设计方法学”与“算法分析与设计”。
二、课程目标
1.知道《软件工程》这门学科的性质. 地位. 独立价值. 研究范围. 基本框架. 研究方法. 学科进展和未来方向等。
2.理解该门学科的主要概念. 基本原理和策略等。
3.学会运用一些具体的策略或技术等,如软件测试过程中所用到的黑盒测试法和白盒测试法。
4.能够把所学的原理应用到具体的实践中去,如对于具体系统开发过程中所遇到的问题能够自行进行处理,培养学生发现. 分析和解决问题的能力等。
三、课程内容和教学要求
这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:
知道———是指对这门学科和教学现象的认知。
理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所
涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。
掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。
学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。
教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。
本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。
四、课程实施
1、课时安排与教学建议。
包括每周安排的课时数与总课时数。
一般情况下,软件工程每周安排3课时,共54课时。
函授生视具体情况而定,一般为54课时, 其中理论课22课时,实验课10课时,自学22课时。
具体课时安排如下:
2. 教学组织形式与教学方法要求。
(1)打破传统的教学模式,注意教学方法的灵活性,建立多种教学媒体综合运用的运行机制,逐步建立适合学生个别化自主学习的支持服务体系和质量保证体系。
(2)充分发挥学生的主动性,并能激发学生的学习热情,使学生会学和主动学习。
注意教学方法的灵活性,组织学生自我经验叙述、讨论、问题教学、阅读指导等
(3)培养学生发现问题. 分析问题. 解决问题的能力和探究意识。
五、教材编写与选用
教材:
[1] 张海藩,“软件工程导论”(第五版),清华大学出版社,2008
参考资料:
[2] 郑人杰,殷人昆,陶永雷,“实用软件工程”,清华大学出版社,1997
[3] 陈宏刚,张亚勤等,“软件开发的科学与技术”,电子工业出版社,2002
[4] 邵维忠. 杨芙清,“面向对象的系统分析”,清华大学出版社. 广西科学技术出版社,1998
[5] 林锐,“高质量程序设计指南——C++/C语言”,电子工业出版社,2002
[6] 黄思曾. 陈仲驹,“软件开发规范的实施文档”,中山大学出版社,1991
[7] Grady Booch, “Object Oriented Software Engineering with Application”,2nd edition,
Benjamin/Cummings, 1994
[8] Myers,“the Art of Software Testing”, Prentice Hall,1979
[9] GB8566-88,“计算机软件开发规范”,国家标准局,1988
[10] GB8567-88,“计算机软件产品开发文件编制指南”,国家标准局,1988
[11] GB/T11457-89,“软件工程术语”,国家技术监督局,1989
[12] 何坚,高洪江,李顺东,“软件工程与管理”,清华大学出版社,2005
[13] 王慧芳,毕建权,“软件工程”,浙江大学出版社,2007
六、课程评价
1. 这门学科的评价依据是本课程标准规定的课程目标. 教学内容和要求。
2. 考试时间:120分钟。
3. 考试方式. 分制与分数解释
采用开卷+笔试的期终考试方式,以百分制评分,60分为及格,满分为100分。
其中,平时成绩为30分,期终考试卷面为70分。
4. 题型:单选题,简答论述,应用分析题。
5. 样题与目标定位示例
A.单选题
软件质量保证是为了满足()的需要而进行的活动。
(A)程序员(B)用户(C)测试人员(D)操作员
B.简答论述题
1.非渐增式测试与渐增式测试的区别
C.应用分析题
某校拟对参加CET-4级考试成绩好的同学进行奖励,成绩合格的奖励50元,成绩在80分以上的奖励100元,成绩在90分以上的奖励200元,并公布获奖成绩及所获奖金。
编写程序流程图,设计测试数据,写出测试路径及所满足的覆盖条件。
制定该课程标准小组成员
审核者:。