软件工程课程教学大纲

合集下载

软件工程课程教学大纲

软件工程课程教学大纲

软件工程课程教学大纲一、课程概述软件工程课程旨在培养学生的软件开发能力和团队协作能力,通过理论学习和实践项目开发,使学生能够独立完成软件开发项目并具备解决实际问题的能力。

二、教学目标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年。

(完整word版)软件工程课程教学大纲

(完整word版)软件工程课程教学大纲

《软件工程》课程教学大纲一、课程代码与名称(小四号宋体加粗)课程代码: CS132201中文名称: 软件工程英文名称: Software Engineering二、课程概述及与相关课程关系软件工程是计算机科学与技术专业的专业必修课, 是指导学生按照工程化、标准化和规范化的方法开发软件系统的一门课程。

通过本课程学习, 学生能够掌握现代软件设计与开发的基本原理、方法和技术;熟悉结构化和面向对象软件设计与开发的全过程;了解软件项目管理、软件维护等方面知识。

软件工程与前后课程间关联关系、课程群对应的局部鱼骨图分别如下所示:图例:应用方向软件工程课程群及对应课程群项目、学年项目(局部)图图例:三、课程教学对象与教学目的适用专业: 计算机科学与技术教学目的:通过理论教学和实践相结合, 使学生初步具备运用软件工程的概念、原理、技术和方法开发与维护软件的能力, 并提高学生编写相关技术文档的能力, 及分析问题和解决问题的能力和团队工作交流能力。

*注: 该表所列指标可对照培养方案中所列指标来解释。

A: 认知, 指从教、学活动中、从生活经验和社会经验等多种信息渠道获得知识, 侧重知识的获取, 没有实训要求。

B: 训练, 指教、学活动中由教师引导开展的基础测试或练习, 匹配有课程讨论、课后研讨等环节。

C: 实践, 指以学生为主导, 通过实练而形成的对完成某种任务所必须的活动方式, 匹配有课程的三级项目或其它实践环节。

D: 探索, 指学生独立探寻问题、摸索、解答的活动, 不设置专门的考核。

(留空表示无该项要求)四、课程内容、学时分配及主要的教学方法本课程对主要软件开发方法采用项目驱动教学模式, 结合实验和项目开发实践, 使课程的实践与理论教学内容紧密配合, 同步进行, 达到理论指导实践, 实践促进理论学习目的。

通过理论教学、实践(实验)、团队项目开发实践3环节将理论与实践紧密联系。

教学中采用问题引导方式推进学生基于问题的学习(problem based learning), 以为学生为中心鼓励学生参与课程讨论, 促进学生采用主动学习方法(active learning)。

软件工程专业教学大纲

软件工程专业教学大纲

软件工程专业教学大纲软件工程专业教学大纲:
第一部分:导论
软件工程的定义与概念
软件工程发展历程
软件工程的重要性与应用领域
第二部分:基础知识
计算机科学与软件工程的关系
软件工程的基本原理
软件生命周期与软件开发过程
需求分析与软件设计
软件测试与质量保证
第三部分:主要课程及内容
数据结构与算法
计算机网络原理
操作系统与系统编程
数据库原理与应用
面向对象程序设计
软件项目管理与团队协作
第四部分:实践教学
软件工程实践课程介绍
软件系统设计与开发实践
软件测试与调试实践
软件项目管理实践
软件质量保证实践
第五部分:教学方法与评估
课堂教学与实践相结合
案例分析与小组讨论
考试、作业与实验报告评估
课程设计与项目实践评估
第六部分:教学目标与培养要求培养学生的计算机基本功
培养学生的软件开发能力
培养学生的团队合作与沟通能力
培养学生的解决问题能力与创新思维
第七部分:教学资源与保障
教材与参考书目
实验室设备与软件环境
教师团队与指导导师
学校资源与实习机会
第八部分:教学内容更新与发展
结合当前软件工程领域热点
引入新技术与新方法
持续改进课程内容与教学方法
总结:
通过本教学大纲的设计,旨在为软件工程专业的学生提供系统全面的课程安排,培养学生的软件工程能力,提高学生在软件领域的竞争力,为其未来的职业发展打下坚实的基础。

