基于现代方法的舌诊图象管理系统的设计与实现-学士论文.doc

上传人:滴答 文档编号:1272673 上传时间:2019-01-25 格式:DOC 页数:36 大小:1.31MB
下载 相关 举报
基于现代方法的舌诊图象管理系统的设计与实现-学士论文.doc_第1页
第1页 / 共36页
基于现代方法的舌诊图象管理系统的设计与实现-学士论文.doc_第2页
第2页 / 共36页
基于现代方法的舌诊图象管理系统的设计与实现-学士论文.doc_第3页
第3页 / 共36页
基于现代方法的舌诊图象管理系统的设计与实现-学士论文.doc_第4页
第4页 / 共36页
基于现代方法的舌诊图象管理系统的设计与实现-学士论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、基于现代方法的舌诊图像管理系统的设计与实现 摘要 厦门大学学士学位论文 - I - 基于 现代方法 的 舌诊图象管理系统的设计与实现 摘要 舌诊是中医 “ 望 ” 的步骤之一,舌诊的诊断主要根据舌体、舌的动态和舌下脉络的医理特征进行。一张舌诊图象对应的诊断信息较多, 在有大量可参考的图片时,用操作系统的文件目录管理将造成很大的不便。需要 对舌象进行研究的中医学工作者、中医专家系统的设计者需要一个集中的平台来管理舌诊图像。舌诊图像管理系统 将舌诊图像与其相关资料入库,可以 进行修改、查询、删除等操作, 以支持使用该系统的用户进行后续的有关舌诊图像处理的研究 。 本文 基于 数据库应用软件设计的

2、N 层模型 探讨中医舌诊图像管 理系统的构建。 N 层模型已经是发展得很成熟的模型 。 本文 的主旨 是在应用这一成熟的软件开发模型的基础上, 论述如何在构建系统的方方面面,吸收 并应用 最新的软件工程、软件设计方法学思想,以 达到更好的软件设计与开发实践,进而 提高软件 的质量。 舌诊图像管理系统在构建过程中 借鉴 了如下的 设计方法:以工厂方法构建数据访问层;以单元测试保证代码质量;以重构优化软件结构;以 Humble Dialog 模型优化表示层的设计。这 些 设计方法 也是本文论述的重心。 关键词 中医舌诊 N 层模型 数据库应用软件 .Net 模式 极限编 程 Humble Dial

3、og 基于现代方法的舌诊图像管理系统的设计与实现 摘要 厦门大学学士学位论文 - II - Modern-method-based Design and Implementation of Lingual Diagnostic Images Management System Abstract Lingual diagnose is one of the observation steps in Chinese Medicine, lingual diagnose is based on diagnostic information of lingual itself, its movemen

4、t and bottom venation. A single lingual diagnose image may be companied by much diagnostic information; using OS folder to manage all of the images would be unhandy in the situation with a lot of them. Chinese Medicine researchers and Chinese Medicine expert system designers whose jobs call for ling

5、ual diagnostic images need a central system to manage all the images. A lingual diagnostic management system supports its users to go on with their researches by storing these images and other operations such as update, search and delete. This article discusses the implementation process of a lingua

6、l diagnostic management system, and is based on N-tier model of DB application which is a matured model. While applying this model, this article probes how to use the latest new theories of software engineering and design methodology in every aspect of system development, to achieve better design an

7、d development practice, and to improve software quality. This system references the following design theories in development process: Factory Method to construct Data Access Layer, Unit testing to assure codes quality, Refactoring to improve software structure, and Humble Dialog to better presentati

8、on layer design. These design methods are the focus of this article. Keyword: Lingual diagnose, N-tier Model, Database application, .Net, Patterns, eXtreme Programming, Humble Dialog基于现代方法的舌诊图像管理系统的设计与实现 目录 厦门大学学士学位论文 - I - 目 录 引 言 . 1 0.1 研究背景 . 1 0.2 建立舌诊图像管理系统的意义 . 1 0.3 论文结构 . 1 第一章 中医学舌诊与舌像管理 .

9、 3 1.1 中医学中的舌诊 . 3 1.1.1 舌诊基于舌的结构 . 3 1.1.2 舌诊的临床意义 . 3 1.2 需求的简要 描述 . 3 1.3 本项目设计与实现过程使用的软件 . 3 第二章 用工厂方法构造数据访问层 . 5 2.1 数据库应用程序 N 层模型 . 5 2.2 面向对象的数据库开发 . 5 2.3 项目中 DAL 的具体设计 . 6 2.3.1 解决方案布局 . 6 2.3.2 设计商业实体 . 7 2.3.3 实现 DAL . 8 第三章 应用设计模式 .13 3.1 应用 Factory method.13 3.1.1 为何使用 Factory Method .1

