第2版 前言
从简单的单机桌面程序设计到复杂的多层企业级系统开发,我们如何与客户沟通,了解客户对系统的需求?开发人员之间如何沟通、共享设计?为解决这些问题,并确保系统的各个部分能够无缝协作,我们需要为系统建模。可视化建模是开发人员及其团队获得系统完整设计蓝图的理想方法,是理解复杂问题和相互交流的一种有效手段。开发人员通过系统模型可以改善与客户及团队内部的相互沟通,便于管理复杂事物、定义软件架构、实现软件复用以及掌握重要的业务流程。
UML(统一建模语言)是系统开发的标准建模语言,它主要以图形方式对软件系统进行分析和设计。UML是在多种面向对象分析与设计方法相互融合的基础上形成的,它融合了Booch、OMT和OOSE3种方法中的基本概念,而且进行了进一步的发展和完善,并最终成为标准的建模语言。
目前常用的可视化建模工具有Rational Rose、Rational Systems Developer和Visio。Rational Rose最初由美国的Rational公司开发。2002年,Rational公司被IBM公司收购。Rational Rose是一种基于UML的可视化建模工具,是当前业界最常用的可视化开发工具之一,Rose把UML有机地集成到面向对象的软件开发过程中,不论是在系统需求分析阶段,还是在系统的分析与设计、实现与测试阶段,它都提供了清晰的UML表达方法和完善的工具,方便建立起相应的软件模型。Rational Rose易于使用,支持使用多种构件和多种语言的复杂系统建模,利用双向工程技术可以实现迭代式开发,为团队开发提供强有力的支持。Rational Systems Developer软件是IBM公司开发的一种设计和开发工具。它充分利用了Eclipse平台的全部功能,另外还包含了一些第三方开发的插件。这些插件支持软件架构设计师和模型驱动系统的开发人员使用统一建模语言(UML 2.x)来创建架构良好的C/C++、Java J2SE和基于Corba的应用程序,主要用于软件架构分析和Web开发等场合,其他功能与Rational Rose类似。Office Visio 2010是Microsoft公司开发的一款软件,它便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流,使用具有专业外观的Office Visio 2010图表,可以促进对系统和流程的了解,深入了解复杂信息,并利用这些知识做出更好的业务决策。
本书主要特色和创新如下。
(1)通过先进的建模工具、完整的软件模型、系统的UML知识,让读者学会应用UML知识,构思软件模型,绘制UML图。
本书选用Rational Rose 2003进行软件建模。单元1~单元6主要分析和实现应用系统每个模块的软件建模,单元7主要分析和实现C/S应用系统的建模,单元8主要分析和实现Web应用系统的建模,单元9主要实现UML软件模型。
(2)面向教学全过程设置了9个合理的教学环节,形成3条主线。
每个教学单元面向教学全过程设置了9个合理的教学环节:教学导航-前导训练-引例探析-知识疏理-方法指导-引导训练-同步训练-单元小结-单元习题。全书隐性形成了3条主线。第1条主线是UML的基础知识-软件模块建模-软件系统建模-Web系统建模-软件模型的实现。第2条主线是技能训练和素质培养主线,每个单元都设置3个技能训练环节:前导训练、引导训练和同步训练。前导训练环节主要完成承前启后的训练任务,巩固前面各单元介绍的UML图,引导读者应用已具备的技能绘制UML图;引导训练环节引导读者渐进式完成UML建模的操作任务,重点训练使用Rational Rose 2003绘制本单元介绍的UML图,在完成训练任务的过程中理解UML及软件建模的理论知识,训练其创建软件模型的技能;同步训练环节参照引导训练的方法,读者自主完成类似的建模任务,达到学以致用、举一反三的目的。第3条主线是教师组织教学主线,每一单元从引例探析入手,系统讲解一种或多种UML图,分析建模方法,注重知识的系统性和条理性。
(3)在真实的软件模型构建过程中掌握知识、训练技能、积累经验、固化能力。
本书让读者亲身体验两个系统(图书管理系统和网上书店系统)和多个软件模块模型的构建过程,在软件模型构建过程中系统掌握UML理论知识和在Rational Rose 2003中绘制UML图的方法。这样做的目的是让读者在学习UML知识的过程中,亲身利用UML来逐步构建UML模型,模型构建完成后,留在大脑中的不是一堆抽象的符号和理论知识,而是一个整体、鲜活的UML模型,是读者自己构建UML的知识体系。
(4)本书强调以练为主、讲练结合、做中学、做中会。
UML模型的构建并不是看会的、听会的,而是练会的。如果只是简单地介绍UML的理论知识、Rational Rose 2003的使用方法,从概念到概念,从理论到理论,即使能够将UML硬塞进大脑,也不过是一些抽象的符号,难以用它来自如地建模。只有构思模型、创建模型的体验,才会有真知灼见。
有必要说明的是,UML模型设计是一个迭代过程,要不断循环往复才能完成。某一特定阶段能够获得的信息通常是局部的,模型要随着设计活动的进展适当调整,本书所构建的模型只是系统分析和设计阶段的结果,而且一个拟建系统最后完成的结果也会因人而异,不同的设计往往会有不同的结果。软件模型的构建并无“标准答案”,本书所构建的软件模型只是一孔之见,仍有不完善之处,仅供参考。
本书的软件建模环境为Rational Rose 2003;单元9的界面设计和代码编写环境为Visual Studio 2008,使用C#编写程序;数据库创建环境为SQL Server 2005或SQL Server 2008。
本书由陈承欢教授编著,中山职业技术学院的丁铁,南京化工职业技术学院的周胜,广东科贸职业学院的孙继红,湖南铁道职业技术学院的宁去智、冯向科、颜谦和、刘荣胜、林东林、南通理工学院的陈莉莉和卫丽华,四川航天职业技术学院的郭华,云南林业职业技术学院的远俊红,湖南工业职业技术学院的刘曼春等多位老师参与了案例系统的开发、优化,以及部分单元的编写、校对和整理工作。
由于作者水平有限,书中疏漏在所难免,敬请广大读者批评指正,愿与读者共同探讨、共同进步。
编著者
2015年4月