愿每一位学生在本专业的学习过程中都能获得实实在在的收获,成为优秀的软件工程师。

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

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

《软件工程》课程教学大纲一、课程基本信息课程名称:软件工程英文名称:SoftwareEngineering课程编码:U223C课程类别:专业主干课总学时:48学时(含实验IO学时)总学分:3适用专业:计算机科学与技术/网络工程方向先修课程:高级语言程序设计,数据库设计原理,数据结构开课系部:计算机科学与技术系二、课程的性质和任务《软件工程》是计算机科学与技术专业本科生的一门专业主干课程。

它是一门指导计算机软件系统开发和维护的工程学科,也是计算机科学与技术领域的一个重要学科。

软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学,通过本课程的学习,使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向;开发软件项目的工程化的方法及在开发过程中应遵循的流程、准则、标准和规范等。

使学生掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为今后从事软件开发和应用打下良好的基础。

通过本课程的学习,培养学生对软件开发能力和项目管理能力。

三、课程教学基本要求(一)理论教学内容和基本要求第1章软件工程概述了解软件工程的产生和发展、软件危机的原因,知道如何消除软件危机。

明白软件工程的基本概念,知道软件工程中包含的领域范围重点:软件危机的产生和消除方法第2章软件过程软件与软件生命周期任务,软件开发过程中的基本开发模型,软件开发工具与软件开发环境。

掌握软件生存期模型,软件开发模型方法介绍。

重点:软件与软件生存期,软件开发过程模型难点:软件开发过程模型第3章结构化分析掌握软件需求获取的方法、软件需求工程的任务、软件需求的原则、主要的需求分析方法;需求工程的基本活动、需求的有效性验证、需求变动管理、需求规格说明;建立结构化分析的三种模型;三种模型对应的描述方法:E-R图,数据流图,状态图。

掌握分层数据流图、数据词典和加工逻辑说明的基本构造方法。

重点:软件需求获取方法、结构化分析方法、分析建模方法难点:结构化分析建模方法第4章结构化设计理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。

《软件工程》课程教学大纲36学时

《软件工程》课程教学大纲36学时

《软件工程》课程教学大纲一、课程基本信息二、课程教学目标通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。

本课程以理论结合实践的方式进行同步教学。

课程分三个部分:理论授课部分、工具与实践授课部分和学生实践部分。

配合理论教学,对学生进行使用工具能力的训练,从而进一步提高学生的实践能力。

三、教学学时分配《数据结构》课程理论教学学时分配表*理论学时包括讨论、习题课等学时。

四、教学内容和教学要求第一章软件工程的基本概念(2学时)(一)教学要求1.了解软件概念、特点及分类方法。

2.了解软件发展及软件危机的起因。

3.了解软件工程的概念及其要素。

4.了解软件工程的基本目标和原则。

5.了解软件工程的近期研究的课题。

(二)教学重点与难点教学重点:无教学难点:无。

(三)教学内容1.软件的定义、特点和分类2.软件的发展和软件危机3.软件工程方法学4.开发方法的特点与选择5.软件的生命周期6.软件生存期模型第二章需求分析与设计(8学时)(一)教学要求1.了解需求分析的概念、原理与方法。

2.明确需求分析的任务和目的。

3.了解获取需求的手段。

4.了解结构化分析方法与建模。

5.了解需求规格书的主要内容。

6.了解需求定义的验证方法。

(二)教学重点与难点教学重点:需求分析的概念。

教学难点:需求获取。

(三)教学内容1.可行性分析2.需求分析的概念和任务3.获取需求的方法4.结构化分析建模方法5.数据库分析建模方法第三章软件设计(8学时)(一)教学要求1.了解软件设计的任务,目标和文档;2.理解软件设计的原理和优化准则;5.掌握软件的结构设计。

