2010版030541001软件工程教学大纲
软件工程课程教学大纲
《软件工程》课程教学大纲(Soft Engineering)课程编号:学分:3学时:48 (其中:讲课学时:42 实验学时:上机学时:6 )先修课程:C语言程序设计、数据结构与算法、计算机网络、数据库原理与应用、操作系统后续课程:面向对象程序设计、信息工程监理、信息系统测评技术、软件工程实训适用专业:计算机相关专业开课部门:专业数学教研室一、课程教学目的和课程性质《软件工程》是信息与计算机科学专业本科学生的专业选修课,是一门综合性和实践性很强的课程。
本课程主要介绍如何把工程化的思想和技术应用于软件系统的开发过程,以及在软件开发过程中必须遵循的基本原理、方法和工程标准。
通过教学,使学生对软件生产工程化的具体思想、要求和方法均有较全面的了解, 为今后独立从事软件系统的开发打下相应的工程基础。
二、课程的主要内容及基本要求第1单元软件工程学概述(3学时)[知识点]软件的发展过程、软件危机、软件工程及开发方法。
[重点]软件工程的基本概念、软件工程学的基本内容和软件生命周期中各阶段的基本任务。
[难点]软件过程模型[基本要求]1、识记:软件、软件危机、软件工程、软件工程方法学;2、领会:软件工程过程模型的定义及其特点;3、简单应用:软件危机的产生原因;4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应当采用的软件过程模型。
[考核要求]1、软件工程的定义;2、软件生命周期的定义及其各个开发阶段的任务;3、软件工程方法学定义及经典软件过程模型。
第2单元可行性研究(5学时)[知识点]可行性研究的主要内容、任务及研究过程,系统流程图、数据流图、数据字典。
[重点]系统流程图、数据流图的画法。
[难点]可行性研究中的上层数据流图的构成方法。
[基本要求]1、识记:可行性研究的主要内容、任务;2、领会:如何画出所需的系统流程图;3、简单应用:分析所需的数据字典并根据数据字典定义方法定义相关词条;4、综合应用:在可行性研究过程中分析系统流程图,总结其数据字典,画出上层的数据流图。
软件工程-理论教学大纲
《软件工程》教学大纲课程编号: XXX课程名称:软件工程课程类型:专业必修课总学时: 48理论学时: 36实验学时:12学分: 3适用专业:计算机科学与技术先修课程:《程序设计基础》、《数据结构》、《操作系统》一、课程性质、目的和任务《软件工程》是计算机科学与技术专业开设的一门专业必修课。
本课程旨在使学生能够较全面系统地了解掌握软件开发过程、方法及工具,了解目前软件开发方法,用以解决实际软件开发问题。
本课程的任务是在熟悉了软件工程基本概念,软件开发过程、方法、工具之后使学生具备使用软件工程的思想进行软件开发的能力。
二、教学基本要求通过本课程的学习,使学生掌握软件工程基础知识与软件设计、开发、测试方法。
掌握软件工程的思想和实践,掌握和运用软件开发技术进行设计、开发、测试软件。
本课程为学习软件工程后继课程做好铺垫,同时也为今后开发软件打下良好的基础。
三、各教学环节学时分配章节主要内容总学时理论学时实验学时备注一软件工程学概述 3 3 0 二可行性研究 3 3 0 三需求分析 6 3 3 五总体设计 6 3 3 六详细设计 6 3 3 七实现9 6 3 八软件维护 3 3 0 九面向对象方法学引论 3 3 0 十面向对象分析 3 3 0 十一面向对象设计 3 3 0章节主要内容总学时理论学时实验学时备注十二面向对象实现 3 3 0合计48 36 12 四、教学内容及要求第一章软件工程学绪论【目的要求】了解:软件危机的产生背景。
熟悉:软件工程要素。
掌握:软件工程、软件生命周期、软件过程模型。
【教学内容】1.软件危机。
2.软件工程。
3.软件生命周期。
4.软件过程。
第二章可行性研究【目的要求】了解:可行性研究的任务、过程。
熟悉:成本估计、成本/效益分析方法。
掌握:系统流程图组成、数据流图组成、数据字典内容、定义方法和用途。
【教学内容】1.可行性研究的任务。
2.可行性研究过程。
3.系统流程图。
4.数据流图。
5.数据字典。
《软件工程》教学大纲
《软件工程》课程教学大纲《软件工程》是一门为计算机科学与技术专业开设的专门介绍软件开辟思想、方法、技术、管理和应用的专业基础课程。
通过本课程的学习,旨在使学生树立良好的软件开辟理念,建立正确的、符合工程规范的、系统化的软件工程思想,训练软件分析的思维能力,掌握软件系统的各种开辟方法,提高软件设计水平,为以后的软件开辟打下良好的基础。
课堂教学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章结构化设计理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。
软件工程教学大纲
一、说明1、本课程的性质和内容本课程属于计算机应用专业课程。
其内容包括软件计划、软件设计方法、面向对象、软件开发模型,以及软件的编码、测试、维护等内容。
2、本课程的任务和基本要求(1) 本课程的任务是通过本课程的学习,使学生了解计算机软、硬件发展的历史以及现代软件开发过程的特点,了解软件工程的研究范围和软件开发环境,熟悉软件工程的基本原理,基本概念,软件分析和设计方法,软件测试与维护的基本方法。
本课程的重点将放在软件开发过程的流程,软件分析方法、软件测试技术、软件工程标准化和软件文档等方面。
(2) 通过本课程的教学,应使学生达到下列基本要求:(2.1)理论方面1)计算机软、硬件发展的历史及重大事件回顾2)软件工程背景与软件危机,软件生存周期3)软件过程的各个阶段4)软件文档规范化(2.2)实践技能方面1)能使用项目管理技术进行系统策划、可行性研究2)能用快速原型方法进行需求分析3)能用结构化思想进行软件系统的设计4)能根据实际情况设计测试用例,提交测试报告5)能编写符合预定标准的规范化文档。
6)能用系统化和规范化的方法维护软件。
7)能制作进度计划并按进度计划执行开发任务。
(2.3)素质方面由于软件开发是知识密集型的工作,要求消除个人英雄主义,培养团队意识,团结协作、服从大局,要有质量意识和时间意识,重视开发和管理的规范化和标准化。
3、先修课程要求高级语言程序设计、数据结构、数据库系统概论、操作系统原理4、教学中应注意的几个问题讲授与学生选择实际软件项目按工程化方法实践相结合,在弄清软件开发过程、方法及相关技术基础上,通过具体软件项目的实践,达到工程化软件开发过程的实际训练与培养。
二、学时分配表三、课程内容第1章软件工程概论教学要求:1.掌握软件的概念及特点。
2.了解软件危机的产生。
3.掌握软件工程的概念及其研究内容。
4.掌握软件生存周期的定义及其模型。
教学内容:1.1 引言(了解)1.2 软件与软件危机(掌握)1.2.1 软件的定义1.2.2 软件的特点1.2.3 软件的分类1.2.4 软件危机1.3 软件工程的概念(掌握)1.3.1 软件工程的产生及发展1.3.2 软件工程的定义及目标1.3.3 软件工程学的范畴1.4 软件生存周期及软件开发模型(掌握)1.4.1 软件生存周期1.4.2 软件生存周期模型1.4.3 瀑布模型(Waterfall model)1.4.4 演化模型(evolutional model)1.4.5 螺旋模型(spiral model)1.4.6 智能模型(intelligence model)教学建议:建议采用以教师为主导,以学生为中心的教学手段,在课堂练习时充分发挥学生的主观能动性,促使其学习中发挥想象力和创造性,通过课堂练习对所学的知识巩固加强、综合练习、融会贯通。
软件工程教学大纲
《软件工程》教学大纲总学时数:20 年月《软件工程》教学大纲总学时数:讲授课:适合专业:计算机本科及其相关专业一、课程内容第1章概述1.教学基本要求了解软件工程的产生和原因,掌握软件工程的概念,7个周期及各种模型的优缺点。
2.教学内容1.1 软件工程的产生1.2 软件工程1.3 软件生命周期1.4 软件过程模型本章小结3.主要知识点与重点软件工程的概念,软件生命周期和软件过程模型。
第2章可行性研究与软件开发计划1.教学基本要求掌握软件工程的可行性分析,软件开发计划的步骤和内容。
2.教学内容2.1 软件定义与可行性研究2.2 软件工程开发计划的制订本章小结3.主要知识点与重点可行性研究及项目开发计划。
第3章需求分析1.教学基本要求掌握需求分析的基本内容和特点,需求分析的图形工具,数据字典。
2.教学内容3.1 需求分析的任务3.2 结构化分析步骤3.3 需求分析图形工具3.4 数据字典3.5 软件需求分析举例3.6 需求分析文档本章小结3.主要知识点与重点结构化,图形工具和数据字典。
第4章概要设计1.教学基本要求掌握概要设计的基本内容和任务,图形工具,概要设计的方法。
2.教学内容4.1 概要设计步骤4.2 软件结构设计的基本原理4.3 软件结构设计的图形工具4.4 概要设计方法4.5 概要设计文档与复审本章小结3.主要知识点与重点概要设计步骤、方法及工具。
第5章详细设计1.教学基本要求掌握详细设计的基本内容和任务,详细设计的方法。
2.教学内容5.1 过程设计5.2 用户界面设计5.3 数据代码设计5.4 数据输入输出设计5.5 数据安全设计本章小结3.主要知识点与重点详细设计步骤、方法及工具。
第6章软件实现1.教学基本要求了解程序设计风格,程序设计质量评价和设计文档,掌握软件测试的目标、方法、步骤及方案等。
2.教学内容6.1 结构化程序设计6.2 选择程序设计语言6.3 程序设计风格6.4 程序设计质量的评价6.5 程序设计文档6.6 软件测试目标和原则6. 7 软件测试方法6.8 软件测试步骤6.9 设计测试方案6.10 软件调试、验证与确认6.11 软件测试计划和分析报告本章小结3.主要知识点与重点软件测试的目标、方法、步骤及方案。
软件工程》教学大纲
软件工程》教学大纲软件工程》是计算机科学与技术专业中一门综合性和实践性很强的核心课程,主要内容包括软件生存周期模型、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
该课程的开设旨在使学生通过研究,掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地研究和今后从事软件工程的实践打下良好的基础。
研究本课程要求先修《数据结构》、《面向对象程序设计》、《数据库原理及应用》、《操作系统》等课程。
本课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。
本课程的理论教学内容包括概论、可行性分析和需求分析。
在概论中,学生需要掌握软件和软件工程的基本概念,并了解软件生命周期及软件开发的各个模型。
在可行性分析中,学生需要了解可行性分析的步骤。
在需求分析中,学生需要掌握需求分析的任务与步骤,并了解需求分析的原则和方法。
本课程的教学要求重点在于系统分析、系统设计、系统实现和系统维护。
其中,需求分析和软件测试是较为难点的内容。
学生需要能够用软件工程的方法参与软件项目的分析、设计、实现和维护。
总之,《软件工程》是一门重要的计算机科学与技术专业必修课程,通过研究本课程,学生可以掌握软件项目开发和维护的一般过程,为今后从事软件工程的实践打下良好的基础。
4.概要设计本章将介绍软件设计的概要阶段。
首先,我们将了解概要设计的任务和步骤,以及软件设计的概念和原则,如模块化、抽象、信息隐藏和局部化、模块独立性以及结构设计的评价原则。
然后,我们将介绍两种面向不同设计方法:面向数据流的设计方法和面向数据结构的设计方法。
最后,我们将介绍概要设计文档和评审。
5.详细设计本章将介绍软件设计的详细阶段。
首先,我们将了解详细设计的任务和原则,以及程序流程图PFC、N-S图、PAD图、HIPO图等详细设计方法。
软件工程教学大纲
《软件工程》教学大纲前言软件工程”是面向高年级计算机软件与应用学生的专业限选课程。
本课程介绍了在软件开发与维护过程中应用软件工程方法的必要性和迫切性,介绍了软件工程的基本原理、概念与技术方法。
在让学生了解有关知识与方法的同时,采用实践相配合的方式提高学生对专业知识的综合应用能力与技能,使学生在接收理论知识的基础上提高并加强工程化知识与实践知识的教育,为学生在今后工作中从事计算机大规模软件开发与维护打下扎实的基础。
教学目的要求和内容绪论[目的要求]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.ISO 9000质量标准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.本大纲提供计算机科学技术专业本科生使用。
软件工程课程教学大纲
软件工程课程教学大纲软件工程课程教学大纲随着信息技术的快速发展,软件工程已经成为现代社会中不可或缺的一部分。
软件工程课程的教学大纲,作为指导学生学习的重要文件,对于培养学生的软件开发能力和解决实际问题的能力具有重要意义。
本文将探讨软件工程课程教学大纲的内容及其重要性。
一、课程目标软件工程课程的教学大纲应明确课程的目标。
首先,培养学生的软件开发能力,包括需求分析、设计、编码、测试和维护等方面的技能。
其次,培养学生的团队合作意识和沟通能力,因为软件开发往往需要多人合作完成。
最后,培养学生的问题解决能力和创新思维,使他们能够独立解决实际问题并提出创新的解决方案。
二、课程内容软件工程课程的教学大纲应详细列出课程的内容。
首先,介绍软件工程的基本概念和原理,包括软件生命周期、需求工程、软件设计、软件测试等方面的知识。
其次,介绍软件开发过程中常用的工具和技术,如UML建模、版本控制、软件测试工具等。
最后,引入一些前沿的软件工程研究领域,如敏捷开发、DevOps等,以培养学生对新技术的敏感性。
三、教学方法软件工程课程的教学大纲应明确教学方法。
传统的教学方法包括讲授、实验和项目实践等。
讲授可以通过课堂讲解和案例分析来进行,以便学生理解软件工程的基本概念和原理。
实验可以通过编程练习和模拟项目来进行,以帮助学生掌握软件开发的技能。
项目实践可以通过团队合作完成,以培养学生的团队合作和沟通能力。
四、评估方式软件工程课程的教学大纲应明确评估方式。
评估方式可以包括平时成绩和期末考试两部分。
平时成绩可以通过作业、实验报告和小组项目等来评估学生的学习情况。
期末考试可以考察学生对软件工程知识的掌握程度和解决实际问题的能力。
五、教材和参考资料软件工程课程的教学大纲应列出教材和参考资料。
教材应包括权威的软件工程教材,如《软件工程导论》、《软件工程:一种实践的方法》等。
参考资料可以包括经典的软件工程论文和案例,如《人月神话》、《敏捷软件开发宣言》等。
软件工程课程教学大纲
《软件工程》课程教学大纲课程简介本课程讲解软件工程的大体原那么和概念,为学生学习软件开发的后继课程打下坚实基础。
课程通过提供丰硕的软件开发案例和素材,反映了软件工程的最新进展技术。
系统地讲解传统的软件工程方式,面向对象的软件工程方式,基于构件的软件工程方式和软件测试,软件工程进程治理与CMM等大体概念、方式和技术,重点论述了UML统一建模语言的内容、工具、建模进程及其应用。
课程要求学生在《软件工程课程设计》的开发实践中把握软件工程的概念、术语和方式。
课程大纲一、课程的性质与任务:《软件工程》是软件工程专业及其它相关专业本科生的一门专业基础课,旨在使学生把握软件工程的大体概念、原理和方式,从软件开发技术、软件工程治理和软件工程环境等几个方面了解如何将系统的、标准的和可气宇的工程方式运用于软件开发和保护中。
要求学生通过本门课的学习,大体把握结构化方式、面向对象方式等软件开发技术,初步了解软件复用的概念及基于构件的开发方式,同时对软件工程治理和环境等内容有一个整体的了解。
二、课程的目的与大体要求:学生学完该课程后应该把握软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与保护,项目打算与项目治理等大体概念和大体知识;能用软件工程的方式参与软件项目的分析、设计、实现和保护等实际工作。
教学大体要求:1.课堂讲授在多媒体教室中采纳电子教案讲课,上课时边讲边演示。
2.作业每章适当布置课后作业。
重点是各项目组按软件开发时期完成参与项目的各类开发文档的编写。
3.课内实验 (12学时)+课程设计(2周)选择有必然规模的实际项目作为实践内容,由学生分组设计与开发,实验进度和课堂教学同步,由教师给出文档标准模板,学生别离担任软件开发的相关角色,参与实际项目的治理、分析、设计、编码和测试等工作并书写完整的开发文档。
4. 软件工程专业完全按本教学大纲执行,其它相关专业可对本教学大纲内容进行适当剪裁或增加。
2010版030541001软件工程教学大纲
《软件工程》课程教学大纲课程代码:030541001课程英文名称:Software Engineering课程总学时:40 讲课:40 实验:0 上机:0适用专业:计算机科学和技术大纲编写(修订)时间:2010年7月一、大纲使用说明(一)课程的地位及教学目标软件工程是计算机科学技术的重要分支,一个异常活跃的研究领域。
它随着信息化社会的到来和计算机在各个领域的广泛使用越来越显示出重要的作用。
本课程的目的在于培养学生用工程化的原理及方法开发软件系统,把专业知识同实际项目结合起来,为将来从事计算机软件的开发及维护工作打下坚实的基础。
对于培养学生的软件素质,提高学生的软件开发能力和软件项目管理能力具有重要的意义。
(二)知识、能力及技能方面的基本要求通过教学环节,让学生了解软件项目开发采用的各种方法和模型,并掌握两种典型的开发方法,即传统方法学和面向对象方法学。
基于这两种方法学,掌握软件工程的基本原理、概念和在开发过程的不同时期所使用的具体方法及各种文档描述工具。
要求学生具有较强的独立分析、设计、编程及测试能力,并能形成完备的软件开发文档。
(三)实施说明在教学环节中,围绕实例讲授方法。
以传统方法学为重点,突出一个模型和一个方法,即瀑布模型和结构化开发方法。
在掌握传统方法学的基础上,扩展到面向对象方法学,突出该方法学的特点和优点,并以UML作为标准来建立模型。
(四)对先修课的要求本课程的教学必须在完成先修课程之后进行。
本课程主要的先修课程为: C语言程序设计,面向对象程序设计。
(五)对习题课、实验环节的要求1.结合理论教学各部分的内容,围绕一个小规模软件,将开发各阶段的文档作为综合性作业。
该作业成绩作为平时成绩的一部分。
2.针对实践性较强、方法比较集中的章节设置2-3次习题课。
对重点、难点进行深入的讲解,使学生得到充分的练习。
(六)课程考核方式1.考核方式:本课程考核采用闭卷、测试方式进行。
2.考核目标:主要考核学生对软件工程基本理论的掌握程度,以及对两种方法学的理解。
《软件工程》教学大纲
《软件工程》教学大纲教学目的:本课程的教学目的是通过课堂教学和实践训练,使学生掌握软件工程的基本原理,包括需求分析、软件设计、软件实现和软件测试等,从工程学角度认识软件在大型系统中的设计和应用,能够在用户需求的基础上为一个系统或现有系统的扩展部分开发清晰的、简明的和正式的需求规格说明,使用UML语言进行正确建模,应用设计原则和设计模式进行设计和开发,实现系统的简单图形用户界面,最终集成为一个完整系统进行测试,具备作为软件工程师从事软件开发所需的专业能力。
教学任务:本课程从软件生命周期的角度讲解软件工程的基本概念、基本原理和基本方法,内容涉及开发管理、需求建模、设计实现和测试维护等四大部分的相关基础知识,强调软件工程的根本性和永久性原则,诸如可测试性、软件体系结构、模块化和可复用性等,关注软件系统的复杂性问题以及迭代式的开发方法,重视分析问题与解决问题的能力以及软件工程实践训练,培养学生良好的工程化开发习惯。
在课程实验中,要求学生以开发团队(一个团队通常由4-5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队协作精神,使学生初步体会到一个软件项目开发的全过程。
教学方法:•课程讲授:在软件工程理论知识的讲解中注重贯穿实际的软件开发案例,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识,掌握软件工程的最新技术。
•启发思考:注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。
同时,在教学过程中营造轻松活跃的课堂气氛,开展互动式的讨论,鼓励学生结合课程实践中的问题进行专题报告和软件演示。
•课程实验:注重培养学生分析问题和解决问题的能力,要求学生以小组形式协作完成一定规模的课程实验项目,在实践过程中内化和提升理论知识,真正学会运用软件工程的思想和技术解决实际问题。
教学内容结构:教学单元:(1) 软件工程概述教学目标:引导学生从软件的本质特性看待软件开发所面临的挑战,掌握软件工程的基本概念及其要素;了解软件质量的内涵和属性,学会从产品和用户的角度评价什么是好的软件;理解软件过程的基本活动,掌握瀑布模型和迭代开发模型。
《软件工程》课程教学大纲
《软件工程》课程教学大纲第一部分大纲说明一、课程性质、目的与任务《软件工程》是计算机应用专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
根据培养基层应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、先修课要求计算机的基础知识、程序设计的知识三、课程的教学要求基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护重点:系统分析、系统设计、系统实现、系统维护难点:需求分析、软件测试四、课程的教学方法和教学形式建议1. 本课程概念较多,因此教学形式以讲授方式(面授和电视录像)为主。
2. 为加强和落实动手能力的培养,每章课后应安排作业,作业应让学生尽可能在CASE 环境下进行。
3. 对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。
4. 如条件许可,应利用网络技术进行授课、答疑和讨论。
五、教学要求的层次课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。
第二部分教学媒体与教学过程建议一、课程教学总学时数、学分数课程教学总学时数为72学时,其中授课时间为50学时(含面授、录像学时),大作业课时为22学时。
总学分数为4学分。
二、文字教材与音像教材的配合1. 课程以文字教材为主(包括主教材和实验教材两部分),•文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程教学大纲
课程代码:030541001
课程英文名称:Software Engineering
课程总学时:40 讲课:40 实验:0 上机:0
适用专业:计算机科学与技术
大纲编写(修订)时间:2010年7月
一、大纲使用说明
(一)课程的地位及教学目标
软件工程是计算机科学技术的重要分支,一个异常活跃的研究领域。
它随着信息化社会的到来和计算机在各个领域的广泛应用越来越显示出重要的作用。
本课程的目的在于培养学生用工程化的原理及方法开发软件系统,把专业知识同实际项目结合起来,为将来从事计算机软件的开发及维护工作打下坚实的基础。
对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。
(二)知识、能力及技能方面的基本要求
通过教学环节,让学生了解软件项目开发采用的各种方法和模型,并掌握两种典型的开发方法,即传统方法学和面向对象方法学。
基于这两种方法学,掌握软件工程的基本原理、概念和在开发过程的不同时期所使用的具体方法及各种文档描述工具。
要求学生具有较强的独立分析、设计、编程及测试能力,并能形成完备的软件开发文档。
(三)实施说明
在教学环节中,围绕实例讲授方法。
以传统方法学为重点,突出一个模型和一个方法,即瀑布模型和结构化开发方法。
在掌握传统方法学的基础上,扩展到面向对象方法学,突出该方法学的特点和优点,并以UML作为标准来建立模型。
(四)对先修课的要求
本课程的教学必须在完成先修课程之后进行。
本课程主要的先修课程为: C语言程序设计,面向对象程序设计。
(五)对习题课、实验环节的要求
1.结合理论教学各部分的内容,围绕一个小规模软件,将开发各阶段的文档作为综合性作业。
该作业成绩作为平时成绩的一部分。
2.针对实践性较强、方法比较集中的章节设置2-3次习题课。
对重点、难点进行深入的讲解,使学生得到充分的练习。
(六)课程考核方式
1.考核方式:本课程考核采用闭卷、考试方式进行。
2.考核目标:主要考核学生对软件工程基本理论的掌握程度,以及对两种方法学的理解。
在掌握基本理论的基础上,还要考核学生对软件生命周期各阶段所采用方法的应用能力。
3.成绩构成:平时成绩占30%、考试成绩占70%。
其中平时成绩包括期中考试、作业、考勤、小测验等。
(七)参考书目
《软件工程导论(第5版)》,张海藩编,清华大学出版社,2008.2
《软件工程》,郑人杰编,人民邮电出版社,2009.11
《软件工程面向对象和传统的方法(第7版)》,Stephen R.Schach编,邓迎春译,机械工业出版社,2007.8
《现代软件工程》,张家浩编,机械工业出版社,2009.1
《软件工程方法与实践》,窦万峰编,机械工业出版社,2009.5
《软件工程导论学习辅导(第5版)》,张海藩编,清华大学出版社,2008.9
二、中文摘要
软件工程计算机科学与技术专业学生必修的一门主干课程,是一门研究软件开发与维护的普遍原理和技术的工程学科。
现在它已成为计算机科学技术的一个重要分支,一个异常活跃的研究领域。
通过本课程的学习,学生可以掌握软件工程方法学的理论、方法和技术,并将其应用到软件的开发上。
严格遵循软件工程方法论可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。
课程主要内容包括软件工程学概述、传统方法学、面向对象方法学和软件项目管理。
本课程将为后续课程的学习以及相关课程设计、毕业设计等奠定重要的基础。
三、课程学时总体分配表
四、大纲内容
第1部分软件工程学概述
总学时:4 讲课:4 实验:0 上机:0
具体内容:
1)软件危机;
2)软件工程;
3)软件生命周期;
4)软件过程。
重点:软件工程的基本原理、软件生命周期和主要开发模型。
难点:软件工程的本质,不同开发模型的区别。
第2部分传统方法学
总学时:22 讲课:22 实验:0 上机:0
第2.1部分可行性研究(讲课4学时)
具体内容:
1)可行性研究的任务;
2)可行性研究的过程;
3)系统流程图;
4)数据流图;
5)数据字典;
6)成本/效益分析。
重点:可行性研究的过程,以及系统流程图和数据流图的绘制。
难点:区分系统流程图和数据流图的不同作用。
第2.2部分需求分析(讲课4学时)
具体内容:
1)需求分析的任务;
2)与用户沟通获取需求的方法;
3)分析建模与规格说明;
4)实体-联系图;
5)数据规范化;
6)状态转换图;
7)其他图形工具;
8)验证软件需求。
重点:需求分析模型的建立和建模方法。
难点:如何建立数据模型、功能模型和行为模型,以及三个模型之间的关系。
第2.3部分总体设计(讲课4学时)
具体内容:
1)设计过程;
2)设计原理;
3)启发规则;
4)描绘软件结构的图形工具;
5)面向数据流的设计方法。
重点:设计原理和面向数据流的设计方法。
难点:将模块独立性设计原理应用到设计方法中,掌握面向数据流的设计方法。
第2.4部分详细设计(讲课4学时)
具体内容:
1)结构程序设计;
2)人机界面设计;
3)过程设计工具;
4)面向数据结构的设计方法;
5)程序复杂程度的定量度量。
重点:过程设计工具和面向数据结构的设计方法。
难点:熟练使用过程设计工具,掌握面向数据结构的设计方法。
第2.5部分实现(讲课4学时)
具体内容:
1)编码;
2)软件测试基础;
3)单元测试;
4)集成测试;
5)确认测试;
6)白盒测试技术;
7)黑盒测试技术;
8)调试;
9)软件可靠性。
重点:软件测试的步骤、方法和技术。
难点:不同集成测试策略的分析和比较,掌握白盒测试技术和黑盒测试技术。
第2.6部分维护(讲课2学时)
具体内容:
1)软件维护的定义;
2)软件维护特点;
3)软件维护过程;
4)软件的可维护性;
5)预防性维护;
6)软件再工程过程。
重点:软件维护的特点、过程和可维护性。
难点:如何在软件开发过程中保证软件的可维护性。
第3部分面向对象方法学
总学时:12 讲课:12 实验:0 上机:0
第3.1部分面向对象方法学引论(讲课4学时)
具体内容:
1)面向对象方法学概述;
2)面向对象的概念;
3)面向对象建模;
4)对象模型;
5)动态模型;
6)功能模型;
7)3种模型之间的关系。
重点:面向对象的概念和面向对象建模
难点:基于UML建立对象模型。
第3.2部分面向对象分析(讲课4学时)
具体内容:
1)面向对象分析的基本过程;
2)需求陈述;
3)建立对象模型;
4)建立动态模型;
5)建立功能模型;
6)定义服务。
重点:面向对象分析的基本过程和建立面向对象的三个模型。
难点:如何定义系统中的对象,以及确定对象之间的关系。
第3.3部分面向对象设计(讲课2学时)
具体内容:
1)面向对象设计的准则;
2)启发规则;
3)软件重用;
4)系统分解;
5)设计问题域子系统;
6)设计人机交互子系统;
7)设计任务管理子系统;
8)设计数据管理子系统;
9)设计类中的服务;
10)设计关联;
11)设计优化。
重点:启发规则和各个子系统的设计。
难点:如何设计问题域子系统和设计的优化。
第3.4部分面向对象实现(讲课2学时)
具体内容:
1)程序设计语言;
2)程序设计风格;
3)测试策略;
4)设计测试用例。
重点:面向对象测试。
难点:如何选择测试策略和设计测试用例。
第4部分软件项目管理
总学时:2 讲课:2 实验:0 上机:0
具体内容:
1)估算软件规模;
2)工作量估算;
3)进度计划;
4)人员组织;
5)质量保证;
6)软件配置管理;
7)能力成熟度模型。
重点:明确各种管理的实质,掌握定量指标的计算方法及定性指标的度量。
难点:定量指标的计算方法的选择及定性指标的度量。
编写人:祁燕关启学王纪
审核人:姜学军
批准人:张焕君。