(精品)糖尿病专家系统开发(2013年优秀毕业设计)_第1页
(精品)糖尿病专家系统开发(2013年优秀毕业设计)_第2页
(精品)糖尿病专家系统开发(2013年优秀毕业设计)_第3页
(精品)糖尿病专家系统开发(2013年优秀毕业设计)_第4页
(精品)糖尿病专家系统开发(2013年优秀毕业设计)_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京林业大学本科毕业设计(论文)题 目: 糖尿病专家系统开发Expert System of Diabetes学 院:信息科学技术学院 专 业:计算机科学与技术 学 号: 0181104 学生姓名: 崔文迪 指导教师: 沈丽容 职 称: 讲 师 二OO五 年 五 月 二十五 日摘要 专家系统是人工智能的一个分支,其发展速度非常快目前专家系统应用领域已经渗透到数学,物理,化学,医学等众多领域,几乎所有的专家系统都至少能将人的效率提高到10倍左右。本系统是根据人工智能和专家系统的理论知识,利用PowerBuilder9.0开发研制而成的,主要用于实现糖尿病诊断和治疗功能,从而达到利用计算机模拟人类专家诊疗糖尿病的目的。 本文以糖尿病诊断和治疗的知识为基础,论述了专家系统开发的基本原理,结构,方法和过程,详细阐述了知识库、推理机、数据库、人机对话界面、解释器的设计和实现方法,力求将所学到的知识在专家系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全有效正确的运行。 关键字:专家系统,数据库,PowerBuilder,人工智能 AbstractExpert system is a branch of artificial intelligence, its development speed is very fast, the application of expert system already permeate ,such numerous fields as physics , chemistry , medical science ,etc. Almost all the expert systems can bring peoples efficiency up to about 10 times at least. This system utilizes PowerBuilder 9.0 according to the theory knowledge of artificial intelligence and expert system. The purpose of the system is to realize the diagnosis and treatment of diabetes in order to utilize computer simulation human expert. The paper introduce the principle and structure of expert system , It explained the design of knowledge base, reasoning machine , database , interactive interface, explaining device and implementation method in detail. During the development the expert system I use all I have learnt to make the system run correctly and eccectively. Key word: Expert system, the database , PowerBuilder, artificial intelligence 目录前言1第一章人工智能概述21.1 人工智能定义21.2 人工智能应用领域21.3人工智能的研究方法2第二章 专家系统理论42.1 专家系统的定义42.2 专家系统的产生和发展42.3 专家系统特点52.4 专家系统的结构和工作原理62.4.1专家系统的结构62.4.2专家系统的工作原理72.5 专家系统的建立92.5.1 专家系统求解的问题92.5.2 专家系统开发步骤9第三章 糖尿病知识库设计103.1糖尿病基础知识103.2 糖尿病专家诊断标准(知识库的设计)123.2.1 糖尿病确诊树123.2.2 糖尿病分型树123.2.2 糖尿病分型树133.2.3 糖尿病急性诊断143.2.4 糖尿病慢性诊断1533二型糖尿病治疗方案16第四章 系统分析174.1系统目标174.2 系统需求分析174.3 系统功能结构设计174.4设计思想184.5 开发环境介绍194.5.1总体开发环境194.5.2 开发工具简介194.6 数据库设计204.7数据库连接204.7.1程序设计时与数据库的连接204.7.2程序运行时与数据库的连接21第五章 关键模块代码设计225.1 应用程序对象设计225.2 主界面设计235.3 糖尿病初步诊断窗口设计255.4 糖尿病慢性诊断窗口315.5 糖尿病预防模块315.5 糖尿病预防模块325.6 糖尿病治疗模块325.7 血糖检测模块33第六章 系统的编译和发布346.1 创建工程对象346.2 编译生成和测试346.3 发布35第七章 结 论36致谢37参考文献38附 录39更多毕业设计大全: /html/sf/lw/2009/0928/146347.html QQ:493092524前言一般认为,临床诊断是运用已有的医学知识对疾病的表现进行辩证分析,得出符合逻辑的结论的过程。就是把问诊、体格检查、试验室及其他各项辅助检查所得到的资料,运用医学知识进行辩证分析、综合、推理与判断,从而得出符合患者病情的诊断结论。其基本环节如下:收集资料以综合分析、推理,作出诊断。在传统的疾病诊断过程中,其综合分析、推理除了从过去的历史资料中得来以外,还主要依据医生的个人经验。因此,其诊断存在一定的片面性和主观性。计量诊断与传统的疾病诊断基本环节一致,但其分析、推理不是凭经验,而是用一种定量的推理模式代替,再根据定的法则作出合理的临床判断。因此,计量诊断也称定量诊断或数值诊断。随着计算机应用的发展,计量诊断过程可由计算机部分或完全实现,所以也称之为计算机辅助诊断。从计算机科学角度讲,计算机辅助诊断就是利用机器模仿医生的智能。利用机器模仿人类的智能即人工智能。目前,基于神经网络模型人工智能的研究是世界智能技术研究的热点。人工智能技术在医学上的典型应用是专家系统。专家系统的实质就是让计算机系统代替专家为患者诊断,换句话说就是利用机器模仿人类专家的智能。本文所介绍的糖尿病专家系统正是基于人工智能和专家系统的理论, 利用POWERBUILDER9.0开发与实现的,系统包括知识库、推理机、数据库、人机对话界面、解释器等。系统可以根据用户输入的症状,推理出他患糖尿病的概率,对糖尿病进行分型,以及糖尿病急性、慢性并发症诊断,并且给出糖尿病及并发症治疗方案,从而实现计算机模拟专家医生诊断、治疗糖尿病的功能。 第一章 人工智能概述1.1 人工智能定义智能可以理解为:知识如何获取、表达和存储;智能行为如何产生和学习;动机、情感和优先权如何发展和运用;传感器信号如何转换成各种符号;怎样利用各种符号执行逻辑运算、对过去进行推理及对未来进行规划;智能机制如何产生幻觉、信念、希望、畏惧、梦幻甚至善良和爱情等现象。广义地讲,人工智能是关于人造物的智能行为,而智能行为包括知觉、推理、学习、交流和在复杂环境中的行为。人工智能的一个长期目标是发明出可以像人类一样或能更好地完成以上行为的机器;另一个目标是理解这种智能行为是否存在于机器、人类或其他动物中。因此,人工智能包含了科学和工程的双重目标。 1.2 人工智能应用领域人工智能的研究领域非常广泛,而涉及的学科也很多。目前,人工智能研究领域为以下几个方面l 专家系统 (Expert System)l 自然语言处理 (Natural Language Processing)l 机器学习 (Machine Learning)l 自动定理证明 (Automatic Theorem Proving)l 分布式人工智能 (Distributed Artificial Intelligence)l 机器人 (Robots)l 模式识别 (Pattern Recognition)l 博弈 (Game Plying)l 计算机视觉 (Computer Vision)l 人工神经网络 (Artificial Neural Network)1.3人工智能的研究方法尽管人工智能已经创造了一些实用系统,但人们不得不承认这些远未达到人类的智能水平。正因为如此,就选择人工智能研究的最佳方法既为人工智能的最终研究目标打好基础,又能创造出短期效益存在大量的讨论和争辩。这样,在过去的四十年里涌现出大量方法,每一种方法均有其拥护者,有些甚至有趣得令人爱不释手。也许所有这些方法应该综合起来运用。总之,所有这些拥护者都认为自己的研究方法具有突破性进展,值得特别关注。其中的一些方法可分为两大类。第一类包括符号处理的方法。它们基于N e w e l l和S i m o n的物理符号系统的假说。尽管不是所有人都赞同这一假说,但几乎大多数被称为“经典的人工智能”(即哲学家John Haugeland所谓的“出色的老式人工智能”或G O FA I)均在其指导之下。 第二类包括所谓的“子符号”方法。它们通常采用自下而上的方式,从最低阶段向上进行。在最低层阶段,符号的概念就不如信号这一概念确切了。 由子符号派制造的著名样品机器包括所谓的“神经网络( Neural network)”。受到生物学方法的启发,这些系统主要因其学习的能力而十分有趣。根据模拟生物进化方面的进程,一些有趣的机器应运而生。介于自上而下和自下而上之间的方法是一种动机“环境自动机( situated automata )”Kaelbling & Rosenschein 1990 ,Rosenschein & Kaelbling 1995的方法。Kaelbling 和Rosenschein 建议编写一种程序设计语言来说明a g e n t在高水平上所要求的行为,并编写一编译程序,以从这种语言编写的程序中产生引发行为的线路。第二章 专家系统理论2.1 专家系统的定义什么是专家系统,目前尚无统一精确的定义。专家系统的奠基人,费根鲍母认为:“专家系统是一种智能程序,它运用知识和推理步骤来解决只有专家才能解决的问题”也就是说,专家系统提供一个新型的程序设计方法,可以解决传统程序设计方法难以解决的困难。专家系统是基于知识系统,用于在某种特定领域中运用领域专家积累的经验和专业知识,求解决需要专家才能解决困难问题。专家系统便于保存和大面积推广各种专家的宝贵知识,更有效的发挥各种专业人才的作用,克服人类专家供不应求的矛盾专家系统还可以综合许多专家的知识和经验。从而博采众长。专家系统作为一个计算机系统,继承了计算机的准确性,在某些方面比人类更可靠、更灵活、可以不受时间、地域、即人为因素的影响。所以专家系统的专业水平能达到,甚至超出人类的专业水平。2.2 专家系统的产生和发展家系统的发展史可分为五个时期: 1. 孕育期(1965)1937年,图灵(Turing)发表了理想计算器的论文。1943年,Post产生式规则。1954年,控制规则执行的Markov算法。1956年,人工智能(Artificial Intelligene , AI)一词在美国一次学者聚会中诞生。1957年,Rosenblatt,Newell 等人提出通用问题求解器GPS(General Problem Solver)。1960年,MaCarthy研制的 LISP 语言诞生。2. 诞生期(19651972)1965年,Stanfond大学开发第一个专家系统 DWNDRAL(推论化学结构的专家系统)。 1965年,Robinson 提出Resolution Refutation 理论,使定理证明向前迈进一大步。 1965年,Zadeh 提出模糊逻辑(Fuzzy Logic)理论。 1969年,MIT 开发 MACSYMA (数学符号运算专家系统)。 3. 开创期(19721977)1972年,Stanfond大学开发MYCIN(传染病诊断系统)。1972年,Stanfond研究院(SRI)开发 Prospector (矿床探测专家系统)。1972年,法国 Colmerauer 与 Roussel 开发 PROLOG 逻辑程序语言。1974年,卡内基-美隆大学开发 OPS 语言(人工智能与专家系统专用语言)。1975年,Minsky 提出框架(Frame)知识表示法。1976年,AM(Artificial Mathematician)人工智能数学家,数学概念的创造性发现。1977年,Feigenbaum 提出知识工程(Knowledge Engineering)一词。 4. 成长期(19781990) 1978年,卡内基-美隆大学和 DEC 公司合作开发 R1(又称XCON),用来依据客户需求,架构适当的计算机系统。1979年,Forgy 提出 Rete 算法,提高 Production System 的法则匹配速度。1980年,LISP 机器开始生产问世。1982年,日本政府宣布开发第五代计算机,以 PROLOG 做为核心语言。1983年,IntelliCorp 公司推出 KEE(结合多样知识表现与推论方法的专家系统建构工具),随后大量的专家系统建构工具问世,如:ART,Knowledge Craft。1984年,欧洲共同市场订定欧洲信息技术研究发展策略计画。1985年,NASA开发出CLIPS专家系统工具。1988年,Gallant 提出以类神经网络为基础的专家系统架构。1989年,日本宣布人类领域科学计划(第六代计算机计划),希望藉由类神经网络突破人工智能的许多瓶颈。 5. 成熟期(1990)1990 以后,进入商业竞争时代,大量专家系统被广泛应用于各行业。2.3 专家系统的特点专家系统具有专业的知识水平。专家系统要解决人类专家才能解决的复杂问题就必须依赖人类专家,所以具有专业知识是专家系统最大的特点,也是所有知识库共同的特点。专家系统中按知识在问题求解中的作用可以分为三个层次,即数据级,知识库级和控制级。数据级是知识按其问题所提供初始事实,及在求解过程中产生的中间结论、最终结论,也可称动态数据,数据知识通常存在数据库中。知识库级指专家知识,这类知识是构成专家系统的基础,一个系统性能的高低,取决于这种知识的质量和数量。控制级也称为元知识、是如何运用两种知识,如在问题求解中搜索策略、推理方法等.能进行有效的推理。专家系统要利用专家知识来求解领域内的具体问题,而问题的求解过程是个推理过程,所以专家知识来求解领域内的具体问题,而问题的求解过程就是一个推理过程,所以专家系统必须有个推理机构,能根据用户提供已知的事实,、通过运用知识库的知识进行有效的推理以实现问题的求解,专家系统的核心就是知识库和推理机。具有启发性。专家系统具有大量的专业知识外,还必须用经验和判断对问题做多个假设,依据某些假设使推理继续进行。具有灵活性。专家系统的体系结构中,知识库和推理机即相互联系,又相互独立。相互联系保证了推理机利用知识库进行推理的有效性,已实现对问题的求解;相互独立保证了当知识库发生修改时,只要推理策略不变,推理机部分就可以不发生改变。使系统容易修改,具有较大灵活性具有透明性。专家系统一般具有解释机构,所以具有较好的透明性。人们在使用专家系统求解问题的时候,不仅能得出正确答案,还希望给出正确答案的求解过程。即回答用户提问的“WHY”还能给出“HOW”等问题。具有交互性。专家系统一般是交互性系统,具有良好的人机界面。一方面他需要领域专家或知识工程师进行对话来取得知识,另一方面它也不断从用户获得已知知识,并回答用户的提问。2.4 专家系统的结构和工作原理2.4.1专家系统的结构采用专家系统方法进行软件开发的主要目的是为了解决那些需要借助人类专家知识和经验以及推理分析手段才能解决的问题。为了达到这一目的,相应软件系统必须具备如图 所示基本成分。 图2.1 专家系统的一般结构 其中 :知识库用于存放从人类专家处获取到的知识和经验。 推理机用于应用知识库中的知识对问题进行推理、分析和求解。数据库用于存放问题的信息、求解过程和求解结果。 解释器用于对求解过程进行解释,以使用户相信对问题的求解是正确合理的。 知识获取器用于补充和完善知识库中的知识和经验。 利用专家系统方法开发实现的软件系统与利用其它方法开发实现的软件系统不同的地方主要在于它拥有知识库和推理机两个重要组成部分。因此,设计建立知识库、设计建立推理机是专家系统方法的主要工作内容和任务,而系统的其它成分,包括用户界面等则均可采用结构化方法或面向对象方法中的技术手段设计实现。 用专家系统方法开发实现的软件系统通常称为专家系统,像其它类型的计算机软件系统一样,它能够帮助人们更快更有效地解决问题,但它不可能代替人,它仅仅是能作为人们手中的一个工具。在实际运用中,评价一个专家系统,一般是讲符合率而不是讲准确率。这是因为,专家系统的设计,是根据专家的方法、知识与经验而设计的,所以只要系统的结论与专家的结论相同,那么设计就达到要求了。至于准确率,那就要看专家的水平了。 2.4.2专家系统的工作原理1知识库知识库主要用来存放领域专家提供的专门知识。知识库的知识来源于知识获取机构,同时他又为推理机提供求解问题的知识。建立知识库必须解决如何存储知识的问题,这就是所谓的知识表达。目前常用的知识表示方法是规则、框架和逻辑等表示方法:(1)知识的规则表示 规则,又称产生式规则,是一种借助条件语句 IF-THEN 表示知识的方法。一般表示形式为: IF THEN 例:是动物识别专家系统中的一条产生式规则。 产生式规则实例 : IF 动物吃肉 THEN 该动物是食肉动物 用产生式规则表示知识的优点: 1)结构上的模块化。可对单条产生式规则进行增添、删除或修改,而不用考虑它与其它 规则的关系。 2)形式上的单一性。采用单一的知识表示形式易于被其它人所理解和接受。 3)表达上的自然性。表示形式与人们求解问题时的思维形式非常相似。它的缺点是缺乏灵活性,效率低下,对复杂、大型以及动态概念不能很好地表示。目前,过程性知识通常用这种表示方法表示。(2)知识的框架表示 框架是七十年代初M.Minsky提出来的一种知识表达方法。在该方法中,所要描述的对象是用一种称之为框架的数据结构来表示的。如图1所示,它的顶层是框架名,用于表示所要描述的对象。其下层是由一些称为槽的结构组成,用于表示对象的各个方面。每个槽都有它自己的名字和填入槽的值。槽的下面又可以设侧面,作为对槽的进一步说明。槽或侧面的取值可以是二值逻辑的真或假,可以是实数值,可以是文字或其它形式的定义域。还可以附有一组与它有关的条件或过程(程序附件),当向槽或侧面填值时,必须满足这些条件或调用这些过程。例如说明在填槽时需要干些什么(if-added过程)、填槽时应如何计算槽值(if-needed 过程),如果没有填入槽值,默认的槽值是什么(default-value),等等。另外,框架下层的槽或侧面也可以是一种子框架,子框架本身还可以进一步分层。对于实际中的复杂对象,单用一个框架往往是难以表示的,必须借用多个框架来表示,这种由按一定方式联系起来的多个框架组成的系统称为框架系统。框架名 槽1 侧面11 侧面值11侧面12侧面值12 槽n侧面n1侧面值n1 侧面n2侧面值n2图2.2 框架结构框架表示方法的主要优点是对问题的抽象概念及其细节描述进行了分层处理和表示,这样有助于减少在知识库中搜索知识的时间。目前,说明性知识通常用这种表示方法表示。 值得一提的是,如果对这种框架表示方法稍作改进,并进一步完善其程序附件的概念之后,那么它与面向对象的方法和手段就基本上没有两样了,因而也就可以借助面向对象的方法和手段对这种知识的框架表示方法进行描述和实现了。换句话说,面向对象方法本身就是一种描述和实现专家系统的很好的方法和手段。(3)知识的逻辑表示 在知识的逻辑表示方法中,知识是借助于原子公式或由原子公式组合而成的合式公式表示的。在实际中一般只用一阶谓词演算,例如人工智能语言PROLOG就是以它为基础的。这种表达方法中的基本组成成分是谓词符号、变量符号、函数符号和常量符号,并用圆括弧、方括弧、花括弧和逗号隔开,以表示论域内的关系。例如,用原子公式表示“李(Li)的母亲和他的父亲结婚” 。MARRIEDfather(Li), mother(Li) 其中, MARRIED是谓词符号, father和mother是函数符号,表示某人与他的父亲和母亲 之间的一个映射,Li是常量符号。应用谓词演算表示知识的主要优点是: 1)精确。逻辑是一种情确的、标准的表示方法。没有含混性。 2)模块化。与产生式规则相似,语句可以任意增添、删除和修改,不会对其它语句有影响。它的主要缺点是随着知识库中事实(知识)的增加,推理所需的事实组合的工作量按指数增加。2推理机推理的功能是模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已有的事实,利用知识库的知识,按一定推理方法和控制策略进行推理。直到得出相应结果为止。推理机包括推理方法和控制策略两部分。推理方法有精确推理和不精确推理两种,精确推理必须把知识表示成必然的因果关系,推理的结论或是肯定的或是否定的;不精确推理中知识可以有一些不确定性,得出结论可以是不确定的,但一定有一个确定因子,当确定因子超过某个阀值时,结论便可成立。控制策略主要指推理方向的控制和推理规则的选择策略。推理有正向推理反向推理,和正反双向推理。知识推理是专家系统具有智能的表现,也是区别于其他软件的标志。推理机实际上是一段计算机程序。因此,可借用软件工程的思想,利用软件设计的方法来分析、设计推理程序,再采用某一编程开发工具和语言来具体编程,从而实现推理机的构造。传统的专家系统开发语言有符号处理语言,等,它们能够以接近自然语言的方式表达知识和规则以及推理构成。但这类系统缺乏高效的管理搜索和利用知识库的能力,严重影响系统的效率,而且其内部推理对外还不清晰。2.5 专家系统的建立2.5.1 专家系统求解的问题l 开发专家系统的基本条件1 问题求解主要是经验知识而不是常规知识2 存在真正的领域专家,这也是开发专家系统的最重要要求之一3 任务不太难,有明确的开发目标,任务能很好的理解l 开发专家系统的合理性条件1 问题的求解能带来较高的经济效益。2 人类专家奇缺。人类专家通常缺乏,但有十分重要十分昂贵,当在不同地点需要知识时,问题就更加突出。如果用专家系统求解,就能很好的解决。3 人类专家经验不断流失。当某种条件下,如专家退休,出国或人事变动,会导致某种专业知识不断流失,专家系统可以使这个问题严重性减小到最小4 危险场合需要专家。当不友好的环境或危险环境需要专家时,人类专家亲临决策,代价太大2.5.2 专家系统开发步骤 测试实现形式化概念化问题识别图 2.3开发步骤图第三章 糖尿病知识与之时表示3.1糖尿病基础知识 一、糖尿病概述: 1、糖尿病是一组病因和发病机理尚未完全阐明的内分泌-代谢疾病,以高血糖为其共同标志。因胰岛素绝对或相对分泌不足所造成的糖、蛋白质、脂肪和继发的水、电解质代谢紊乱。 2、它可以涉及全身各个系统,甚至诱发许多致命性并发症,严重影响人的劳动能力,并威胁人的生命安全。 3、随着世界人口的老龄化,糖尿病已成为一种常见病、多发病,是一种严重危害人类健康的疾病。 4、防治糖尿病已成为临床上重要的、紧迫的医疗保健问题之一,日益为人们所重视。 二、糖尿病的几种类型 1)胰岛素依赖型糖尿病(I型糖尿病 IDDM) 2)非胰岛素依赖型糖尿病(II型糖尿病 NIDDM) 3)营养不良型糖尿病 4)其它类型糖尿病。 其中II型糖尿病患者占糖尿病总患病人数的95%,本文中除特殊注明之外,均指II型糖尿病。 此外,据多种流行病学调查表明,我国糖耐者降低者(IGT)数量远远大于糖尿病患者数量,这个庞大的糖尿病后备军,会进一步发展成为真正的糖尿病患者。 三、糖尿病症状 1、血糖值和尿糖值均高于正常人 2、典型的“三多一少症状”1)多尿:日小便次数明显增多2)多饮:日饮水量超5镑(1壶半)3)多食:没有出现“三十三,大转弯”,反而食量超常增4)消瘦:体力不支、体重下降(较以往)此外,糖尿病患者常发生餐前低血糖现象,在饮食上表现出“上管不了下顿”。但相当一部分甚至多数病人并非具有全部上述症状,而是仅表现出某一种症状,甚至平时一无所知,直到全面体查时才被发现。 3、严重的并发症1) 感染合并症:以皮肤感染常见,疮疥易生难愈等。该并发症发病率没有明确的统计,但据我国某糖尿病专家介绍,糖尿病患者同时发生此症的比率不低于20%2) 网膜病变:导致失明的概率比正常人高10倍,我国糖尿病患者并发视网膜病变的比率高达47%(国际平均水平为45%),是各种并发症之首。 3)高血压:我国糖尿病患者并发高血压的比率高达43%(国际平均水平为35%),是糖尿病患者第二大并发症 4)肾脏病变:糖尿病会诱发肾小球微血管病变、肾动脉硬化和反复或慢性肾炎等肾脏病变,我国糖尿病患者并发肾脏病变的比率为41。9%(国际平均水平为31%),是糖尿病患者的第三大并发症。 5)冠心病:不少冠心病患者的致病元凶其实就是糖尿病,我国25%左右的糖尿病患者(国际水平为27%)同时患有冠心病。 6)下肢血管病变:糖尿病患者还可诱发下肢血管病变,8.1%的糖尿病患者同时患有下肢血管病变(国际水平为5.6%)。 7)脑血管病变:脑血管病变也是糖尿病患者应该注意的问题,据统计,7%的糖尿病患者同时患有脑血管病变(国际平均水平更高,为11%)。以上情况表明,我国目前糖尿病常见并发症的患病率已处于国外报道的中上水平,这些并发症已成为糖尿病死亡的主要原因。综上所诉,糖尿病以是现代疾病中死亡疾病最高的病症之一,其带来的慢性并发症也具有较高的死亡率,但是,目前人们对糖尿病的真正认识还属于浅显阶段,糖尿病医学专家的数量也不算多,所以设计糖尿病专家系统便极为必要和极其及时的一件事情。 3.2 糖尿病专家诊断标准 3.2.1 糖尿病确诊树饭前 6.0-6.9 mmol饭后 7.9-11.0 mmol饭前=7.0mmol饭后=11.1mmol饭前3.9-5.9mmol饭后3.9-7.8mmol测饭前/饭后血糖问遗传史:是否家族遗传问既往史 :高血压,酗酒,等问症状?是否有三多一少,体重减轻,伤口旧不愈合 再测一次 如无误差则判断为糖尿病OGTT测验口服葡糖糖耐糖量检测OGTT测验口服葡糖糖耐糖量检测7.911.1 mmol糖耐量异常3.9-7.8 mmol正常7.911.1 mmol糖耐量异常3.97.8mmol正常39-78正常 图 3.1 糖尿病确诊 =11.1 mmol患糖尿病=11.1 mmol患糖尿病3.2.2 糖尿病分型树BMI 25 胖BMI 19-23 正常BMI 23.1-25 超重BMI =35体形偏瘦体型偏胖年龄8mmol/l3-8mmol/l真胰岛素INS C肽化验结果患糖尿病 I型糖尿病 II型糖尿病 I型糖尿病 II型糖尿病 阴性II型糖尿病 I型糖尿病 体形偏瘦体型偏胖I型糖尿病1型糖尿病 图 3.2 糖尿病分型3.2.3 糖尿病急性并发症诊断糖尿病酮酸中毒高渗性非酮症高血糖昏迷尿酮体=+尿酮体33mmol/l是否有恶心,腹肌紧张呼吸有味15mmol/l血糖值300 mml 明显 为 末期体征:是否有水肿,尿蛋白,肾功能衰退1 糖尿病肾病诊断 图3.4 糖尿病肾病诊断2糖尿病足诊断糖尿病糖尿病神经病变糖尿病自主神经病变出汗减少糖尿病足皮肤干燥.溃疡 图 3.5 糖尿病足确诊33二型糖尿病治疗方案满意者继续治疗降低体重确诊患2型糖尿病 口服降糖药第二期:高血糖/高胰岛素血症第一期:高血糖/高胰岛素血症磺脲类药物一线降糖药 AGI口服胰岛素图 3.6 糖尿病二型治疗方案三合治疗联合治疗加口服降糖药有效继续联合治疗有效继续有效继续 第四章 系统分析4.1系统目标电子计算机专家诊断系统程序一般分为四个模块。(1) 输入模块。 询问病症,各个检测值。(2) 辩证模块。 通过用户的事实给出结论(3) 输出模块。 通过事实给出结论,并给出如何得到结论的过程。4.2 系统需求分析 根据糖尿病的诊断方式, 确定以下需求方式用户进行登记,密码修改。对糖尿病进行诊断,分型。对急性并发症进行诊断、并且给出治疗方案。对慢性并发症进行诊断、分型,给出治疗方案。 对病人的治疗情况给出方案。 将病人的血糖等值入库,进行查询,分析,给出结论。4.3 系统功能结构设计在系统需求分析的基础上,结合系统设计的目标,可将本系统划分为4个功能模块:1. 用户管理:主要是进行用户登记、用户管理,使系统使用者多样化,避免系统过于单一,便于病人和医生的管理。2. 糖尿病诊断模块:通过询问方式让病人输入事实,通过搜索树,确定患病类型,再通过询问,给出相应的治疗方案。3. 糖尿病治疗模块:包括急性并发症治疗、各种慢性并发症治疗,一型糖尿病治疗、二型糖尿病治疗等。4. 糖尿病疗效模块:对血糖值分析,得出患者是否在一段时间内血糖控制稳定,如过不稳定给出治疗方案。糖尿病专家系统用户管理录入修改糖尿病诊断糖尿病基本分型慢性并发症诊断急性并发症诊断糖尿病治疗糖尿病基本治疗慢性并发症治疗急性并发症治疗糖尿病治疗效果图4.1 功能结构图4.4设计思想l 由于时间的关系,在开发专家系统的时候基本采用的是传统的知识表达 模式即 IF ELSE 的推理过程,通过搜索树进行推理,得出最后结论。l 在开始推理阶段采用BAYES公式推理出患糖尿病的模糊概率,并以某一阈值比较,确定患病概率。l 放弃了传统专家系统设计语言LISP和PROLOG,改用POWERBULDER,使专家系统和数据库结合,使界面更美观。4.5 开发环境介绍4.5.1总体开发环境本系统采用的软件开发工具及环境如下:操作系统: WINDOWSXP编程工具: PowerBuilder9.0数据库:ACCESS数据库开发用机器的硬件配置:Pentium 1.70GHz、256MB内存、40GB硬盘等。运行要求的配置:硬件环境:英特尔奔腾处理器,166MHZ或更高的处理器、 32M RAM-ROM驱动器、256色、1024*768分辨率显示器(推荐使用更高的分辨率和颜色深度)软件环境:WINDOWS98/2000/XP。4.5.2 开发工具简介PowerBuilder是一个图形化的应用程序开发环境。使用PowerBuilder开发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选等标准按钮的Windows控件,还可以有PowerBuilder提供的特殊控件。这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。例如,数据窗口就是PowerBuilder提供的一个集成度很高的控件,使用该控件可以很方便地从数据库中提取数据,很简单地检索数据,提供图形化的数据显示方式,创建统计功能非常强大的数据统计表。由于数据窗口对数据的操作是通过事务进行的,所以对数据的操作有很强的可靠性。这些都为开发功能强大的数据库应用软件提供了可靠的保证。商业化的软件开发要求有很好的移植性。PowerBuilder既可以跨平台开发,也可以发行跨平台软件。例如,在Windows 95下开发的程序,可以不修改源程序而形成UNIX下的执行文件或Macintosh下的执行文件。在开发小组中,不同成员可以使用不同的开发环境,但由于PowerBuilder的支持,在不同的开发环境下看到的共享PowerBuilder对象是相同的,所以仍可以同时开发同一个应用程序。随着软件技术的不断发展,PowerBuilder 8.0及时地强化了开发功能,并提供了一些配套的开发工具,成为一种易于使用的、可伸缩的并经实践证明的快速集成开发环境。它在给用户提供一条转移到下一代平台的途径的同时,使用户仍能够保护和扩展现有的技术和应用上的投资。 4.6 数据库设计由于专家系统的知识库是嵌套在程序中,所以对数据库的操作较少,本专家系统涉及数据库方面只有用户登入和血糖的输入,目的就是能将病人在一段时间内的血糖值显示,使用户更好的了解自己的病情。以下是表结构。表4.1 用户表 表4.2 血糖表 表4.2 血糖表4.7数据库连接在PowerBuilder开发环境和应用程序能够操作数据库中的数据之前,必须首先与数据库建立联系,也就是连接到数据库上。PowerBuilder与数据库的连接建立在驱动程序之上。PowerBuilder通过数据库驱动程序接口实现与各种类型数据库的连接。接口的参数可以通过一个Database Profile来完成。对于每一个可能要用到的数据库,均可以建立一个Database Profile。在此Database Profile中所记录的是建立到数据库的一些连接信息,如数据库管理信息(DBMS)的类型、用户账号、口令、数据库以及其他的连接参数。当开发环境通过Database Profile连接到数据库上之后,在PowerBuilder中使用数据库画笔可实现对该数据库中表格、视图等的操作,如创建表、修改表、删除表、增加删除记录。PowerBuilder中设计数据窗口的时候,通过“Database Profile”对话框实现与数据库的连接。在应用程序中则一般是在应用程序对象中写连接数据库的程序代码,使得应用程序开始运行并实现与数据库的连接。4.7.1程序设计时与数据库的连接在程序设计中可以使用“Database Profile”对话框完成配置和连接。如果已经定义了所需数据库的配置,那么就可以通过单击选中该配置,然后单击“Connect”按钮,将系统连接到相应的数据库上。如果没有定义数据库配置,需要创建新的数据库配置。首先选择Tool菜单中的Database Profile子菜单,或者单击图标,出现“Database Profile”对话框。在其中选择要配置的数据库使用的数据库接口,“ODB ODBC”节点。然后,单击“New”按钮,打开“Database Profile Setup-ODBC”对话框,并设置所要连接数据库的配置信息。完成设置后,单击“Preview”标签页,在该标签页中列出了数据库刚刚配置的语句。单击“OK”按钮,返回到“Database Profile”对话框。这时“ODB ODBC”节点下面就多了刚刚配置好的Database Profile。选中该配置,单击该对话框中的“Connect”按钮,系统即通过专用接口连接到数据库上。当PowerBuilder 9.0通过Database Profile 连接到数据库上之后,在程序上之后,在程序设计的创建数据窗口对象时,可以直接显示该用户在数据库中可以修改的表,通过选择某个(或者多个)表可以将它们和数据窗口对象连接起来。4.7.2程序运行时与数据库的连接在程序设计是和数据库的连接Database Profile对话框来实现的,在程序运行时,则需要通过应用程序对象来实现和数据库的连接。在应用程序对象中实现与数据库连接,不在通过“Database Profile”对话框,而是使用Transaction事物对象。一般数据库的连接是在应用程序开始运行是建立起来的。PowerBuilder8.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象。每个PowerBuilder应用程序都必须有一个、而且只能有一个应用程序对象,在该应用程序对象中写入与数据库连接的程序代码,从而使得应用程序一开始变实现与数据库的连接。在“Database Profile”对话框完成设置后,单击“Preview”标签页,在该标签页中列出了配置的语句。将连接数据库的代码复制到应用程序对象中,即可完成代码的编写。第五章 关键模块代码设计5.1 应用程序对象设计PowerBuilder9.0开发的应用程序的入口点是应用程序对象,运行程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。应用程序对象的事件不多,一共只有6个,分别是Open、Close、Idle、SystemError、ConnectionBegin、ConnectionEnd事件。本应用程序对象中只用到Open事件,输入如下程序代码:/ Profile personSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=personconnect;/打开程序登陆窗口open(w_enter); 图5.1 用户登入界面该图为应用程序登陆图,其中的下拉列表框是利用游标将数据库的PERSON表中的属性PERSONNAME导入 。代码如下DECLARE cur CURSOR for select personname from person ;open cur;fetch cur into :pname;do while sqlca.sqlcode=0ddlb_1.additem(pname)fetch cur into :pname;loopclose cur;注册按钮是进行新用户注册 注册界面如下:图5.2 用户注册界面可进行用户添加 保存等功能,添加用户后 返回到登陆界面,就能将新用户进入下拉列表。5.2 主界面设计本应用程序的主要功能都是在主窗口w_main及在其下打开的众多窗口中完成的。 如图所示。将主窗口的WindowType属性设立为mdi型,以便在其下以特定方式打开其他窗口。图5.3 主菜单设计主界面设计如下: 图5.4 主界面 如图所示 糖尿病专家系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论