图书前言

人类已经进入信息时代,在这个信息化环境中,软件产业受到了高度重视,也得到了空前发展,软件已经成为信息技术的核心和灵魂。软件开发不再只是软件专业学生必须掌握的知识和专有技能,而变得更加大众化和普遍化。同时,随着软件应用的广泛化与内部功能更新的频繁化,也要求软件开发必须遵循工程化和规范化的思想,唯此方能适应软件开发的要求。

对于初学者而言,什么叫软件生产的工程化?在开发过程中应该遵循怎样的步骤?系统分析、设计及测试等的具体内容是什么?必须编写什么文档?文档的规范格式是什么?评议文档的基本标准是什么?等等,都是很空泛、很抽象的概念。虽然学生在理论课上学习了,但是对于这些理论在实际工作中该怎样运用,很多学生依然是一头雾水,不知从何处下手、该怎样做。相信担任软件工程课程教学工作的很多教师在教学中都有与上述类似的经历和感受。目前已出版的软件工程方面的教材非常丰富,但课程实践指导类教材并不多,且基本上单纯以案例的介绍为主,案例所描述的项目过于复杂,学生不熟悉,缺乏感性认识,理解起来有一定困难,特别是对于一些非计算机专业的学生而言,欠缺很多软件方面的专业基础知识,学习使用这些教材难度更大。所以,编写一本集主要理论和实践练习指导于一体的实践指导教材是十分需要的。

有鉴于此,我们结合对软件工程的了解与感悟以及多年的教学体会与经验,将软件工程中最基本的概念、生存周期理念与开发过程、常用技术、主要模型和成果描述工具进行了回顾,用简明易懂的语言加以集中的介绍,读者即便未系统、完整地学习过软件工程理论知识,通过阅读学习第1章,也可以对软件工程有一个初步认知。软件的组成要素之一是文档,编写系统分析、系统设计和测试文档是软件开发最基本的工作,通过阅读第2章,读者能够了解这几个重要文档的规范模板,减少自己搜集的麻烦,同时避免出现因认识上的缺漏而导致书写内容不完整的情况。第3章主要是为教师提供文档评判的基本准则,同时也可以为文档编写者更好地编写文档提供参考。通过阅读第4章的文档实例,读者能够对实际文档的编写方法获得完整的感受和认识,并以此作为今后项目开发实践的参考资料。第5章列出了8个小规模软件项目的基本需求说明,主要是为学生参加软件工程实践选择项目时扩大视野并确定基本任务要求提供依据和参考。

本书由马小军主编,负责本书的结构组织和统稿,张玉祥、廖礼萍、张冰〖1〗软件工程项目案例与实践指导前言[3]〖3〗峰参与编写。其中第1章由马小军编写,第2章由廖礼萍、马小军编写,第3章由张玉祥编写,第4章由马小军、廖礼萍编写,第5章由张冰峰编写。另外,本书的编写也得到了钟素芬老师和郑永荣同学的大力支持和协助,梁晔和付百文二位老师也对本书案例的叙述提供了资料和参考意见,在此一并表示感谢。

在本书的编写过程中,参阅了大量的文献和资料,在此向这些文献资料的作者致以衷心的感谢。

本书的编写以北京联合大学信息学院软件工程实践平台课教学改革为依托,所述内容具有如下特点: 

(1) 突出实用性与实践性;

(2) 力求结构编排新颖,内容规范简捷,语言精练易懂;

(3) 所选案例是学生熟悉且有切身感受的;

(4) 文档系统化,且分别采用了结构化和面向对象技术,便于对这两种主流技术及应用的学习和理解。

(5) 书中所有图形(除界面截图以外)均是用Microsoft Visio 2003或Rational Rose 2003绘制的。

本书既可作为高等院校相关专业本科生软件工程课程实践的教材或参考书,也可作为项目管理人员、应用软件开发人员和专业技术人员编写技术文档的参考资料。

我们希望读者通过阅读本书,初步了解软件工程的理念,体会技术和工具的使用,特别是希望本书能够给学习者独立从事一个小型软件项目的开发提供参考和帮助。但由于时间关系且作者水平有限,在书中难免会存在问题和不妥之处,真诚地希望读者能够提出宝贵的意见和建议,以帮助我们逐步完善和修正。

编者2013年3月