第4章信息系统模型 本章导读 信息系统模型是对信息系统在各开发阶段本质特征的描述。信息系统模型要从不同方 面反映信息系统,并且还要应用于信息系统开发的不同阶段,所以信息系统模型是由一组 子模型栒成的,一般包括领堿模型、需求模型、设计模型和实现模型等。信息系统建模过 程是伴随着信息系统的开发,自顶向下、由粗到细、逐步求精的过程。信息系统建模语言 是描述信息系统模型的规則符号集。UM是统一软件建模语言,具有严密地语法、语义规 范。UML采用一组图形符号来描述软件模型,并具有简单、直观、规范的特点 主要知识点 型 信息系统模型 ■统一建模语言UM
4.1模型 4.1.1模型的概念 模型是对现实的抽象或模拟,是对现实系统本质特征的一种抽象、简化和类比式的描」 述。现实系统的复杂性和内隐性,使得人们难于直接认识和把握,为了使得人们直观和明 了地认识和把握现实系统,就需要借助于模型。例如,地图是地形地貌的模型,人们通过 地图这种模型可以非常直观地了解地形地貌。有些现实系统内部结构非常复杂,人们在生 产和加工时,就需要通过模型来展现这些系统的结构和内部构成。例如,在生产汽车过程 中,需要预先设计出反映汽车构造的设计图纸,然后生产车间再根据设计图纸组织生产 设计图纸就是所要生产的汽车的模型。 模型对现实系统是一种抽象、简化和本质性描述。模型不包括现实系统的全部特征, 但它反映现实系统的本质特征。模型一定不是现实系统,模型也比现实系统简单,如果比 现实系统还复杂的模型就失去了模型的意义。所谓好模型就是既能够反映现实系统的本质 特征,又尽量地简化,同时又具有直观的表示形式。模型具有不同的抽象度,模型的抽象 程度越高,距现实系统的距离就越远,模型所考虑的因素也就越少 4.1.2模型的特征 模型不同于现实系统,模型具有以下特征: 1反映性 模型是用来描述和反映现实系统的,模型不是现实系统,人们需要通过模型来深入、 全面的理解和把握现实系统。正因为现实系统的复杂性和内隐性,使得人们采用常规方式 和途径无法全面、深入地认识现实系统,就需要通过模型来展示和把握现实系统。例如, 利用一张地图就能够很清楚地让人们从整体上宏观把握这一段区域的地形地貌情况。 2选择性 模型在反映现实系统时,总是有确定的侧重和角度。对同一个现实系统,反映的方面 不同,选择的角度不同,所建立的模型也不同。例如,医学给人体建模,消化系统、神经 系统和骨骼系统所建立的模型是不一样的,其原因就是因为建立模型时选择的角度不同。 3简化性 模型对现实系统是一种简化、类比式的反映。模型在反映现实系统时已经作了大量简 化,模型不会比现实系统还复杂,如果比现实系统还复杂,也就失去了模型存在的意义 4抽象性
模型具有抽象性ε。模型总是要把现实系统中大量的非重要细节省略去,抓住现实系统 的本质特征进行重点描述,像数学模型、逻辑模型更是以抽象的形式来描述现实系统 4.1.3建立模型 建立模型的过程被称为建模。模型对现实系统的反映不是简单地复现和照搬,而是对 现实系统的抽象。所以建立模型的过程需要认识现实系统的本质特征,并对现实系统进行 抽象和概括,然后以科学和直观的形式把模型表现岀来。建模的过程是一个反复和逐步求 精的过程。图41说明了建模的过程。 从图41可以看出,模型是用来反映现实系统的。建立模型之初,首先要深入理解建 模的需求,理解所要建立模型的现实系统,并清楚要建立一个什么样的模型。下来需要对 建模工作进行深入分析,并在分析的基础上建立起所需要的模型。建模的过程是一个逐步 深入,逐步求精的过程,对建立的模型再进行分析,通过多次反复最后建立出能够满足实 际需要的模型来。 模型分析 需求理解 建立模型 型 图41建模过程 4.14模型的类型 模型具有不同的分类方法 从抽象程度,可以把模型分为概念模型、逻辑模型和物理模型。概念模型是人们根据 所要达到的目标和人们已有的知识和经验,构造出来的一种系统雏形。它是对所描述系统 的主要特征的一种概括性描述。概念模型是最抽象的模型,一般只能表述现实系统的主要 特征,是对现实系统的一种概要式的反映。逻辑模型是在概念模型的基础上,从原理上证 明是合理可行的系统,它考虑了系统的目标合理性、结构合理性、功能合理性和实现合理 性,但逻辑模型一般不考虑实现的细节。物理模型是在逻辑模型的基础上,充分考虑环境, 并对细节都做了精心设计后,所实现的实在模型。 从形式上,可以把模型分为实体模型、结枃模型、仿真模型和数学模型几种类型。实 体模型是现实系统的物理再现,其抽象级别最低。例如用来反映城市发展规划的砂盘,美 院学生作画用的雕塑都属于实体模型。结构模型用来反映系统的结构特点和要素之间的空 间关系,软件结构图、建筑结构图等都属于结构模型。仿真模型是利用计算机程序的图形 图像显示或虚拟现实技术在计算机上模仿现实系统的外形、结构和内在特征的一类模型 数学模型是用数竽和符号来描述现实原型的各种因素形式以及数量关系的一种模型,它通 常表现为定律、定理、公式、算法等
4.2信息系统模型 4.2.1信息系统模型的概念 信息系统属于智能型系统,在信息系统之中蕴藏着大量的信息、知识、技术和方法。 信息系统无论是在开发过程中,还是在开发成功之后,都不具备其它简单物质系统的形态 外显性。信息系统这种内隐性,给信息系统的开发带来了极大的困难,使得在整个信息系 统开发过程中,人们对它难以把握和描述。为了工程化、有效地开发信息系统,人们除了 寻求有效的开发方法,严密地组织工程过程之外,还需要在开发的各个阶段,以某种有效 的形式,把信息系统描述和表现出来,这样开发人员才能够有针对性的进行交流和讨论 我们把通过确定的形式,对信息系统本质特性的描述称为信息系统建模,而所描述的结果 称为信息系统模型。 信息系统模型是对信息系统在各个开发阶段,本质特性的描述,它要反映信息系统的 不同层面和形成过程。因此,信息系统模型应该具有多种形式,一般包括领域模型、需求 模型、设计模型和实现模型等。这些模型反映了人们对信息系统认识的不同角度和深入化 程度。例如,需求模型就是从外部所观测的信息系统,而逻辑模型则是从信息系统内部, 对信息系统构成要素和结构的抽象描述。 422信息系统模型的基本内容 信息系统模型的內容和描述形式到现在还没有取得统一,它与信息系统开发方法、模 型描述语言等多种因素有关。信息系统模型是对信息系统各阶段、各方面的本质反映,它 由多个孑模型构成。信息系统模型一般包括领域模型、需求模型、设计模型和实现模型等。 图42表示信息系统模型,带把的矩形框是UML中的一个包,在此用来表示模型和子模型, 带箭头的虚线表示依赖关系,在此表示上面这个模型是由下面多个子模型所构成 图42信息系统模型的构成 1.领域模型 领域模型是为描述现行组织系统及其组织中实体的各种业务活动所建立的模型。领域
模型要概括并直观地反映组织的业务目标、业务过程、业务结构和业务行为。见图4.3 图4.3领域模型的基本内容 2需求模型 需求模型是对信息系统合理需求的抽象描述,主要包括信息系统的目标、需求结构、 系统功能等内容,见图44。 图44需求模型的基本内容 3.设计模型 设计模型被用在系统设计工作中,用来描述信息系统的设计结果,设计模型包括系统 体系结构、业务对象模型、功能逻辑模型、界面模型和数据库模型等内容。见图4.5。 4.实现模型 实现模型是对所实现的信息系统的抽象描述。在实现模型中,所实现的系统是实现模 型的顶层子系统,它由多个要实现的子系统构成,实现的子系统又呈现为层次结构,在每 个实现的子系统中可以包含其它子系统每一个子系统又由构件构成。实现模型见图4.6 对于构件的概念将在“实现与测试”一章中进行详细介绍
图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