
前言
软件工程是研究软件开发和软件管理的一门工程科学,是计算机应用及软件工程相关专业的主干课,也是软件分析设计人员、程序开发人员、软件测试人员、软件管理人员、软件售前和售后工程师、软件高层决策者必不可少的专门知识领域。本书作者根据多年的软件企业开发和高校教学的交叉从业经验,按照IT企业软件研发思路的工作流程,面向工程实践安排了书中的章节次序,采用大量工程应用案例和图表,用IT企业生产软件和管理软件的模式,构架了软件工程和软件项目管理的新体系。本书第1版和第2版分别出版于2003年和2006年,由于其独特、新颖、实用的内容和实践体系而受到众多高校师生的欢迎,并入选普通高等教育“十一五”国家级规划教材。
在即将进入“十二五”规划之际,教育部已开始实施“卓越工程师”计划,为高等工程教育带来了新的活力。一方面,目前的高校教育改革更加注重学生素质和能力的培养,更加注重工程应用和创新,更加注重实践课程和课程设计,专业课程学时也有不同程度的压缩。另一方面,目前我国高校理工科大学有研究型、工程型、应用型三种类型,其比例分别为5%,15%和80%,对高校人才进行分类培养是大势所趋。为此,本次第3版教材的修订,明确定位面向工程型和应用型高校,对内容进行了精心提炼和修改,由16章压缩为10章,去掉了不少陈旧内容,增加了许多新思想、新方法、新技术和新工具的内容,它比第2版更具科学性、先进性、工程性、实用性,更贴近高校师生的实际需求,更能体现软件企业目前的真实应用。
本书内容及特色
全书共分10章,适合于课堂教学。
第1章软件工程的内容与方法,用简练的笔触介绍了软件、软件工程、软件工程学科体系、软件工程方法论、软件工程实践论和软件开发标准、企业文化等内容。
第2章软件生命周期与开发模型,用形象的语言阐述了瀑布模型、增量模型、原型模型、迭代模型、螺旋模型、喷泉模型、XP模型的本意、特点、选择条件,并且论述了各种模型之间的联系与区别。
第3章软件立项与合同,说明软件项目或软件产品的源头是立项或签订合同,介绍立项和签订合同的方法,以及项目招标、投标概念,并且给出实用的《投标书》编写参考指南。
第4章软件需求分析,结合“图书馆信息系统”应用案例分析,论述了面向流程的需求分析任务和需求分析技巧,以及“面向过程、面向元数据、面向对象”三种需求分析方法,还阐述了这三种方法的三种不同描述工具。
第5章软件策划,论述软件策划方法,重点介绍软件项目工作量和开发费用的各种估计方法。
第6章软件建模,提出“功能模型、业务模型、数据模型” 三个模型的建模思想,以及这“三个模型”的描述方式与UML“用例图、时序图和类图”等图之间的关系,并且分析了“混凝土公司信息系统”典型应用案例。另外,还提出了数据模型设计中的“第三者插足”模式与“列变行”模式。最后还给出了“某省级新华书店信息管理系统”综合应用建模案例分析。
第7章软件设计,通过图、表、实例介绍了软件设计原理,讨论了“功能模型、业务模型、数据模型”的建模思想,与“浏览层、业务逻辑层、数据层” B/A/S三层结构设计思想之间的对应关系,详细论述“面向过程、面向元数据、面向对象”三种设计方法,提出了面向对象设计的具体实施步骤。
第8章软件测试,介绍软件测试V模型,详述软件测试中常用的黑盒测试、白盒测试和灰盒测试技术,以及测试用例的设计方法。
第9章软件实施与维护,阐述了软件实施的主要工作是实现软件产品的客户化,以及软件维护的最新方法。
第10章软件管理,论述软件管理是面向过程的,管理的主要模型是CMMI,管理的中心议题是软件配置管理、软件质量保证和软件项目管理。软件配置管理是基础,软件质量保证是核心,软件项目管理是关键。
本书适合作为高校计算机、软件工程、电子信息、信息与计算科学、信息管理与信息系统等专业大学教材,也可作为IT企业培训教材或软件工作者的自学读物。
教学安排建议及教学服务
建议先修课程:数据结构、面向对象程序设计、操作系统、编译原理、计算机网络和数据库原理与应用等。
建议理论教学时数:48~64学时。
关于实践环节:配套软件工程实践课程,建议48 学时。本书配套出版《软件工程实践教程(第2版)》,介绍开发工具Power Designer,Rational Rose,并给出了三个应用开发项目——“网上投票系统(.NET平台)”、“网上论坛系统(J2EE平台)”和“学生信息管理系统(VB平台)”。
其他教学服务:本书电子课件、习题参考答案、软件文档模板、实践课程三个项目程序源代码等可登录华信教育资源网http://www.hxedu.com.cn免费注册下载。
本书第3版由赵池龙、杨林主编,孙玮、姜义平、王希编著完成。
在本书第1,2 版的成书过程中,得到了众多领导、师友的热情支持和帮助,他们分别是北京师范大学珠海分校彭望琭、罗运纶、陈星火、倪玉华、孙颖楷老师,任甲林、张安波、蔡勇和贺志军工程师,以及北京师范大学宋继华和电子工业出版社童占梅,在此一并对他们表示衷心的感谢!
由于软件工程作为工程学科正处在发展与变化之中,加之作者的技术和写作水平有限,书中难免存在这样或那样的不足、不妥或错误之处,真诚希望得到有关专家和读者的指正与帮助,反馈意见请发至作者的电子邮箱:zhaochilong@sina.com,todoubaba@gmail.com,jyp2006@163.com。
编著者
于北京师范大学珠海分校