(二)教学重点与难点教学重点:软件设计的原理和优化准则,软件的结构设计。

教学难点:软件的结构设计。

(三)教学内容1.软件设计的过程模型2.软件设计的策划3.用户界面设计4.体系结构设计5.用例设计6.子系统设计7.构件设计第四章软件实现(6学时)(一)教学要求1.了解什么是程序设计;2.理解程序设计的原则;3.理解程序设计风格的要求;4.掌握提高程序效率的方法。

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

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

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

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

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

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

《软件工程》教学大纲

《软件工程》教学大纲

《软件工程》课程教学大纲《软件工程》是一门为计算机科学与技术专业开设的专门介绍软件开辟思想、方法、技术、管理和应用的专业基础课程。

通过本课程的学习,旨在使学生树立良好的软件开辟理念,建立正确的、符合工程规范的、系统化的软件工程思想,训练软件分析的思维能力,掌握软件系统的各种开辟方法,提高软件设计水平,为以后的软件开辟打下良好的基础。

课堂教学51 学时,机动3 学时。

采用课堂讲授、多媒体课件为主,课外做开辟一个小型软件系统作业的实践活动为辅的教学方法。

本课程面向计算机科学与技术专业的本科专业。

通过本章的学习,了解软件、软件危机和软件工程的有关概念。

主要内容:软件和软件工程的有关概念以及软件工程的基本理论。

教学重点:软件定义和软件产品特点;软件危机和解决软件危机的途径;软件工程定义和基本原则。

教学难点:软件工程的基本原则。

1、软件工程过程的定义2、软件工程的三要素3、软件工程工具本章采用课堂讲授和多媒体课件的方式进行教学。

1.5 学时。

通过本章的学习,了解软件和软件工程过程的有关概念,掌握软件工程过程、软件生命周期及其模型等内容。

主要内容:软件工程过程的概念、软件工程过程模型及软件工程过程技术和软件重用的基本理论。

教学重点:软件工程过程模型及技术。

教学难点:软件重用。

本章采用课堂讲授和多媒体课件的方式进行教学。

2 学时。

通过本章的学习,了解可行性研究的目的任务,掌握可行性研究的方法和技术。

主要内容:系统需求识别的目标、过程,可行性研究的目的、任务、步骤,可行性研究的成本/效益分析的方法和系统体系结构建模、方案制定与评价。

教学重点:可行性研究的目的、任务、步骤,可行性研究的成本/效益分析的方法和系统体系结构建模、方案制定与评价。

教学难点:可行性研究的成本/效益分析的方法和系统体系结构建模。

1、硬件和硬件工程2、软件和软件工程3、人机交互工程4、数据库和数据库工程1、目的2、任务本章采用课堂讲授和多媒体课件的方式进行教学。

软件工程大纲

软件工程大纲

软件工程大纲一、引言软件工程是一门关于软件开发和维护的学科,它是在计算机科学和数学原理的基础上,应用工程原理和方法来开发高质量的软件系统。

本大纲旨在介绍软件工程的基本概念、原则和技术,以及培养学生解决实际软件问题的能力。

二、课程目标和学习要求1. 课程目标本课程旨在使学生:- 理解软件工程的基本概念和原理;- 掌握软件开发的基本过程和方法;- 能够通过软件工程的技术和工具开发高质量的软件系统。

2. 学习要求学生应具备以下知识和能力:- 具备计算机科学和数学的基本知识;- 掌握一种编程语言的基本使用;- 具备基本的问题分析和解决能力。

三、课程内容和教学方法1. 课程内容本课程涵盖以下内容:- 软件工程导论:软件工程的历史与定义、软件生命周期、软件工程师的角色和职责;- 软件项目管理:项目计划、需求分析、软件设计、编码与测试、软件维护;- 软件开发过程模型:瀑布模型、敏捷开发、迭代开发;- 需求工程:需求获取与分析、需求规格说明、需求验证与管理;- 软件设计与架构:面向对象设计、软件设计原则与模式、软件架构设计;- 软件测试与验证:静态与动态测试、单元测试、集成测试、系统测试、验证与确认;- 软件维护与演化:软件维护的类型与过程、问题定位与修复、软件演化与重构。

