软件工程是指导计算机软件开发和维护的学科。软件工程采用工程的概念、原理、技术和方法,把良好的技术方法和正确的管理方法结合起来开发软件。软件工程学已成为计算机科学与技术专业的一门重要学科。
依据培养应用型人才的要求,编者在多年从事软件工程学教学和软件开发实践的基础上,参阅大量国内外有关软件工程的教材和资料,编写而成。本书着重从实用角度讲述软件工程的基本概念、原理和方法,系统地介绍目前较成熟的、广泛使用的软件工程技术。
通过本课程理论教学与实践环节的结合,读者能基本掌握结构化方法和面向对象方法等软件开发技术;学习如何系统地、规范地开发和维护软件;合理地安排软件开发和维护的过程;培养和提高软件开发和维护的能力;规范地书写软件工程的文档资料;提高软件开发过程的效率和质量。
本书的特点如下:
(1)语言流畅、深入浅出、详略适当,可读性好、应用性强、易于理解。
(2)引入软件工程较新的技术。如,软件过程,人机界面设计,面向对象技术,统一建模语言UML,估算软件开发工作量的COCOMO2模型,统一软件开发过程RUP,软件重用技术等。
(3)每章列出主要内容、重点和小结,配有经过精选的适量例题和习题,附录中有选择题和填空题的答案,便于读者对内容的学习和理解。
(4)书中介绍了软件工程各阶段文档书写的规范,使读者在开发软件时有参考依据。
(5)针对软件开发的实际需要,介绍了数据代码设计的原则和方法。
(6)介绍为读者容易理解的软件开发实例——招聘考试成绩管理系统,使读者对软件开发的全过程有感性认识,并附有实习思考题。
实用软件工程在程序设计语言、数据库原理、数据结构等专业课之后,毕业实习、毕业设计之前开设。
课程的教学重点如下:
(1)软件工程的结构化方法(结构化分析、结构化设计和结构化程序设计);
(2)面向对象方法与UML;
(3)软件测试;
(4)软件质量保证。
实用软件工程课程,建议理论学习为45~50学时,并适当安排实践环节。通过软件开发的实际训练来培养和提高学生开发、维护软件的能力。
软件工程实践环节可要求学生完成一个难度适中的软件设计课题。时间安排上,可集中2~4周进行课程设计,也可在理论教学的适当阶段同步安排实践环节,分阶段逐步完成课题。
本书可作为应用型本科计算机相关专业的教材,也可供从事计算机软件开发及应用的广大科技人员参考。
书中难免存在错误和不足之处,敬请读者批评指正,编者不胜感激。
编 者
2006年4月