【授课教案】梧州学院-《软件工程》教学大纲2
- 格式:doc
- 大小:63.00 KB
- 文档页数:7
《软件工程》课程教学大纲一、课程代码与名称(小四号宋体加粗)课程代码: 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、任务本章采用课堂讲授和多媒体课件的方式进行教学。
《软件工程》教学大纲教学目的:本课程的教学目的是通过课堂教学和实践训练,使学生掌握软件工程的基本原理,包括需求分析、软件设计、软件实现和软件测试等,从工程学角度认识软件在大型系统中的设计和应用,能够在用户需求的基础上为一个系统或现有系统的扩展部分开发清晰的、简明的和正式的需求规格说明,使用UML语言进行正确建模,应用设计原则和设计模式进行设计和开发,实现系统的简单图形用户界面,最终集成为一个完整系统进行测试,具备作为软件工程师从事软件开发所需的专业能力。
教学任务:本课程从软件生命周期的角度讲解软件工程的基本概念、基本原理和基本方法,内容涉及开发管理、需求建模、设计实现和测试维护等四大部分的相关基础知识,强调软件工程的根本性和永久性原则,诸如可测试性、软件体系结构、模块化和可复用性等,关注软件系统的复杂性问题以及迭代式的开发方法,重视分析问题与解决问题的能力以及软件工程实践训练,培养学生良好的工程化开发习惯。
在课程实验中,要求学生以开发团队(一个团队通常由4-5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队协作精神,使学生初步体会到一个软件项目开发的全过程。
教学方法:•课程讲授:在软件工程理论知识的讲解中注重贯穿实际的软件开发案例,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识,掌握软件工程的最新技术。
•启发思考:注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。
同时,在教学过程中营造轻松活跃的课堂气氛,开展互动式的讨论,鼓励学生结合课程实践中的问题进行专题报告和软件演示。
•课程实验:注重培养学生分析问题和解决问题的能力,要求学生以小组形式协作完成一定规模的课程实验项目,在实践过程中内化和提升理论知识,真正学会运用软件工程的思想和技术解决实际问题。
教学内容结构:教学单元:(1) 软件工程概述教学目标:引导学生从软件的本质特性看待软件开发所面临的挑战,掌握软件工程的基本概念及其要素;了解软件质量的内涵和属性,学会从产品和用户的角度评价什么是好的软件;理解软件过程的基本活动,掌握瀑布模型和迭代开发模型。
梧州学院《软件工程》教学大纲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.教学目的及要求深刻理解软件总体设计的基本任务,软件设计的基本原理.理解模块化,抽象,信息隐蔽,模块独立性等概念,明确度量模块独立性的标准---耦和性及内聚性。
《软件工程》教学大纲+授课计划《软件工程》教学大纲及授课计划引言:软件工程是计算机科学中的重要领域,对开发高质量软件至关重要。
本文将从教学大纲和授课计划两个方面,详细介绍《软件工程》课程的内容和组织安排,旨在培养学生系统地理解和应用软件工程的知识和技能。
第一部分:教学大纲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章结构化设计理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。
软件工程教学大纲(小编推荐)第一篇:软件工程教学大纲(小编推荐)软件工程第一章软件与软件工程ν软件ν软件危机ν软件工程ν软件生存周期ν软件工程的最佳实践第二章软件过程ν软件过程模型ν基于构件的开发过程ν统一软件开发过程RUP(IBM RUP理论部分 2学时)ν能力成熟度模型CMM第三章软件项目管理ν项目管理的谱系ν软件项目管理的目的、任务和内容ν软件项目度量ν软件质量度量ν软件复杂性度量ν软件项目计划与估算ν风险分析与管理ν项目进度安排第四章需求分析ν需求分析基础ν需求分析方法ν需求分析模型ν软件需求管理ν基于用例的需求管理第五章软件设计ν软件设计基础ν软件设计过程ν软件总体结构设计ν软件过程设计技术与工具ν软件设计方法ν设计模式ν架构模式ν软件设计优化原则第六章面向对象的需求分析(IBM Rational相关理论与实践相结合4学时)ν面向对象的概念ν统一建模语言UML及十种视图ν基于UML的软件开发过程ν基于UML的需求分析ν基于UML的需求建模ν UML用例图的构建ν UML类图构建,类之间的关系描述ν使用IBM Rational Rose 进行需求建模(演示或上机实验)第七章面向对象的设计方法(IBM Rational相关理论与实践相结合4学时)ν面向对象的软件设计过程ν基于UML的设计ν UML顺序图的构建ν UML协作图的构建ν UML状态图的构建ν UML活动图的构建ν使用IBM Rational Rose 进行设计实现建模(演示或上机实验)第七章软件测试(IBM Rational相关理论与实践相结合 6学时)ν软件测试的目的和原则ν软件测试流程ν软件测试计划ν软件测试技术白盒测试黑盒测试ν软件测试策略单元测试集成测试回归测试系统测试ν IBM Rational 自动测试工具⌝使用Rational Testmanager 进行测试设计(上机操作实验 4学时)"测试用例设计与实施"由测试脚本方式实施测试在Rational Robot中记录的自动测试脚本在Rational ManualTest创建手工测试脚本"用套件方式实施测试"测试实现"测试执行"测试结果分析与评估⌝使用Rational Functional Tester进行功能测试(上机操作实验4学时)"录制脚本"脚本回放"扩展脚本"测试对象地图和对象识别"数据驱动的测试"进行功能回归测试"可复用的测试框架"调试特性⌝使用Rational Functional Tester进行回归测试(演示或上机实验)⌝使用Rational Performance Tester进行性能测试(演示或上机实验)"创建测试"测试验证点"数据驱动测试"扩展测试"负载分析"运行调度"分析测试结果⌝使用Junit进行单元测试第八章配置管理(IBM Rational相关理论与实践相结合2学时)ν配置管理简介ν软件资产管理ν团队开发模型ν CVS简介和UCM简介ν Rational Clear Case 简介ν Rational Clear Quest 简介使用Rational Clear Case和Rational Clear Quest进行统一配置管理和变更管理(演示实验下学期预计进一步扩展的实验)第二篇:软件工程教学大纲《软件工程》教学大纲课程名称:软件工程英文名称:Software Engineering 学时数及学分:54学时3学分教材名称及作者、出版社:《软件工程导论》齐治昌、谭庆平、宁洪,高等教育出版社。
《软件工程》教学大纲总学时数: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图等详细设计方法。
《软件工程》教课纲领课程性质:必修课课程种类:专业课开课教研室:计算机软件总学时: 48学分:3合用专业:计算机科学与技术教课纲领说明一、本课程的地位、作用与任务《软件工程》是计算机科学与技术专业教课计划中一门综合性和实践性很强的中心课程,主要内容包含软件生计周期模型、可行性剖析、需求剖析、纲要设计、详尽设计、面向对象剖析与设计、编码、软件质量与质量保证、项目计划与管理。
本课程的开设旨在使学生经过学习,掌握软件项目开发和保护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和此后从事软件工程的实践打下优秀的基础。
二、课程的教课基本要求学习本课程要求先修《数据构造》、《面向对象程序设计》、《数据库原理及应用》、《操作系统》等课程。
基本观点和基本知识:软件与软件工程,生计周期与软件开发模式,构造化剖析、设计与编码,面向对象剖析、设计与编码,软件的评审、测试与保护,项目计划与项目管理。
基本技术:能用软件工程的方法参加软件项目的剖析、设计、实现和保护。
要点:系统剖析、系统设计、系统实现、系统保护难点:需求剖析、软件测试课程的教课要求在每一章教课内容以后给出,大概上分为三个层次:认识、理解和掌握。
认识即能正确鉴别相关观点和方法;理解是能正确表达相关观点和方法的含义;掌握是在理解的基础上加以灵巧应用。
教课内容一、本课程的理论教课内容1、概论课程的教课要求给出,三个层次:认识、理解和掌握。
教课内容⑴、软件软件的发展、软件的定义、软件的特色、软件的种类⑵、软件工程的观点软件危机与软件工程的定义、软件工程的目标软件工程的原则⑶、软件生计周期与软件开发模型瀑布模型、原型模型、螺旋模型、鉴于四代技术模型、面向对象与组件模型、混淆模型教课要求掌握:软件和软件工程的基本观点认识:软件生命周期及软件开发的各个模型2、可行性剖析教课内容⑴、可行性研究的任务⑵、可行性研究的步骤⑶、系统流程图⑷、成本 / 效益剖析教课要求认识:可行性剖析的步骤3、需求剖析教课内容⑴、需求剖析的任务与步骤需求剖析的任务、需求剖析的步骤、需求剖析的原则⑵、需求剖析方法面向数据流的剖析方法基本符号、鉴于数据流的剖析方法、数据词典面向数据构造的剖析方法Jackson 系统开发方法、Warnier-Orr方法⑶、需求规格说明与评审教课要求:掌握:需求剖析的方法理解:需求剖析的任务和原则4、纲要设计教课内容⑴、纲要设计的任务与步骤纲要设计的任务、纲要设计的步骤⑵、软件设计的观点与原则模块化、抽象、信息隐蔽和局部化、模块独立性、构造设计的评论原则⑶、纲要设计的方法面向数据流的设计方法基本观点、变换剖析、事务剖析、设计优化原则面向数据构造的设计方法Jackson 方法、 Warnier-Orr方法⑷、纲要设计文档与评审教课要求掌握:软件设计的观点与原则,纲要设计的步骤、方法认识:纲要设计文档与评审5、详尽设计教课内容⑴、详尽设计的任务与原则详尽设计的任务、详尽设计的原则⑵、详尽设计的方法程序流程图PFC、 N-S 图、 PAD图、 HIPO图过程设计语言PDL、详尽设计方法的选择⑶、详尽设计规格说明与评审教课要求掌握:详尽设计方法认识:详尽设计规格说明与评审6、面向对象的剖析与设计方法教课内容⑴、面向对象方法的基本观点和特色⑵、面向对象剖析确立对象、确立属性、定义操作、对象间通讯⑶、面向对象设计面向对象设计观点、面向对象设计方法、程序构件及接口、细节设计⑷、 UML方法UML的发展与特色、UML的表示法、 UML的开发步骤⑸、面向对象实例剖析与设计成立用例、确立表、设计对象的交互作用、指定联系、找寻继承、剖析对象行为、设计系统的系统构造教课要求⑴⑵掌握:面向对象的基本观点和特色认识:面向对象剖析与设计方法及UML的开发方法7、编码教课内容⑴、程序设计语言程序设计语言分类、程序设计语言特色、程序设计语言选择⑵、编程风格⑶、编程效率⑷、编程安全⑸、面向对象编程技术教课要求⑴ 掌握:一般的编码原则⑵ 认识:面向对象编程的特色8、软件质量与质量保证教课内容⑴、软件质量的定义⑵、影响软件质量的要素⑶、软件质量保证策略⑷、软件质量保证活动⑸、软件质量保证标准⑹、软件评审⑺、构造化的软件测试软件测试的观点和原则测试的观点、测试的原则、测试的方法软件测试技术白盒测试、黑盒测试软件测试的步骤软件测试过程、软件测试步骤、单元测试、综合测试、确认测试、系统测试纠错技术⑻、面向对象的软件测试面向对象剖析和面向对象设计的模型测试面向对象剖析和面向对象设计模型的正确性、面向对象剖析和面向对象设计模型的一致性面向对象的测试策略面向对象的单元测试、面向对象的组装测试、面向对象确实认测试面向对象软件测试用例设计测试用例设计蕴涵面向对象的观点、传统测试用例设计方法的合用性、向对象编程对测试的影响、测试用例与类的分层、鉴于脚本的测试设计、部构造鉴于故障的测试、面测试外面构造和内可用于类层次上的测试方法面向对象类的随即测试、类层次的切割测试类间测试用例设计多重类测试、按行为模型导出的测试⑼、软件测试计划与测试剖析报告 ⑽、软件保护软件保护的定义、分类、特色、 软件保护步骤及组织、软件的可保护性、软件保护的副作用、逆向工程和重生工程 教课要求⑴ ⑵9、项目计划与管理 教课内容⑴、软件项目特色、管理的特别性及软件管理功能 ⑵、确立项目的工作要求 ⑶、确立软硬件资源 ⑷、人员的计划及组织 ⑸、成本估量及控制 ⑹、进度计划⑺、软件配置管理 ⑻、软件管理方案教课要求认识:项目计划与管理的基本内容二、建议学时分派表课时分派序号教学内容讲 习 小课 实验计题1 <一 >绪论2 2 2 <二 >软件需求剖析 4 43 <三 > 软件设计 2 24 <四 > 软件编码 4 45 <五 > 软件测试 4 46 <六 > 软件保护 4 4 7<七 > 增量模型 2 2 8 <八 > 构造化方法 2 2 9 <九 > Jackson 方法 2 2 10 <十 > 面向对象基础4 4 11 <十一 > 面向对象的方法6 6 12 <十二 >软件质量与质量保证4 4 13 <十三 >软件工程管理技术 4 4 14<十四 >软件工程环境44共计4848四、使用教材及主要参照书教材:张海藩编《软件工程导论》 北京 清华大学第一版社。
梧州学院
《软件工程》教学大纲
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.要求:找出该系统的对象、类、类的结构;确立属性、方法,构造出对象模型。
梧州学院课程简介
注:“授课教师”栏可填1-3名教师。