2. 教学方法本课程将采用以下教学方法:- 讲授理论知识,包括课堂讲解和示例演示;- 组织编程实践,通过实际项目的开发来巩固所学知识;- 组织小组讨论和案例分析,培养学生的问题分析和解决能力;- 提供课外阅读和实践任务,拓宽学生的软件工程视野。

四、评价与考核方法1. 评价方法本课程评价主要采用以下方法:- 期中期末考试,测试学生对于软件工程理论知识的掌握程度;- 编程实践任务,评估学生在实际项目中的软件开发能力;- 小组讨论和案例分析报告,评估学生的问题分析和解决能力。

2. 考核方法本课程考核的主要方式为百分制,其中期中考试占40%,期末考试占40%,编程实践任务占20%。

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

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

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

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

第一部分:教学大纲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 课程总结与复习结语:本教学大纲和授课计划旨在帮助学生系统学习软件工程的理论与实践,全面提升他们软件开发与管理的能力。

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

软件工程》实践教学大纲(3篇)

软件工程》实践教学大纲(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 等)。

《软件工程》 杜文峰 教学大纲(思政)

《软件工程》 杜文峰 教学大纲(思政)

《软件工程》杜文峰教学大纲(思政)软件工程是一门重要的学科,是计算机科学和工程学的交叉领域,需要学习者掌握软件开发的基本原理及应用技术。

杜文峰教授担任软件工程的思政课程的授课教师,他制定的教学大纲包括课程的目标、教学内容、教学方法以及考核方式等内容,旨在为学生提供全面而深入的软件工程知识,培养学生的软件开发能力和综合素质。

一、课程目标本课程的目标是使学生了解软件工程学科的基本概念、方法和原则,理解软件开发的技术和管理的基本要求,掌握软件开发过程中的常用方法和工具,培养学生的团队协作能力和问题解决能力,从而提高学生的综合素质和职业能力。

二、教学内容1.软件工程的概念和基本原理:介绍软件工程的基本概念、软件开发生命周期、软件需求分析和软件设计等基本原理。

2.软件开发过程:介绍软件开发过程中的需求分析、系统设计、编码实现、测试和维护等各个阶段,以及常用的软件开发方法和过程模型。

3.软件工程的管理:介绍软件项目管理的基本原理和实践技术,包括项目计划、进度控制、资源分配等内容。

4.软件质量保证和测试:介绍软件质量的概念和评估方法,以及软件测试的方法和技术。

5.软件开发工具和环境:介绍软件开发过程中常用的开发工具和集成开发环境,包括代码编辑器、调试器、版本控制工具等。

6.软件项目实践:通过小组项目实践,培养学生的团队合作和项目实施能力,并为他们提供实际的软件开发经验。

三、教学方法本课程采用多种教学方法,包括课堂讲授、案例分析、小组讨论和项目实践等。

教师将根据具体的教学内容和学生的需求,合理选择教学方法,以激发学生的学习兴趣,提高他们的主动学习能力。

四、考核方式本课程的考核方式包括平时成绩和期末考试。

平时成绩的主要依据是学生的课堂表现、小组讨论和项目实践成果。

期末考试主要考察学生对软件工程知识的理解和掌握程度。

以上是杜文峰教授制定的《软件工程》思政课程的教学大纲。

通过本课程的学习,学生将全面了解软件工程的基本概念和方法,掌握软件开发的技术和管理要求,提高团队协作和问题解决能力,为今后的职业发展打下良好的基础。

软件工程课程教学大纲

软件工程课程教学大纲

