《软件工程》课程教学大纲 (十)_第1页
《软件工程》课程教学大纲 (十)_第2页
《软件工程》课程教学大纲 (十)_第3页
《软件工程》课程教学大纲 (十)_第4页
《软件工程》课程教学大纲 (十)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《软件工程》课程教学大纲

适用专业信息与计算科学专业

课程类型专业限选课

学时数42+24

学分数___________

一、编写说明

(-)本课程的性质、地位和作用

《软件工程》是一门综合性和实践性很强的专业选修课程。学生通过本课程的学习,可

以掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发

展动向;掌握传统方法一结构化分析与设计和现代开发方法一面向对象设计;了解软件项

目开发和维护的•般过程,培养学生软件开发工程化的观点,系统化的观点;为更深入地学

习和今后从事软件工程实践打下良好的基础。

(二)本大纲制定的依据

根据本专业人才的培养目标和人才培养规格所需要的基本理论和基本技能的要求,根据

本课程的教学性质、条件和教学实践而制订。

(三)大纲内容选编原则与要求

1.本大纲是以张海藩编著的《软件工程》作为教材编写的,该教材系统性强,逻辑严密,

不仅介绍了经典的面向过程的开发过程,而且详细的介绍了面向对象的开发过程,得到国内

同行公认的好教材。本大纲一方面体现该教材的优势,另一方面根据我院学生实际情况进行

增减。

2.要求学生掌握软件工程的基本概念,基本原理,实用的开发方法和技术;了解软件工程

各领域的发展方向;如何用功程化的方法开发软件项目,以及开发过程中应遵循的流程,准则,

标准和规范。

(四)实践环节

1.实践环节主要分为习题课、上机、问题讨论、课后辅导和课后作业几部分。其中习题

课6学时,上机24学时,问题讨论可在辅导课或课后完成,课后辅导每周2学时(不占总

学时)。

2.上机主要内容与要求:

项目需求分析、项目概要设计、项目详细设计、项目复审、编码、项目测试、综合性。

要求把每个实验题目完成。

(五)教学时数分配表

、教

学\学

章节.__一时、\环

讲授讨论见习其它实验小计

序号

名称

--软件工程概论22

二可行性研究213

三需求分析426

四形式化说明技术415

五总体设计4127

详细设计246

七实现246

八维护2125

九面向对象方法学引论224

十面向对象分析4127

十一面向对象设计426

十二面向对象实现224

十三软件项目管理2125

总计3662466

(六)考核方法与要求

1.平时成绩与期终成绩:平时成绩占10%,包括出勤、课堂提问、讨论等;期终成绩

占60%。

2.试卷成绩与实践成绩:试卷成绩占60%,实践成绩占30%(包括试验)

3.综合考核成绩的计算:平时成绩*10%+实验成绩*30%+期末成绩*60%=10()机

(七)教材与主要参考书

1.使用教材:

张海藩,《软件工程》(第四版),清华大学出版社,1998。

2.参考书:

(1)齐治昌等,《软件工程》(第二版),高等教育出版社,2004o

(2)郑人杰等,《实用软件工程》(第二版),清华大学出版社,1997。

(3)EdwardYourdon等,殷人昆等译,《实用面向对象软件工程教程》,电子工业

出版社,1998。

(4)IanSommerville,《SoftwareEngineering(6thEdition)X机械工业出版社,

2003。

(5)ShciriLawrencePfleeger,《SoftwareEngineering:TheoryandPractice

(SecondEdition)》,高等教育出版社,200U

二、教学内容纲要

第一章软件工程概论

一、教学基本要求

1.了解软件的特点,软件生产发展的3个阶段,各阶段的特点,软件危机的产生及其表

现形式。

2.初步了解软件的生存周期模型。

3.理解软件工程的定义及特点,软件生存期各阶段的特点和内容。

4.深刻理解软件危机产生的原因。

二、教学内容

第一节软件危机

1.软件危机的介绍

2.AO产生危机的原因

3.消除软件危机的途径

第二节软件工程

1.软件工程的介绍

2.△软件工程的基本原理

3.软件工程方法学

第三节软件生命周期

软件生命周期的三个阶段和八个时期

第四节软件过程

1.△瀑布模型

快速原型模型

3.ZXO增量模型

螺旋模型

第二章可行性研究

