软件工程初级教程

出版时间:2010-3  出版社:清华大学出版社  作者:陶华亭 主编  页数:276  

前言

出版此教材的冲动缘于我在教学过程中遇到的麻烦。我在教授本科与大专层次的软件工程课程中总有这样的体会,要么内容不实用,要么体系不合理,无奈之下有时我会脱开教材,但那些紧扣书本的学生又会提意见。目前,软件工程课程从大专层次到本科层次再到研究生都有开设,但内容层次界定不太清。如果你是先读大专再读本科后又上研究生的话,相同的内容你可能学上三遍。多次参加教材工作会议,也听到了同行们类似的抱怨。为了对学生负责,也为了我的教学过程容易组织,根据相关大纲要求和多年积累的教学经验,我终于付诸实际行动,编一本目前适合我和我的学生的教材,并命名为“软件工程初级教程”。如果您在教学或学习中也有同感,不妨浏览一下这本书对内容的规划,尤其本书对软件工程思想、软件工程概念、方法论以及建模过程的表述,作为初级教程我相信这些东西才是学生真正需要掌握的。面向对象部分,以建模过程为线索,选用了一个贯穿全程的实例,可操作性强。把相关概念融入到实例中介绍,提高了可理解性,学生不再为大量抽象的面向对象的概念而苦恼。如果您认同的话,不妨试用一下,多提意见,也可以参与到下一版的修订活动中,为了您,为了我,也为了我们的学生,一本好的教材真的是大家都需要的,这需要您、我和更多同行们的汗水。书中内容个别地方加入了作者自己的见解,可能有所偏颇,这需要您的批评指正。不过大部分内容还是从一些权威著作中吸取来的,我仅做了一些编纂工作或适合教学过程的小改动,参考文献中都对这些前辈们的杰作进行了列表,在此一并表示感谢。作为主编,本人同时完成了本书的大部分章节的编写工作,主要包括第1~6章,第10~12章; 副主编郑州信息工程学校的吴杰老师负责编写了第8章软件实现,并对全书进行了统稿、审阅与校对,副主编商丘师范学院的王海燕老师负责编写了第7章详细设计与第9章软件维护,并对部分章节进行了编程与校对。河南工程学院刘玉昕、赵志梅老师负责编写了第13章面向对象的软件测试,并对附录中的样卷、参考答案及本教材中的实例、教材配套课件进行了整理与编写。对他们的辛苦付出,在此一并表示真诚的感谢。最后,由于作者水平有限,本教材必然还存在不少缺陷和不适于教学过程的内容,希望在您和您的学生使用本教材的过程中多提宝贵建议,下一个更为优秀的修订版也许就有您的一份贡献了。真诚欢迎您也能加入到优化本教材的行列,让我们的学生能够用上真正实用的教材,也让您的教学过程更加自如。

内容概要

本书汇总了作者多本教材的精华,融入了多年的教学经验,吸收了软件工程学科较新内容编写而成。在内容和体系结构上都有了新的调整和补充,不失为一本实用教材。  软件工程内容分为软件工程管理和软件工程技术两大部分。传统的教材把理论部分放在前面,工程技术部分放在中间,最后介绍软件工程管理内容,这样往往在教学中会忽略软件工程管理部分的内容,使教学过程不好安排。本教材在体系上做了一些调整,将软件工程理论和软件工程管理部分的内容放在前面,逐步由理论深入到实践,连贯性较强; 避免了进入软件工程技术甚至实践部分以后,再回头讲软件工程管理内容时,教学过程不易组织。  本教材在介绍了软件工程基本概念和原理的基础上,着重对从结构化方法到面向对象方法的过渡进行了合理安排,强调从方法论和软件工程思想的角度理解这种过渡,指出了结构化方法的优点、缺陷和面向对象方法的优势,并从内容上加大了面向对象方法的比重。书中安排了贯穿全程的实例,通过面向对象的建模过程实践,使得针对面向对象的方法的教学过程更具有可操作性。课程进行到后半学期,对于面向对象的部分可以安排适当的上机实践,本教材对这一部分提供了较详细的建模操作实例。  本书实例丰富,注重对学生实践能力的培养,对初次开设软件工程课程的计算机及相关专业本科层次、大专层次都适用。

书籍目录

