面向对象系统建模实用教程(第二版)

面向对象系统建模实用教程(第二版) 教材名称: 面向对象系统建模实用教程(第二版)
ISBN号: 978-7-89535-108-0 作者: 段恩泽
字数: 600千字 规格: 16k
印制时间: 2023-02-01 出版日期: 2023-02-01
定价: 62 元 样章下载: 面向对象系统建模实用教程(第二版)—样章.pdf
购买地址:

本教材是《面向对象系统建模实用教程》的第二版,这版教材保留了第一版的核心内容,即按照愿景、业务建模、需求、分析和设计的软件开发过程来组织教材内容,但在内容、篇幅等方面都与第一版有很大的不同。首先,章数增加了,从第一版的6章变成了第二版的10章。其次,相应章节的内容变化和增加了。最后,改变了案例的组织方式。在第一版中,在最后一章中以两个案例介绍了软件系统的分析和设计过程。而在第二版中,将软件系统的分析与设计贯穿于每个章节之中。下面详细说明第二版与第一版的不同。
第1章的标题由第一版的“面向对象概述”变成了第二版的“面向对象建模基础”,更加突出了面向对象建模的重要性。在本章中删除了关于复用的介绍,而以建模、建模的演变、面向对象建模基本概念、软件过程模型和UML的顺序来组织本章的内容。并且,把第一版第3章的面向对象建模中关于对象和类、建模、建模的演变、面向对象建模过程等内容放在了本章中,目的在于从愿景开始就使用面向对象的方法分析领域。而在软件过程模型中与第一版一样,介绍了RUP。另外,增加了传统一维过程模型和敏捷开发的介绍,目的是让没有学过软件工程的读者对软件过程模型有一个全面的了解,突出工程化方法开发软件的重要性。而在UML中包含UML简介、UML的历史、UML的事物、UML的关系、UML的图和UML建模工具等内容,还非常详细地介绍了使用PowerDesigner建模工具创建各种UML图的方法,以及如何组织软件开发过程的各个模型,如业务模型、需求模型、分析模型和设计模型。
第一版中第2章的需求建模在第二版中细分为第2~4章,分别是愿景、业务建模和需求。第2章是愿景,本章增加了目标组织的介绍,从目标组织与领域、目标组织与软件系统等方面介绍了目标组织的情况。然后,以某高校教务部为例分别从愿景概念、定位组织、确定老大、提炼改进目标等方面介绍了愿景的内容。与第一版不同的是,在本版中给出了初级读者在定位组织、提炼改进目标等方面的常见错误案例。
第3章是业务建模,本章从业务建模过程的角度,以某高校教务部为例介绍了识别业务参与者、识别业务工人和业务实体、识别业务用例、描述业务流程的三种方法、业务流程的现状和业务流程的改进。针对业务序列图,讲述了职责的迁移,并由此优化企业流程,在流程中引入了待开发系统。这个过程保证了待开发系统完全融入企业业务。与第一版不同的是,除了总结了业务流程现状的几种情形,还在业务流程的改进中,以商店和游戏为例介绍了业务流程改进的几种情形和三种类型。
第4章是需求,本章在内容上与第一版变化不大,不同的是以某高校教务考勤系统为例介绍了如何从改进的业务流程中识别系统参与者、识别系统用例和书写系统用例规约。
第一版第3章的面向对象建模细分为第2版的第5、6、8、9章,分别是分析、系统架构设计、界面设计和类设计。第5章是分析,本章从问题域和实现域两个方面发现对象、四色原型模式、对象的类化、类的特征化、类的结构化、BCE模式和定义方法等内容。与第一版不同的是,在本章中使用了第2~4章中的同一个案例来说明面向对象建模的过程,体现了案例和项目贯穿整个教材的思想。
第6章是系统架构设计,本章先简单介绍了软件系统设计的基本情况,接着详细介绍了软件架构、常用的架构模式、系统架构设计。与第一版不同的是,除了增加了.NET中的多层架构等架构模式,还增加了MVVM架构模式在Java Web、Android和ASP.NET中的应用。
第8章是界面设计,与第一版的相关内容基本一样,只是从第一版的一个小节独立为一章,突出界面设计的重要性。
第9章是类设计,本章也是从第一版的一个小节独立为一章,并且增加了对数据结构和算法的介绍,特别是常见的算法设计的情况。
第6、8、9章中使用前面章节相同的案例说明了MVVM架构模式、界面设计和类设计。
第7章是设计模式,本章介绍了面向对象设计通用原则、面向对象设计原则、经典设计模式、MV*中常见的设计模式和过度设计。其中,第一版第5章的设计模式没有介绍面向对象设计通用原则和过度设计,并且只介绍了常见的10种设计模式,即简单工厂模式、工厂方法模式、抽象工厂模式、建造模式、原型模式、适配器模式、桥接模式、策略模式、装饰模式和职责链模式。而在本版中介绍了全部的经典设计模式。当然,本版沿用了第一版的风格,每种模式都举例说明了该模式的结构、应用和优点,只不过本版从模式动机、模式定义、模式分析、模式结构、模式实例、模式优缺点、模式适用环境、模式比较、模式应用、模式扩展等方面详细介绍了设计模式,并说明了某些设计模式在前面章节案例中的应用。
第10章是数据库设计,本章与第一版第4章的数据库建模的内容基本相同,只是更强调数据库设计范式,介绍了数据库设计范式、数据表与范式、数据库模型、规划数据库容量和分布式数据库。
每章后面配有各种习题供读者练习使用,其中,选择题、填空题、判断题和简答题的答案均可在教材中找到,所以本教材并没有给出习题的答案,以便读者进行深入阅读和思考。应用题可作为教师的课堂演示项目或者学生小组的课堂练习项目。而综合题和综合应用题可作为教师的课程教学项目,也可作为学生的课程训练项目。应用题、综合题和综合应用题都是按照一个系统贯穿整个教材的方式组织的。例如,第2~10章的综合题或综合应用题都是以某高校教务部(处)的学籍管理系统贯穿所有章节。
每章还配有课件可供教学使用。为了方便读者使用课件,第5章以二级标题或三级标题来组织课件,第7章以二级标题来组织课件,第6章还给出了Java Web、Android、.NET三种主要技术的课件。
本教材的全部章节由段恩泽老师负责完成,最后由段恩泽老师负责总稿、修订。
本教材在编写过程中从各种参考文献、许多技术网页和网站中引用了许多的观点、见解和案例,在这里表示由衷的感谢。还要感谢第一版的合作者,由于人数太多,这里就不一一列出姓名,希望相关的作者原谅。本教材在编写过程中得到了东软电子出版社刘欣等编辑的大力支持,他们为本教材的修订和出版做了大量的工作,在此表示感谢。
由于编者的水平有限,加之时间仓促,疏漏、谬误之处在所难免。敬请读者批评指正为感!如果您对本教材有什么意见、问题或想法,欢迎通过下面的邮箱告诉编者,编者不胜感激:
Email:duanenze@nsu.edu.cn
 