《软件工程》课程教学大纲课程简介本课程讲解软件工程的大体原那么和概念,为学生学习软件开发的后继课程打下坚实基础。

课程通过提供丰硕的软件开发案例和素材,反映了软件工程的最新进展技术。

系统地讲解传统的软件工程方式,面向对象的软件工程方式,基于构件的软件工程方式和软件测试,软件工程进程治理与CMM等大体概念、方式和技术,重点论述了UML统一建模语言的内容、工具、建模进程及其应用。

课程要求学生在《软件工程课程设计》的开发实践中把握软件工程的概念、术语和方式。

课程大纲一、课程的性质与任务:《软件工程》是软件工程专业及其它相关专业本科生的一门专业基础课,旨在使学生把握软件工程的大体概念、原理和方式,从软件开发技术、软件工程治理和软件工程环境等几个方面了解如何将系统的、标准的和可气宇的工程方式运用于软件开发和保护中。

要求学生通过本门课的学习,大体把握结构化方式、面向对象方式等软件开发技术,初步了解软件复用的概念及基于构件的开发方式,同时对软件工程治理和环境等内容有一个整体的了解。

二、课程的目的与大体要求:学生学完该课程后应该把握软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与保护,项目打算与项目治理等大体概念和大体知识;能用软件工程的方式参与软件项目的分析、设计、实现和保护等实际工作。

教学大体要求:1.课堂讲授在多媒体教室中采纳电子教案讲课,上课时边讲边演示。

2.作业每章适当布置课后作业。

重点是各项目组按软件开发时期完成参与项目的各类开发文档的编写。

3.课内实验 (12学时)+课程设计(2周)选择有必然规模的实际项目作为实践内容,由学生分组设计与开发,实验进度和课堂教学同步,由教师给出文档标准模板,学生别离担任软件开发的相关角色,参与实际项目的治理、分析、设计、编码和测试等工作并书写完整的开发文档。

4. 软件工程专业完全按本教学大纲执行,其它相关专业可对本教学大纲内容进行适当剪裁或增加。

软件工程案例课程大纲

软件工程案例课程大纲

软件工程案例课程大纲一、课程概述软件工程案例课程是一门专注于软件工程实践的课程,通过引入真实的软件项目案例,让学生在实际操作中学习软件工程的理论和实践。

本课程的目标是培养学生具备实际软件开发所需的各种技能,为未来的职业发展打下坚实的基础。

二、课程目标1. 掌握软件工程的基本概念、原理和方法,了解软件开发的全过程。

2. 学会使用常用的软件开发工具和技术,如需求分析、设计、编码、测试和维护等。

3. 培养团队协作和沟通能力,提高解决实际问题的能力。

4. 培养创新思维和实践能力,为未来的职业发展做好准备。

三、课程内容1. 软件工程基础:介绍软件工程的基本概念、原理和方法,包括软件开发的全过程、软件生命周期等。

2. 需求分析:学习如何进行需求调研、需求获取、需求分析和需求管理,掌握常用的需求分析方法和技术。

3. 软件设计:学习如何进行软件设计,包括系统架构设计、数据库设计、界面设计等,掌握常用的设计工具和技术。

4. 编码实现:学习如何进行编码实现,包括编程语言、开发工具、代码规范等,掌握常用的编码技巧和技术。

5. 测试与维护:学习如何进行软件测试和维护,包括单元测试、集成测试、系统测试等,掌握常用的测试工具和技术。

6. 团队协作:学习如何进行团队协作,包括项目管理、任务分配、进度控制等,掌握常用的团队协作工具和技术。

7. 案例分析:通过分析真实的软件项目案例,让学生在实际操作中掌握软件工程的理论和实践。

四、课程评估本课程的评估方式包括考试、作业和项目评估等多个方面。

考试主要考查学生对软件工程理论知识的掌握程度;作业主要考查学生的实践能力和解决问题的能力;项目评估主要考查学生的团队协作能力和实际开发能力。

最终成绩由考试成绩、作业成绩和项目评估成绩综合评定。

