内容提要:    本书是为计算机专业的本科生编写的软件工程教科书。它在一个软件工程学总体的框架下来一一介绍软件工程所涉及的重要的话题,章节的编排遵循一个软件产品的生命周期中所要进行的所有活动的顺序。首先概述了软件工程的概念,包括一些重要的生命周期模型以及软件项目管理的技术和概念。接下来详述了软件项目的需求分析、设计、建模及编码和测试等内容。最后描述了软件的质量管理、维护、复用等问题;同时也解释了近年来发展起来的CASE工具的基本概念。此外,每章都提供了大量的练习来帮助学生了解对本章内容的掌握程度。    本书不仅适合计算机专业的本科生作为教材使用,同时也适合从事计算机软件业的广大工程技术人员。
本书是为计算机专业的本科生编写的软件工程教科书。软件工程是一个快速发展的领域,当笔者在克勒格布尔印度科技学院执教时,就感到有必要编写一本教科书,向学生们系统地讲解与当前最新的技术发展水平相关的话题,同时还要从工程师的角度来介绍这些话题。因此书中有一部分内容是基于笔者自身的实践经验的,而这些经验则是从笔者参与的数个领域的软件开发项目中得到的。 本书首先介绍了软件工程的概念,第2章描述了重要的生命周期模型;这一章涵盖了软件开发中公认为对于软件项目的成功至关重要的所有阶段。第3章介绍并讨论了软件项目管理的技术和概念。第4章重点介绍了需求分析和规约;这一章讨论了形成需求规约的不同方法,即作为一种形式需求规约技术的代数规约的必要功能。第5章着重介绍了软件设计的一些重要方面。第6章则介绍了与传统的面向功能的设计相关的结构分析/结构设计(SA/SD)方法。第7章介绍了UML及使用UML进行对象建模的方法。第8章描述了面向对象的软件开发。第9章引入了一些和用户界面设计相关的基本概念、技术和方法;这一领域目前已经取得了空前的发展,而学生们须得了解一个良好的用户界面设计所涉及到的不同元素,这是很重要的。第10章讨论了编码和单元测试技术,详尽介绍了集成和系统测试技术——这些是主要的质量控制活动。因此第11章整章都在论述软件质量保证相关的各个方面,以及ISO 9000和软件可靠性模型。因为在一门软件工程的课程中,这些是让学生了解基本的质量概念所必需的。在第12章中,学生们将会了解到CASE工具的基本概念,但不会深入探讨任何特定的CASE工具。最后,第13、14章介绍了软件维护、复用的问题。 使用这本教材的学生应当至少精通一种高级编程语言和一种低级编程语言。同时还应当掌握有关操作系统、系统编程、编译器编写和计算机体系结构的一些基本知识。 本书主要通过小型的例子,而不是单个很长的例子,来说明一些重要的概念。本书的每章末尾还有很多练习,可以强化本章所学知识原理和软件工程的技术。 真诚地希望这本书能够对你们有用,而且能够促使你们上进。