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

下载本文档

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

文档简介

软件工程课程教学大纲

SoftwareEngineering

学时数:48

其中:实训学时:10

课外学时:0

学分数:3

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

一、课程的性质、目的和任务

软件工程是一门计算机软件类的理论性较强的学科,它建立并规范了整套与软件特点

相适应的、完善的工程原理与技术,目的是保证经济地生产高质量的软件产品并有效地维

护已有的软件产品。

软件工程是计算机软件应用专业的必修课,学习对象为信息与计算科学专业本科高年

级学生。本课程主要介绍软件工程的基本概念、生存期模型、系统分析和系统设计的基本

技术、程序语言与编码风格、软件测试与软件可靠性、软件维护等的概念与方法。

通过本课程的学习,要求学生掌握软件工程的基础知识和理论,能分析大型软件开发过

程中出现的问题,了解软件开发生命周期中常用的技术,掌握软件开发过程的结构化方法和

面向对象方法,学会运用结构化和面向对象的软件工程方法进行软件需求分析•、系统设计、

实现和测试,并通过课程实践实际运用软件工程的思想和技术、掌握软件项目管理和团队开

发的工作方法。本课程除要求学生掌握软件工程的基础知识和理论,重点要求学生学会分析

问题的思想和方法。

二、课程教学的基本要求

(一)了解软件的主要成分、软件的分类,以及按软件工程方法从事软件开发的意义;

(二)初步掌握软件工程的基本概念:软件与软件工程,生存周期与软件开发模式,结构化

分析、设计与编码,面向对象分析、设计与编码,测试与维护,项目计划与项目管理;

(三)掌握软件需求分析的方法,重点是结构化分析方法和面向对象的OMT方法,学会如何

进行软件建模,如何才能做出好的软件需求说明。

(四)初步掌握软件开发相关文档的书写规范,主要是业务流程描述、需求分析、系统设计

文档;

(五)掌握软件设计的方法,重点在结构化设计方法和面向对象的OOAD方法,学会如何才

能建立一个好的软件体系结构,应如何度量和评价。

(六)掌握结构化软件开发过程,完成训练课题的数据流程图、数据字典、数据库设计、编

码、测试;

(七)掌握软件测试的基本方法,重点在测试用例的设计,了解应做哪些方面的测试,测试

数据如何设计,测试的内容和如何利用测试结果进行可靠性分析与预测。

(A)掌握软件过程与管理的方法,重点在质量管理和成本/进度管理,了解主要的软件标

准和应产生哪些文档,学习在软件过程中建立质量保证体系的方法和要求。

(九)掌握运能用软件工程的方法参与软件项目的分析、设计、实现和维护等技能

三、课程的教学内容、重点和难点

第一章软件与软件工程

一、软件危机

(一)软件危机的介绍

(-)产生软件危机的原因

(三)消除软件危机的途径

二、软件工程

(一)软件工程的介绍

(二)软件工程的基本原理

(三)软件工程方法学

三、软件生命周期

四、软件过程

(一)瀑布模型

(二)快速原型模型

(三)增量模型

(四)螺旋模型

(五)喷泉模型

(六)Rational统一过程

(七)敏捷过程与极限编程

(八)微软过程

重点:软件定义,软件语言及分类;软件工程的概念,生存周期;软件过程模型。

难点:软件过程模型。

第二章可行性研究

一、可行性研究的任务

二、可行性研究过程

三、系统流程图

(一)符号

(-)例子

(三)分层

四、数据流图

(一)符号

(二)例子

(三)命名

(四)用途

五、数据字典

(一)数据字典的内容

(-)定义数据的方法

(三)数据字典的用途

(四)数据字典的实现

六、成本/效益分析

(一)成本估计

(二)成本/效益分析的方法

重点:可行性分析、软件度量,软件开发成本结算,流程图、数据流图和数据字典的表示方

法和应用范围。

难点:系统的可性分析、成本/效益分析

第三章需求分析

一、需求分析的任务

<-)确定对系统的综合要求

(二)分析系统的数据要求

(三)导出系统的逻辑模型

(四)修正系统开发计划

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

(一)访谈

(二)面向数据流自顶向下求精

(三)简易的应用规格说明技术

(四)快速建立软件原型

三、分析建模与规格说明

(一)分析建模

(二)软件需求规格说明

四、实体-联系图

(-)数据对象

(二)属性

(三)联系

(四)实体-联系图的符号

五、数据规范化

六、状态转换图

(一)状态

(-)事件

(三)符号

(四)例子

七、其他图形工具

(一)层次方框图

(-)Warnier图

(三)IPO图

八、验证软件需求

(一)从哪些方面验证软件需求的正确性

(二)验证软件需求的方法

(三)用于需求分析的软件工具

重点:需求分析的任务及过程,获取需求的方法,需求分析建模方法,各种图形工具的应

用,需求规格说明书的书写。

难点:获取需求的方法.需求分析建模方法,

第四章总体设计

一、设计过程

二、设计原理

(一)模块化

(二)抽象

(三)逐步求精

(四)信息隐藏和局部化

(五)模块独立

三、启发规则

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

(-)层次图和HIPO图

(二)结构图

五、面向数据流的设计方法

(一)概念

(二)变换分析

(三)事务分析

(四)设计优化

重点:软件的总体设计过程、设计原理和启发式规则、面向数据流的设计方法。

难点:面向数据流的设计方法。

第五章详细设计

一、结构程序设计

二、人机界面设计

(一)设计问题

(二)设计过程

(三)人机界面设计指南

三、过程设计的工具

(一)程序流程图

(二)盒图

(三)PAD图

(四)判定表

(五)判定树

(六)过程设计语言

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