软件工程课程教学大纲

软件工程课程教学大纲

软件工程课程教学大纲课程编码:5050101学分:2总学时:32学时适用专业:计算机科学与技术一、课程的性质、目的与任务软件工程属于计算机科学与技术专业的一门重要的专业课程。

本课程主要介绍软件开发的原理、方法及应用。

通过本课程的学习,训练学生的软件分析能力,使学生进一步掌握软件系统的各种开发方法,提高软件设计水平。

二、先修课程程序设计,数据结构。

三、教学基本要求通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。

四、教学内容(一)、软件危机与软件工程2学时1、软件危机2、软件工程3、软件生命周期4、软件过程(二)、可行性研究2学时1、可行性研究的任务2、可行性研究过程3、系统流程图4、数据流图5、数据字典6、成本/效益分析(三)、需求分析4学时1、需求分析的任务2、与用户沟通获取需求的方法3、分析建模与规格说明4、实体联系图5、数据规范化6、状态转换图7、其他图形工具8、验证软件需求(四)、总体设计4学时1、总体设计过程2、设计原理3、启发规则4、描绘软件结构的图形工具5、面向数据流图的设计方法(五)、详细设计4学时1、结构程序设计2、人机界面设计3、过程设计的工具4、面向数据结构的设计方法5、程序复杂程度的定量度量(六)、编码3学时1、选择程序设计语言2、编码风格(七)、测试4学时1、软件测试基础2、单元测试3、集成测试4、确认测试5、白盒测试技术6、黑盒测试技术7、调试8、软件可靠性(八)、维护2学时1、软件维护的定义2、软件维护的特点3、软件维护过程4、软件的可维护性5、预防性维护6、软件再工程过程(九)、面向对象方法学引论2学时1、面向对象方法学概述2、面向对象的概念3、面向对象建模4、对象模型5、动态模型6、功能模型7、三种模型之间的关系(十)、面向对象分析2学时1、面向对象分析的基本过程2、需求陈述3、建立对象模型4、建立动态模型5、建立功能模型6、定义服务(十一)、面向对象设计2学时1、面向对象设计的准则2、启发规则3、软件重用4、系统分解5、设计问题域子问题6、设计人机交互子系统7、设计任务管理子系统8、设计类中的服务9、设计关联10、设计优化(十二)、面向对象实现1学时1、程序设计语言2、程序设计风格3、测试策略4、设计测试用例(十三)、管理技术2学时1、估算软件规模2、工作量估算3、进度计划4、人员组织5、质量保证6、软件配置管理7、能力成熟度模型五、教学参考书[1]张海藩.软件工程导论.第三版.北京:清华大学出版社,2002年。

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

《软件工程》课程教学大纲
(Soft Engineering)
课程编号:
学分:3
学时:48 (其中:讲课学时:42 实验学时:上机学时:6 )先修课程:C语言程序设计、数据结构与算法、计算机网络、数据库原理与应用、操作系统
后续课程:面向对象程序设计、信息工程监理、信息系统测评技术、软件工程实训
适用专业:计算机相关专业
开课部门:专业数学教研室
一、课程教学目的和课程性质
《软件工程》是信息与计算机科学专业本科学生的专业选修课,是一门综合性和实践性很强的课程。

本课程主要介绍如何把工程化的思想和技术应用于软件系统的开发过程,以及在软件开发过程中必须遵循的基本原理、方法和工程标准。

通过教学,使学生对软件生产工程化的具体思想、要求和方法均有较全面的了解, 为今后独立从事软件系统的开发打下相应的工程基础。

二、课程的主要内容及基本要求
第1单元软件工程学概述(3学时)
[知识点]
软件的发展过程、软件危机、软件工程及开发方法。

[重点]
软件工程的基本概念、软件工程学的基本内容和软件生命周期中各阶段的基本任务。

