实用软件工程教程 (21世纪高等院校计算机系列教材)
定 价:28 元
丛书名:
- 作者:阎菲 潘正清 吴年志
- 出版时间:2009/9/1
- ISBN:9787508439303
- 出 版 社:中国水利水电出版社
- 中图法分类:TP311.5
- 页码:298
- 纸张:胶版纸
- 版次:1
- 开本:16K
- 字数:(单位:千字)
本书强调软件工程的理论与实践相结合、技术与管理相结合、方法和设计工具相结合的理念,并以应用性极强的系统为例,全面地阐述了软件工程的内涵;同时自始至终贯穿反映学科最新发展方向的新内容,加强了计算机网络、面向对象软件技术实用技术的编写。
全书内容主要包括:软件工程的基础知识,软件过程、软件工程项目管理,计算机系统工程,需求分析,总体设计,编码与测试,软件维护,面向对象技术,快速原型技术,软件重用技术等。本书努力做到内容精练,重点突出,概念清楚,针对性和实际操作性强。
本书可作为本科计算机及相关专业学生的教材,也可作为软件开发人员的参考书。
本书是一部关于软件工程的高校教材,内容主要包括软件工程的基础知识,软件过程,软件工程项目管理,计算机系统工程,需求分析,总体设计,详细设计,编码与测试,软件维护,面向对象技术,快速原型技术,软件重用技术等。本书努力做到内容精练,重点突出,概念清楚,针对性和实际操作性强。
社会经济和计算机技术迅速发展,国际国内信息化持续向前推进,使得软件建设的人才十分紧缺,软件工程的理论与方法不断遇到新的挑战。作为高校大学生的教材,本书力求做到既反映这个领域新的发展,又能使学生掌握软件工程的基本方法与技能,培养学生分析解决本专业实际问题的能力。
本书的特点是反映学科最新发展方向的新内容,加强计算机网络、面向对象软件实用技术,对统一建模语言(UML)和统一过程(RUP)作了深入浅出的介绍,进一步强调软件工程的理论与实践相结合、技术与管理相结合、方法与设计工具相结合的理念。
本书努力做到:内容安排适当,呈现方式清晰,让学生很快找出需要的章节;文笔流畅,用语准确,加强学生对重点、难点的理解。
全书主要内容如下:
第l~2章是软件工程基础,主要讨论软件工程的基础理论、软件工程的过程与软件工程的项目管理。
第3~4章论述计算机工程及需求分析。
第5~10章讨论软件系统分析、设计与系统实施的方法,软件工程开发的项目管理与运行维护的基本知识。
第11~14章讨论面向对象方法。
第15~16章构成本书的最后一部分,专门介绍比较新颖、颇具发展潜力的软件开发技术。
本书每章都附有习题,其中有的是复习思考题,有的可作为课外作业或课程设计的内容。
成功的软件工作人员无不经过大量工程实践的锻炼,只有在学习书本内容的同时辅以相应的实际练习和实验环节,才能真正掌握书中介绍的知识和技能。为指导读者进行软件工程实践,本教材提供了相应的软件工程素材。
本书由阎菲任主编,潘正清、吴年志任副主编。各章主要编写人员分工如下:第1、3、4、11、12、13章由阎菲编写,第2、5、6、7、8、9、10、14、16章和附录由潘正清编写,第15章由吴年志编写,阎菲、潘正清统稿并校对。参加本书编写的还有:向郑涛、陈宇峰、裘子煦、薛礼、胡志慧、刘振章、李发海、周应仙、曹霞、史建芳、雷平、张海涛、王丽、吴涛、赵峰林等。
由于时间仓促,水平有限,书中难免有错误和不妥之处,敬请读者与专家指正。
前言
第1章 软件工程概述
1.1 软件工程中的常见问题
1.1.1 软件
1.1.2 软件危机
1.2 软件工程
1.2.1 软件工程的定义与原理
1.2.2 软件工程与计算机科学
1.2.3 软件工程目标
1.2.4 软件工程面临的挑战
1.3 软件过程和软件生命周期
1.3.1 软件过程
1.3.2 软件生命周期
1.4 软件开发模型
1.4.1 瀑布模型
1.4.2 演化模型
1.4.3 原型模型
l.4.4 螺旋模型
1.4.5 喷泉模型及面向对象的开发过程
1.4.6 基于四代技术的模型
1.4.7 智能模型
1.5 职业道德
1.6 本章小结
习题
第2章 软件项目管理
2.1 软件项目管理概述
2.1.l软件项目管理的概念
2.1.2 软件项目管理的特点
2.1.3 软件项目管理的内容
2.1.4 项目的组织模式
2.1.5 项目的人员管理
2.1.6 软件配置管理
2.2 软件项目规划
2.2.1 项目规划的基本概念
2.2.2 项目规划的步骤
2.2.3 项目规划的原则
2.2.4 项目规划的形成文件
2.2.5 项目规划过程之间的相互联系
2.3 软件项目风险管理
2.3.1 风险管理概述
2.3.2 软件项目的风险策略
2.3.3 软件风险
2.3.4 风险管理的过程
2.3.5 软件风险的总结
2.4 软件项目进度管理
2.4.1 项目进度的基本概念
2.4.2 制定进度计划
2.4.3 面向网络化管理
2.4.4 建立里程碑事件
2.4.5 实施保证
2.5 软件项目质量管理
2.5.1 基本定义
2.5.2 质量管理主要内容
2.5.3 技术与方法
2.5.4 质量管理实施
2.6 本章小结
习题
第3章 软件系统及可行性研究一
3.1 用户中心设计——UCD方法
3.2 计算机系统
3.2.1 硬件和硬件工程
3.2.2 软件和软件工程
3.2.3 人机工程
3.2.4 数据库和数据库工程
3.3 可行性研究.
3.3.1 可行性研究的任务
3.3.2 技术可行性
3.3.3 操作可行性
3.3.4 经济可行性
3.3.5 可行性研究的步骤
3.3.6 方案选择
3.4 系统开发过程的新体系结构——快速原型与面向对象
3.5 本章小结
习题
第4章 需求分析
4.1 需求分析基础
4.1.1 分析的任务与原则
4.1.2 需求建模
4.1.3 开发原型系统
4.2 结构化分析方法
4.2.1 结构化分析的策略
4.2.2 数据流图
4.2.3 数据字典
4.2.4 小说明
4.2.5 结构化分析实施步骤
4.3 其他分析方法与图形工具
4.4 实体一关系图
4.4.1 数据对象、属性与关系
4.4.2 E-R方法和实体模型
4.4.3 数据结构的规范化
4.5 需求规格说明与评审
4.5.1 需求规格说明书的目标与内容
4.5.2 需求评审
4.6 本章小结
习题
第5章 总体设计
5.l 总体设计的任务及过程
5.1.1 设计供选择的方案
5.1.2 功能解剖和设计软件结构
5.1.3 数据库设计
5.1.4 制定测试计划
5.1.5 文档的编写
5.1.6 进行审查和复查
5.2 软件设计基本原理
5.2.1 模块化
5.2.2 抽象
5.2.3 信息隐蔽
5.2.4 模块独立性
5.3 设计准则
5.4 总体设计的图形描述工具
5.4.1 层次图
5.4.2 HIPO图
5.4.3 结构图.
5.5 结构化设计方法
5.5.1 数据流图的类型
5.5.2 设计步骤
5.5.3 变换设计
5.5.4 事务设计
5.5.5 设计的后处理
5.6 本章小结
习题
第6章 详细设计.
6.1 结构化程序设计
6.2 详细设计工具
6.2.1 程序流程图
6.2.2 盒图(N-S图).
6.2.3 PAD图
6.2.4 过程设计语言(PDL)
6.2.5 判定表.
6.2.6 判定树
6.3 Jackson程序设计方法
6.3.1 Jackson方法
6.3.2 Jackson图
6.3.3 Jackson程序设计方法
6.4 Warnier程序设计方法简介
6.4.1 Wamier图
6.4.2 Wamier程序设计方法的步骤
6.5 人机界面设计
6.5.1 人机界面设计概述
6.5.2 人机界面风格
6.5.3 人机界面实现的原则
6.5.4 人机界面的设计过程
6.6 本章小结
习题
第7章 软件编码
7.1 程序设计语言
7.1.1 程序设计语言概述
7.1.2 程序设计语言的分类
7.1.3 程序设计语言的特点
7.1.4 程序设计语言的选择
……
第8章 软件测试
第9章 软件维护
第10章 软件过程改进
第11章 面向对象概念
第12章 面向对象的分析
第13章 面向对象设计
第14章 面向对象测试
第15章 软件重用技术
第16章 软件工程的深入研究
附录1 可行性研究报告规范
附录2 项目开发计划规范
附录3 需求规格说明书规范
附录4 概要设计说明书规范
附录5 详细设计说明规范
附录6 项目开发总结报告规范
附录7 用Word撰写文档规范
参考文献
第2章软件项目管理
在20世纪60年代到20世纪70年代初期,我们可以从很多的大型软件工程项目失败的案例中得出这样一个结论:软件工程管理正面临着一个极其严重的危机。这个危机表现在软件产品经常不能够按期完成,软件开发成本大幅度超出预算,软件的综合性能低劣等方面。软件项目的失败可以归结于以下两个原因:一个是软件设计人员能力较低,另一个是管理方法运用不当。一些软件项目管理者原原本本地把其他工程学科的管理方法搬来,应用在软件项目开发中,很明显这对于软件项目开发而言是很难取得较好的效果的,有时还会产生更加严重的负面影响。
软件开发过程需要软件项目管理主要原因是专业的软件开发总是会受到预算和工程进度的制约,而这些都是开发机构预先安排好的。软件项目管理的任务是确保软件项目符合预算和进度要求,并确保开发出的软件产品能够达到各项性能标准。
软件管理者负责项目开发的规划和进度安排。他们对开发工作进行指导,确保项目能够达到要求的标准,同时还要对项目的进展情况进行监控,检查项目是否符合进度安排、有没有超出预算等。
软件项目管理是一个重大课题,很难在一章中阐述清楚。在本章中主要描述5个重要的管理活动,即项目规划、项目进度、风险分析和控制、软件过程改进、软件项目质量保证。下面将对软件项目管理进行深入的探讨。
2.1软件项目管理概述
随着科学技术的飞速发展,软件开发工程的规模变得越来越大,以前那种以个人为主的作坊式开发方式已经不适应软件发展的需要。许多软件公司为了对开发过程实行有效的管理,提高软件开发效率,都在积极地将软件项目管理引入到开发活动当中。软件项目管理就是为了使软件开发项目能够按照预期的成本、进度、质量顺利完成,其主要活动则是对成本、人员、进度、质量、风险等进行分析和管理,提高企业的工作效率和经营效益。而实际上,软件项目管理在软件开发中所起的作用不仅仅如此,实施软件项目管理还有利于提高开发人员的个人开发能力,进一步增强企业的综合开发能力,有利于企业长期稳定发展。基于软件项目管理在软件开发过程中所起的重要作用,我们在此特对软件项目管理进行详细分析。