(一)Jackson图

(二)改进的Jackson图

(三)Jackson方法

五、程序复杂程度的定量度量

(一)McCabe方法

(二)Halstead方法

重点:结构程序、人机界面、和过程设计的方法,面向数据结构的设计方法、程序复杂

程度的度量。

难点:面向数据结构的设计方法、程序复杂程度的度量。

第六章实现

一、编码

(一)选择程序设计语言

(-)编码风格

二、软件测试基础

(-)软件测试的目标

(二)软件测试准则

(三)测试方法

(四)测试步骤

(五)测试阶段的信息流

三、单元测试

(一)测试重点

(二)代码审查

(三)计算机测试

四、集成测试

(-)自顶向下集成

(二)自底向上集成

(三)不同集成测试策略的比较

(四)回归测试

五、确认测试

(一)确认测试的范围

(二)软件配置复查

(三)Alpha和Beta测试

六、白盒测试技术

(一)逻辑覆盖

(二)控制结构测试

七、黑盒测试技术

(一)等价划分

(二)边界值分析

(三)错误推测

八、调试

(一)调试过程

(二)调试途径

九、软件可靠性

(一)基本概念

(二)估算平均无故障时间的方法

重点:掌握测试阶段的内容,测试方法及测试步骤

难点:白盒与黑盒测试方法;单元测试,集成测试的方法;自顶向下及自底向上结合模

块的步骤:渐增式及非渐增式测试的区别;归纳法与演绎法调试策略:测试用例的设

44-

第七章维护

一、软件维护的定义

二、软件维护的特点

(-)结构化维护与非结构化维护差别巨大

(二)维护的代价高昂

(三)维护的问题很多

三、软件维护过程

四、软件的可维护性

(-)决定软件可维护性的因素

(二)文档

(三)可维护性复审

五、预防性维护

六、软件再工程过程

重点:掌握软件维护的过程、特点、方法、技术、文档。

难点:软件维护的过程。

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

一、面向对象方法学概述

(一)面向对象方法学的要点

(二)面向对象方法学的优点

二、面向对象的概念

(一)对象

(二)其他概念

三、面向对象建模

四、对象模型

(一)类图的基本符号

(二)表示关系的符号

五、动态模型

六、功能模型

(-)用例图

(二)用例建模

七、3种模型之间的关系

重点:面向对象面方法学的理解,面向对象的概念及三种模型

难点:面向对象面方法学

第九章面向对象分析

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

(一)概述

(-)3个子模型与5个层次

二、需求陈述

(一)书写要点

(二)例子

三、建立对象模型

(-)确定类与对象

(二)确定关联

(三)划分主题

(四)确定属性

(五)识别继承关系

(六)反复修改

四、建立动态模型

(-)编写脚本

(二)设想用户界面

(三)画事件跟踪图

(四)画状态图

(五)审查动态模型

五、建立功能模型

(一)画出基本系统模型图

(二)画出功能级数据流图

(三)描述处理框功能

六、定义服务

重点:面向对象分析过程、对象、动态和功能模型的建立。

难点:对象、动态和功能模型的建立。

第十章面向对象设计

一、面向对象设计的准则

二、启发规则

三、软件重用

(一)概述

(二)类构件

(三)软件重用的效益

四、系统分解

五、设计问题域子系统

六、设计人机交互子系统

七、设计任务管理子系统

八、设计数据管理子系统

(一)选择数据存储管理模式

(-)设计数据管理子系统

(三)例子

九、设计类中的服务

(一)确定类中应有的服务

(-)设计实现服务的方法

十、设计关联

十一、设计优化

(一)确定优先级

(二)提高效率的几项技术

(三)调整继承关系

重点:面向对象设计准则、启发式规则,软件重用技术,面向对象设计过程。

难点:任务分解。

第十一章面向对象实现

一、程序设计语言

(一)面向对象语言的优点

(二)面向对象语言的技术特点

(三)选择面向对象语言

—、程序设计风格

(一)提高可重用性

(二)提高可扩充性

(三)提高健壮性

三、测试策略

(一)面向对象的单元测试

(-)面向对象的集成测试

(三)面向对象的确认测试

四、设计测试用例

(一)测试类的方法

(-)集成测试方法

重点:选择面向对象语言的原因,面向对象语言的设计风格,面向对象测试过程。

难点:面向对象测试过程。

第十二章软件项目管理

一、估算软件规模

(一)代码行技术

(-)功能点技术

二、工作量估算

(-)静态单变量模型

(二)动态多变量模型

(三)C0C0M02模型

三、进度计划

(一)估算开发时间

(二)Gantt图

(三)工程网络

(四)估算工程进度

(五)关键路径

(六)机动时间

四、人员组织

(一)民主制程序员组

(二)主程序员组

(三)现代程序员组

五、质量保证

(一)软件质量

(二)软件质量保记措施

六、软件配置管理

(一)软件配置

(-)软件配置管理过程

七、能力成熟度模型

重点:软件工作量的度量,软件项目进度安排,软件项目计划内容,;软件配置管理

难点:软件开发成本结算,软件项目进度安排。

四、课程各教学环节要求

(-)上机5次10机时,教师根据课本自拟上机实验大纲和方案。

(二)作业:10道必做题,反映教学目的和基本要求。

(三)辅导答疑:主要安排在课后。

五、学时分配(黑体四号)

作业备

教学内容各教学环节学时分配

题量注

讲实讨习课其小

章节主要内容

授验论题外它计

—软件工程学概述222

二可行性研究442

三需求分析6283

四总体设计4262

五详细设计443

六实现4264

七维护221

八面向对象方法学引论222

九面向对象分析4

温馨提示

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

评论

0/150

提交评论