基本信息出版社:北京大学出版社
页码:276 页
出版日期:2009年08月
ISBN:7301155190/9787301155196
条形码:9787301155196
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:21世纪全国高职高专计算机案例型规划教材
内容简介 《软件工程与项目管理案例教程》根据高职教学的特点和要求编写。《软件工程与项目管理案例教程》共分13章,介绍了软件危机与软件工程、计算机系统工程等基本概念,软件需求分析管理、概要设计、详细设计、软件编程、软件测试技术、软件维护等软件开发过程,面向对象系统分析与设计、软件项目评审、软件质量保证与软件配置管理、CMM软件成熟度模型、软件工程标准与软件知识产权。
《软件工程与项目管理案例教程》采用案例教学和启发式教学,激发学生学习的兴趣,提高学生动手能力。《软件工程与项目管理案例教程》内容翔实、结构合理、实用性强、适用面广。每章后附有习题,以利于知识点的巩固。
《软件工程与项目管理案例教程》可作为职业技术学院教材,也可作为其他高等职业学校、高等专科学校、中等职业学校、在职人员、本科学院、独立学院及各种社会培训机构的参考书。
编辑推荐 《软件工程与项目管理案例教程》是由北京大学出版社出版的。
针对性强,切合职业教育目标,重点培养职业能力,侧重技能传授
实用性强,大量的经典真实案例,案例内容具体详细,与就业市场紧密结合
适应性强、适合于三年制和两年制高职高专,也同样适合于其他各类大中专院校
强调知识的渐进性、兼顾知识系统性,结构逻辑性强,针对高职高专学生的知识结构特点安排教学内容
书中配套形式多样的习题,网上提供完备的电子教案,提供相应的素材、程序代码、习题参考答案等教学资源,完全适合教学需要
教材系列完整,涵盖计算机专业各个方向;编者分布广泛,结合不同地域特点,适合不同地域读者
目录
第1章 软件危机与软件工程
1.1 软件危机
1.1.1 软件危机的表现
1.1.2 软件危机的原因
1.1.3 解决软件危机的途径
1.2 软件工程概述
1.2.1 软件工程的定义
1.2.2 软件工程的范畴
1.2.3 软件开发的几个模型
1.2.4 软件生命周期
1.2.5 软件工程的目标
1.3 软件项目管理概述
1.3.1 软件项目管理的特点
1.3.2 软件项目管理的目标
1.3.3 影响软件项目成功的因素
1.4 软件项目失败与成功案例
1.4.1 软件项目失败的案例
1.4.2 软件项目成功的案例
本章 小结
习题
第2章 计算机系统工程
2.1 基于计算机系统
2.2 计算机系统工程概述
2.2.1 人机工程
2.2.2 软件工程
2.2.3 硬件工程
2.2.4 数据库工程
本章 小结
习题
第3章 软件需求分析管理
3.1 软件需求分析概述
3.1.1 软件需求分析的目标
3.1.2 软件需求分析的原则
3.1.3 软件需求分析的过程
3.2 结构化分析方法
3.2.1 结构化分析方法概述
3.2.2 数据流图
3.2.3 数据字典
3.2.4 处理说明
3.3 如何做好需求分析
3.3.1 需求分析的5个阶段
3.3.2 需求分析的重要性
3.4 图书管理系统需求分析
本章 小结
习题
第4章 概要设计
4.1 概要设计的任务与过程
4.1.1 概要设计的任务
4.1.2 概要设计的过程
4.2 概要设计原则
4.2.1 模块化
4.2.2 自顶向下,逐步求精
4.2.3 模块的低耦合性和高内聚性
4.2.4 其他原则
4.3 软件结构图
4.3.1 软件结构图符号
4.3.2 软件结构图绘制步骤
4.3.3 数据流图的类型
4.3.4 变换分析设计
4.3.5 事务分析设计
4.3.6 软件结构图绘制实例
4.4 案例:图书管理系统的概要设计
4.4.1 图书管理系统的结构设计
4.4.2 图书管理系统的接口设计
4.4.3 图书管理系统的数据结构设计
4.4.4 图书管理系统的出错处理设计
本章 小结
习题
第5章 详细设计
5.1 详细设计的目标和原则
5.1.1 详细设计的任务和目标
5.1.2 详细设计的原则
5.2 详细设计的内容
5.2.1 代码设计原则
5.2.2 数据库设计
5.2.3 界面设计
5.2.4 网络结构设计
5.3 程序流程图设计
5.3.1 N-S图
5.3.2 PAD图
5.3.3 PDL(结构化语言)
5.4 案例分析
本章 小结
习题
第6章 软件编程
6.1 结构化程序设计方法
6.1.1 结构化程序设计的原则
6.1.2 逐步求精设计法
6.1.3 结构化程序设计风格
6.2 程序设计算法与效率
6.2.1 程序设计算法
6.2.2 程序的运行效率
6.3 程序设计语言的特点与应用范围
6.3.1 程序设计语言的发展与分类
6.3.2 程序设计语言的选择
6.4 冗余程序设计与防错程序设计
6.4.1 冗余程序设计
6.4.2 防错程序设计
6.5 软件编码管理
6.5.1 软件编码过程的管理
6.5.2 编码后的管理
本章 小结
习题
第7章 软件测试技术
7.1 软件测试的基本概念
7.1.1 软件测试的重要性
7.1.2 软件测试的定义
7.1.3 软件测试与软件调试的区别
7.1.4 软件测试的基本原则
7.1.5 软件测试的目标
7.1.6 软件测试过程
7.2 测试团队的组织
7.2.1 测试组织者
7.2.2 专业测试人员
7.2.3 测试配置管理人员
7.2.4 测试相关人员
7.3 软件测试及测试用例设计
7.3.1 软件测试的分类
7.3.2 白盒测试及其用例设计
7.3.3 黑盒测试及其用例设计
7.3.4 静态测试
7.3.5 动态测试
7.4 软件测试策略
7.5 软件测试工具
7.6 案例分析
7.6.1 图书管理系统黑盒测试用例
7.6.2 图书管理系统白盒测试用例
7.6.3 图书管理系统界面测试
7.6.4 安装/卸载测试
本章 小结
习题
第8章 软件维护
8.1 软件维护的基本概念
8.1.1 软件维护类型
8.1.2 软件维护策略
8.1.3 软件维护的副作用
8.1.4 软件维护的困难
8.2 软件维护过程
8.2.1 维护组织
8.2.2 维护工作流程
8.3 软件可维护性
8.3.1 影响软件维护的软件属性
8.3.2 软件可维护性定量度量
8.4 软件再生工程技术
本章 小结
习题
第9章 面向对象系统分析与设计
9.1 面向对象概述
9.1.1 传统开发方法存在的问题
9.1.2 面向对象的概念
9.1.3 面向对象的特征
9.2 面向对象开发方法
9.2.1 面向对象Coad方法
9.2.2 面向对象OMT方法
9.2.3 统一软件开发过程——RUP
9.3 UML建模
9.3.1 UML概论
9.3.2 用例图
9.3.3 类图
9.3.4 包图
9.3.5 时序图
9.3.6 协作图
9.3.7 状态图
9.3.8 活动图
9.3.9 组件图
9.3.1 0部署图
9.4 UML建模工具——RationalRose
9.4.1 RationalRose简介
9.4.2 RationalRose安装
9.4.3 RationalRose使用介绍
9.5 案例:图书管理系统面向对象分析与设计
9.5.1 图书管理系统需求定义
9.5.2 图书管理系统分析
9.5.3 图书管理系统设计
9.5.4 图书管理系统实现
本章 小结
习题
第10章 软件项目评审
10.1 项目评审概论
10.1.1 评审的目的
10.1.2 评审人员及其职责
10.1.3 评审的基本要求和评审依据
10.1.4 评审内容
10.1.5 评审方式
10.1.6 评审工作程序
10.2 各阶段的评审内容和要点
10.2.1 需求分析的评审
10.2.2 概要设计评审
10.2.3 详细设计评审
本章 小结
习题
第11章 软件质量保证与软件配置管理
11.1 软件质量与SQA
11.1.1 SQA的目标
11.1.2 软件质量计划
11.2 软件配置管理
11.2.1 软件配置的重要性
11.2.2 软件配置项
11.2.3 基线管理
11.2.4 软件配置方法
11.3 图书管理系统质量保证和配置管理
11.3.1 图书管理系统质量保证计划示例
11.3.2 图书管理系统软件配置管理计划示例
本章 小结
习题
第12章 C洲软件成熟度模型
12.1 CMM简介
12.2 CMM的5个等级
12.3 CMM的模型框架
12.4 CMM的关键过程域
12.4.1 等级2中的关键过程域
12.4.2 等级3中的关键过程域
12.4.3 等级4中的关键过程域
12.4.4 等级5中的关键过程域
12.5 CMM应用案例
12.5.1 公司概况
12.5.2 CMM实施之路
12.5.3 CMM实施总结
12.6 中国软件企业CMM的应用现状与趋势
本章 小结
习题
第13章 软件工程标准与软件知识产权
13.1 软件工程标准
13.1.1 软件工程标准的必要性及内容
13.1.2 中国软件工程标准
13.1.3 国际软件工程标准
13.2 计算机软件知识产权
13.3 计算机软件知识产权案例分析
本章 小结
习题
参考文献
……
序言 软件工程是研究如何用工程化的思想方式有效地管理软件开发,以较低成本开发出高质量的软件的一门学科。软件工程已经成为异常活跃的研究领域,在软件开发实践中发挥着重要作用。人们已经意识到,在软件项目开发中若不遵守软件工程的原则、思想、方法,必然要导致软件项目的失败。所以软件工程技术对软件专业人员来说是必须掌握的技术。本书主要有以下特点。(1)在保证学科体系完整的基础上,不过度强调基础理论的深度和难度,坚持“够用为度”的原则。
(2)采用“任务驱动”的编写方式,引入案例式教学,在相关章节中引入案例,把软件工程过程、工具、方法讲懂讲透,强调理论和实践结合,注重技能培养。
(3)教材内容生动活泼,力求改变一般软件工程教材学生学习起来枯燥的情况。
(4)加入了一些软件项目管理、CMM、标准化和知识产权等内容,拓展学生管理技能。
本书共13章,建议理论课时48课时。第1章软件危机与软件工程(4课时),第2章计算机系统工程(2课时),第3章软件需求分析管理(4课时),第4章概要设计(4课时),第5章详细设计(4课时),第6章软件编程(2课时),第7章软件测试技术(6课时),第8章软件维护(4课时),第9章面向对象系统分析与设计(6课时),第10章软件项目评审(2课时),第11章软件质量保证与软件配置管理(4课时),第12章CMM软件成熟度模型(4课时),第13章软件工程标准与软件知识产权(2课时)。
除了理论教学外,建议安排实验课。让学生掌握相关CASE工具及文档写作,例如Prolject、Visio、PowerDesigner、Rose等CASE工具,项目开发计划(GB8567-1988)、软件需求说明书(GB8567-1988)、概要设计说明书(GB8567-1988)、详细设计说明书(GB8567-1988)、数据库设计说明书(GB8567-1988)、测试计划(GB8567一1988)等软件工程文档。CASE工具及文档实验内容教师可根据实际情况进行筛选。
本书由刘新航任主编,王振铎任副主编。刘新航负责全书的策划、修改、补充、统稿工作。各章编写分工如下:刘平编写第1章和第12章,崔岩编写第2章和第11章,王振辉编写第3章和第6章,刘宁编写第4章和第9章,王振铎编写第5章和第7章,薛茹编写第8章,李平编写第10章,刘新航编写第13章。
由于时间仓促,作者水平所限,书中难免有疏漏和不足之处,恳请各位读者批评指正。
文摘 插图:

