基于UML的糖尿病临床营养膳食配置专家系统的设计

时间:2022-09-29 09:06:35

基于UML的糖尿病临床营养膳食配置专家系统的设计

摘要:统一建模语言(UML)是一种面向对象建模语言的标准。该文以糖尿病临床营养膳食配置专家系统为原型,利用UML的技术和方法,对系统进行分析和设计。

关键词: 糖尿病临床营养膳食配置;专家系统;统一建模语言

中图分类号:TP182文献标识码:A文章编号:1009-3044(2011)09-2081-04

UML-based Clinical Nutrition Diet for Diabetes Expert System for Configuration Design

YANG Ke-rong1, HAN Xing-shun2, LIU Ying3

(1.Zunyi Medical College, Zunyi 563000, China; 2.Guizhou College of Finance and Economics, Guiyang 550004, China; 3.Zunyi Centers for Disease Control and Prevention, Zunyi 563000, China)

Abstract: Unified modeling language (UML) is an object-oriented modeling language standard. In this article, the prototype that diabetes clinical nutrition dietary configuration expert system, based on UML technology and methods to analysis and design the system.

Key words: diabetes clinical nutrition dietary configuration; expert system; unified modeling language

UML(Unified Modeling Language)作为面向对象分析与设计的一种标准,有助于解决系统设计与开发过程中各类人员(系统分析师,软件设计员,客户,用户等)之间相互交流困难的难题。UML是面向对象分析与设计方法的发展的高潮产物,它融入了软件工程领域的新思想、新方法和新技术,还支持从需求分析开始的软件开发的全过程,最终统一为大众所接受的标准建模语言[1]。

本文把面向对象的设计方法运用于B/S结构的软件系统中,利用Sparx Systems 的Enterprise ArchitectUML工具完成B/S结构的糖尿病临床营养膳食配置专家系统的UML建模;通过这种基于UML的内聚式、迭代式的建模设计,清晰展现系统的逻辑和框架结构,并设计出一套 B/S 模式糖尿病临床营养膳食配置专家系统的UML模型。

1 UML简介

UML是一种可视化的、通用的、离散的建模语言,它能够让系统构造者用标准的、易于理解的方式建立起能够表达他们设计思想的系统蓝图,并且提供一种机制,以便于不同的人之间有效地共享和交流设计成果。

每一种UML 的视图都是由一个或多个图组成的,一个图就是系统架构在某个侧面的表示。统一建模语言按面向对象的思想,其过程大致可以分成三个环节:用例建模、静态建模、动态建模。它们从不同的角度形成系统的不同视图,一类为静态视图, 包含用例图、类图、对象图、包图、组件图和配置图。另一类为动态视图,包括状态图、活动图、顺序图和协作图[2]。

Enterprise Architect的UML可视化建模系统支持从系统需求、系统分析到系统设计的整个建模过程。在需求分析阶段, UML可以通过用例模型来捕获用户需求。通过需求建模,描述对系统感兴趣的外部角色及其对用例的功能要求。在分析和设计阶段,通过UML的静态建模和动态建模对问题域的对象建模,描述类的属性、类之间的关系、系统动态特征。编码是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。 UML模型还可作为测试阶段的依据。同 UML还支持对系统体系结构的建模。

2 专家系统简介

2.1 什么是专家系统

在一般意义上,专家系统是指一个含有某个领域专家的大量的专业知识与专业经验的智能计算机程序系统,它的智能化主要表现为能够在特定的领域内模仿人类专家思维来求解复杂问题。例如,一个医学专家系统就能够像真正的专家一样,诊断病人的疾病,判别出病情的严重性,并给出相应的处方和治疗建议等。专家系统的基本结构如图1所示,其中箭头方向为数据流动的方向。

2.2 专家系统的构成

专家系统通常由、知识库、推理机、解释器、综合数据库等构成。其中:

