内容简介本书为普通高等教育“十一五”国家级规划
教材。
本书是21世纪初国内外
软件工程新思想、新方法和新
技术的产物。本书吸取了国内外多种软件工程教材的优点,避免了其缺点,因此更具有理论性、实践性和实用性。它进一步充实了“面向过程、面向数据、面向对象”的开发方法和“面向流程
分析、面向数据
设计、面向对象实现、面向功能测试、面向过程管理”的实施理论,以及“功能、性能和接口”的立项、需求、策划、设计、实现、测试和验收
标准。本书增加了软件工程中的形式化方法、uml的图形描述方法、
数据库设计的理论与方法、cmmi的具体内容等。无论在内容的广度、深度和创新上,本书都大大超过了第1版。
作为
计算机专业高年级本科生或硕士研究生的教材,应该讲授全部章节;作为非计算机专业本科生或软件专业
高职高专学生的教材,最好忽略带星号(*)的章节;作为it企业的
培训教材或软件工作者的自学书籍,可以任意裁剪。
图书目录第1章软件工程的内容与方法1.1软件工程的定义1.2软件工程的作用1.3软件的开发方法1.3.1面向过程的方法1.3.2面向对象的方法1.3.3面向数据的方法*1.3.4软件工程的形式化方法1.3.5四种开发方法的对比1.4软件工程的五个面向理论1.5软件的支持过程1.6软件的管理过程1.6.1iso9000体系1.6.2微软企业文化模式1.6.3cmm/cmmi模型*1.6.4敏捷文化现象*1.7软件工程与
信息系统工程1.7.1信息系统的定义1.7.2信息系统的建设方法*1.8信息系统建设
案例1.9本章小结
习题1第2章软件生存周期及开发模型2.1软件生存周期概论2.2瀑布模型2.3增量模型*2.4迭代模型2.5原型模型2.6本章小结习题2第3章软件立项与合同3.1立项方法3.2立项文档3.3签订合同的方法与合同文档3.4下达任务的方法与相关文档3.5任务书案例3.6本章小结习题3第4章软件需求4.1需求分析的重要性4.2需求分析的理论
基础4.3需求分析的任务4.4需求分析的目的4.5需求分析的方法4.6需求的分类4.7需求的描述工具4.7.1描述工具概述4.7.2实体-联系模型4.7.3数据流图*4.7.4用例图*4.7.5活动图4.8需求的管理过程4.9需求分析的文档4.9.1需求报告和需求规格说明书的差异4.9.2用户需求报告4.9.3需求规格说明书4.9.4需求管理文档4.10本章小结习题4第5章软件策划5.1软件策划概论5.2软件策划方法5.3软件策划文档5.4策划管理方法与文档5.5本章小结习题5第6章软件设计6.1软件设计概论*6.2软件
设计原理*6.3软件架构设计6.4软件详细设计6.4.1面向过程详细设计6.4.2面向数据详细设计6.4.3面向对象详细设计*6.4.4软件详细设计方法总结*6.5软件属性和度量6.5.1设计属性6.5.2设计度量6.6软件设计文档6.6.1概要设计说明书6.6.2详细设计说明书6.6.3设计管理文档6.7本章小结习题6第7章软件建模7.1三个模型的建模思想7.1.1三个模型概论7.1.2业务模型7.1.3功能模型7.1.4数据模型7.2数据模型设计概论7.2.1数据库与数据库管理系统7.2.2数据库的组成7.2.3数据库设计的内容与步骤*7.3数据库设计的理论与方法7.4信息系统建模实例分析7.5三个模型建模思想总结*7.6uml的建模思想7.6.1uml对软件工程的重大影响7.6.2uml的概念模型7.6.3uml的建模思想7.6.4uml的缺点与不足7.7本章小结习题7第8章软件实现8.1软件实现概论8.2软件实现原则*8.3
编程语言*8.4编码技术*8.5软件实现管理8.6屏幕界面设计8.6.1控件级定义8.6.2窗口级定义8.6.3系统级定义*8.7帮助信息8.7.1在线帮助8.7.2提示信息8.7.3其他规定8.8软件实现文档8.9本章小结习题8第9章软件测试9.1软件测试概论9.2软件测试理论基础9.2.1软件测试9.2.2进行软件测试的原因9.2.3软件测试的发展历史9.2.4软件测试的目的和目标9.2.5软件测试的原则9.2.6软件测试模型9.2.7软件测试的分类9.2.8软件质量定义与软件测试标准9.2.9软件测试工具9.2.10软件测试文档9.3测试流程和测试技术9.3.1理解、验证和分解需求9.3.2编写测试计划9.3.3测试执行9.3.4专项测试9.3.5编写测试报告9.4测试
案例分析9.5软件测试职业素质培养9.6本章小结习题9第10章软件发布与实施10.1软件产品分类10.2软件产品发布10.3软件产品实施10.4本章小结习题10第11章软件维护11.1软件维护的传统方法11.2软件维护的
最新方法11.3软件维护文档11.4本章小结习题11*第12章软件过程管理12.1cmm/cmmi的基本概念12.2sw-cmm介绍12.3cmm/cmmi实施思路12.5cmmi内容简介12.6cmmi阶段式模型成熟度等级2的过程域介绍12.7成熟度等级2的解释12.8本章小结习题12第13章软件配置管理13.1配置管理的重要性13.2配置管理的定义与范围13.3配置管理的基本概念13.4配置管理员的职责13.5配置管理工具vss*13.6配置管理工具clearcase13.7本章小结习题13第14章软件质量保证14.1软件质量的基本概念14.2软件质量的保证方法14.3评审在质量保证中的作用14.4软件质量保证文档14.4.1质量保证文档14.4.2质量保证管理文档14.5本章小结习题14第15章软件培训15.1软件培训方法15.1.1公司集中培训15.1.2项目组分散培训15.1.3对客户的培训15.2软件培训文档15.2.1培训技术文档15.2.2培训管理文档15.3本章小结习题15第16章软件项目管理16.1项目管理定义16.2项目管理的重要性*16.3项目管理认证体系16.4项目经理职责及工作程序16.5项目经理对程序员的九条要求16.6项目经理谈项目管理七条经验16.7高层经理谈项目管理十大原则16.8从大学生到职业人再到项目经理16.9软件企业架构及工作流16.10本章小结习题16附录a文档编写指南索引表附录b案例索引表附录c
英文缩略词
英汉对照表参考文献
序言/前言第2版前言“软件工程”既是高校教学中的软件工程,又是著书立说中的软件工程,更是it企业软件开发和软件管理中的软件工程。本书的重点是论述在it企业的软件开发和软件管理中,如何正确地使用软件工程。如果说,本书第1版是20世纪末国内外软件工程思想、方法和技术的结晶,那么第2版就是21世纪初国内外软件工程新思想、新方法和新技术的产物。本书继承并发扬了第1版中“业务模型、功能模型、数据模型”的建模思想,“面向过程、面向数据、面向对象”的开发方法,以及“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”的实施理论,“功能、性能和接口”的立项、需求、策划、设计、实现、测试和验收标准;增加了软件工程中的形式化方法、统一建模语言uml的图形描述方法、数据库设计的理论与方法,以及cmmi的具体内容;还通过“图书馆信息系统”案例,将21世纪初流行的面向对象分析、面向对象设计和面向对象实现的前沿技术,用uml进行了仔细描述。因此,无论在内容的广度、深度和创新上,本书都大大地超过了第1版。本书作为计算机专业高年级本科生或硕士研究生的教材,应该讲授全部章节;作为非计算机专业本科生或软件专业高职高专学生的教材,最好忽略带星号(*)的章节;作为it企业的培训教材或软件工作者的自学书籍,可以任意裁剪。在教学计划的制订中,建议本课程为4学分,72学时。本书的先修课程为面向对象
程序设计、操作系统、编译技术、
计算机网络和数据库原理与应用。在本书的编写过程中,杨林先生修改了软件需求、软件设计和软件实现三章,孙伟女士修改了软件测试一章,王希女士编写了软件工程的形式化方法,赵池龙先生修改了其他章节,并且通读了全书。在本书编写过程中,作者还得到了北京师范大学珠海分校彭望琭教授、罗运纶副教授、陈星火副教授、倪玉华副教授、孙颖楷副教授、任甲林和张安波高级工程师、蔡勇和贺志军工程师等人的支持、帮助及关心,在此表示衷心的感谢。由于各种主观或客观原因,书中仍然存在某些错误或缺陷,诚恳欢迎广大高校师生和it企业软件工作者批评指正。作者邮箱:zhaochilong@sina.com或zhaochilong@sohu.com。北京师范大学珠海分校赵池龙
2006年5月第1版前言软件工程是研究软件开发和软件管理的一门工程科学,是计算机应用及软件工程相关专业的主干课,也是软件分析设计人员、程序开发人员、软件测试人员、软件管理人员、软件售前和售后工程师、软件高层决策者必不可少的专门知识。本书作者先在高校计算机系任教10多年,多次给本科生和研究生开设软件工程课程,后又在软件企业从事软件项目开发和项目管理工作,并注意将
现代软件工程的理论和方法运用到软件开发和管理的实践中去,在实践中
检验并修正原来的理论和方法,又在实践中发展了新的理论和方法。本书按照it企业软件研发的工作思路与步骤,面向工程实践安排了书中的章节次序,用it企业
生产软件和管理软件的模式,构架了软件工程和软件项目管理的新体系。全书的核心内容是软件开发和项目管理,共分16章,每章安排有“本章导读”和“本章小结”。课程的教学时数为60~80学时,它的先修课程为面向对象程序设计、
数据结构和数据库原理与应用。第1章和第2章,在宏观上论述了软件工程的4项内容:“软件开发模型、软件开发方法、软件支持过程、软件管理过程”,详细阐述了软件工程中“面向过程、面向数据、面向对象”的三种开发方法,“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”的五个面向理论,it企业实施iso9000的具体步骤及文档编写样例,微软企业文化,cmm的由来及其实质,软件工程与信息系统工程的关系,it企业信息系统建设成功案例,软件开发模型及选型方法,使读者了解软件工程、iso9000、信息系统工程和软件开发模型是什么。第3~11章,按照it企业软件中心和项目组的工作思路,在微观上依次论述了软件立项、软件合同、软件策划、软件需求、软件设计、软件建模、软件实现、软件测试、软件发布、软件实施、软件维护的具体内容,自始至终地贯彻软件系统的“功能、性能和接口”三项指标。书中还详细阐述了需求分析的任务、目的、方法与步骤,三层结构的设计思想,数据库分析设计的技巧与艺术,数据库设计工具powerdesigner的使用方法,uml的软件建模思想和rationalrose的建模方式,“业务模型、功能模型、数据模型”的建模思想,信息系统建模案例分析,软件编程
规范,软件产品测试方法和测试提问单,软件发布、实施、维护的具体做法,软件开发文档和管理文档编写的参考指南等内容,使读者知道软件项目开发和管理应该怎么做。第12~16章,以软件企业管理与项目管理为中心,分别论述了软件过程管理、软件配置管理、软件质量管理、软件培训管理、软件项目管理的相关内容。书中还详细阐述了cmm的内部结构,cmm的实施方法,cmm的文档样例,质量管理与cmm的关系,配置管理的基本思想,配置管理员的职责,配置管理工具vss和clearcase的使用方法,项目经理的职责,项目经理的工作程序和工作方法,以及it企业选拔和培养项目经理的途径,使读者知道软件管理与项目管理应该如何实施。项目管理是一个新兴的行业,软件项目管理在该行业中占有突出的位置。项目管理始于立项,终于交付。软件工程是软件项目管理的基础,为了搞好软件项目管理,不但要总结、继承和发扬前人在项目管理上积累的经验,而且要打好软件工程的知识基础。只有这样,才能做到在项目管理中有所作为,为it企业创造更好的经济效益和社会效益。从某种意义上讲,本书也是一本软件项目管理的专著。本书具有较强的工程实践性,内容新颖、实用。其特点是面向it企业软件开发和软件管理,面向工程应用,而不是面向学术研究。本书可作为高等学校教材或教学参考书,也可作为it企业的分析设计人员、编程人员、项目经理、技术经理、产品经理和企业主管的培训教材或参考指南。由于它的读者群体广泛,作为高校教科书,它的伸缩性强,在内容广度和深度上,教师可灵活裁剪与发挥。作者的意见是:作为本科生教材,可以讲授全部章节;作为高职高专学生教材,可不讲授有星号(*)的章节,因为这些章节内容较深,涉及的知识面较广;作为it企业的培训教材或参考指南,章节内容可以任意裁剪;作为软件爱好者的自学书籍,最好还是循序渐进,按目录顺序阅读。其他预期的读者还有it企业的各类从业人员,这些人员可以从不同角度阅读本书,并从中受益。本书可能存在这样或那样的缺陷与不足。但是,作者的初衷是希望按照本书思路学习的学生,当他们走向社会,参加软件开发或软件管理工作时,能够很快适应it企业的软件工作环境,顺利地进入各种角色,从而实现高校软件工程教育与it企业软件文化的平滑接轨。在本书的形成和出版过程中,作者要特别感谢
电子工业出版社童占梅编辑和北京师范大学教授宋继华博士,他们对本书提出了很好的修改意见。另外,作者还要感谢任甲林和张安波两位高级经理,他们分别提供了“项目管理10大原则”和“项目管理7条经验”等
资料。由于作者观点的片面性和知识的局限性,再加上著书时间仓促,所以书中的错误和缺陷在所难免,欢迎广大高校师生和it企业软件工作者批评指正,使本书的内容能有显著的改进。作者邮箱:zhaochilong@sina.com。作者
2003年1月