第1章 软件危机与软件工程
引例
提到软件开发,很多人认为就是坐在计算机前面编写代码。其实,编写代码仅仅是软件开发过程中的一个很小的部分。举个例子来说,盖一座大楼时所涉及的工作不仅仅是砌砖和垒墙,还必须对建筑进行主体设计、绘制图纸、估算建筑成本、安排任务、验收建筑质量等。相同的道理,软件开发过程所涉及的环节和活动也不仅仅是编写代码这样简单。比如:在编码之前,要了解编写的程序是为了解决一个什么样的问题,即实现什么样的功能;对于规模较大的软件,应该对软件的系统架构进行整体的规划。编码完成之后,还要考虑采用什么样的方法和途径来减少软件系统中存在的错误。软件产品交付给用户后,要考虑怎样对软件系统进行维护,以及在这个过程中如何保证软件产品的质量等一系列的问题。
软件工程就是一门将所有与软件开发相关的活动归纳在一起,并形成系统的方法和理论的学科。
在第1章中,将学习什么是软件,什么是软件工程,以及如何运用软件工程的理论和方法来开发软件。
1.1 软件危机
软件危机产生于20世纪60年代,给当时的软件行业造成了极大的损失。但同时也促使人们对如何开发软件进行了更加深入的研究和探讨,与程序设计方法学密切相关的软件工程也应运而生。在学习软件工程之前,首先来了解软件危机的产生与发展,以及人们是如何通过各种途径来解决软件危机的。