软件工程教学大纲

合集下载

软件工程课程教学大纲

软件工程课程教学大纲

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

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

软件工程经济学教学大纲

软件工程经济学教学大纲

软件工程经济学教学大纲一、课程简介软件工程经济学是一门介绍软件经济学理论和应用的学科,它旨在通过学习软件项目的经济分析、成本估算和风险管理等内容,帮助学生更好地理解和掌握软件项目开发过程中的经济学原理和应用技术。

本课程旨在为软件工程学生提供一种跨学科的视角去理解软件工程项目开发过程中的经济问题,并且为学生提供最核心的理论知识和实践技能,以满足学生在日后的职业发展和成长上的需要。

二、教学内容本课程将涵盖以下内容:1. 软件工程经济学概述•软件工程经济学概念介绍•软件开发的经济原则2. 成本估算•软件开发成本分类•成本估算方法和技术•成本模型和演化3. 风险管理•风险概念介绍•软件项目风险类型•风险管理的方法和技术4. 投资决策•投资决策的概念和方法•投资规划和评估分析•投资项目的选择和决策5. 需求和收益分析•需求分析的概念和方法•需求模型和分析•收益估算和分析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. 课程简介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 课程总结与复习结语:本教学大纲和授课计划旨在帮助学生系统学习软件工程的理论与实践,全面提升他们软件开发与管理的能力。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程》实践教学大纲(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. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。

《软件工程》教学大纲

《软件工程》教学大纲

软件工程》教学大纲技术课程性质:必修课课程类型:专业课开课教研室:计算机软件总学时:48学分:3适用专业:计算机科学与教学大纲说明一、本课程的地位、作用与任务《软件工程》是计算机科学与技术专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件生存周期模型、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。

本课程的开设旨在使学生通过学习,掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程的实践打下良好的基础。

二、课程的教学基本要求学习本课程要求先修《数据结构》、《面向对象程序设计》、《数据库原理及应用》、《操作系统》等课程。

基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。

基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护。

重点:系统分析、系统设计、系统实现、系统维护难点:需求分析、软件测试课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。

了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。

教学内容一、本课程的理论教学内容1、概论课程的教学要求给出,三个层次:了解、理解和掌握。

教学内容⑴、软件软件的发展、软件的定义、软件的特点、软件的种类⑵、软件工程的概念软件危机与软件工程的定义、软件工程的目标软件工程的原则⑶、软件生存周期与软件开发模型瀑布模型、原型模型、螺旋模型、基于四代技术模型、面向对象与组件模型、混合模型教学要求掌握:软件和软件工程的基本概念了解:软件生命周期及软件开发的各个模型2、可行性分析教学内容⑴、可行性研究的任务⑵、可行性研究的步骤⑶、系统流程图⑷、成本/效益分析教学要求了解:可行性分析的步骤3、需求分析教学内容⑴、需求分析的任务与步骤需求分析的任务、需求分析的步骤、需求分析的原则⑵、需求分析方法面向数据流的分析方法基本符号、基于数据流的分析方法、数据字典面向数据结构的分析方法Jackson系统开发方法、Warnier-Orr 方法⑶、需求规格说明与评审教学要求:掌握:需求分析的方法理解:需求分析的任务和原则4、概要设计教学内容⑴、概要设计的任务与步骤概要设计的任务、概要设计的步骤⑵、软件设计的概念与原则模块化、抽象、信息隐藏和局部化、模块独立性、结构设计的评价原则⑶、概要设计的方法面向数据流的设计方法基本概念、变换分析、事务分析、设计优化原则面向数据结构的设计方法Jacks on 方法、Warni er-Orr 方法⑷、概要设计文档与评审教学要求掌握:软件设计的概念与原则,概要设计的步骤、方法了解:概要设计文档与评审5、详细设计教学内容⑴、详细设计的任务与原则详细设计的任务、详细设计的原则⑵、详细设计的方法程序流程图PFG N-S图、PAD图、HIPO图过程设计语言PDL详细设计方法的选择⑶、详细设计规格说明与评审教学要求掌握:详细设计方法了解:详细设计规格说明与评审6、面向对象的分析与设计方法教学内容⑴、面向对象方法的基本概念和特征⑵、面向对象分析确定对象、确定属性、定义操作、对象间通信⑶、面向对象设计面向对象设计概念、面向对象设计方法、程序构件及接口、细节设计⑷、UML方法UML 的发展与特点、UML的表示法、UML的开发步骤⑸、面向对象实例分析与设计建立用例、确定表、设计对象的交互作用、指定联系、寻找继承、分析对象行为、设计系统的体系结构教学要求⑴掌握:面向对象的基本概念和特征⑵了解:面向对象分析与设计方法及UML的开发方法7、编码教学内容⑴、程序设计语言程序设计语言分类、程序设计语言特点、程序设计语言选择⑵、编程风格⑶、编程效率⑷、编程安全⑸、面向对象编程技术教学要求⑴掌握:一般的编码原则⑵了解:面向对象编程的特点8、软件质量与质量保证教学内容⑴、软件质量的定义⑵、影响软件质量的因素⑶、软件质量保证策略⑷、软件质量保证活动⑸、软件质量保证标准⑹、软件评审⑺、结构化的软件测试软件测试的概念和原则测试的概念、测试的原则、测试的方法软件测试技术白盒测试、黑盒测试软件测试的步骤软件测试过程、软件测试步骤、单元测试、综合测试、确认测试、系统测试纠错技术⑻、面向对象的软件测试面向对象分析和面向对象设计的模型测试面向对象分析和面向对象设计模型的正确性、面向对象分析和面向对象设计模型的一致性面向对象的测试策略面向对象的单元测试、面向对象的组装测试、面向对象的确认测试面向对象软件测试用例设计测试用例设计蕴涵面向对象的概念、传统测试用例设计方法的适用性、基于故障的测试、面向对象编程对测试的影响、测试用例与类的分层、基于脚本的测试设计、测试外部结构和内部结构可用于类层次上的测试方法面向对象类的随即测试、类层次的分割测试类间测试用例设计多重类测试、按行为模型导出的测试⑼、软件测试计划与测试分析报告⑽、软件维护软件维护的定义、分类、特点、软件维护步骤及组织、软件的可维护性、软件维护的副作用、逆向工程和再生工程教学要求⑴掌握:软件质量保证的概念、策略和方法,软件评审或测试的方法和步骤。

软件工程课程教学大纲

软件工程课程教学大纲

软件工程课程教学大纲软件工程课程教学大纲一、课程概述软件工程课程是一门面向软件开发和管理的综合性学科,旨在培养学生的软件系统分析、设计、实现和维护的能力,以及理解并应用软件工程原理和方法进行软件开发和管理的能力。

本课程涵盖软件开发的全过程,包括需求分析、设计、编码、测试、部署、维护和管理等方面。

二、课程目标通过本课程的学习,学生将能够: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. 软件工程的重要性:软件在现代社会中的应用广泛,软件工程的实践能够提高软件开发的效率和质量。

[第二部分:教学目标]1. 理论知识:学生应该掌握软件工程的基本原理和方法,包括需求分析、设计、开发、测试和维护等方面的知识。

2. 实践能力:学生应该能够应用软件工程的理论知识解决实际问题,包括软件开发过程中的各个环节。

3. 团队合作:软件开发是一项团队活动,学生应该培养良好的沟通和协作能力。

[第三部分:教学内容]1. 需求分析:介绍需求工程的基本概念和方法,包括需求获取、分析和规格说明等内容。

2. 软件设计:讲解软件设计的原理和方法,包括结构化设计、面向对象设计以及设计模式等知识。

3. 软件开发:介绍软件开发的流程和方法,包括编码、调试、版本控制和软件测试等。

4. 质量保证:教授软件质量保证的理论知识和实践方法,包括软件测试、代码审查和性能优化等。

5. 项目管理:介绍项目管理的基本知识和技巧,包括项目计划、资源管理和风险管理等。

[第四部分:教学方法]1. 理论讲授:通过课堂讲解,向学生传授软件工程知识和理论。

2. 实践操作:安排实践环节,让学生亲自参与软件开发项目,提高他们的实践能力。

3. 小组讨论:组织小组讨论,让学生共同解决软件工程中的问题,培养他们的团队合作能力。

4. 项目实践:安排真实的软件开发项目,让学生在实际环境中应用所学知识,提高他们的实践能力。

[第五部分:评估方式]1. 考试:通过理论考试,评估学生对软件工程理论知识的掌握情况。

2. 项目评估:对学生在实际项目中的表现进行评估,包括项目成果和团队合作能力等方面。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程教学大纲

软件工程教学大纲

软件工程第一章软件与软件工程软件软件危机软件工程软件生存周期软件工程的最佳实践第二章软件过程软件过程模型基于构件的开发过程统一软件开发过程RUP(IBM RUP 理论部分2 学时)能力成熟度模型CMM第三章软件项目管理项目管理的谱系软件项目管理的目的、任务和内容软件项目度量软件质量度量软件复杂性度量软件项目计划与估算风险分析与管理项目进度安排第四章需求分析需求分析基础需求分析方法需求分析模型软件需求管理基于用例的需求管理第五章软件设计软件设计基础软件设计过程软件总体结构设计软件过程设计技术与工具软件设计方法设计模式架构模式软件设计优化原则4 学时) 第六章面向对象的需求分析(IBM Rational 相关理论与实践相结合面向对象的概念统一建模语言UML 及十种视图基于UML 的软件开发过程基于UML 的需求分析基于UML 的需求建模UML 用例图的构建UML 类图构建,类之间的关系描述使用IBM Rational Rose 进行需求建模 (演示或上机实验)第七章面向对象的设计方法(IBM Rational 相关理论与实践相结合面向对象的软件设计过程基于UML 的设计UML 顺序图的构建UML 协作图的构建UML 状态图的构建UML 活动图的构建使用IBM Rational Rose 进行设计实现建模 (演示或上机实验)软件测试的目的和原则软件测试流程软件测试计划软件测试技术白盒测试4 学时)第七章软件测试(IBM Rational 相关理论与实践相结合 6 学时)。

《软件工程》教学大纲

《软件工程》教学大纲

《软件工程》教学大纲一、课程概述本课程向学生介绍与大型软件相关的规划. 分析. 设计. 实现. 测试. 维护等概念. 原理. 技术与工具,同时向学生讲述传统的结构化开发方法与当前流行的面向对象开发方法。

要求学生牢固掌握软件生命周期. 软件质量. 软件成本等基本概念以及传统的结构化分析. 设计与实现方法;掌握面向对象软件工程的基本概念与表示技术,基本掌握软件开发中的管理技术。

通过本课程的学习,让学生对软件工程学有一个全貌的了解,对其所涉及的基本概念. 原理. 方法和有关技术逐步领会并进行运用。

要求学生能够在已有的程序设计. 数据结构. 数据库等理论基础上,为今后进行实际的软件开发奠定一个良好的基础。

本课程应强调实际运用,最好在教学中安排学生参予系统开发的策划. 分析. 设计. 编码. 测试等阶段工作的环节,积极引导学生从个人的单纯编程活动转移到进行系统分析与设计方面上来。

如果受条件所限,可让学生在毕业设计中将这一环节补上。

本课程的先修课程为“面向对象程序设计”. “数据结构与算法”与“数据库”。

本课程的后续课程可以为“程序设计方法学”与“算法分析与设计”。

二、课程目标1.知道《软件工程》这门学科的性质. 地位. 独立价值. 研究范围. 基本框架. 研究方法. 学科进展和未来方向等。

2.理解该门学科的主要概念. 基本原理和策略等。

3.学会运用一些具体的策略或技术等,如软件测试过程中所用到的黑盒测试法和白盒测试法。

4.能够把所学的原理应用到具体的实践中去,如对于具体系统开发过程中所遇到的问题能够自行进行处理,培养学生发现. 分析和解决问题的能力等。

三、课程内容和教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。

这四个层次的一般涵义表述如下:知道———是指对这门学科和教学现象的认知。

理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。

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

《软件工程》教学大纲编写人:董凯宁编写时间:2005年 10月 30日一、课程基本信息课程名称:软件工程 Software Engineering课程号: 40110630课程类别:专业课学时: 48 学分: 3二、教学目的及要求软件工程的基本概念,软件设计中的过程抽象,软件设计中的控制结构,软件设计中的数据类型,软件设计过程,软件开发和维护模型,软件开发的风险分析,非形式规格说明,形式规格说明,抽象和信息隐藏,结构化设计和过程设计,软件设计的实现策略和语言,软件设计中的重用支持,软件质量保证与管理,软件测试,CASE,集成化CASE 环境,面向对象的分析设计方法,面向对象建立模型,面向对象的编程实现,软件项目的管理等。

三、教学内容第1章软件工程概述(共3学时)1.1 软件危机(0.5学时)1.1.1 软件工程的介绍教学内容:讲述软件危机的起源,软件危机的7个典型表现:对软件开发成本和进度的估计常常很不准确、用户对已完成软件系统不满意的现象经常发生、软件产品的质量往往靠不住、软件常常是不可维护的、软件通常没有恰当的文档资料、软件成本逐年上升、软件开发生产率提高的速度跟不上计算机应用迅速普及深入的趋势;要求学生了解软件危机的起源,软件危机的7个典型表现。

1.1.2 产生软件危机的原因教学内容:讲述软件危机的多种形成原因:软件开发与维护的方法不正确、客观上软件维护的困难性、团队工作管理的困难性等;要求学生了解软件危机的多种形成原因。

1.1.3 消除软件危机的途径教学内容:讲述消除软件危机的几种途径,彻底消除软件就是程序的错误概念的必要性;要求学生了解消除软件危机的几种主要途径。

✧ 1.2 软件工程(0.5学时)1.2.1 软件工程的介绍教学内容:阐述软件工程的定义,软件工程的适用领域,软件工程的7条本质特性:软件工程关注于大型程序的构造、软件工程的中心课题是控制复杂度、软件经常变化、开发软件的效率非常重要、和谐的合作是开发软件的关键、软件必须有效的支持它的用户、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品;要求学生理解软件工程的定义,软件工程的适用领域,软件工程的7条本质特性。

1.2.2 软件工程的基本原理教学内容:阐述软件工程的7条基本原理:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代化程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性;要求学生理解软件工程的7条基本原理。

1.2.3 软件工程方法学教学内容:阐述软件工程方法学的3要素:方法、工具、过程的概念,软件工程方法学中的传统方法学和面向对象方法学;要求学生了解软件工程方法学的3要素,理解传统方法学和面向对象方法学的内容。

✧ 1.3 软件生命周期(0.5学时)教学内容:阐述软件生命周期的各个环节:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护;要求学生掌握软件生命周期的各个环节构成。

✧ 1.4 软件过程(重点)(1.5学时)1.4.1 瀑布模型教学内容:详细阐述瀑布模型的特点,模型构成、运作方法;要求学生掌握瀑布模型的构成、特点。

1.4.2 快速原型模型教学内容:详细阐述快速原型模型的特点,模型构成、运作方法;要求学生掌握这快速原型模型的构成、特点、运作方式。

1.4.3 增量模型教学内容:详细阐述增量模型的特点,模型构成、运作方法;要求学生掌握增量模型的构成、特点、运作方式。

1.4.4 螺旋模型教学内容:详细阐述螺旋模型的特点,模型构成、运作方法,比较4种模型的侧重点。

要求学生掌握螺旋模型的构成、特点、运作方式。

第2章可行性研究(共5学时)✧ 2.1 可行性研究的任务(0.5学时)教学内容:阐述可行性研究的任务和概要步骤;要求学生了解可行性研究的任务和概要步骤。

✧ 2.2 可行性研究过程(1学时)教学内容:描述典型的可行性研究过程的步骤如复查系统规模和目标、研究目前正在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写档案提交审查要求学生了解典型的可行性研究过程的8个步骤。

✧ 2.3 系统流程图(重点)(1学时)2.3.1 符号教学内容:描述系统流程图使用的基本符号和系统符号;要求学生掌握系统流程图使用的基本符号。

2.3.2 例子教学内容:描述系统流程图使用的一个库存清单系统例子;要求学生理解这个例子。

2.3.3 分层教学内容:阐述分层绘制系统流程图的概念;要求学生理解分层绘制系统流程图的思想。

✧ 2.4 数据流图(重点)(1学时)2.4.1 符号教学内容:描述数据流图使用的基本符号和系统符号;要求学生掌握数据流图使用的基本符号。

2.4.2 例子教学内容:描述数据流图使用的一个定货系统例子,例子分为基本系统模型、功能级数据流图、把处理事务的功能进一步分解后的数据流图;要求学生理解这个例子。

2.4.3 命名教学内容:阐述数据流图的命名规则;要求学生理解数据流图的命名规则。

2.4.4 用途教学内容:阐述画数据流图的基本目的、数据流图的基本用途,画自动化边界的规则;要求学生掌握画数据流图的基本目的、数据流图的基本用途,画自动化边界的规则。

✧ 2.5 数据字典(重点)(1学时)2.5.1 数据字典的内容教学内容:阐述数据字典中的4个构成元素,出现别名的3个原因;要求学生掌握数据字典中的4个构成元素。

2.5.2 定义数据的方法教学内容:阐述数据字典中定义数据的方法,由数据元素组成数据方法的3种基本类型,标志符的意义;要求学生掌握由数据元素组成数据方法的3种基本类型,标志符的意义。

2.5.3 数据字典的用途教学内容:阐述数据字典的用途;要求学生了解数据字典的用途。

2.5.4 数据字典的实现教学内容:阐述数据字典的具体实现方法,数据字典卡片内容解释;要求学生掌握数据字典的具体实现方法。

✧ 2.6 成本效益分析(0.5学时)2.6.1 成本估计教学内容:阐述3种成本估计方法:代码行技术、任务分解技术、自动估计成本技术;要求学生理解可行性阶段的3种成本估计方法。

2.6.2 成本/效益分析的方法教学内容:阐述4种成本/效益分析的方法:货币的时间价值、投资回收期、纯收入和投资回报率;要求学生理解可行性阶段的4种成本/效益分析方法。

第3章需求分析(共5学时)✧ 3.1 需求分析的任务(0.25学时)3.1.1 确定对系统的综合要求教学内容:阐述需求分析的任务是确定系统必须做什么,确定对软件系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求;要求学生掌握需求分析的任务,了解对软件系统的8个综合要求。

3.1.2 分析系统的数据要求教学内容:阐述分析系统的数据要求的概要方法;要求学生了解分析系统的数据要求的概要方法。

3.1.3 导出系统的逻辑模型教学内容:阐述导出系统的逻辑模型后,使用数据流图、实体联系图、状态转换图等工具描述这个模型;要求学生了解描述逻辑模型的工具。

3.1.4 修正系统开发计划教学内容:阐述修正系统开发计划的思想;要求学生建立修正系统开发计划的思想。

✧ 3.2 与用户沟通获取需求的方法(0.75学时)3.2.1 访谈教学内容:阐述访谈的方法、步骤和特点;要求学生了解访谈的的方法、步骤和特点。

3.2.2 面向数据流自顶向下求精教学内容:阐述面向数据流自顶向下求精的理念;要求学生建立面向数据流自顶向下求精的概念。

3.2.3 简易的应用规格说明技术教学内容:阐述制作简易的应用规格说明技术的典型过程;要求学生了解制作简易的应用规格说明技术的典型过程。

3.2.4 快速建立软件原型教学内容:阐述快速建立软件原型,构件原型和修改原型的第四代技术、可重用软件构件、形式化规格说明等3种工具;要求学生了解第四代技术、可重用软件构件、形式化规格说明等3种工具。

✧ 3.3 分析建模与规格说明(0.5学时)3.3.1 分析建模教学内容:阐述在需求分析过程应该建立3种模型,即数据模型、功能模型、行为模型,模型的概念,结构化分析的内涵;要求学生建立分析建模的观念。

3.3.2 软件需求规格说明教学内容:阐述软件需求规格说明的概要要求;要求学生了解软件需求规格说明的概要要求。

✧ 3.4 实体联系图(重点)(1学时)3.4.1 数据对象教学内容:阐述数据对象的概念,复合信息的概念,数据对象的具体内容;要求学生掌握数据对象的概念,复合信息的概念。

3.4.2 属性教学内容:阐述数据对象的属性的概念;要求学生掌握属性的概念。

3.4.3 联系教学内容:阐述数据对象的联系的概念;要求学生掌握联系的概念。

3.4.4 实体-联系图的符号教学内容:阐述实体联系图的符号;要求学生掌握实体联系图。

✧ 3.5 数据规范化(0.5学时)教学内容:阐述范式的概念,3个范式的定义。

要求学生掌握范式的概念,了解第一范式、第二范式、第三范式这3个范式的定义。

✧ 3.6 状态转换图(0.5学时)3.6.1 状态教学内容:阐述状态的概念;要求学生掌握状态的概念。

3.6.2 事件教学内容:阐述状态的事件;要求学生掌握事件的概念。

3.6.3 符号教学内容:阐述状态转换图中所用的符号;要求学生掌握状态转换图中所用到的符号。

3.6.4 例子教学内容:阐述状态转换图通过描绘系统的状态及引起系统状态转换的事件来表示系统的行为,故可以行为建模,状态的概念,事件的概念,状态转移图的实例;要求学生了解状态转移图的实例。

✧ 3.7 其它图形工具(1学时)3.7.1 层次方框图教学内容:阐述需求分析阶段可以使用图形工具层次方框图的构成、作用;要求学生掌握层次方框图的构成、作用。

3.7.2 Warnier图教学内容:阐述需求分析阶段使用的图形工具Warnier图的构成、作用;要求学生理解Warnier图的构成、作用。

3.7.3 IPO图教学内容:阐述需求分析阶段可以使用图形工具IPO图的构成、作用;要求学生掌握IPO图的构成、作用。

✧ 3.8 验证需求分析(0.5学时)3.8.1 从哪些方面验证软件需求的正确性教学内容:阐述从一致性、完整性、现实性和有效性4个方面验证软件需求的正确性;要求学生了解验证软件需求正确性的4个方面。

3.8.2 验证软件需求的方法教学内容:阐述验证软件需求的方法:验证需求的一致性、验证需求的现实性、验证需求的完整性和有效;要求学生了解验证软件需求的3个方法。

3.8.3 用于需求分析的软件工具教学内容:阐述用于需求分析的软件工具,PSL/PSA系统;要求学生了解PSL/PSA系统的大致功能。

第4章形式化说明技术(共2学时)✧ 4.1 概述(0.25学时)4.1.1 非形式化方法的缺点教学内容:阐述非形式化方法的缺点:矛盾、二义性、含糊性、不完整性及抽象层次混乱等;要求学生了解非形式化方法的缺点。

相关文档
最新文档