图书前言

前言

“软件工程”课程包含了一系列原理、方法和工程实践,指导人们高效、经济和正确地开发软件。软件工程理论强调从工程化的原理出发,按照标准化规程和软件开发实践来引导软件开发人员进行软件开发和过程改进,促进软件企业向标准化和成熟化发展。软件工程是一门理论与实践相结合的学科,注重通过实践来理解理论、原理与方法。为此,本书结合编者多年的软件工程教学和项目开发经验,通过项目实例分析,从不同的角度和范型循序渐进地介绍软件工程所涉及的原理、方法与技术。

本书主要内容

全书分为四部分。

第一部分: 软件工程理论基础(第1~4章)。初步介绍软件工程的基本概念、软件过程与模型、敏捷软件工程方法和需求获取。

第二部分: 结构化软件工程范型(第5~7章)。重点介绍结构化软件工程的基本概念、方法与过程,以及相关建模技术,具体包括结构化分析、结构化设计、结构化软件测试。本部分用案例进一步深化结构化软件工程范型的主要方法、建模与过程。

第三部分: 面向对象软件工程范型(第8~10章)。重点介绍面向对象软件工程范型的基本概念、面向对象分析与设计模型,以及相关建模技术与方法,具体包括面向对象分析、面向对象设计和面向对象实现与测试。本部分用案例进一步深化面向对象软件工程范型的主要方法、建模与过程。

第四部分: 软件维护与项目管理(第11、12章)。主要介绍软件维护策略与方法、软件项目管理概念与原理、软件成本估算、项目计划与管理,具体包括软件维护和软件项目管理。

本书特色

本书将传统结构化软件工程范型和面向对象软件工程范型全面对比介绍,有利于读者理解不同的软件工程范型的特点和适用的项目情况,深入理解软件工程方法的发展。本书注重于软件工程思想与方法的介绍,并通过案例分析与工具介绍,让读者理解软件工程的本质。本书还融入了研究性教学方法。

(1) 将结构化软件工程范型和面向对象软件工程范型分开来讲,并选择较为合适的案例来介绍两个范型的特点和方法,避免读者产生概念混淆和方法上的混乱。

(2) 在结构化软件工程范型部分,从过程、原理、方法和案例分析出发,介绍结构化开发的过程、原理和方法,并将其推广到面向对象软件工程范型中。通过一个需求稳定的案例介绍传统结构化开发的基本方法和操作。

(3) 针对面向对象软件工程范型,注重面向对象分析模型和设计模型的构建,强调它们之间的关系,抓住面向对象模型开发的要点,通过统一建模语言来描述分析和设计过程与模型。通过一个比较复杂的系统的案例分析介绍面向对象分析与设计的思想。

(4) 注重本科生教学实践,安排了敏捷实践结对编程的内容,让读者在理解结对编程思想的同时,分析存在的问题和寻找解决方法,并结合结对编程系统分析该系统的需求,进行设计与实现及测试。

(5) 注重案例教学,本书的案例既有简单常见的应用系统,如面对面结对编程系统和银行ATM系统,也有比较实用的系统,如超市收银终端系统。这些系统由简单到复杂,循序渐进,引导读者逐步理解系统开发的过程和关键问题。

配套资源

为便于教学,本书配有微课视频、教学课件、教学大纲、教学周历、习题答案。

(1) 获取微课视频的方式: 读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。

(2) 其他配套资源可以扫描本书封底的“书圈”二维码下载。

(3) 本书提供扩展阅读文档(软件标准化文档编写),读者可以扫描下方二维码获取。

扩展阅读

读者对象

本书可作为高等学校“软件工程”和“软件分析与设计”等课程的教材,既适用于计算机专业的学生,也适用于非计算机专业的学生。本书还可以作为从事软件开发人员的参考书。

本书内容翔实,提供较为完整的案例支持,便于读者学习和深入体会软件工程的原理与方法。不同的案例充分体现了不同的技术,突出方法的实用性。全书由窦万峰主编,郭椿可、李赞、高乐、司振发、黄天和曹心宇参与部分内容的编写和校对工作,在此对他们的辛勤工作表示最衷心的感谢。

由于作者水平有限,书中难免有疏漏之处,恳请各位读者指正。

作者2024年1月