第1章面向对象建模基础1
1.1建模1
1.2建模的演变2
1.2.1原始建模2
1.2.2结构化建模2
1.2.3面向对象建模6
1.3面向对象建模基本概念7
1.3.1对象和类7
1.3.2面向对象8
1.3.3面向对象建模9
1.3.4面向对象建模过程9
1.4软件过程模型11
1.4.1传统过程模型11
1.4.2二维过程模型12
1.4.3敏捷过程模型17
1.5UML20
1.5.1UML简介20
1.5.2UML的历史21
1.5.3UML的事物22
1.5.4UML中的关系24
1.5.5UML中的图33
1.5.6UML建模工具49
习题52
第2章愿景55
2.1目标组织55
2.1.1目标组织与领域55
2.1.2目标组织与软件系统56
2.2愿景58
2.2.1定位目标组织61
2.2.2确定老大62
2.2.3提炼改进目标64
习题70
第3章业务建模73
3.1识别业务参与者74
3.2识别业务工人和业务实体76
3.3识别业务用例77
3.3.1正确理解业务78
3.3.2常见错误79
3.4描述业务流程的方法81
3.5业务流程的现状84
3.5.1几种情形84
3.5.2常见错误84
3.6业务流程的改进86
3.6.1改进情况86
3.6.2案例分析92
习题96
第4章需求99
4.1识别系统参与者99
4.2识别系统用例102
4.3书写系统用例规约106
4.3.1前置条件和后置条件107
4.3.2涉众利益107
4.3.3书写路径步骤的注意事项108
4.3.4扩展路径110
4.3.5补充约束110
4.4案例分析111
习题112
第5章分析116
5.1从问题域中发现对象116
5.1.1发现对象116
5.1.2对象的筛选120
5.2四色原型模式121
5.2.1四色原型模式的组成122
5.2.2案例分析123
5.2.3问题域中的原型对象125
5.3从需求中发现对象125
5.3.1需求定义125
5.3.2发现对象126
5.3.3对象的筛选128
5.3.4案例分析128
5.4对象的类化132
5.4.1对象分类132
5.4.2问题域对象的类化133
5.4.3实现域对象的类化137
5.5定义类的属性142
5.5.1定义属性143
5.5.2定义问题域类的属性145
5.5.3定义实现域类的属性147
5.6类的结构化148
5.6.1问题域类的结构化148
5.6.2实现域类的结构化154
5.7BCE模式157
5.7.1边界类建模158
5.7.2控制类建模158
5.7.3实体类建模159
5.8定义类的方法160
5.8.1定义操作160
5.8.2案例分析166
习题170
第6章系统架构设计174
6.1软件系统设计简介174
6.2软件架构175
6.2.1软件架构要素175
6.2.2软件架构风格176
6.3常用的架构模式179
6.3.1分层架构179
6.3.2MVC183
6.3.3MVP193
6.3.4MVVM197
6.4系统架构设计206
6.4.1BCE模式转换为MV*模式206
6.4.2Java Web技术架构207
6.4.3案例分析210
习题211
第7章设计模式215
7.1面向对象设计通用原则215
7.1.1信息专家215
7.1.2创建者216
7.1.3低耦合216
7.1.4高内聚217
7.1.5控制器217
7.1.6多态218
7.1.7纯虚构218
7.1.8中介219
7.1.9受保护变化219
7.2面向对象设计原则220
7.2.1单一职责原则220
7.2.2开闭原则221
7.2.3依赖倒置原则223
7.2.4里氏替换原则223
7.2.5接口隔离原则225
7.2.6迪米特法则227
7.2.7合成复用原则228
7.3经典设计模式229
7.3.1设计模式概述229
7.3.2设计模式定义230
7.3.3简单工厂模式232
7.3.4工厂方法模式236
7.3.5抽象工厂模式239
7.3.6建造者模式242
7.3.7单例模式246
7.3.8原型模式249
7.3.9适配器模式252
7.3.10桥接模式255
7.3.11组合模式259
7.3.12装饰模式263
7.3.13外观模式267
7.3.14享元模式270
7.3.15代理模式274
7.3.16职责链模式279
7.3.17命令模式282
7.3.18解释器模式286
7.3.19迭代器模式290
7.3.20中介者模式293
7.3.21备忘录模式297
7.3.22观察者模式302
7.3.23状态模式305
7.3.24策略模式309
7.3.25模板方法模式312
7.3.26访问者模式315
7.4MV*系统架构中常用的设计模式319
7.5过度设计322
7.5.1什么是过度设计322
7.5.2过度设计的后果322
7.5.3如何避免过度设计323
习题326
第8章界面设计331
习题336
第9章类设计338
9.1属性设计338
9.2方法设计340
9.3案例分析340
9.4算法设计350
9.4.1算法简介350
9.4.2设计算法352
习题354
第10章数据库设计356
10.1数据库设计范式356
10.2数据表与范式358
10.3数据库模型360
10.3.1逻辑模型360
10.3.2物理模型362
10.4规划数据库容量367
10.5分布式数据库369
习题372
参考文献374
 
