您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页软件工程大纲-2003

软件工程大纲-2003

来源:华佗健康网


数学科学学院 计算数学系 课程教学大纲 课程编号: 00831240 课程名称: 软件工程 英文名称: Software Engineering 课程学分: 3 课程学时: 开课学期: 春季

一、课程性质与设置目的

(一)课程性质和特点

软件工程是信息与计算科学本科专业的主干基础课。课程的培养目标是使学生能够在各个领域中建立计算机应用系统,软件开发是建立计算机应用系统的重要环节,因此必须掌握软件工程的基本概念、基本原理、基本方法与技术,基本过程。

软件工程是计算机的一门工程性课程,主要讲述建造软件系统的方法、技术、流程、工具、规范等,本课程的任务是使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。

本课程是一门实践性很强的课程,它是各种软件开发经验的总结与提练,学习本课程不但应注重概念、原理、方法、技术的掌握,也应注重方法、技术的实际应用。

(二)课程的基本要求

1.从总体上了解软件危机的出现、软件工程的产生、软件生产发展史、软件生存周期、软件开发方法和生命周期模型、软件工程面临的问题。

2.系统掌握软件开发最基本的内容:可行性研究和软件计划、需求分析、概要设计、详细设计、编码、测试、维护,系统掌握这些阶段的目标、任务、特点、步骤和文档。

3.掌握结构化方法(包括:SA、SD、SP)的基本思想,开发过程和步骤,应遵循的原则和准则,能够应用相应的图形表示工具开发小型软件项目。

4.掌握Jackson方法、LCP方法的基本思想、开发过程和步骤、能够应用相应的图形表示工具。

5.掌握软件测试的基本概念、基本方法,能够使用黑盒测试方法和白盒测试方法设计测试方案。

6.了解软件工程的质量保证中的各种基本概念和方法,了解软件工程管理中的思想和方法,了解软件开发环境与工具。

7.初步掌握面向对象方法的基本思想、基本概念、基本模型,面向对象分析、面向对象设计、面向对象实现的任务、内容和步骤,能够应用相应的图形工具。

要求切实掌握课程内容的基本思想、基本概念、基本方法,能够应用相应的图形表示工具进行小型项目的开发,特别是实用方法与技术的应用。

(三)本课程与有关课程的联系

1.学习本课程要求有一定的程序设计经验,因此,应至少学习过一门程序设计语言课程。

2.本课程还涉及到数据结构、数据库、操作系统等的一些知识和概念,因此先导课程为数据结构、数据库原理、操作系统。

3.本课程之后应该学习面向对象程序设计课程。(将来应该先开设《面向对象的C++语言》课程,然后讲授《软件工程》课程,并且在软件工程课程中增加面向对象的程序设计与分析内容(第10章);或者另外增加一门《面向对象的程序设计与分析》课程,该课程中增加UML内容。)

二、课程内容、难度和学时

第1章 软件工程学概述

1、软件危机 B 4 2、软件工程 A 3、软件生命周期模型 B 4、软件过程 C

本章的要求是:从总体上了解软件工程的基本概念和内容;软件过程和生存期的基本概念和内容;软件开发的各种方法和生存周期模型。

了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机的产生及其表现形式;初步了解软件的生存周期模型、开发方法和工具。

理解软件工程的定义、性质、特点、目标,理解软件生存期各阶段的特点和内容。

深刻理解软件危机产生的原因,以及软件工程面临的各种问题。

第2章 软件可行性研究

1、可行性研究 C 2 2、系统流程图,要求达到识记层次 C 3、 成本——效益分析 C

本章要求是:深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究的具体过程。

了解系统流程图的作用及符号表示。

理解可行性研究报告的内容。

第3章 软件需求分析

1、需求分析的任务 B 10 2、结构化分析方法 A 3、数据流图(DFD) A 4、 数据字典(DD) B 5、加工逻辑的描述 B 6、概念模型和规范化 C 7、状态转换图和其他表示工具 C

需求分析是软件生存期的一个重要阶段,本章要求是深刻理解需求分析阶段的概念及任务。熟练掌握面向数据流的分析方法——结构化分析方法。

深刻理解数据流图、数据字典的作用及应用。 掌握几种加工逻辑的描述方法。

熟练掌握的技能是对于某一个小型项目,能够使用数据流图、数据字典构造它的功能模型。