1)知识库:用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库中知识的质量和数量决定着专家系统的质量水平。

2)综合数据库:专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。

3)解释器:能够根据用户的提问,对结论、求解过程做出说明,能够向用户解释专家系统的行为,包括解释推理结论的正确性以及系统输出其它候选的原因。

4)推理机:针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。

5)人机界面:能够使系统与用户进行对话,使用户能够输入必要的数据、提出问题和了解推理过程及推理结果等。人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。

3 糖尿病临床营养膳食配置专家系统的UML设计

3.1 糖尿病临床营养膳食配置专家系统

糖尿病是一种常见的内分泌代谢疾病,是由于胰岛素分泌及(或)作用缺陷引起的以血糖升高为特征的代谢病。限于目前的医学水平,糖尿病还是一种不可根治的慢性疾病,因此糖尿病需要持续的医疗照顾,而饮食治疗是所有糖尿病治疗的基础,是糖尿病自然病程中任何阶段预防和控制糖尿病必不可少的措施。

随着信息技术的高速发展,计算机技术已应用到社会生活的各个领域,在医学上也得到长足发展,利用计算机高速运算、网络等技术,使得医生的诊断更加精确和高效。而糖尿病这种常见的流行性内分泌疾病的临床治疗更是离不开计算机技术。针对糖尿病,如何利用计算机系统对其营养膳食进行个性化配置,并为糖尿病患者的临床治疗提供平衡的营养食谱,是此专家系统研究的主要内容。

经过对糖尿病临床营养膳食配置专家系统的边界确定,功能分析,得出如图2所示的糖尿病临床营养膳食配置专家系统的工作流程图。

3.2 系统的用户和角色

系统分析要求接触用户,同时系统还要能够控制不同的用户角色和权限。通过对用户进行分类并了解他们的需求,从而确定安全机制、功能限制方案、用户界面分组和对具体内容的需求。

通过对此专家系统的分析,确定了如图3所示的几组不同的系统用户(在UML 中称为Actor , 即参与者) 。

3.3 系统用例模型

需求建模的过程就是用例的获取过程。用例的获取是需求分析阶段的主要任务之一,而且是首先要做的工作。对系统需求的建模是通过UML的用例(USE CASE)图实现的。用例模型描述的是外部执行者(Actor)所理解的系统功能。首先,它描述了待开发系统的功能需求;其次,它将系统看作黑盒,从外部执行者的角度来理解系统;第三,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和UML的各个模型[3]。

通过对系统的参与者及其主要活动的分析,得到了如图4所示的糖尿病临床营养膳食配置专家系统用例模型。图中的椭圆是用例,表示用户与计算机之间的一次典型交互作用,图形化表示的小人是执行者,表示用户在系统中所扮演的角色,用例和执行者之间的连线表示两者之间的关联。通过用例图,使得设计者在系统设计的最初阶段将主要精力集中在系统的功能上,而不是系统的具体实现上。对于比较复杂的系统,可以增加活动图显示活动流程和并发行为,使得建立的需求模型更加完整。

3.4 系统功能分析与设计

为了让系统设计能够以结构、组织方式和代码重用的形式表现出来,要对系统进行设计规划,设计阶段应该与分析阶段 交迭。需求是不断地发展,而设计本身也会推动需求的发展(反之亦然) 。

糖尿病临床营养膳食配置专家系统的建模设计中,以下3个方面的问题是要关注的:业务对象的表示、业务活动的实现、用户界面的组织。

3.4.1 业务对象的表示

在糖尿病营养膳食专家系统中, 业务对象主要是数据库和解决数据实体类的表示方式。在糖尿病营养膳食专家系统的建模中,外专的基本信息和参加学术活动模块及学术活动模块的静态模型可以用类 图表示(如图5所示) ,(图中只列了一些关键信息)其中的空心箭头表示了这些实体类对共用实体(Common Entity) 的泛化关系, 继承Common Entity 的公用方法,本图中没有显示这些实体的私有属性和方法。

