图4.5设计模型 图4.6实现模型 4.23信息系统建模方法 信息系统建模方法与信息系统开发方法有密切的关系,信息系统开发方法规定了信息 系统模型的形式和内容,以及建立信息系统模型的方法,信息系统建模方法是信息系统开 发方法中的主要内容。信息系统建模方法可概括为面向功能的建模方法,面向数据的建模 方法和面向对象的建模方法三种类型 1.面向功能的建模方法 面向功能的信息系统建模方法是与面向功能的信息系统开发方法相对应的建模方法, 该方法将通过对信息系统功能的深入分析,分步、分层地建立信息系统模型。这类方法的 特点是,把建模的侧重放到信息系统功能上面,通过对系统功能的分析和分解,最后确定 岀信息系统的模型。这种建模方法建立的模型与信息系统的需求、设计、实现等开发工作 相对应,需要建立需求模型、设计模型和实现模型等。在面向功能的开发方法中,建立的 6
需求模型用数据流图和数据字典来描述,设计模型用软件结构图和模块图、HPO图来描 述,实现模型用程序流程图来描述 2.面向数据的建模方法 面向数据的信息系统建模方法是与面向数据的信息系统开发方法相对应的建模方法。 这种建模方法把着眼点放到信息系统所处理的数据上面,通过对信息系统所加工和处理的 数据及其数据结构的分析,确定出信息系统的需求和软件结构。比较有影响的面向数据的 建模方法是JSD方法所规定的一整套建模方法,该建模方法分为需求、分析和设计三个阶 段。需求阶段通过对实体活动和实体结构的分析建立实体结构图,在设计阶段需要在实体 分析的基础上确定出系统的功能和加工处理时序,并从而得出系统的程序结构图 3.面向对象的建模方法 面向对象的信息系统建模方法是与面向对象的信息系统开发方法相对应的建模方法。 该方法的基本思想是采用与人的思维方式相一致的,直接面向客观事物,面向所要解决的 需求问题,并用一套对象、类、继承、消息等机制开发信息系统的系统化方法。该方法要 求在信息系统开发过程中通过用例图、类图、活动图、顺序图、状态图、构件图和配置图 等图形建立信息系统的需求、逻辑、设计、实现等模型。 4.24信息系统建模过程 信息系统建模过程伴随着信息系统的开发过程。信息系统冇多种子模型,因此,在信 息系统开发的不同阶段需要有侧重和针对性地建立适合各阶段特点的子模型。信息系统各 子模型的建立不是顺序过程,而是迭代和重复的过程。在一个时期可能同时在建立多个子 模型。信息系统建模过程是一个自顶向下、由粗到细、逐步求精的过程。信息系统建模过 程可以由图4.7直观地反映出来 初始 构建 领域分析 建立领域模型 需求分析 立需求模型 系统设计 甚立设计模型 实现 建立实现模型 测试 细化迭代1:选代21 图47信总系统建模过程
在信息系统整个开发过程中需要建立领域模型、需求模型、设计模型和实现模型,必 要时,测试工作也应建模 4.2.5信息系统建模语言 信息系统建模语言是描述信息系统模型的规则符号集。信息系统建模语言与信息系统 的开发过程和开发方法有关,不同的开发过程规定了不同的开发步骤和开发工作,不同的 开发方法规定了不同的建摸语言。像面向功能方法中的结构化方法就釆用数据流图来描述 系统的需求和功能,用结构图描述系统设计方案。在1997年以前,面向对象方法就有50 多种,每一种方法的建模语言都不一样。建模语言的不统一,给信息系统开发造成了极大 地困难和混乱。针对这一问题, Rational公司集结三位在软件开发方法领域具有深入研究, 并分别提出了OMT、 Booch和OOSE方法的 Rumbaugh, Booch和 Jacobson,通过对现 有的各种建模语言进行分析归纳,在此基础上提出了适应于所有软件开发的统一建模语言 UML。UML已经成为软件建模语言的标准。信息系统的开发本质是软件开发,所以软件 的开发方法和建模语言可以应用于信息系统的开发和建模。本书主要采用UML作为信息 系统的建模语言,但在领域模型、数据模型等方面会对UML进行一定的修改和补充。 4.3统一建模语言UML 4.3.1UML概念和特点 UML( Unified Modeling language)作为种统一的软件建模语言具有广泛地建模能 力。UML是在消化、吸收、提炼至今存在的所有软件建模语言的基础上提出的,集百家之 所长,是软件建模语言的集大成者。UML还突破了软件的限制,广泛吸收了其他领域的建 模方法,并根据建模的一般原理,结合了软件的特点,因此具有坚实的理论基础和广泛性。 UML不只可以用于软件建模,还可以用于其他领域的建模工作。 UML立足于对事物实体、事物性质、事物关系、事物结构、事物状态、事物动态变 化过程的全程描述和反映。UML可以从不同角度描述人们所观察到的软件视图,也可以描 述在不同开发阶段中的软件的形态。UML可以建立需求模型、逻辑模型、设计模型和实现 模型等,但UML在建立领域模型方面存在不足,需要进行补充, 作为一种建模语言,UML有严密地语法、语义规范。UML建立在元模型理论基础上 包括四层元模型结构,分别是基元模型、元模型、模型和用户对象。四层结枃层层抽象, 下一层是上一层的实例。UML中的所有概念和要素均有严格的语义规范 UML釆用—一组图形符号来描述软件模型,这些图形符号具有简单、直观、规范的特 点。开发人员学习和掌握起来比较简单;所描述的软件模型,可以直观地理解和阅读;由 于具有规范性,所以,能够保证模型的准确、一致 4.32UML的构成
UML提供了描述事物实体、性质、结构、功能、行为、状态、关系的建模元素。并 通过一组图来描述由建模元素所构成的多种模型。 1.UML的视图 UML提供四种视图来展示软件在开发过程的不同阶段的模型,这四种视图作为四个 视角,从不同侧面展现软件,使人们对软件有一个全面地把握。四种视图分别是用例视图、 逻辑视图、构件视图和部署视图 用例视图是向用户和开发人员展现的视图,主要展现软件能够向外部提供的功能,所 以,用例视图也被称为功能视图。用例视图用于描述软件和信息系统的需求,对需求进行 建模。用例视图中包括包图、用例图、类图、活动图、状态图等。其中包图用来对需求结 构进行建模。用例图是用例视图中最重要的一种图,用来描述系统功能。在用例视图中有 时也需要用类图来描述业务对象的关系,用活动图描述一些事务的处理流程,用状态图描 述复杂业务对象的状态及其变化 逻辑视图描述软件和信息系统逻辑结构和逻辑组成,是对系统的分析和设计的建模 逻辑视图中包括包图、类图、顺序图、活动图、状态图等。包图用来建立软件的体系结构, 类图描述系统的各种实体类、界面类和控制类的组成、关系和结构。顺序图描述为实现用 例图中规定的功能,系统相关构成要素之间的动态消息联系。活动图可以用来描述类中操 作的算法流程,状态图描述类的状态。 构件视图是对软件的实现建模。描述软件的构件以及构件之间的相互关系。 部署视图描述软件和信息系统硬件的物埋配置和结点布局 逻辑视图 用例视图 构件视图 部署视图 图48UML视图 2.UML的模型元素 模型元素是模型的基本要素,每个模型元素有其确定的含义,称为模型元素的语义。 模型元素有名字和表示该模型元素的符号,并且应该遵循确定的建模规则。同一个模型元 素可以出现在不同的图中 UML中的模型元素可以分为结构类、行为类、分组类和注释类四种类型。 (1)结构类模型元素 结构类模型元素用来描述软件模型的中静态要素,UML共定义了七种结构类模型元 素。见图49
类和主动类 接口 用例 协作 构件 结点 图49UML的结构类模型元素 ●类描述具有一组相同属性、相同操作、相同关系的对象。在图形上,类用带有类 名、属性和操作的矩形框来表示。对象是类的实例,表示与类相同,对象的名字用下划线 以与类相区别 ●主动类其对象至少拥有一个进程或线程的类,它能够启动控制活动。在分布式或 多机系统中,同时会有多个并发执行的类,每一个处理单元上应该至少有一个主动类,以 启动并控制该单元的执行。主动类与类的表示相同,其区别是边框比一般类粗。 ●接口描述一个类或一个构件的服务操作集。接口定义了一组操作的描述,而不是 操作的实现,接口用小圆圈表示。 例描述系统提供的一个功能。用例用含有用例名字的椭圆表示。 协作定义了一次交互,是由一组通过共同工作以提高某协作行为的角色和其他元 素构成的一个实体。一个类可以参与几个协作。协作用包含协作名字的虚线椭圆表示 ●构件软件的构成件,一个类,一个动态链接库,一张数据表都可以是构件,构件 用带两个小方框的矩形框来表示 ●结点表示能够独立运行的物理计算单元,可以是一个物理结点、客户机或服务器, 结点用小立方体表示。 (2)行为类模型元素 行为类模型元素用来描述动态行为,UML提供了交互和状态机两个行为类模型元素。 ●交互描述对象之间交互的消息,通过消息来传递一个交互信息。 ●状态机一个对象在其生命周期中所经历的状态序列,状态机涉及到状态、转移和 事件。 (3)分组类模型元素 UML中分组模型元素是包,通过包来把若干个模型元素组织成为一个子模型 (4)注释类模型元素 用来说明和标注其他模型元素。注释类模型元素只有一个,用摺角的矩形框表示。 10