10、3 3.1.2 使用 Factory Method 带来的灵活性 .14 3.2 应用 Singleton .14 3.2.1 为何使用 Singleton .14 3.2.2 对 Singleton 实现方法的修改 .15 3.3 应用 Facade .15 第四章 实行单元测试与重构提高软件质量 .17 4.1 XP 简介 .17 4.2 项目中的单元测试 .17 4.2.1 单元测试新思维 .17 4.2.2 有关用例设计的分析 .18 4.2.3 结合 NUnit2.0 框架进行单元测试 .18 4.3 重构代码 .21 基于现代方法的舌诊图像管理系统的设计与实现 目录 厦门大学学士学

11、位论文 - II - 4.3.1 重构 改善既有代码的设计 .21 4.3.2 重构数据访问层 .22 4.3.3 重构工具引起的话题 .23 第五章 Humble Dialog 方法与 GUI 层设计 .24 5.1 使用 Humble Dialog 方法构建表示层 .24 5.2 新方法带来的增益 .27 5.3 评价 Humble Dialog 方法 .29 结 语 .30 致 谢 .31 参 考 资 料 .32 基于现代方法的舌诊图像管理系统的设计与实现 引言 厦门大学学士学位论文 - 1 - 引 言 设计中国传统医学的计算机专家系统是信息时代中医学自我发展、面向未来的一个新契机 。

12、中医专家系统的设计出发点是及时、科学地利用计算机信息网络技术,服务于中医,发展中医,弘扬传播中医药学;科学 、高效地开发利用中医药学术资源,实现中医药信息管理与应用计算机化,实现专业资源共享;加快中医药学科创新。在充分运用当今人工智能及其相关技术的最新进展提供的新理论、新方法和新技术的基础上,中医中药的现代化、信息化发展将能开拓出一条新途径。 0.1 研究背景 目前,国内外有关中医信息系统的研究,整体上水平比较低,离实用化要求还有很大距离,特别是有关智能中医信息处理技术,由于存在一 定的 技术难度,进展比较缓慢。随着人工智能新技术的不断发展,特别是先进逻辑推理技术、软计算方法、数据挖掘技术、图

13、象视频技术、多通道传感器 技术、多主体系统方法、自然语言处理技术等的发展,为全面开展智能中医信息技术的研究奠定了理论、方法与技术的基础。 就中医舌诊的研究而言 ,如何利用最 新 提出的一些人工智能新技术,特别是软计算技术、自然语言处理技术、数据挖掘技术、图象获取与处理技术、次协调逻辑与认知缺省逻辑等,结合中医舌诊丰富的临床经验和病历数据,来开展基于舌诊的智能诊断系统的研究开发,不仅十分必要,也是完全可能的。 0.2 建立舌诊图像管理系统的意义 一张舌诊 图像 的对应信息是 比较多 的。 最简单的舌像信息管理方法是采用操作系统 目录的形式 进行 管理。 比如: 一张典型的描述淡红舌的舌像图片可以

14、放置在 “ 舌体颜色 红舌 淡红舌 ” 目录下。但是 这种方法依赖研究人员手工管理,查询 相关资料也不方便。如果例子中的这张舌像同时有 典型的“ 剥苔 ” 的特征,那么 “ 舌苔形质 剥苔 ” 目录下同样需要保留一份拷贝 ; 如果其中的一张资料进行更改,而同名拷贝没有及时进行更新将引起 保存的信息不一致 。 在资料数量大时, 这 将导致极大的不便甚至混乱。 实际上 完全可以编写一个管理工具软件来辅助研究人员 , 提供一个集中 进行 存储与查询的平台。这也是设计这样一个 “ 舌诊图像管理系统 ” 的初衷。 0.3 论文结构 论文主要 结构和内容安排如下: 第一章: 在简要介绍中医学舌诊的基础上,

15、分析舌诊图像管理系统的设计要求 ,简要介绍开发过程中使用的软件 。 基于现代方法的舌诊图像管理系统的设计与实现 引言 厦门大学学士学位论文 - 2 - 第二章: 详细介绍系统数据访问层的 “ 工厂方法 ” 的设计,与构建过程中的问题解决。 第三章: 介绍在项目中 如何 应用 设计模式,优化软件结构。 第四章: 介绍在项目的开发过程中,贯彻极限编程单元测试与重构两种实践,最大程度地保证软件的质量。 第五章: 介绍 在表示层,用 Humble Dialog 的设计思想,分离界面相关代码与界面无关代码, 使 表示层的 代码 逻辑清晰化,以便于测试与后期的维护和改进。 基于现代方法的舌诊图像管理系统的

