软件工程-教学大纲
软件工程课程教学大纲
软件工程课程教学大纲一、课程概述软件工程课程旨在培养学生的软件开发能力和团队协作能力,通过理论学习和实践项目开发,使学生能够独立完成软件开发项目并具备解决实际问题的能力。
二、教学目标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版)软件工程课程教学大纲
《软件工程》课程教学大纲一、课程代码与名称(小四号宋体加粗)课程代码: CS132201中文名称: 软件工程英文名称: Software Engineering二、课程概述及与相关课程关系软件工程是计算机科学与技术专业的专业必修课, 是指导学生按照工程化、标准化和规范化的方法开发软件系统的一门课程。
通过本课程学习, 学生能够掌握现代软件设计与开发的基本原理、方法和技术;熟悉结构化和面向对象软件设计与开发的全过程;了解软件项目管理、软件维护等方面知识。
软件工程与前后课程间关联关系、课程群对应的局部鱼骨图分别如下所示:图例:应用方向软件工程课程群及对应课程群项目、学年项目(局部)图图例:三、课程教学对象与教学目的适用专业: 计算机科学与技术教学目的:通过理论教学和实践相结合, 使学生初步具备运用软件工程的概念、原理、技术和方法开发与维护软件的能力, 并提高学生编写相关技术文档的能力, 及分析问题和解决问题的能力和团队工作交流能力。
*注: 该表所列指标可对照培养方案中所列指标来解释。
A: 认知, 指从教、学活动中、从生活经验和社会经验等多种信息渠道获得知识, 侧重知识的获取, 没有实训要求。
B: 训练, 指教、学活动中由教师引导开展的基础测试或练习, 匹配有课程讨论、课后研讨等环节。
C: 实践, 指以学生为主导, 通过实练而形成的对完成某种任务所必须的活动方式, 匹配有课程的三级项目或其它实践环节。
D: 探索, 指学生独立探寻问题、摸索、解答的活动, 不设置专门的考核。
(留空表示无该项要求)四、课程内容、学时分配及主要的教学方法本课程对主要软件开发方法采用项目驱动教学模式, 结合实验和项目开发实践, 使课程的实践与理论教学内容紧密配合, 同步进行, 达到理论指导实践, 实践促进理论学习目的。
通过理论教学、实践(实验)、团队项目开发实践3环节将理论与实践紧密联系。
教学中采用问题引导方式推进学生基于问题的学习(problem based learning), 以为学生为中心鼓励学生参与课程讨论, 促进学生采用主动学习方法(active learning)。
软件工程专业教学大纲
软件工程专业教学大纲软件工程专业教学大纲:
第一部分:导论
软件工程的定义与概念
软件工程发展历程
软件工程的重要性与应用领域
第二部分:基础知识
计算机科学与软件工程的关系
软件工程的基本原理
软件生命周期与软件开发过程
需求分析与软件设计
软件测试与质量保证
第三部分:主要课程及内容
数据结构与算法
计算机网络原理
操作系统与系统编程
数据库原理与应用
面向对象程序设计
软件项目管理与团队协作
第四部分:实践教学
软件工程实践课程介绍
软件系统设计与开发实践
软件测试与调试实践
软件项目管理实践
软件质量保证实践
第五部分:教学方法与评估
课堂教学与实践相结合
案例分析与小组讨论
考试、作业与实验报告评估
课程设计与项目实践评估
第六部分:教学目标与培养要求培养学生的计算机基本功
培养学生的软件开发能力
培养学生的团队合作与沟通能力
培养学生的解决问题能力与创新思维
第七部分:教学资源与保障
教材与参考书目
实验室设备与软件环境
教师团队与指导导师
学校资源与实习机会
第八部分:教学内容更新与发展
结合当前软件工程领域热点
引入新技术与新方法
持续改进课程内容与教学方法
总结:
通过本教学大纲的设计,旨在为软件工程专业的学生提供系统全面的课程安排,培养学生的软件工程能力,提高学生在软件领域的竞争力,为其未来的职业发展打下坚实的基础。
愿每一位学生在本专业的学习过程中都能获得实实在在的收获,成为优秀的软件工程师。
《软件工程》课程教学大纲
《软件工程》课程教学大纲一、课程基本信息课程名称:软件工程英文名称:SoftwareEngineering课程编码:U223C课程类别:专业主干课总学时:48学时(含实验IO学时)总学分:3适用专业:计算机科学与技术/网络工程方向先修课程:高级语言程序设计,数据库设计原理,数据结构开课系部:计算机科学与技术系二、课程的性质和任务《软件工程》是计算机科学与技术专业本科生的一门专业主干课程。
它是一门指导计算机软件系统开发和维护的工程学科,也是计算机科学与技术领域的一个重要学科。
软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学,通过本课程的学习,使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向;开发软件项目的工程化的方法及在开发过程中应遵循的流程、准则、标准和规范等。
使学生掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为今后从事软件开发和应用打下良好的基础。
通过本课程的学习,培养学生对软件开发能力和项目管理能力。
三、课程教学基本要求(一)理论教学内容和基本要求第1章软件工程概述了解软件工程的产生和发展、软件危机的原因,知道如何消除软件危机。
明白软件工程的基本概念,知道软件工程中包含的领域范围重点:软件危机的产生和消除方法第2章软件过程软件与软件生命周期任务,软件开发过程中的基本开发模型,软件开发工具与软件开发环境。
掌握软件生存期模型,软件开发模型方法介绍。
重点:软件与软件生存期,软件开发过程模型难点:软件开发过程模型第3章结构化分析掌握软件需求获取的方法、软件需求工程的任务、软件需求的原则、主要的需求分析方法;需求工程的基本活动、需求的有效性验证、需求变动管理、需求规格说明;建立结构化分析的三种模型;三种模型对应的描述方法:E-R图,数据流图,状态图。
掌握分层数据流图、数据词典和加工逻辑说明的基本构造方法。
重点:软件需求获取方法、结构化分析方法、分析建模方法难点:结构化分析建模方法第4章结构化设计理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。
《软件工程导论》课程教学大纲(5篇)
《软件工程导论》课程教学大纲(5篇)第一篇:《软件工程导论》课程教学大纲《软件工程导论》课程教学大纲课程编号:课程中文名称:软件工程导论课程英文名称:Introduction of Software Engineering 总学分:2 总学时: 36 讲课学时:36习题课学时:0 实验学时:0 上机学时:0 授课对象:软件工程专业本科先修课程:程序设计课程要求:必修课课程分类:专业基础课一、课程教学目的随着计算机技术的发展,软件的规模越来越大,软件的结构越来越复杂,软件开发与维护的难度也越来越高,软件的质量难以保证,软件开发与维护的进度和成本难以控制,这就要求有一种科学的方法指导软件的开发与维护工作。
软件工程就是这样一种指导软件开发和维护的工程学科。
通过本课程的学习,使学生了解软件工程的概念、原理和技术,初步掌握软件开发的基本方法和常用工具,建立软件开发和维护的工程化意识,培养独立思考的能力和团队合作的精神,为后续相关课程的学习以及从事软件开发与维护的实际工作打下良好的基础。
二、教学内容及基本要求教学内容:1.课程内容简介(1学时)本课内容简介,基本要求和目标,教学方法,学习方法,教材(英1 文原版)的主要内容及使用,中文参考教材简介2.软件工程的基本概念(4学时)软件工程的基本概念,软件危机产生的原因,软件危机面临的问题及解决方法,什么是好的软件以及软件的质量的概念,实施软件工程的人员,软件工程的系统方法,软件工程的工程方法,软件工程的发展3.过程建模与生命周期(4学时)过程的概念,软件过程模型,软件生命周期,各种常用的软件过程模型,过程建模的工具和技术 4.软件项目计划与管理(4学时)软件项目进展跟踪,软件项目的人员,工作量的估算,风险管理,项目计划,项目管理 5.需求获取(4学时)需求过程,需求的类型,需求的特征,需求的表示方法,原型需求法,需求文档,需求过程的参加人员,需求确认,需求度量,需求表示方法的选择,表示需求的工具。
软件工程》实践教学大纲(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.掌握跨越整个软件工程过程的面向对象方法[教学内容]1.产品和过程,2.治理软件工程3.传统软件工程方法4.面向对象软件工程第一局部产品和过程第一章产品[目的要求]1.理解什么是计算机软件的概念2.了解什么缘故我们要努力建筑高质量的基于计算机的系统3.掌握关于软件仍存在什么样的神话[教学内容]1.计算机软件的概念2.软件的特征、软件的应用3.软件危机4.软件神话第二章过程[目的要求]1.掌握什么是计算机过程2.了解是否存在一般性的方法评价一个过程的质量3.掌握软件开发中能够应用什么过程模型4.了解线性过程模型和迭代过程模型有什么区不5.掌握各种模型的优点和缺点[教学内容]1.软件工程:一种层次化技术2.软件过程3.软件过程模型4.线性顺序模型5.原型实现模型6.RAD模型7.演化软件过程模型8.基于构件的开发〔自学〕9.形式化方法模型〔自学〕10.第四代技术〔自学〕11.过程技术〔自学〕12.产品和过程〔自学〕第二局部治理软件工程第三章工程治理的概念[目的要求]1.理解在一个软件工程中什么缘故必须对人员、咨询题和过程进行治理2.了解W5HH原那么[教学内容]1.治理的谱系2.人员3.产品4.过程5.工程6.W5HH原那么7.要害实践〔自学〕第四章软件过程和工程度量[目的要求]1.掌握软件度量的概念2.掌握如何使用它们治理软件工程和软件过程[教学内容]1.测量、度量和指标2.过程和工程领域中的度量3.软件测度4.调和不同的度量方法5.软件质量度量6.在软件工程过程中集成度量〔自学〕7.治理变化:统计过程操纵8.小型组织的度量〔自学〕9.建立软件度量方案第五章软件工程方案[目的要求]1.掌握一个软件工程组如何对工作量、本钞票和工程时刻进行可靠的估算[教学内容]1.对估算的瞧瞧2.工程方案目标3.软件范围4.资源5.软件工程估算6.分解技术7.经验估算模型8.自行开发或购置的决策9.自动估算工具〔自学〕第六章风险分析和治理[目的要求]1.理解软件风险的概念2.掌握应采纳什么技术往正式评估碍事工程成功的风险[教学内容]1.被动和主动的风险策略2.软件风险3.风险识不4.风险推测5.风险求精6.风险缓解、监控和治理7.平安性风险和危险8.RMMM方案第七章工程进度安排及跟踪[目的要求]1.掌握一个软件工程治理者如何选择软件工程工作任务集2.掌握如何创立一个工程进度方案[教学内容]1.全然概念2.人员与工作量之间的关系3.为软件工程定义任务集合4.选择软件工程任务5.要紧任务求精6.定义任务网络7.进度安排8.获得值分析〔自学〕9.错误跟踪〔自学〕10.工程方案第八章软件质量保证[目的要求]1.了解什么是软件质量保证2.理解软件质量保证在软件过程中的重要性3.理解正式技术评审的重要性[教学内容]1.质量概念2.质量运动3.软件质量保证4.软件评审5.正式技术评审6.SQA的形式化方法7.统计软件质量保证8.软件可靠性9.软件错误防范〔自学〕10.ISO9000质量标准11.SQA方案第九章软件配置治理[目的要求]1.理解软件配置治理在整个软件过程中的重要意义2.掌握在计算机软件开发之中及它被交付给客户之后应如何进行变化治理[教学内容]1.软件配置治理2.SCM过程3.软件配置中对象的标识4.版本操纵5.变更操纵6.配置审计〔自学〕7.状态报告〔自学〕8.SCM标准〔自学〕第三局部传统软件工程方法第十章系统工程[目的要求]1.掌握如何在一个大型系统的环境内定义软件2.了解系统工程如何发扬作用[教学内容]1.基于计算机的系统2.系统工程层次结构3.业务过程工程概述4.产品工程概述5.需求工程6.系统建摸第十一章分析的概念和原那么[目的要求]1.掌握应用于软件需求分析的全然概念和原那么[教学内容]1.需求分析2.软件的需求诱导3.分析原那么4.软件原型实现5.规约〔自学〕6.规约评审〔自学〕第十二章分析建摸[目的要求]1.理解结构化分析的概念2.掌握它的各种模型如何使你能够理解数据、功能和行为[教学内容]1.简史2.分析模型的元素3.数据建摸4.功能建摸和信息流5.行为建摸6.结构化分析的技巧7.数据字典8.其他传统分析方法的概述〔自学〕第十三章设计的概念和原那么[目的要求]1.掌握应用于软件设计活动和全然概念和原那么[教学内容]1.软件设计和软件工程2.设计过程3.设计原那么4.设计概念5.有效的模块设计6.针对有效模块化的设计启发7.设计模型〔自学〕8.设计文档第十四章体系结构设计[目的要求]1.理解什么软件体系结构2.掌握如何创立数据、体系结构的设计模型[教学内容]1.软件体系结构2.数据设计3.体系结构风格4.分析可选的体系结构设计5.映射需求到软件体系结构6.变换映射7.事务映射8.精华体系结构设计第十五章用户界面设计[目的要求]1.理解用户界面设计基于计算机系统或产品的重要意义2.掌握如何创立界面的设计模型3.掌握界面设计的三个重要原那么[教学内容]1.黄金规那么2.用户界面设计3.任务分析和建摸4.界面设计活动5.实现工具6.设计评估第十六章构件级设计[目的要求]1.掌握如何创立构件的设计模型[教学内容]1.构件化程序设计2.设计符号的对比第十七章软件测试技术[目的要求]1.理解应用于软件测试的全然概念、原那么和策略2.掌握如何使用黑盒和白盒测试方法来设计有效的测试案例[教学内容]1.软件测试根底2.测试案例设计3.白盒测试4.全然路径测试5.操纵结构测试6.黑盒测试7.针关于专门的环境、体系结构和应用的测试第十八章软件测试策略[目的要求]1.了解软件测试的目的2.掌握软件测试的策略途径3.掌握软件测试的步骤[教学内容]1.软件测试的策略途径2.策略咨询题3.单元测试4.集成测试5.确认测试6.系统测试7.调试的艺术第十九软件技术度量〔自学〕[目的要求]1.了解什么样的技术度量可用于评估分析和设计模型、源代码以及测试案例的质量[教学内容]1.软件质量2.软件技术度量框架3.分析模型的度量4.设计模型的度量5.源代码度量6.对测试的度量7.对维护的度量第四局部面向对象软件工程第二十章面向对象的概念和原理[目的要求]1.了解什么是应用于面向对象思想的全然概念和原理2.理解传统方法和面向对象方法的不同点[教学内容]1.面向对象范型2.面向对象概念3.标识对象模型的元素4.面向对象软件工程的治理第二十一章面向对象分析[目的要求]1.理解面向对象分析的概念2.了解OO分析模型的类属成分[教学内容]1.面向对象分析2.领域分析3.OO分析模型的类属成分4.OOA过程5.对象-关系模型6.对象-行为模型第二十二章面向对象设计[目的要求]1.了解面向对象设计模型的构成元素[教学内容]1.面向对象系统的设计2.系统设计过程3.对象设计过程4.设计模式5.面向对象程序设计第二十三面向对象测试〔自学〕[目的要求]1.了解可应用于面向对象软件的软件测试的全然概念和原那么[教学内容]1.扩大测试的视角2.测试OOA和OOD模型3.面向对象测试策略4.OO软件的测试案例设计5.在类级不可用的测试方法6.类间测试案例设计第二十四面向对象系统的技术度量〔自学〕[目的要求]1.了解那么面向对象系统的技术度量[教学内容]1.面向对象的目的2.面向对象度量的识不特征3.对OO设计模型的度量4.面向类的度量5.面向操作的度量6.面向对象测试的度量7.面向对象工程的度量使用讲明1.本大纲提供计算机科学技术专业本科生使用。
软件工程教学大纲
软件工程教学大纲[简介]软件工程是计算机科学中的一门学科,旨在教授学生软件开发以及项目管理的理论和实践知识。
本文将介绍软件工程教学大纲的内容和目标,以及教学方法和评估方式。
[第一部分:引言]1. 软件工程的定义:软件工程是一种系统化、规范化和可重复的方法,用于开发高质量的软件。
2. 软件工程的重要性:软件在现代社会中的应用广泛,软件工程的实践能够提高软件开发的效率和质量。
[第二部分:教学目标]1. 理论知识:学生应该掌握软件工程的基本原理和方法,包括需求分析、设计、开发、测试和维护等方面的知识。
2. 实践能力:学生应该能够应用软件工程的理论知识解决实际问题,包括软件开发过程中的各个环节。
3. 团队合作:软件开发是一项团队活动,学生应该培养良好的沟通和协作能力。
[第三部分:教学内容]1. 需求分析:介绍需求工程的基本概念和方法,包括需求获取、分析和规格说明等内容。
2. 软件设计:讲解软件设计的原理和方法,包括结构化设计、面向对象设计以及设计模式等知识。
3. 软件开发:介绍软件开发的流程和方法,包括编码、调试、版本控制和软件测试等。
4. 质量保证:教授软件质量保证的理论知识和实践方法,包括软件测试、代码审查和性能优化等。
5. 项目管理:介绍项目管理的基本知识和技巧,包括项目计划、资源管理和风险管理等。
[第四部分:教学方法]1. 理论讲授:通过课堂讲解,向学生传授软件工程知识和理论。
2. 实践操作:安排实践环节,让学生亲自参与软件开发项目,提高他们的实践能力。
3. 小组讨论:组织小组讨论,让学生共同解决软件工程中的问题,培养他们的团队合作能力。
4. 项目实践:安排真实的软件开发项目,让学生在实际环境中应用所学知识,提高他们的实践能力。
[第五部分:评估方式]1. 考试:通过理论考试,评估学生对软件工程理论知识的掌握情况。
2. 项目评估:对学生在实际项目中的表现进行评估,包括项目成果和团队合作能力等方面。
《软件工程》 杜文峰 教学大纲(思政)
《软件工程》杜文峰教学大纲(思政)软件工程是一门重要的学科,是计算机科学和工程学的交叉领域,需要学习者掌握软件开发的基本原理及应用技术。
杜文峰教授担任软件工程的思政课程的授课教师,他制定的教学大纲包括课程的目标、教学内容、教学方法以及考核方式等内容,旨在为学生提供全面而深入的软件工程知识,培养学生的软件开发能力和综合素质。
一、课程目标本课程的目标是使学生了解软件工程学科的基本概念、方法和原则,理解软件开发的技术和管理的基本要求,掌握软件开发过程中的常用方法和工具,培养学生的团队协作能力和问题解决能力,从而提高学生的综合素质和职业能力。
二、教学内容1.软件工程的概念和基本原理:介绍软件工程的基本概念、软件开发生命周期、软件需求分析和软件设计等基本原理。
2.软件开发过程:介绍软件开发过程中的需求分析、系统设计、编码实现、测试和维护等各个阶段,以及常用的软件开发方法和过程模型。
3.软件工程的管理:介绍软件项目管理的基本原理和实践技术,包括项目计划、进度控制、资源分配等内容。
4.软件质量保证和测试:介绍软件质量的概念和评估方法,以及软件测试的方法和技术。
5.软件开发工具和环境:介绍软件开发过程中常用的开发工具和集成开发环境,包括代码编辑器、调试器、版本控制工具等。
6.软件项目实践:通过小组项目实践,培养学生的团队合作和项目实施能力,并为他们提供实际的软件开发经验。
三、教学方法本课程采用多种教学方法,包括课堂讲授、案例分析、小组讨论和项目实践等。
教师将根据具体的教学内容和学生的需求,合理选择教学方法,以激发学生的学习兴趣,提高他们的主动学习能力。
四、考核方式本课程的考核方式包括平时成绩和期末考试。
平时成绩的主要依据是学生的课堂表现、小组讨论和项目实践成果。
期末考试主要考察学生对软件工程知识的理解和掌握程度。
以上是杜文峰教授制定的《软件工程》思政课程的教学大纲。
通过本课程的学习,学生将全面了解软件工程的基本概念和方法,掌握软件开发的技术和管理要求,提高团队协作和问题解决能力,为今后的职业发展打下良好的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程理论教学大纲课程基本信息【课程名称】:软件工程【英文译名】:Soft Engineering【适用专业】:计算机科学与技术专业本科【学分数】:3【学时安排】:理论46学时【先修课程】:《大学计算机基础》,《C语言程序设计》,《数据结构》和《数据库原理及其应用》【开课学院及教研室】:数学与计算机科学学院计算机科学与技术教研室一、本课程教学目的和课程性质《软件工程》是我国计算机类专业本科生必修的8门核心课程之一,同时也是软件工程师资格考试和计算机等级考试的必考重要科目。
本课程以《软件工程导论》(张海潘编著)和《UML基础和ROSE建模教程》这两本教材所讲内容为基础,在讲述软件工程基本原理、概念、技术和方法基础上,对当前主流软件开发技术,比如敏捷开发过程、面向对象开发方法和UML面向对象建模技术等进行了重点讲解和剖析,并采用课堂讲授和上机实验相结合的方式。
通过本课程的学习,使得学生不仅了解软件需求分析、设计、实现和测试等软件开发全过程的相关原理和概念,掌握当前UML建模等主流软件开发方法和技术,而且具备使用ROSE等主流建模工具进行实际软件项目开发的能力。
二、本课程的基本要求(一)掌握基本原理1、掌握软件工程的基本概念、基本原理和主要开发方法;2、了解软件工程各领域的发展方向;3、了解如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范;4、掌握UML面向对象建模的基本方法和技术。
(二)具备下列基本技能1、初步具有实际的软件开发技能;2、初步具备软件项目管理的能力;3、熟悉项目开发的整个流程,包括软件生命周期、软件概要设计、详细设计、编码实现、软件调试和软件测试,能写出符合规范的文档;4、能熟练使用Rational ROSE等主流UML建模工具通过对软件系统的面向对象分析和设计来进行面向对象的建模。
三、课程内容及学时安排《软件工程》的教学分为理论教学和实验教学两个环节,本部分为理论教学大纲。
第1章、软件工程学概述1、内容体系:1)软件危机2)软件工程3)软件生命周期4)软件过程。
2、知识点:产生软件危机的原因及解决途径,软件工程的基本原理,软件工程方法学,软件生命周期中各阶段的基本任务,软件过程模型。
3、重点:软件工程的基本原理,软件生命周期中各阶段的基本任务。
4、难点:各类软件过程模型的特点及适用范围。
5、教学建议:通过一些具体的软件危机事例来充分说明软件工程的重要性,使学生对本课程产生浓厚的兴趣。
第2章、可行性研究1、内容体系:1)可行性研究的任务2)可行性研究过程3)系统流程图4)数据流图5)数据字典6)成本/效益分析。
2、知识点:可行性研究的任务,系统流程图、数据流图和数据字典的画法,成本/效益分析的方法。
3、重点:系统流程图、数据流图和数据字典的画法。
4、难点:数据流图和数据字典的画法。
5、教学建议:可用学生比较熟悉的系统来讲解数据流图和数据字典的建立,以合适的项目为分析对象,要求学生建立起数据流图,作为课后作业,并对学生作业进行分析和讨论。
第3章、需求分析1、内容体系:1)需求分析的任务2)与用户沟通获取需求的方法3)分析建模与规格说明4)实体—联系图5)数据规范化6)状态转换图7)其他图形工具8)验证软件需求。
2、知识点:分析建模、规格说明和数据的规范化,实体-联系图、状态转换图和常用图形工具的使用方法,验证软件需求的方法。
3、重点:实体-联系图、状态转换图和常用图形工具的使用方法。
4、难点:状态转换图等常用图形工具的使用方法。
5、教学建议:可提供一份具体需求分析报告供学生分析和学习。
第4章、形式化说明技术1、内容体系:1)形式化说明技术概述2)有穷状态机3)Petri网4)Z语言。
2、知识点:形式化方法的优缺点,有穷状态机、Petri网和Z语言三种典型的形式化方法,应用形式化方法的准则。
3、重点:形式化方法的优缺点,应用形式化方法的准则。
4、难点:有穷状态机、Petri网和Z语言三种典型的形式化方法。
5、教学建议:本章只要求学生简单了解形式化说明技术的重要性,对几种技术的详细内容不做要求,老师了根据个人兴趣让学生自行安排。
第5章、总体设计1、内容体系:1)设计过程2)设计原理3)启发规则4)描绘软件结构的图形工具5)面向数据流的设计方法。
2、知识点:总体设计的过程,软件设计的概念和原理、启发式规则,常用图形工具的使用方法,面向数据流的设计方法。
3、重点:软件设计的概念和原理、启发式规则,面向数据流的设计方法。
4、难点:面向数据流的设计方法。
5、教学建议:本章内容非常重要,可让学生用第三章的需求分析实例进行总体设计。
第6章、详细设计1、内容体系:1)结构程序设计2)人机界面设计3)过程设计的工具4)面向数据结构的设计方法5)程序复杂程度的定量度量。
2、知识点:结构程序设计的概念,人机界面设计,常用的详细设计工具使用方法,Jackson程序设计方法,程序复杂程序的定量度量。
3、重点:常用的详细设计工具,包括流程图、盒图、PAD图、判定树和判定表的使用方法,Jackson程序设计方法以及程序复杂性定量度量方法McCabe基本思路。
4、难点:Jackson程序设计方法以及程序复杂性定量度量McCabe的方法。
5、教学建议:讲解人机界面设计中,可向学生展示不同系统的多种界面;Jackson 方法也结合实例进行讲解。
第7章、实现1、内容体系:1)编码2)软件测试基础,3)单元测试4)集成测试5)确认测试6)白盒测试技术7)黑盒测试技术8)调试9)软件可靠性。
2、知识点:软件测试的有关的基本概念和步骤,单元测试、集成测试和确认测试的方法,白盒测试和黑盒测试技术,软件调试技术和软件可靠性估算方法。
3、重点:单元测试、集成测试和确认测试的方法,白盒测试和黑盒测试技术。
4、难点:白盒测试和黑盒测试技术的测试用例设计。
5、教学建议:介绍一些与软件测试技术相关的背景知识,特别是涉及到的一些数学知识。
第8章、维护1、内容体系:软件维护的定义,软件维护的特点,软件维护过程,软件的可维护性,预防性维护,软件再工程过程。
2、知识点:软件维护的定义、特点及软件再工程过程,软件维护的过程,软件可维护性的概念以及决定软件可维护性的因素。
3、重点:软件维护的过程,软件的可维护性。
4、难点:软件维护的过程。
5、教学建议:应用实例来说明软件维护的重要性,并与学生讨论。
第9章、面向对象方法学引论1、内容体系:1)面向对象方法学概述2)面向对象的概念3)面向对象建模4)对象模型5)动态模型6)功能模型7)3种模型之间的关系。
2、知识点:面向对象方法学要点、优点、喷泉模型,面向对象的基本概念,对象模型,动态模型,功能模型。
3、重点:对象模型,功能模型。
4、难点:三种模型的功能和关系。
5、教学建议:将结构化分析的案例和习题改用面向对象方法进行分析,让学生对这两种方法进行对比。
第10章、面向对象分析1、内容体系:1)面向对象分析的基本过程2)需求陈述3)建立对象模型4)建立动态模型5)建立功能模型6)定义服务。
2、知识点:面向对象分析的基本过程,需求陈述,建立对象模型、功能模型和动态模型。
3、重点:建立对象模型、功能模型和动态模型的方法。
4、难点:动态模型的建立。
5、教学建议:要求学生结合具体案例,完成一个综合作业,以熟悉面向对象分析的思想。
第11章、面向对象设计1、内容体系:1)面向对象设计的准则2)启发规则3)软件重用4)系统分解5)设计问题子系统6)设计人机交互子系统7)设计任务管理子系统8)设计数据管理子系统9)设计类中的服务10)设计关联11)设计优化2、知识点:面向对象设计准则,软件重用的基本思想,问题域、人机交互、任务管理和数据管理的设计策略。
3、重点:面向对象设计准则,软件重用的基本思想。
4、难点:设计优化。
5、教学建议:注意将面向对象设计准则和启发规则与结构化方法进行比较。
第12章、面向对象实现1、内容体系:1)程序设计语言2)程序设计风格3)测试策略4)设计测试用例2、知识点:面向对象语言的优点和技术特点,面向对象程序设计遵循的新准则。
3、重点:面向对象程序设计语言的特点。
4、难点:测试策略。
5、教学建议:与结构化方法进行比较。
第13章、软件项目管理1、内容体系:1)估算软件规模2)工作量估算3)进度计划4)人员组织5)质量保证6)软件配置管理。
2、知识点:人员组织和能力成熟度模型,软件规模和工作量的估算方法,进度计划和质量保证技术。
3、重点:软件规模和工作量的估算方法,软件配置管理过程。
4、难点:软件规模和工作量的估算方法及其对CMM的深刻理解。
5、教学建议:结合具体案例进行讲述,并在课堂上进行讨论。
第14章、UML面向对象建模语言入门1、内容体系:1)UML语言构成2)UML的5种视图3)UML的9种图例4)UML1.4与UML2.0的比较5)UML模型元素6)UML通用机制7)UML扩展组件8)UML建模的简单流程。
2、知识点:UML的用例视图、逻辑视图、组件视图、并发视图和配置视图5种视图,UML的用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图和配置图9种图,模型元素分类及其关系。
3、重点:UML9种图例的建模方法及其相互关系。
4、难点:9种图中包含的各种模型元素的含义及其相互间关系。
5、教学建议:结合UML建模实例进行讲述,并在课堂上进行讨论。
第15章、图书馆管理系统UML建模实例1、内容体系:1)软件需求分析2)图书馆管理系统的需求分析3)系统的UML基本模型4)系统中的类5)UML模型元素6)系统的配置与实现2、知识点:实际软件系统的功能需求分析,UML基本模型的建模技术及其模型间的关系。
3、重点:系统的UML用例图、类图、状态图、时序图、协作图、活动图等基本模型的建模技术。
4、难点:保持系统各个基本模型间的一致性。
5、教学建议:在ROSE建模工具中建模来讲述UML建模技术并分析基本模型间的关系。
四、教学方法建议1、本课程概念较多,因此教学形式以讲授方式(面授)为主。
2、对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。
3、如条件许可,应利用网络技术进行授课、答疑和讨论。
4、适当布置课后作业以增强学生运用所学知识解决实际软件开发问题的能力。
五、考核方式本课程拟采取结构评分方式,总成绩=平时成绩+期末考试成绩。
平时成绩=作业成绩+实验成绩;平时成绩占总成绩的30%,其中作业成绩占总成绩的10%,实验成绩占总成绩的20%,期末考试根据教学大纲统一命题,占总成绩的70%。
六、选用教材及主要参考书1、建议教材张海藩,软件工程导论(第五版),清华出版社,2008.22、主要参考书[1]蔡敏等,UML基础和Rose建模教程,人民邮电出版社,2006年[1]李芷,软件工程方法与实践,电子工业出版社,2004年[2]郑人杰,实用软件工程(第二版),清华大学出版社,1997年[3]张海藩,软件工程导论(第五版)学习辅导,清华大学出版社,2008年[4]周苏,软件工程学试验.科学出版社,2005年[5]英文版:Roger S.Pressman,Software Engineering—A Practitioner‘s Approach,4th Edition,McGraw-Hill,1996年七、学时分配课程内容讲课1、软件工程学概述42、可行性研究43、需求分析44、形式化说明技术25、总体设计46、详细设计47、实现88、维护29、面向对象方法学引论110、面向对象分析111、面向对象设计112、面向对象实现113、软件项目管理214、UML面向对象建模语言入门615、图书馆管理系统UML建模实例2合计46八、其它说明1、为加强和落实学生分析解决问题能力和实际动手能力的培养,每章课后应安排作业。