授课教案《软件工程》教学大纲
软件工程课程教学大纲
软件工程课程教学大纲一、课程概述软件工程课程旨在培养学生的软件开发能力和团队协作能力,通过理论学习和实践项目开发,使学生能够独立完成软件开发项目并具备解决实际问题的能力。
二、教学目标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)。
《软件工程》教学大纲
《软件工程》课程教学大纲《软件工程》是一门为计算机科学与技术专业开设的专门介绍软件开辟思想、方法、技术、管理和应用的专业基础课程。
通过本课程的学习,旨在使学生树立良好的软件开辟理念,建立正确的、符合工程规范的、系统化的软件工程思想,训练软件分析的思维能力,掌握软件系统的各种开辟方法,提高软件设计水平,为以后的软件开辟打下良好的基础。
课堂教学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篇)
第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. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。
软件工程》教学大纲
软件工程》教学大纲软件工程》是计算机科学与技术专业中一门综合性和实践性很强的核心课程,主要内容包括软件生存周期模型、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
该课程的开设旨在使学生通过研究,掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地研究和今后从事软件工程的实践打下良好的基础。
研究本课程要求先修《数据结构》、《面向对象程序设计》、《数据库原理及应用》、《操作系统》等课程。
本课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。
本课程的理论教学内容包括概论、可行性分析和需求分析。
在概论中,学生需要掌握软件和软件工程的基本概念,并了解软件生命周期及软件开发的各个模型。
在可行性分析中,学生需要了解可行性分析的步骤。
在需求分析中,学生需要掌握需求分析的任务与步骤,并了解需求分析的原则和方法。
本课程的教学要求重点在于系统分析、系统设计、系统实现和系统维护。
其中,需求分析和软件测试是较为难点的内容。
学生需要能够用软件工程的方法参与软件项目的分析、设计、实现和维护。
总之,《软件工程》是一门重要的计算机科学与技术专业必修课程,通过研究本课程,学生可以掌握软件项目开发和维护的一般过程,为今后从事软件工程的实践打下良好的基础。
4.概要设计本章将介绍软件设计的概要阶段。
首先,我们将了解概要设计的任务和步骤,以及软件设计的概念和原则,如模块化、抽象、信息隐藏和局部化、模块独立性以及结构设计的评价原则。
然后,我们将介绍两种面向不同设计方法:面向数据流的设计方法和面向数据结构的设计方法。
最后,我们将介绍概要设计文档和评审。
5.详细设计本章将介绍软件设计的详细阶段。
首先,我们将了解详细设计的任务和原则,以及程序流程图PFC、N-S图、PAD图、HIPO图等详细设计方法。
软件工程教学大纲
软件工程教学大纲《软件工程》课程教学大纲一、课程的基本情况课程中文名称:软件工程课程英文名称:softwareengineering课程代码:1302031课程类别:专业基础课课程学分:2.5课程学时:44讲课对象:计算机科学与技术专业、软件工程专业前导课程:高级语言程序设计、数据结构、数据库原理二、教学目的《软件工程》是计算机专业的一门必修的专业课程,通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。
《软件工程》是一门综合性和实践性很强的专业课程。
应注重方法、技术的实际应用,能应用相应的图形工具开发小型软件项目,为更深入地学习和今后从事软件工程实践打下良好的基础。
三、教学基本建议ch1introduction基本要求:§1.1softwarecrisis§1.2softwareengineering§1.3lifespan§1.4softwareprocess重点与难点:lifespanch2feasibilitystudy基本要求:§2.1task§2.2process§2.3systemflowdiagram§2.4dataflowdiagram§2.5datadictionary§2.6cost/benefit重点与难点:dataflowdiagram,datadictionarych3requirementsanalysis基本建议:§3.1task§3.2process§3.3conceptionmodel&e-rdiagrams§3.4otherdiagramtools重点与难点:conceptionmodel&e-rdiagramsch4formalspecificationmethods基本建议:§4.1statemachine§4.2petrinetwork§4.3zspecificationlanguage重点与难点:statemachinech5systemdesign基本建议:§5.1designprocess§5.2designconcepts§5.3designprinciples§5.4diagramtoolsofsoftwarearchitecture§5.5datafloworienteddesignmethods:transform&transactionmapping重点与难点:datafloworienteddesignmethods:transform&transactionmappingch6programdesign基本要求:§6.1structuredprogramdesign§6.2interfacedesign§6.3proceduredesigntools§6.4datastructureorienteddesignmethods重点与难点:datastructureorienteddesignmethodsch7implementation基本要求:§7.1coding§7.2softwaretestingfundamentals§7.3unittesting§7.4integrationtesting§7.5va lidationtesting§7.6white-boxtesting§77black-boxtesting重点与难点:ch8maintenance基本建议:softwaretestingfundamentals§8.1definitions§8.2softwareevolution§8.3maintainabil ity-softwaremeasurement重点与难点:softwareevolutionch9object-orientedmethodology基本要求:§9.1introduction§9.2concepts§9.3objectmodelingtechniques-3models(object,dynamic,function)重点与难点:3models(object,dynamic,function)ch10object-orientedanalysis基本要求:§10.1modelingprocess§10.2requirementspresentation§10.3createobjectmodel§10.4createdynamicmodel§10.5createfunctionmodel重点与难点:modelingprocess,requirementspresentationch12object-orientedimplement基本要求:§12.1programminglanguages§12.2programmingstyles§12.3ootestingstrategies§12.4testcasedesignforoosoftware重点与难点:ootestingstrategiesch13softwareprojectmanagement基本建议:§13.1softwaresizing§13.2costestimation§13.3softwareplan§13.4personnel§13.5qualityassurance§13.6.projectplan重点与难点:softwareplan,projectplan四、课程内容与学时分配课程内容与学时分配表中内容ch1introductionch2feasibilitystudych3requirementsanalysisch4formalspecificatio nmethodsch5systemdesignch6programdesignch7implementationch8maintenancech9object-orientedmethodologych10object-orientedanalysisch12object-orientedimplementch13softwareprojectmanagement总学时4444426462242444学时五、教材与参考书教材:张海藩主编,《软件工程导论(第四版)》,清华大学出版社,2021参考书:[1]rogers.pressman,《softwareengineeringapractitioner’sapproach》5edition,chinamachinepress,2000[2]rogers.pressman著,梅宏译,《软件工程-实践者的研究方法》原书第5版,机械工业出版社,2002th六、教学方式和考核方式1、教学方式课程的讲授应当将理论教学与实验教学紧密结合,并使之相互辅助,提升教学效率。
《软件工程》课程教学大纲
软件工程课程教学大纲(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.软件开发过程:介绍软件开发过程中的需求分析、系统设计、编码实现、测试和维护等各个阶段,以及常用的软件开发方法和过程模型。
3.软件工程的管理:介绍软件项目管理的基本原理和实践技术,包括项目计划、进度控制、资源分配等内容。
4.软件质量保证和测试:介绍软件质量的概念和评估方法,以及软件测试的方法和技术。
5.软件开发工具和环境:介绍软件开发过程中常用的开发工具和集成开发环境,包括代码编辑器、调试器、版本控制工具等。
6.软件项目实践:通过小组项目实践,培养学生的团队合作和项目实施能力,并为他们提供实际的软件开发经验。
三、教学方法本课程采用多种教学方法,包括课堂讲授、案例分析、小组讨论和项目实践等。
教师将根据具体的教学内容和学生的需求,合理选择教学方法,以激发学生的学习兴趣,提高他们的主动学习能力。
四、考核方式本课程的考核方式包括平时成绩和期末考试。
平时成绩的主要依据是学生的课堂表现、小组讨论和项目实践成果。
期末考试主要考察学生对软件工程知识的理解和掌握程度。
以上是杜文峰教授制定的《软件工程》思政课程的教学大纲。
通过本课程的学习,学生将全面了解软件工程的基本概念和方法,掌握软件开发的技术和管理要求,提高团队协作和问题解决能力,为今后的职业发展打下良好的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
梧州学院《软件工程》教学大纲Software of Engineering一、总则1.本课程的教学目的和要求通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。
2.本课程的主要内容(1)软件工程的产生、软件生产发展史、软件生命周期及瀑布开发模型。
(2)软件开发各阶段的目标、任务、特点、步骤和文档。
(3)结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则。
(4)面向对象方法的基本思想、基本概念、基本模型。
(5)软件项目的管理技术。
3.教学重点和难点重点掌握结构化方法开发软件的过程、步骤及应遵循的原则。
不但要注重概念、原理方法、技术的掌握,也应注重方法、技术的实际应用,能够应用相应的图形工具开发小型软件项目。
4.本课程的支持范围及与相关课程的联系(1)学习本课程要求有一定的程序设计经验。
因此,应至少学习一门程序设计语言课程。
(2)本课程涉及到数据结构、数据库、操作系统等的一些知识和概念,因此先导课程为数据结构、数据库原理、操作系统。
5.教材的选用本课程选用的是清华大学出版社出版的、由张海藩编著的《软件工程导论》(第五版)。
二课时内容及学时分配第一章软件工程学概述1教学内容:1.1软件危机1.2软件工程1.3软件生命周期1.4 软件过程2 教学目的及要求了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机的产生及其表现形式;初步了解软件的生存周期模型;理解软件工程的定义及特点,软件生存期各阶段的特点和内容;深刻理解软件危机产生的原因.3 教学重点软件危机的产生、表现、原因;软件工程的定义;软件生存周期概念.4 学时分配本章共教授3学时.第二章可行性研究1 教学内容2.1 可行性研究任务 2.4 数据流图2.2 可行性研究过程 2.5 数据字典2.3 系统流程图 2.6 成本/效益分析2 教学目的的要求深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究的具体步骤;了解系统流程图的作用及符号表示,重点掌握数据流图的画法及数据字典的编写.3 教学重点可行性研究的任务及步骤,数据流图的画法及数据字典的编写.4 教学难点数据流图的画法.5 教学时间分配第一节,第二节,第三节共占用2课时,第四节占用1课时,第五节和第六节占用1课时.第三章需求分析1.教学内容3.1 需求分析的任务 3.5 数据规范化3.2 与用户沟通获取需求的方法 3.6状态转换图3.3 分析建模与规格说明 3.7其他图形工具3.4 实体联系图 3.8验证软件要求2. 教学目的及要求深刻理解需求分析阶段的概念及任务,熟练掌握数据流图的细化及ER图,IPO图的画法.3.教学重点及难点需求分析过程,各种图形工具的应用.4.教学时间分配第一节,第二节,占1课时,第三、四、五节占1课时,第六、七、八节共占1课时.第五章总体设计1.教学内容5.1设计过程5.2设计原理5.3 启发式规则5.4 描绘软件结构的图形工具5.5 面向数据流的设计方法2.教学目的及要求深刻理解软件总体设计的基本任务,软件设计的基本原理.理解模块化,抽象,信息隐蔽,模块独立性等概念,明确度量模块独立性的标准---耦和性及内聚性。
熟练掌握面向数据流的设计方法(要求能划分数据流的类型,将其能换成软件结构图,并能根据优化准则将其优化.)3.教学重点与难点(1) 将交换流和事务流类型的数据流图,转换成软件结构(2) 将一个复杂型数据流图转换成软件结构图并优化4.教学时间分配第1、2节占2课时,第3节、第4节占1课时,第5节占2课时。
第六章详细设计1、教学内容:6.1 结构程序设计 6.4 面向数据结构的设计方法6.2 人机界面设计 6.5 程序复杂程序的定量度量6.3过程设计的工具2、教学目的及要求:能熟练的使用详细设计描述工具来设计模块中的算法及程序的逻辑结构.理解Jackson方法的概念及程序复杂度的度量方法,学会使用Jackson方法设计输入输出数据结构和程序结构3、教学重点及难点流程图、PAD图、过程设计语言的简单应用;用Jackson方法设计小型项目4、教学时间分配第二节占2课时;第三节.第五节占2课时;第四节选学第七章实现1.教学内容7.1 编码 7.6 白盒测试技术7.2 软件测试基础 7.7 黑盒测试技术7.3 单元测试 7.8 调试7.4 集成测试 7.9 软件可靠性7.5 确认测试2.教学目的及要求了解几种常见的程序设计语言的特点,领会程序设计中应注意的问题,注意培养良好的编程风格。
测试总的要求是掌握测试阶段的内容,测试方法及测试步骤(1)深刻理解白盒,黑盒测试技术。
深刻理解测试过程中单元测试,集成测试,验收测试的任务及使用的方法。
(2)掌握调试程序的方法。
(3)熟练掌握的技能是:能针对某一问题采用白盒法或黑盒法进行测试用例的设计。
3.教学重点及难点领会写程序的风格。
白盒与黑盒测试方法;单元测试,集成测试的方法;自顶向下及自底向上结合模块的步骤;渐增式及非渐增式测试的区别;归纳法与演绎法调试策略;测试用例的设计。
4.教学时间分配共讲授8课时第八章维护1.教学内容8.1软件维护定义 8.3维护过程8.2维护的特点 8.4可维护性2.教学目的及要求本章总的要求是:掌握软件维护的内容、特点、方法、技术、文档(1)了解软件维护的各种困难,软件维护的特点,软件维护的文档。
(2)理解软件维护的内容,维护任务的实施。
(3)深刻理解如何提高软件的维护性。
3、教学重点与难点(1)领会改正性维护、适应性维护、完善性维护、预防性维护(2)可维性的定义、可维性的度量及提高可维护性的方法。
4、教学时间分配共占用3学时。
第九、十、十一、十二章面向对象的方法1、教学内容第九章面向对象方法学引论第十章面向对象分析第十一章面向对象的设计第十二章面向对象的实现2、教学目的及要求(1)深刻理解对象、类、类的层次结构、方法和消息的实质、深刻理解对象模型、动态模型、功能模型的元素、结构和构造方法。
(2)掌握的技能:画对象图、画状态图、画数据流程图;确定对象类、确定关联、确定属性,识别继承3、教学重点与难点建立对象模型、动态模型、功能模型,掌握面向对象的分析、面向对象的设计、面向对象的实现的过程。
4、教学时间分配共讲授6学时第十三章软件项目管理1、教学内容13.1 估算软件规模13.2 工作量估算13.3 进度计划13.4 人员组织13.5 质量保证13.6 软件配置管理13.7 能力成熟度模型2、教学目的及要求总的要求:了解软件开发成本结算、软件项目进度安排、软件项目计划内容及软件质量的定义、质量保证的基本概念。
理解软件开发成本结算的CoCoMo模型;软件项目进度安排中的Gantt图与工程网络图;深入理解软件项目计划的重要性及各个环节之间的联系。
3、教学重点与难点软件开发成本结算、软件项目进度安排、软件项目计划内容。
4、教学时间分配共讲授3课时。
三、教学参考书[1]郑人杰、殷人昆、陶永雷;《实用软件工程》(第二版)。
清华大学出版社,1997版。
[2]曾强聪《软件工程》。
高等教育出版社,2004版。
[3]王博,晓龙,《面向对象的建模、设计技术与方法》。
北京希望电脑公司,1996版。
[4]冯玉琳、黄涛、倪彬,《对象技术导论》。
科学出版社,1998版。
《软件工程课程设计》大纲用结构化方法开发软件1.目的:通过该试验,掌握瀑布模型的开发过程。
2.内容:开发一个单位的人事档案管理系统。
功能是:录入、存储人员基本信息;可进行简单查询和条件组合查询;可按年龄、工资、职称进行统计;可打印出报表;还可对人员基本信息进行维护、备份和恢复。
要求:按瀑布模型个阶段给出相应的文档:软件计划、需求说明书、设计说明书、测试计划,并编程实现。
用面向对象方法建立模型3.目的:通过该实现,初步掌握面向对象的基本概念、基本模型。
4.内容:建立学籍理系统的分析模型。
5.要求:找出该系统的对象、类、类的结构;确立属性、方法,构造出对象模型。
梧州学院课程简介课程名称中文软件工程总学时48 英文SOFTWARE OF ENGINEERING 学分 3开课单位计算机科学系授课方式适用专业计算机科学与技术本科课程属性必修先修课程数据结构、程序设计、计算机基础课程简介通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用功程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范本课程的主要内容:(1)软件工程的产生、软件生产发展史、软件生命周期及瀑布开发模型。
(2)软件开发各阶段的目标、任务、特点、步骤和文档。
(3)结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则。
(4)面向对象方法的基本思想、基本概念、基本模型。
主要教学参考书[1]郑人杰、殷人昆、陶永雷;《实用软件工程》(第二版)。
清华大学出版社,1997版。
[2]屠立德、屠祁:《软件工程方法》,机械工业出版社,1996版。
[3]王博、晓龙:《面向对象的建模、设计技术与方法》。
北京希望电脑公司,1996版。
[4]冯玉琳、黄涛、倪彬:《对象技术导论》。
科学出版社,1998版。
注:“授课教师”栏可填1-3名教师。