一、教学基本要求

1.深刻理解可行性研究的必要性。

2.掌握可行性研究的任务及可行性研究的具体步骐。

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

4.重点掌握数据流图的画法及数据字典的编写。

二、教学内容

第一节可行性研究的任务

可性性研究的任务

第二节可行性研究过程

可行性研究的步骤

第三节系统流程图

1.符号

2.例子

3.分层、△画系统流程图的方法

第四节数据流图

1.符号

2.例子

3.分层

4.用途、△。画数据流图的方法

第五节数据字典

1.数据字典的内容

2.定义数据的方法

3.AO数据字典的用途

4.ZXO数据字典的实现

第六节成本效益/分析

1.成本估计

2.成本/效益分析的方法

第三章需求分析

一、教学基本要求

1.深刻理解需要分析阶段的概念及任务。

2.熟练掌握数据流图的细化及ER图,IOP图的画法。

二、教学内容

第一节需求分析的任务

1.△确定对系统的综合要求

2.△分析系统的数据要求

3.△导出系统的逻辑模型

4.△修正系统开发计划

第二节与用户沟通获取需求的方法

1.访谈

2.面向数据流自顶向下求精

3.简易的应用规格说明技术

4.△€)快速建立软件原型

第三节分析建模与规格说明

1.△。分析建模

2.软件需求规格说明

第四节实体-联系图

1.数据对象

2.属性

3.联系

4./XO实体-联系图的符号

第五节数据规范化

第一范式、△第二范式、第三范式

第六节状态转换图

1.状态

2.事件

3.符号

4.例子、图形的画法

第七节其他图形工具

1.层次方框图

2.Warnier图

3.IPO图

第八节验证软件需求

1.验证软件需求的正确性

2.验证软件需求的方法

3.用于需求分析的软件工具

第四章形式化说明技术

一、教学基本要求

L了解非形式化方法、形式化方法的特点。

2.熟练掌握有穷状态机的概念及用有穷状态机描述系统的方法。

3.了解Petri网与Z语言。

二、教学内容

第一节概述

1.非形式化的缺点

2.△形式化的优点

3.应用形式化方法的准则

第二节有穷状态机

1.概念

2.例子,△€)设计一个有穷状态机

3.评价

第三节Petri网

1.定义

2.实例

第四节Z语言

1.简介

2.Z语言评价

第五章总体设计

一、教学基本要求

1.深刻理解软件总体设计的基本任务,软件设计的基本原理。

2.理解模块化,抽象,信息隐蔽,模块独立性等概念

3.明确度量模块独立性的标准--偶和性及内聚性.

4.熟练掌握结构化设计方法(要求能划分数据流的类型,将其能换成软件结构图,并能

根据优化准则将其优化),

二、教学内容

第一节设计过程

△设计过程的步骤

第二节设计原理

1.△模块化

2.△抽象

3.逐步求精

4.信息隐藏和局部亿

5.△模块独立

第三节启发规则

△7条启发规则

第四节描绘软件结构的图形工具

1.层次图和HIPO图

2.结构图

第五节面向数据流的设计方法

1.概念

2.△。变换分析

事务分析

4.设计优化

第六章详细设计

一、教学基本要求

1.熟练的使用详细设计描述工具来设计模块中的算法及程序的逻辑结构。

2.理解Jackson方法的概念及程序复杂度的度显方法。

3.学会使用Jackson方法设计输入输出数据结构和程序结构。

二、教学内容

第一节结构程序设计

△定义

第二节人机界面设计

1.△设计问题

2.设计过程

3.人机界面设计指南

第三节过程设计的工具

1.△程序流程图

2.AN-S图

3.PAD图

4.△判定表

5.判定树

6.过程设计语言

第四节面向数据结构的设计方法

1.JACKSON图

2.改进的JACKSON图

3.AOJACKson方法

第五节程序复杂度的定量度量

1.McCabe方法

2.Halstead方法

第七章实现

一、教学基本要求

L深刻理解白盒,黑盒测试技术。

2.深刻理解测试过程中单元测试,集成测试,验收测试的任务及使用的方法。

3.掌握调试程序的方法。

4.掌握测试阶段的内容,测试方法及测试步骤。

二、教学内容

第一节编码

1.选择程序设计语言

2.△编码风格

第二节软件测试基础

1.软件测试的目标