[难点]
软件过程模型
[基本要求]
1、识记:软件、软件危机、软件工程、软件工程方法学;
2、领会:软件工程过程模型的定义及其特点;
3、简单应用:软件危机的产生原因;
4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应
当采用的软件过程模型。

[考核要求]
1、软件工程的定义;
2、软件生命周期的定义及其各个开发阶段的任务;
3、软件工程方法学定义及经典软件过程模型。

第2单元可行性研究(5学时)
[知识点]
可行性研究的主要内容、任务及研究过程,系统流程图、数据流图、数据字典。

[重点]
系统流程图、数据流图的画法。

[难点]
可行性研究中的上层数据流图的构成方法。

[基本要求]
1、识记:可行性研究的主要内容、任务;
2、领会:如何画出所需的系统流程图;
3、简单应用:分析所需的数据字典并根据数据字典定义方法定义相关词条;
4、综合应用:在可行性研究过程中分析系统流程图,总结其数据字典,画出上层的数据流图。

[考核要求]
1、可行性研究的主要内容、任务;
2、数据流图的定义及画法,能够分析并画出可行性研究中的上层数据流图;
3、数据字典的组成及其符号定义方法。

第3单元需求分析(5学时)
[知识点]
需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体—联系图、状态转换图、其他图形工具、数据规范化。

[重点]
实体-联系图的概念及画法、状态转换图的定义及画法和常用图形工具的使用方法。

[难点]
常用图形工具的使用方法
[基本要求]
1、识记:需求分析的任务,数据规范化三范式特点;
2、领会:实体-联系图的概念以及画图方法;
3、简单应用:常用图形工具的安装及运行;
4、综合应用:采用常用图形工具画实体-联系图、状态转换图。

[考核要求]
1、需求分析的任务;
2、根据题意画出系统的实体-联系图;
3、根据题意画出系统的状态转换图。

第4单元总体设计(9学时)
[知识点]
总体设计的目标和任务、概要设计过程和原理、模块化方法和模块独立性原则、面向数据流的设计方法、数据设计及文件设计
[重点]
总体设计的任务、模块化方法和模块独立性原则、面向数据流的结构化设计方法
[难点]
模块独立性原则、面向数据流的设计方法。

[基本要求]
1、识记:总体设计的任务、概要设计的原理、模块独立性原则;
2、领会:模块化概念及模块化方法、模块独立性准则的内涵及如何使模块具备高独立性;
3、简单应用:分析系统数据处理问题类型,模块间耦合性和内聚型的类型及这些类型的模块独立性强弱排序;
4、综合应用:分析数据处理问题类型,根据相应问题类型的结构化设计方法导出模块结构图。

[实践与练习]
根据题意分析系统的上层数据流程图,归纳其数据字典,并根据结构化设计方法画出模块结构图,最后采用常用的图形工具画出其数据流程图和模块结构图。

[考核要求]
1、总体设计的任务及过程;
2、模块化的定义、分类及划分原则;
3、模块独立性的定义、原则,模块间连接方式的类型及其独立性的强弱;
4、数据处理问题的类型,结构化设计的工作步骤。

第5单元详细设计(10学时)
[知识点]
详细设计的任务及工具、结构化程序设计、程序设计风格、程序复杂性度量、程序效率。

[重点]
结构化程序设计、Ja ckson程序设计方法、McCabe度量法、Halstead的度量法、程序设计风格涉及内容。

[难点]
Ja ckson程序设计方法
[基本要求]
1、识记:详细设计阶段的任务,结构化程序设计的原则;
2、领会:程序设计风格涉及的内容对程序效率甚至整个软件开发的重要性;
3、简单应用:运用代码行度量法、McCabe度量法以及Halstead的度量法计算估计程序的出错率。

4、综合应用:运用Ja ckson程序设计方法设计程序。

[实践与练习]
1、运用Jackson程序设计方法设计程序,编译并调试程序;
2、运用常用的图形工具画出程序流程图、N-S图、PAD图。