掌握使用实体--联系方法建立数据模型的方法。

掌握使用状态转换图建立系统的各种行为模式和不同状态间的转换方法。

第4章 软件概要设计

1、软件概要设计的基本任务和结果 B 10 2、软件概要设计的的过程 C 3、软件概要设计的概念和原理 B 4、启发式规则 A 5、面向数据流的设计方法(Structured Design) A

本章要求是:必须深刻理解软件设计的基本任务,软件设计的基本原理。热练掌握结构化设计方法。

深刻理解模块化、抽象、信息隐敝、模块性等概念,明确度量模块性的标准——耦合性与内聚性。

要求热练掌握的技能是:能划分数据流的类型,将其转换成软件结构图,并能根据优化准则将其优化。

第5章 软件详细设计

1、详细设计的基本任务 B 12 2、结构化程序设计方法 B 3、详细设计表示工具 A 4、Jackson方法 A

本章要求是:能熟练地使用详细设计表示工具来设计模块中的算法及程序的逻辑结构。

理解Jackson方法的概念,学会使用Jackson方法设计输入输出数据结构和程序结构。

第6章 软件编码

1、程序设计语言的特性及选择 C 3 2、程序设计风格 C

本章要求是:掌握几种常用的程序设计语言的特点,领会程序设计中应注意的问题,注重培养良好了编程风格。

第7章 软件测试

1、软件测试的目的及原则 B 6 2、测试方法 C 3、测试用例的设计 B 4、测试过程 C 5、调试 C

软件测试是保证软件可靠性的主要手段之一。本章要求是:掌握测试阶段的任务、测试方法及测试步骤。

设计测试方案是关键技术问题:其目标是选用最少的、高效的测试数据以发现尽可能多的错误。

深刻理解白盒、黑盒测试技术。深刻理解测试过程中单元测试、集成测试、确认测试的任务及采用的方法;掌握调试程序的方法:要求熟练掌握的技能是:能针对某一问题采用白盒法或黑盒法进行测试用例的设计。

第8章 软件维护

1、软件维护的内容 B 3 2、维护的特点 C 3、维护任务的实施 C 4、软件可维护性 C

软件维护是软件生存周期中的最后一个阶段,也是时间最长、费用最多、困难最大的阶段。

本章要求是:要掌握软件维护的内容、特点、方法、技术、文档。 了解软件维护的各种困难、软件维护的特点、软件维护的文挡。 理解软件维护的内容、维护任务的实施、维护的副作用。 深刻理解如何提高软件可维护性。

第9章 面向对象的方法

1、面向对象概述 C 4

2、面向对象的模型 A 3、面向对象的分析 C 4、面向对象的设计 C 5、面向对象实现 C

软件工程中的传统开发方法虽然提高了软件可靠性、可维护性和生产率,但是并没有解决软件工程所面临的各种问题,于是一种新的面向对象的开发方法运遇而生,它对解决软件工程所面临的各种问题有较大的突破,它将日益完善、成熟,并将成为软件开发方法的主流。

本章要求是:掌握面向对象的基本思想、基本概念、基本原理,掌握三种模型的基本概念和构造方法,掌握面向对象的分析、面向对象的设计、面向对象的实现伪过程。

了解传统开发方法的各种局限性,了解面向对象语言、面向对象技术、面向对象开发方法的发展过程。

理解面向对象分析、面向对象设计、面向对象实现的内容、方法和步骤。 深刻理解对象、类、类的层次结构、方法和消息的实质,深刻理解对象模型、动态模型、功能模型的元素、结构和构造方法。

掌握的技能是:画对象图、画状态图、画数据流程图。

熟练掌握的技能是:确定对象类、确定关联、确定属性、识别继承。

三、有关说明与实施要求

(一)关于“课程内容与考核目标”中有关提法的说明

1.大纲与教材的关系:大纲是进行学习和考核的依据,教材是学习掌握课程知识的基本内容和范围,教材的内容是大纲所规定课程内容的具体化。

2.大纲与教材所体现的课程内容应基本一致,大纲里面的课程内容和考核知识点,教材里也要有。

3.对考核目标的说明

(1)本课程要求学习和掌握的知识点内容都作为考核的内容。