2.软件测试准则

3.测试方法

4.△测试步骤

5.测试阶段的信息流

第三节单元测试

1.测试重点

2.代码审查

3.计算机测试

第四节集成测试

1.自顶向下集成

2.△自底向上集成

3.不同集成策略的匕较

4.回归测试

第五节确认测试

1.确认测试的范围

2.软件配置复查

3.AAlpha和Beta测试

第六节白盒测试技术

逻辑覆盖

2.控制结构测试

第七节黑盒测试技术

1.△。等价划分

2.边界值分析

3.错误推测

第八节调试

1.调试过程

2.△调试途径

第九节软件可靠性

1.定义

2.估算平均无故障时间的方法

第八章维护

一、教学基本要求

L了解软件维护的各种困难,软件维护的特点,软件维护的文档。

2.理解软件维护的内容,维护任务的实施。

3.深刻理解如何提高软件的维护性。

二、教学内容

第一节软件维护的定义

△定义

笫二节软件维护的特点

1.结构化维护与非结构化维护的差别

2.维护的代价高昂

3.维护的问题

第三节软件维护的过程

△维护过程

第四节软件的可维护性

1.△决定软件可维护性的因素

2.文档

3.可维护性复审

第五节预防性维#

预防性维护

第六节软件再工程过程

典型的软件再工程过程模型

第九章面向对象方法学引论

一、教学基本要求

1.深刻理解对象类,类的层次结构,方法和消息的实质,

2.深刻理解对象模型,动态模型,功能模型的元素,结构和构造方法.

3.掌握的技能:画对象图,画状态图,画数据流程图;确定对象类,确定关联,确定属性,

识别继承

二、教学内容

第一节面向对象学概述

1.面向对象方法学的要点

2.面向对象方法学的优点

3.喷泉模型

第二节面向对象的概念

1.△对象

类、类的层次

第三节面向对象建模

△三种模型的特点以及它们之间的关联

第四节对象模型

1.类图的基本符号

2.表示关系的符号、△。建立对象模型

第五节动态模型

特点

第六节功能模型

1.△用例图

2.用例建模

第七节3种模型之间的关系

△。三种模型之间的关系

第十章面向对象分析

一、教学基本要求

1.理解面向对象分析的基本过程.。

2.掌握建立对象模型、动态模型、功能模型的方法。

3.了解类中定义的服务。

二、教学内容

第一节面向对象分析的基本过程

1.概述

2.面向对象分析的基本过程

第二节需求陈述

1.需求陈述书写的要点

2.例子

第三节建立对象模型

1.AO确定类与对象

2.△。确定关联

3.划分主题

4.确定属性

5.识别继承关系

6.反及修改

第四节建立动态模型

1.△。编写脚本

2.设想用户界面

3.△€)画事件嵬踪图

4.△。画状态图

5.审查动态模型

第五节建立功能模型

1.△。画出基本系统模型

2.40画出功能级数据流图

3.描述处理框功能

第六节定义服务

定义服务

第十一章面向对象没计

一、教学基本要求

1.掌握面向对象设计的准则。

2.掌握启发规则。

3.理解软件重用的方法。

4.掌握设计问题域子系统、人机交互.子系统、任务管理子系统、数据管理子系统的方法

二、教学内容

第一节面向对象设计的准则

△面向对象设计的准则

第二节启发规则

△启发规则

第三节软件重用

1.软件重用的定义

2.类构件

3.软件重用的效益

第四节系统分解

组织系统的两种方案

第五节设计问题域子系统

设计出现的问题

第六节设计人机交互子系统

△用户的分类

第七节设计任务管理子系统

设计任务管理子系统的方法

第八节设计数据管理子系统

1.选择数据存储管理模式

2.△。设计数据管理子系统

3.例子

第九节设计类中的服务

1.△确定类中应用的服务

2.△。设计实现服务的方法

第十节设计关联

使用关联的方式

第十一节设计优化

1.确定优先级

2.提高效率的几项技术

3.调整继承关系

第十二章面向对象实现

一、教学基本要求

1.了解面向对象语言为优点,了解面向对象语言的技术特点。

2.掌握设计测试用例的方法。

二、教学内容

第一节程序设计语言

1.面向对象语言的优点

2.面向对象语言的技术特点

3.选择面向对象语言

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论