图书前言

前    言

软件工程概念自1968年提出以来,经过了近60年的发展,工程化开发软件的思想已经成为软件行业从业人员的共识。特别是进入21世纪以后,随着移动互联网、物联网、大数据、人工智能等新技术的发展与普及,软件已深深融入国民经济和各行各业之中,成为不可或缺的基础工具。面向对象方法学在软件工程领域的应用越来越普遍,面向对象软件工程成为软件行业的主流。

软件工程涉及软件需求、分析、设计、实现、测试和维护等软件生命周期,包含了一系列原理、原则、过程、方法、工具和实践,指导人们进行工程化的软件开发。软件工程强调从工程化的原理出发,按照系统化、规范化和可量化的方法开发和管理项目,并进行过程改进。

本书分为9章:

第1章软件工程基础,介绍了软件、软件危机、软件工程、软件过程、传统过程模型、RUP、敏捷开发、软件工程工具和软件工程师的职业道德。

第2章UML,介绍了UML的历史、UML的结构、UML的事物、UML的关系、UML的图和UML建模工具。本章的案例按照业务建模、需求、分析和设计四个工作流组织,帮助读者在软件过程中使用UML建模工具,理解软件过程。

第3章软件项目管理,介绍了项目管理知识体系、风险管理、团队管理、估算成本、范围管理和质量管理等主要软件项目方面的管理。

第4章需求调研,介绍了需求和需求调研方法,本章的案例介绍了使用商业软件进行需求调研的方法。

第5章需求建模,介绍了系统用例图、系统用例规约、跟踪与变更需求,本章的最后以“58同城”为例介绍了需求建模的过程。

第6章分析,介绍了面向对象的分析方法,包括发现对象、对象分类、定义类的属性、确定类之间的关系和定义类的方法等内容。

第7章设计,介绍了软件架构设计和面向对象的设计方法,包括系统架构设计、类设计、设计模式、数据库设计和界面设计。

第8章实现和测试,介绍了面向对象的软件实现方法和软件测试方法。

第9章软件维护,介绍了软件维护的概念、软件维护活动、程序修改的步骤及副作用和提高软件的可维护性。

第4~第8章案例的组织体现了案例贯穿开发过程的思想,帮助读者在第2章UML案例的基础上熟练掌握软件开发的过程、方法和工具。此外,第7章还提供了Android游戏架构、.NET分层架构和Java Web SSM架构等多个案例,读者可根据自己的实际情况选择案例深入学习和练习。

每章后面均配备了丰富的习题,涵盖选择题、填空题、判断题、简答题和应用题,供读者强化理论理解和工程实践训练。其中,选择题、填空题、判断题和简答题等用于强化对理论内容的理解,由于答案均可在书中获取,所以本书并没有专门给出习题的答案,以便读者进行深入阅读和思考。应用题可作为工程实践训练项目,按照软件开发过程进行组织。例如,第4~第8章的应用题选择的是电商软件、租房或租车软件、游戏软件、餐饮软件、音乐软件、银行软件等行业软件,便于读者作为工程实践项目进行学习和练习。

教学建议

在把本书作为教材使用时,可参考如下教学建议。

(1) 每章的教学学时安排如表1所示。

表1  教学学时安排

章节 章节内容                                                                                             学时 合计

第1章 1.1 软件,1.2 软件危机                                                                1  12

1.3 软件工程                                                                                2

1.4 软件过程                                                                                2

1.5 传统过程模型                                                                                2

1.6  RUP                                                                                                2

1.7 敏捷开发                                                                                2

1.8 软件工程工具,1.9 软件工程师的职业道德                                1

第2章 2.1  UML简介,2.2  UML的历史,2.3  UML的结构,2.4  UML的事物            1  12

2.5  UML的关系                                                                                2

2.6  UML的图                                                                                2

2.7  UML建模工具                                                                                1

2.8 案例                                                                                                6

第3章 3.1 项目管理知识体系                                                                                1                 7                                                                               7

3.2 风险管理                                                                                2

3.3 团队管理                                                                                1

3.4 估算成本                                                                                2

3.5 范围管理,3.6 质量管理                                                                1

第4章 4.1 理解需求                                                                                2   6

4.2 需求调研方法                                                                                2

4.3 案例分析                                                                                2

第5章 5.1 系统用例图                                                                                2   8

5.2 系统用例规约                                                                                2

5.3 跟踪与变更需求                                                                                1

5.4 案例分析                                                                                3

第6章 6.1 发现对象                                                                                1   6

6.2 对象分类                                                                                1

6.3 定义类的属性                                                                                1

6.4 确定类之间的关系                                                                                1

6.5 定义类的方法                                                                                2

第7章 7.1 软件架构设计                                                                                1   10

7.2 系统架构设计                                                                                2

7.3 类设计                                                                                                2

7.4 设计模式                                                                                2

7.5 数据库设计                                                                                2

7.6 界面设计                                                                                1

第8章 8.1 软件实现                                                                                2    6

8.2 软件测试                                                                                4

第9章 软件维护                                                                                                1    1

总计                                                                                                                        68

对于第2章UML、第3章软件项目管理、第8章实现和测试,不同的专业可根据具体情况酌情安排教学内容与学时。

(2) 本书提供了课件供教学使用。为了方便读者使用课件,每章以二级标题来组织课件。

(3) 教师可使用本书中的案例作为课程的教学项目,也可以从每章的习题中选择项目作为课程的教学项目。为了使教学更加顺利地进行,建议学生组成小组或团队进行学习。这样可在训练学生面向对象建模能力的同时,培养学生的团队协作和交流沟通能力。学生项目可以从每章的习题中选择或学生自己选择。

本书由成都东软学院的段恩泽编著,在写作过程中从各种参考文献、技术网页和网站中引用了许多观点、见解和案例,在这里向原作者表示由衷的感谢。限于编者水平,书中难免存在不足和疏漏之处,恳请广大读者给予批评指正。

本书PPT教学课件、习题参考答案等教学资源可通过扫描下方二维码下载。

编者   

2025年1月