3.4.2 业务活动的实现

业务服务的实现需要完成的功能是各种业务规则和逻辑的实现,如学术活动模块的信息录入、修改、删除、查询。每个模块的信息录入、修改、删 除、查询,业务规则和逻辑的实现基本相似,没有太多的规律可循。采用UML 来进行业务服务的建模,可以使用UML 的序列图、状态图。这个部分的工作,通常通过一系列的类之间的交互来完成。

在研究系统中一般用户的活动状态的基础上,得出了如图6所示的状态图。圆方框表示了用户登录系统后状态变化的过程。

图6 糖尿病临床营养膳食配置专家系统用户状态图

根据状态图和图2所示的流程,确定了如图7所示的序列图。

因为在糖尿病营养膳食专家系统中糖尿病患者和营养专家的操作时序和动作有所不同,在对系统的分析后,画出如图8和图9所示的序列图。

3.4.3 用户界面的组织

用户界面布局图能够帮助组织系统页面、文件、服务的布局结构。在UML 中,对于页面和文件的组织,可以使用构件图(Component Diagram) 或类图(Class Diagram) 建模型。本系统中使用类图对界面组织建模,页面结构以及各种业务服务被捆绑到不同的区域。

3.5 系统实现

系统实现就是对类进行编程的过程, 将设计模型转换成能够运行的程序代码。本系统采用浏览器/服务器(B/S)结构,是由数据库服务器、应用服务器和客户机组成的3层体系结构,为了实现这个系统,依据本系统各方面的特点,选用SQL Server 2005作为后台数据库,面向对象程序设计语言C#.net作为前端开发工具进行编程。在系统建模过程中,使用Enterprise Architect作为本系统的UML分析与设计、软件的实现与测试工具, 并建立相应的软件模型;并利用Enterprise Architect逆向工程的功能修改模型中的缺陷。

4 结束语

建模过程实际上就是描述系统功能、构成的过程, 本文利用UML 面向对象建模机制对糖尿病营养膳食专家系统的进行分析设计, 并在建模过程中充分发挥UML 语言优势, 从系统分析、设计和实现等方面充分体现面向对象方法的主要思想, 有助于开发人员更好地理解答疑流程, 减少语义差异, 并以功能方式建立模型, 从不同角度描述系统, 界面和实现分离, 使系统结构良好、接口清晰, 为后续的程序开发打下良好基础。

UML是理解和分析系统结构的有力工具,其建模方式的标准化,提高了糖尿病营养膳食专家系统开发的规范性和实用性,提高了软件开发效率和软件用户层的可重用性。笔者在糖尿病营养膳食专家系统的建模和开发中,将UML应用于系统开发的各个阶段,建立了系统的需求模型、静态模型和动态模型。这种基UML建模的迭代式开发方法具有传统开发方法无可比拟的优点[4]。UML建模使系统设计完全面向对象 , 实现了信息封装、数据抽象。UML能够帮助人们轻松地构造出 B/S 结构系统的模型。在一定程度上实现了软件开发的自动化,实现了设计和编码的无缝的连接,提高了软件开发的效率和质量。

参考文献:

[1] Boggs W,Boggs M.UML与Rational Rose 2002 从入门到精通[M].邱仲潘,译.北京:电子工业出版社,2002.

[2] Booch G,Rumebaugh J,Jacobson I.UML用户指南[M].邵维忠,麻志毅,张文娟,等,译.北京:机械工业出版社,2001.

[3] 蒋慧,吴礼发,陈卫卫.UML Programming Guide设计核心技术[M].北京:北京希望电子出版社,2001.

[4] 北京航空航天大学软件工程研究所.标准建模语言UML及其支持环境[J].计算机世界,1998(43):24-25.

上一篇:基于CDIO理念的数据结构课程教学研究 下一篇:使用双坐标轴生成图表