16、设计与实现 第一章 厦门大学学士学位论文 - 3 - 第一章 中医学舌诊与舌像管理 1.1 中医学中的舌诊 1.1.1 舌诊 基于舌的结 构 舌体是人体直接可见的内脏器官;舌诊是中医 “ 望 ” 的步骤之一,舌诊是通过观察舌象,了解机体生理功能和病理变化的诊察方法。在中医学舌诊过程中,医师观察患者的舌体、舌苔 、 舌下 脉络、舌的动态,这些医理特征是由舌的肌肉、神经、粘膜、腺体等等 舌 的组成部分的性状 共同决定的。舌体的诊断结果用下列几个医理特征加以描述:舌体颜色 、 舌的形质(包括荣枯、老嫩、胖瘦、点刺、裂纹)、 舌 苔 颜 色、 舌 苔 形 质(包括厚薄、润燥、腻腐、剥苔) 、舌下脉络

17、以及 舌的动态 。 舌体依赖气血充养,是 全身营养和代谢功能的反映。舌的形态和色泽与脾胃、气 血直接相关。 全身五脏六腑都直接或间接的通过经络、经筋与舌相联 , 通过望舌色可以了解人体气血运行情况。 1.1.2 舌诊的临床意义 舌象变化能较客观地反映病情,作为判断邪正盛衰、区别病证形质、分析病 位和病势的依据,故对临床辩证、立法、处方、用药、判断疾病转归以及 分析病情预后,都有十分重要的意义。 1.2 需求的简要描述 舌诊图像管理系统将 提供一个 图形化的界面 , 帮 助研究舌诊图像的用户管理、查询舌诊图像。实现的功能很直接 ,即对舌诊图像提供添加、查询、修改、删除四个主要的管理模块。入库的

18、舌象数据信息不仅包括舌像数据本身(直接存储 BMP、 GIF、 JPG 等格式的图形文件,在数据库中表现为二进制数据字段),还包括对应舌像的医理特征描述,包括如下字段:舌体颜色,苔色、 形质 荣枯、 形质 老嫩、 形质 胖瘦、 形质 点刺、 形质裂纹 、 苔质 厚薄、 苔质 润燥、苔质腻腐以及 剥苔。 考虑到可能存在恶意篡改、删除数据的行为,软件中应 加入简单的用户帐号管理 功能 ,防止 数据丢失。 一条舌像记录还应包括创建人、创建日期、上一次修改者、上一次修改日期等信息,以尽可能的跟踪数据的变化。 此外,无特殊的非功能性需求。 1.3 本项目设计与实现过程使用的软件 本项目的设计实现的基础是

19、相当成熟、并广为采 用的 N 层开发模型。 软件的最终形式是基于现代方法的舌诊图像管理系统的设计与实现 第一章 厦门大学学士学位论文 - 4 - 基于托管代码的桌面应用软件, 采用的开发语言是 C#,基于 .Net Framework 1.1。 开发工具如下: 开发平台: MS Windows 2000 / XP 编程平台: Visual Studio .Net 2003 DBMS: SQL Server 2000 Service Pack 3、 Oracle 9i 单元测试框架: NUnit 2.0 GUI测试工具: WinRunner 7.01 重构工具: C# Refactoring T

20、ool 1.0、 Resharper 0.78 UML 建模工具: Rational XDE for VS.Net 2003 版本管理: Visual SourceSafe 6.0d 其中,单元测试框架 NUnit 作为动态连接库直接在项目中引用;重构工具 C# Refactoring Tool 和 Resharper、 UML 建模工具 Rational XDE、版本管理工具 Visual Source Safe 均直接集成在 VS.Net 2003 的 IDE 主界面中;设计数据库表结构的过程需要在两套 DBMS 中分别进行; GUI测试 WinRunner 需要单独 运行。 基于现代方法

21、的舌诊图像管理系统的设计与实现 第二章 厦门大学学士学位论文 - 5 - 第二章 用工厂方法构造数据访问层 2.1 数据库应用程序 N 层模型 早期的基于数据库的应用程序采用 “ 两层 ” 的设计方案:表示层与数据 连接 层。有鉴于Smalltalk 设计模式中 MCV( Model/Controller/Viewer)思想的成功,传统的 三层模式应运而生。 这种表示层 商业逻辑 数据连接 层 的经典三层架构分离了表示与逻辑,但是数据连接层没有太大变化。 从 ADO 等数据访问组件流行开始,程序员从数据库连接的繁琐编程中极大地解脱出来,因为 编 写数据库连接代码时 ,可以不考虑 具体 的 DB