[考核要求]
1、详细设计阶段的任务;
2、结构化程序设计的原则;
3、程序设计风格的内容;
4、代码行度量法、McCabe度量法以及Halstead的度量法;
5、Jackson程序设计方法;
6、详细设计的工具中程序流程图、N-S图、PAD图的特点、区别和画法。

第6单元软件测试(10学时)
[知识点]
软件测试的目的和原则、测用例设计、软件测试策略、软件测试种类、程序调试。

[重点]
软件测试的有关的基本概念和步骤,单元测试、集成测试和确认测试、系统测试的方法,白盒测试和黑盒测试技术,软件调试技术。

[难点]
白盒测试和黑盒测试技术。

[基本要求]
1、识记:软件测试的任务、白盒测试和黑盒测试的定义、软件测试的步骤;
2、领会:白盒测试和黑盒测试的区别与联系;
3、简单应用:运用软件调试技术调试程序;
4、综合应用:分别运用白盒测试和黑盒测试方法中具体的测试用例设计方法测试程序的结构和功能。

[实践与练习]
分别运用白盒测试和黑盒测试方法程序已有程序的结构和功能是否符合预定要求。

[考核要求]
1、软件测试的任务;
2、白盒测试和黑盒测试的定义及其测试用例设计的经典方法;
3、软件测试策略的各个步骤及其各步的主要任务;
4、程序调试的定义、步骤及方法。

第7单元软件维护(4学时)
[知识点]
软件维护的概念、软件维护过程、软件可维护性、提高软件维护性策略。

[重点]
软件维护的定义及影响维护工作量的因素、软件维护的过程、软件可维护性的定义及度量。

[难点]
软件可维护性的定义及度量。

[基本要求]
1、识记:软件维护的定义、衡量软件可维护性的特性;
2、领会:如何提高软件可维护性的方法;
3、简单应用:识别属于软件维护类型中的哪一种;
4、综合应用:运用提高软件可维护性方法改善软件开发。

[考核要求]
1、软件维护的定义及维护的类型;
2、衡量软件可维护性的特性;
3、提高软件维护性策略。

第8单元软件项目管理(2学时)
[知识点]
人员组织和能力成熟度模型,软件规模和工作量的估算方法,进度计划和质量保证技术。

[重点]
软件规模和工作量的估算方法,能力成熟度模型。

[难点]
软件规模和工作量的估算方法。

[基本要求]
1、识记:能力能力成熟度模型的定义、分级及其各个级别特征要求;
2、领会:人员组织,软件项目的管理过程;
3、简单应用:软件规模和工作量的估算方法;
4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应当采用的软件过程模型。

[考核要求]
1、项目管理的对象及过程;
2、能力能力成熟度模型的定义、分级。

二、学时分配
四、教学方法与手段
运用多媒体教学手段,理论与实例相结合的手段进行教学。

五、考核模式与成绩评定办法
采取试卷考试和上机实验相结合,成绩评定为百分制,由3部分组成:平时成绩占10%、上机实验20%,期末考试70%。

六、选用教材和主要参考书
1.选用教材:
《软件工程导论》(第四版),张海藩;清华出版社,2003年12月
2.推荐参考书:
《软件工程方法与实践》,李芷;电子工业出版社,2004年
《实用软件工程》(第二版),郑人杰;清华大学出版社,1997年
《软件工程导论学习辅导》,张海藩.清华大学出版社,2003年
《软件工程学试验》,周苏;科学出版社,2005
七、大纲说明
本门课程采用多媒体与板书相结合的授课方式。

该课程是计算机类专业的一门专业选修课,在教学中提倡特色教学,应精选内容,打好基础,加强实践,培养学生的软件工程规划设计能力。

教学中注意结合教学内容适量安排习题课,要求学生及时、独立完成,以达到巩固所学内容之目的。

本课程包含课程设计部分,具体授课内容见“软件工程-课程设计教学大纲”。

撰写人:马娟审定人:
批准人:执行时间:。

相关文档
最新文档