2016年6月,中国成为国际本科工程学位互认协议《华盛顿协议》的正式会员,这是中国工程教育国际化进程的重要里程碑。“回归工程”、培养学生的“大工程观”是当今国际工程教育的主流理念。《华盛顿协议》对毕业生提出的12条素质要求中,不仅要求工程知识、工程能力,还强调通用能力和品德伦理;在实践上,以学生为中心,以产出为导向,注重对目标达成的支撑及持续改进,与CDIO工程教育实质等效。
CDIO工程教育是近年来国际工程教育改革的最新成果,以“预期学习结果”集合来驱动课程内容、教学方法、教育文化的设计,重视营造工程教育文化,其注重工程能力培养和基于工程项目全生命周期的一体化设计思想,对于国内工程类和相关专业的建设具有重要的实施价值。
作为承载了教学改革思想的载体,融入CDIO工程教育理念的高品质教材,东软CDIO工程教育教材在注重理实结合的同时,也注重对学生八大能力的培养,即:技术知识与推理能力,开放式思维与创新,个人职业能力,沟通表达与团队合作,态度与习惯,责任,价值观,实践构思、设计、实现和运行对社会的贡献。
CDIO工程教育教材是 CDIO教育教学改革在教学实施过程中的集中体现,它不仅承载着课程和项目的教学内容,而且贯穿和体现了CDIO工程教育的理念、思想与方法,是在系统化理论的指导下,将知识、能力、素质培养进行一体化设计,有机融合在教材体系中。教材的编写以能力培养为主线,以案例教学为引导,以项目为载体,充分体现“做中学”和“学中做”的思想,具有以下优势:
(1)以能力培养为主线,培养学生专业知识学习能力和工程实践能力。
(2)以案例为驱动,在做案例的过程中学习新知识,充分体现了“做中学”。
(3)以项目为载体,基于工程化教育方法,按照分析、设计、实施、运行展开项目及知识点的讲解。
(4)围绕专业知识结构和能力体系设计教材,实现同一专业下不同教材紧密的关联性。
(5)内容编排循序渐进,符合人的认知规律。
(6)适应柔性化教学变革,构建一体化、立体化教学资源。
CDIO工程教育教材可供以应用型人才为培养目标的高等院校以及职业培训机构作为教材使用。
目前,CDIO工程教育教材的建设还处于探索阶段,是一项创造性的工作,尚需要通过改革的实践不断加以深化和持续改进,任重而道远。