《软件工程》课程教学大纲
软件工程课程教学大纲
软件工程课程教学大纲一、课程概述软件工程课程旨在培养学生的软件开发能力和团队协作能力,通过理论学习和实践项目开发,使学生能够独立完成软件开发项目并具备解决实际问题的能力。
二、教学目标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、任务本章采用课堂讲授和多媒体课件的方式进行教学。
《软件工程》课程教学大纲
《软件工程》课程教学大纲一、课程基本信息课程名称:软件工程英文名称: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. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。
软件工程课程教学大纲
《软件工程》课程教学大纲【课程代码】:13319627【英文译名】:Software Engineering【适用专业】:地理信息系统专业【学分数】:2【总学时数】:32一、本课程教学目的和课程性质软件工程是软件设计和开发以及各种计算机应用系统开发的重要基础。
对提高学生的实力、素养和形成良好的学问结构都具有重要意义。
学生通过本课程的学习,应当理解和驾驭软件工程中的软件生命周期各阶段的任务、过程、结构化方法和工具;面对对象方法学、面对对象分析、设计和实现;软件工程运用的管理技术等。
本课程是地理信息系统专业的专业方向必修课。
二、本课程的基本要求1、了解计算机软件工程的形成和发展、应用以及当前国际国内探讨的热点和重要成果。
2、理解软件危机、软件工程的基本原理、软件的生命周期方法学、面对对象方法学等。
3、驾驭软件生命周期各阶段的任务、过程、结构化方法和工具及其基本技术和方法;驾驭面对对象分析、设计和实现的思想方法及其重要技术。
三、本课程和其他课程的关系先修课程:计算机文化基础、数据结构、操作系统、VC程序设计语言。
后续课程:无。
四、课程内容第一章软件危机及软件工程本章要求学生了解什么是软件危机和软件工程,软件危机产生的历史背景、根源和由此产生的大量的失败,了解软件工程是从何种角度切入到软件开发中去,如何解决软件危机,了解消退软件紧急的途径。
驾驭软件生命周期各个阶段的基本任务,熟悉软件生命周期的组成,驾驭瀑布模型等软件生命周期模型。
重点:软件紧急、生命周期、瀑布模型。
难点:生命周期、瀑布模型。
其次章可行性探讨本章要求学生了解可行性探讨任务和可行性分析步骤,理解可行性探讨的重要意义,可行性探讨的分类和社会效益和经济效益、干脆效益和间接效益之间的关系。
驾驭成本/效益分析。
重点:可行性探讨、成本/效益分析。
难点:成本/效益分析。
第三章需求分析本章要求学生了解需求分析的任务以及分析过程,驾驭概念模型和规范化,图形工具以及验证软件要求。
软件工程课程教学大纲
软件工程课程教学大纲软件工程课程教学大纲一、课程概述软件工程课程是一门面向软件开发和管理的综合性学科,旨在培养学生的软件系统分析、设计、实现和维护的能力,以及理解并应用软件工程原理和方法进行软件开发和管理的能力。
本课程涵盖软件开发的全过程,包括需求分析、设计、编码、测试、部署、维护和管理等方面。
二、课程目标通过本课程的学习,学生将能够: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适用专业:计算机科学与技术一、课程的性质、目的与任务《软件工程》是计算机科学与技术专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
根据培养基层应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、课程教学的基本要求(-)基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
(二)基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护重点:系统分析、系统设计、系统实现、系统维护难点:需求分析、软件测试课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法:理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用三、课程的教学内容、重点和难点第一章概论一、软件(一)软件的发展;(二)软件的定义;(三)软件的特点、软件的种类。
二、软件工程的概念(一)软件危机与软件工程的定义;(二)软件工程的目标;(三)软件工程的原则。
三、软件生存周期与软件开发模型(一)瀑布模型、原型模型、螺旋模型、基于四代技术模型、面向对象与组件模型、混合模型。
教学要求:软件和软件工程的基本概念,软件生命周期及软件开发的各个模型重点:软件生存周期与软件开发模型第二章可行性分析一、可行性研究的任务二、可行性研究的步骤三、系统流程图四、成本/效益分析第三章需求分析一、需求分析的任务与步骤(一)需求分析的任务;(二)需求分析的步骤;(三)需求分析的原则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程教学大纲
一、课程基本信息
课程名称:软件工程
英文名称:SoftwareEngineering
课程编码:U223C
课程类别:专业主干课
总学时:48学时(含实验IO学时)
总学分:3
适用专业:计算机科学与技术/网络工程方向
先修课程:高级语言程序设计,数据库设计原理,数据结构
开课系部:计算机科学与技术系
二、课程的性质和任务
《软件工程》是计算机科学与技术专业本科生的一门专业主干课程。
它是一门指导计算机软件系统开发和维护的工程学科,也是计算机科学与技术领域的一个重要学科。
软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学,通过本课程的学习,使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向;开发软件项目的工程化的方法及在开发过程中应遵循的流程、准则、标准和规范等。
使学生掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为今后从事软件开发和应用打下良好的基础。
通过本课程的学习,培养学生对软件开发能力和项目管理能力。
三、课程教学基本要求
(一)理论教学内容和基本要求
第1章软件工程概述
了解软件工程的产生和发展、软件危机的原因,知道如何消除软件危机。
明白软件工程的基本概念,知道软件工程中包含的领域范围
重点:软件危机的产生和消除方法
第2章软件过程
软件与软件生命周期任务,软件开发过程中的基本开发模型,软件开发工具与软件开发环境。
掌握软件生存期模型,软件开发模型方法介绍。
重点:软件与软件生存期,软件开发过程模型
难点:软件开发过程模型
第3章结构化分析
掌握软件需求获取的方法、软件需求工程的任务、软件需求的原则、主要的需求分析方法;需求工程的基本活动、需求的有效性验证、需求变动管理、需求规格说明;建立结构化分析的三种模型;三种模型对应的描述方法:E-R图,数据流图,状态图。
掌握分层数据流图、数据词典和加工逻辑说明的基本构造方法。
重点:软件需求获取方法、结构化分析方法、分析建模方法
难点:结构化分析建模方法
第4章结构化设计
理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。
掌握模块构造的基本原则(耦合性(COUPIing)、内聚性(CoheSion)及信息隐蔽)。
能够灵活掌握描述软件结构的图形工具,理解数据流图的分类、典型的系统结构、变换分析、事务分析、软件模块结构图的改进,掌握有数据流图到结构图的变换方法,人机界面设计的基本要领,掌握软件过程设计的基本方法,过程设计的工具,程序流程图、N-S图、PAD图;程序设计语言的选择、结构化程序设计、程序设计风格、算法与程序效率;能够熟练的运用过程设计工具描述详细设计的基本要求。
重点:模块设计的基本要求、DFD到SC变换方法、IJ1设计基本原则、过程设计的基本工具和方法。
难点:DFD到SC的转换方法第5章结构化实现
掌握程序编码的选择方法、编码基本风格;理解黑盒测试和白盒测试的内涵,能够很流畅的画出流图。
掌握逻辑覆盖的基本方法以及各种方法之间的关系,掌握控制结构测试的基本方法;能够灵活使用黑盒测试的三种基本方法,理解软件测试在整个开发过程中对应的地位。
知道基本的调试方法和调试途径。
重点:软件测试的基本方法:白盒测试和黑盒测试;控制结构的测试方法;单元测试和集成测试;调试过程
难点:白盒测试和黑盒测试基本方法,控制结构测试方法
第6章面向对象方法分析
理解面向对象方法的要点及面向对象方法学的优点,灵活应用面向对象模型的基本
表示符号,掌握面向对象分析建模基本方法,建立面向对象分析的动态模型和功能模型。
重点:面向对象的重要基本概念,面向对象分析的基本任务与分析过程,面向对象分析建模方法
难点:对象模型的建立,功能模型的建立方法第7章面向对象设计理解面向对象设计的基本准则;理解面向对象设计建模和系统架构设计,设计任务管理子系统,设计数据管理子系统,设计人一机交互,掌握软件重用技术。
重点:面向对象设计的准则、启发规则、设计人一机交互难点:任务子系统分解,系统架构设计方法
第8章统一建模语言
掌握UM1的形成及主要内容、UM1的特点、通用模型元素、视图。
掌握用例图、确定执行者、确定用例、确定用例之间的关系。
熟练掌握类的识别、类属性与操作、类图与对象图、包图及其应用。
要求熟练掌握状态图、顺序图、合作图、活动图及其应用。
掌握构件图、配置图及其应用。
了解RUP统一过程及其应用
重点:UM1的图形表示
难点:UM1的图形表示,动态建模机制
第9章软件管理技术
了解常见的软件开发工具。
进度计划的估量方法,提高进度方法。
知道软件风险分析和识别的基本方法,质量保证措施。
重点:软件进度计划管理,风险分析方法
(二)实验教学内容和基本要求
见实验大纲。
四、课程教学要求及形式
1、课程概念多、抽象、涉及面广,教学形式以讲授方式为主+多媒体辅助+网络教学平台进行答疑和讨论。
2、为加强实动手能力的培养,应充分重视实践性教学环节,课内学时保证机机时不少于10学时。
3、关键环节实现方面的技术问题可辅以课堂讨论的形式。
4、课程概念多、比较抽象,算法分析有一定难度,为了学生进一步理解课堂教学内容,拟布置一定数量习题为宜,教师批改作业本的1/3,并安排时间上习题课。
考核形式:考试。
要求:平时成绩:20%,实验成绩20%,期末成绩:60%。