第1章 软件工程的基本概念与原理  1.1 软件工程学科的诞生   1.1.1 软件及其特点   1.1.2 软件生产的发展   1.1.3 软件危机   1.1.4 软件工程的诞生  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.3.4 计算机辅助软件工程  本章小结  习题 第2章 软件开发过程  2.1 软件过程   2.1.1 软件过程概念及理论基础   2.1.2 软件过程讨论的主要内容  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 统一过程模型RUP   2.3.3 软件过程改进与CMM  本章小结  习题 第3章 软件项目管理  3.1 软件项目管理概述   3.1.1 软件生产的特殊性   3.1.2 软件项目管理的重要性   3.1.3 软件项目管理的主要内容  3.2 软件规模估算   3.2.1 代码行技术   3.2.2 功能点技术   3.2.3 估算方法  3.3 软件项目工作量估算   3.3.1 静态单变量模型   3.3.2 动态多变量模型   3.3.3 COCOMO2模型  3.4 软件项目进度控制   3.4.1 估算开发时间   3.4.2 Gantt图   3.4.3 工程网络   3.4.4 工程进度估算   3.4.5 关键路径   3.4.6 机动时间  3.5 软件项目人员组织   3.5.1 民主制程序员组   3.5.2 主程序员组   3.5.3 现代程序员组  3.6 软件质量保证   3.6.1 软件质量   3.6.2 软件质量保证措施  3.7 软件配置管理   3.7.1 软件配置   3.7.2 软件配置管理过程  本章小结  思考题 第4章 软件项目可行性分析与初步计划 第5章 需求分析 第6章 总体设计 第7章 详细设计 第8章 软件实现 第9章 软件维护 第10章 从结构化到面向对象第11章 面向对象的需求获取 第12章 面向对象的分析与设计 第13章 面向对象的测试 附录A 软件工程职业道德规范和实践要求 附录B 参考教学计划 附录C 试题样卷 参考文献

章节摘录

插图:1.程序设计时期(1946-1956年)20世纪40年代至60年代中期,计算机价格昂贵、运算速度低、内存小。程序规模比较小,多是个人设计,自己使用;编程多使用机器语言、汇编语言,开发方法追求编程技巧,追求程序运行效率;代码不规范,难读、难懂、难修改。软件开发的特点是不重视程序设计的方法,除了程序代码之外,没有配套的文档。2.软件开发时代(1956-1968年)20世纪60年代中期到70年代中期,集成电路技术使得计算机硬件技术有了进一步发展,运算速度和容量大大提高。理论上把程序分为系统程序和应用程序,并合称为软件。随着计算机硬件的普及,软件需求增大,出现了小作坊式团队合作生产,软件被视为一种产品;概念上把程序和文档看作软件的构成,认识到了没有文档的软件无法使用和维护的问题。认识到文档的重要性是与“软件危机”同时产生的。软件交付用户以后,要改正错误或适应新的需求就有了维护的要求。但没有相应的文档,维护费用增长惊人,用户满意度下降,软件质量得不到保证,“软件危机”就此开始。“软件危机”不仅仅由于维护费用昂贵,还由于没有好的软件开发方法,软件质量和可靠性没有保证,所以这个阶段提出了结构化开发方法,并强调文档的重要性,规定软件开发时必需编写需求规格说明书、系统设计说明书、用户手册等文档。1968年北大西洋公约组织(NATO)的计算机科学家在前联邦德国召开国际会议,讨论软件危机问题,正式提出了“软件工程(SoftwareEngineering)”这一术语,软件工程学科从此诞生。3.软件工程时代(1968年至今)20世纪70年代中期到90年代,大规模集成电路进一步提高了计算机硬件的性能,计算机应用空前普及。与此同时,一方面,软件开发效率提高的速度远远跟不上硬件普及的速度,供需矛盾突现;另一方面,为了维护软件要耗费大量的资金,美国当时的统计表明,对计算机软件的投资占计算机软件、硬件总投资的7。%,到1985年软件成本大约占总成本的90%。为了缓解软件危机的压力,软件工程学提出了运用工程学的基本原理和方法来组织和管理软件生产,以提高软件质量和开发效率;提倡软件生产工程化,形成数据库、集成开发工具、网络、分布式系统和面向对象的开发技术。硬件特征是向超高速、大容量、微型化以及网络化方向发展;软件特点是开发技术有很大进步,但未能获得新的突破。与软件市场需求的发展速度相比,软件工程仍然面临着许多问题。

编辑推荐

《软件工程初级教程》:21世纪普通高校计算机公共课程规划教材

图书封面

评论、评分、阅读与下载


    软件工程初级教程 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7