22、MS 产品的林林总总的 不同的 细节,可以直接 用抽象数据库的思维调用数据访问组件。 无论 N 层模型 设计上如何变化 ,数据层以上并没有多大悬念,而技术上 最反复多变 的莫过于数据层。实际上,对程序员来说,编写数据层是最让人畏惧的,原因倒不是 DAL 采用的技术有多难;恰恰相反,多数程序员认为这是最没有技术含量的一个部分。这一层的开发时间并不长,但的的确确是苦差事,因为开发 DAL 的过程 相当 于把 DBA 的工作重新做过一次,即使有了 ADO、 ADO.NET 等等数据访问组件, 少不了还是得 映射 数据表中的字段到商业实体对象的 各个 属性。出于程序架构设计的原因, 模型中 加入 DA

23、L 层 。 DAL 层基于被广为接受的数据访问组件,对 传统的架构模式提出了巨大的挑战,加入的目的肯定也是为了进一步提高 生产效率。 我们现在谈到 N 层模型,主要是表示层 商业逻辑 数据访问层(下文起简称DAL)这种三层架构,以及由它再细化出来的多层模型 ,有别于传统三层模型的直接基于 DB访问 API的编程方式 。下图便是现在很常见的数据库应用 程序 的设计模型: 图 1 基于数据库的应用程序的设计模型 2.2 面向对象的数据库开发 在理想的情况下,所有的程序员都希望写程序时彻底斩断同数据库藕断丝连的关系,永永远远同 SQL 语句 说再见,可以写出这样 的代码: AccountDAL.In

24、sertAccount( Account acc ); 基于现代方法的舌诊图像管理系统的设计与实现 第二章 厦门大学学士学位论文 - 6 - 程序员 只管传递一个对象,至于 后台 DB 是 Oracle、 SQL Server 抑或是 DB2,还有 如何将对象的属性保存到数据库 等等 操作 可以 由某个解决方案提供,程序员 完全不 理会个中细节 。但是,目前绝大多数的项目采用基于数据访问组件(比如 ADO、 ADO.Net 等等)的方法进行开发,这将意味着数据表现层与数据库表紧耦合,这样构建的系统的可扩展性与可维护性都不尽如人意。而在开发期间,程序员用类似这样的语句从数据集中读取数据时,编译器

25、 无法检查类型是否匹配, SqlDataReader dr = ; int aNumber = dr.GetInt32(3); / 读取表的第三列,读取 的 结果 作为 整形数 这样的错误只有在运行时 以 错误、异常的形式抛出 ;在这一点上,基于数据访问组件的解决方案还没有有效的解决方法。 近年来,越来越多的人认识到使用面向对象的数据库开发 框架 进行数据库应用的开发有许多的好处。在项目设计阶段,使用 UML 建模设计业务域对象模型;再从模型出发,使用开发组件对业务域对象进行操作,设计某些方法将业务对象保存到数据库,或者 从数据库加载 ;这就是通常所说的 O/R Mapping 对象关系映射。

26、 面向对象的数据库开发框架支持对象查询语言 OCL,并具有如下功能:对象连续性、 对象查询、对象主键、支持 XML、支持多种应用、兼容已有数据访问组件等等。目前在 .Net 平台,除了第三方的开源项目外,较有 名的模型驱动的面向对象的数据库开发框架 / 解决方案有微软的 ObjectSpace 和 Borland 的 ECO( Enterprise Core Object) 。 微软的 ObjectSpace 将在 Visual Studio .Net Whidbey (VS.Net 2003 的后继版本 )和 SQL Server Yukon( SQL Server 2000 的 后继版本

27、) 中得以支持,目前是测试版本; Borland的 ECO 是比较成熟的解决方案,但只在 C# Builder 1.0 Architect 和 Delphi 8.0 Architect 中得到支持 。 并且 ECO 是 商品化的软件,不像 ObjectSpace 那样下载 .Net Framework 就可以使用。基于上述的原因,本系统 DAL 的开发是基于数据访问组件 ADO.Net 进行,没有采用面向对象的数据持久技术。 2.3 项目中 DAL 的具体设计 2.3.1 解决方案布局 在 舌诊图像 管理系统中, DAL 层 的 最终设计方案 支持多数据库, 目前 支持 SQL Server和 Oracle 这两套流行的 DBMS,在 BLL 访问 DAL 时无需对不同的数据库做特殊处理, BLL只管在表示层与 DAL 之间传递对象 ; 即便以后加入 对 DB2 或其它数据库系统的支持,在 BLL层编写代码时 仍然所有帮派一视同仁 ,不需改动已有代码 。 项目中 实际的设计方案 如图 2 所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。