(2)上面所列教学大纲,各部分内容将用符号(A)、(B)、(C)表示教学上的不同要求。其中(A)表示教师必须作深入而充分的讲授和辅导,学生必须完成足够的练习并最后达到明晰的理解与巩固的掌握。(C)表示教师应当有明晰的介绍学生应当有较好的了解,并明了其应用,单不要求练习和熟练掌握其中的逻辑论证。(B)则表示教学要求介乎(A)、(C)之间,教师可根据具体情况机动掌握。

(二)关于教材与主要参考书

教 材:

《软件工程导论》(第四版),张海藩编著,清华大学出版社2003年版

参考书:

《软件工程导论》(第四版),张海藩编著,清华大学出版社 《软件设计方法》,王选编著,清华大学出版社

《软件系统开发技术》(修订版),潘锦平编著,西安电子科技大学出版社 《程序设计方法学》,胡正国编著,西北工业大学出版社 《程序设计方法学》,仲萃豪编著,北京科学技术出版社

《系统化程序设计入门》,沃思著,丁茂顺译,人民教育出版社 《面向对象分析和设计》,宛延闿、定海编著,清华大学出版社

《面向对象系统分析和设计》,Ronald J.Norman 著,周之英等译,清华大学出版社 《UML与软件建模》,徐宝文 等编著, 清华大学出版社 《UML及建模》,郭宁编著,清华大学出版社

《数据库实用教程》(第二版),丁宝康等编著,清华大学出版社

(三)、学习方法的指导

1.在全面系统学习的基础上掌握基本理论、基本知识、基本方法。本课程从软件开发、维护和软件管理等方面系统地阐述了软件工程的基本概念和常用的方法,各章之间既有联系又有很大区别,有的还有相对性。学生应首先全面系统地学习各章,记忆应当识记的基本概念、名词,深入理解基本理论;弄懂基本方法的内涵;其次要认识各章之间的联系,注意区分相近的概念和相似的问题.并掌握它们之间的联系;再次,在全面系统学习的基础上掌握重点,有目的地深入学习重点章节,但切忌在没有全面学习教材的情况下孤立地去抓重点。

2.把学习软件工程理论和应用软件工程的方法结合起来。本课程的内容既有理论又有方法,学生应在学习软件工程理论的同时掌握软件工程方法。首先要弄懂各种方法所包含的内容和各组成要素之间的关系;其次要学会正确运用和应用这些方法去分析和解决有关的软件问题。

3.重视理论联系实际,结合软件开发全过程的实践来进行学习。本课程阐述的内容来源于软件开发实践,与大型软件的开发与管理紧密相关。学生在学习中应把课程的内容同实际软件开发联系起来,进行对照比较,分析研究,以增强感性认识,更深刻地领会教材的内容,将知识转化为能力,提高自己分析问题与解决问题的能力。

(四)教学方式

基本是课堂教学,对有些有意义的内容可以组织课堂讨论。课下要布置一定量的习题,包括作业和上机实习,并且给出参。

(五)课程学分及学时分配

本课程为3学分,总学时学时。 学时分配如下:

章节 学时

第1章 软件工程学概述 4 第2章 软件可行性研究 2 第3章 软件需求分析 10 第4章 软件概要设计 10 第5章 软件详细设计 12 第6章 软件编码 3 第7章 软件测试 6 第8章 软件维护 3 第9章 面向对象的方法 4

注:如果先开设《面向对象的C++语言》课程,然后讲授《软件工程》,则增加第9章学时为12,并且相应削减前面章节的学时。现在的4学时只是了解,不是掌握。

(六)关于考试的若干规定

1.本课程的命题考试,根据本大纲所规定的考试内容和考试目标(考核知识点、考核要求)来确定考试范围和考核要求。考试命题覆盖到各章,并适当突出重点章节,体现本课程的内容重点。

2.试题要合理安排难度结构。试题难易度可分为易、较易、较难和难四个等级。每份试卷中,不同难易度试题的分数比例为:易占20%;较易占30%;较难占30%;难占20%。

3.本课程考试试卷采用的题型,一般有简答、单项选择、应用、程序设计等四种题型。

4.本课程考试方式为开卷、笔试;考试时间为120分钟。试卷份量应以中等水平的学生在规定时间内完成全部试题为标准。评分采用百分制。考试时允许带教材、笔记。

5.本课程总评成绩中平时作业占30%,期末考试占70%

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务