各国人文指数指标体系的判别与分析(共44页)_第1页
各国人文指数指标体系的判别与分析(共44页)_第2页
各国人文指数指标体系的判别与分析(共44页)_第3页
各国人文指数指标体系的判别与分析(共44页)_第4页
各国人文指数指标体系的判别与分析(共44页)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、计141 201406030105 张梓杨各国人文指数指标体系的判别与分析PAGE 2PAGE 53 TOC o 1-3 h z u HYPERLINK l _Toc405188754 第1章 绪言(x yn) PAGEREF _Toc405188754 h 1 HYPERLINK l _Toc405188755 1.1 课题(kt)背景 PAGEREF _Toc405188755 h 1 HYPERLINK l _Toc405188756 1.2 课题研究的目的(md)和意义 PAGEREF _Toc405188756 h 1 HYPERLINK l _Toc405188757 1.3 国内

2、外研究概况 PAGEREF _Toc405188757 h 2 HYPERLINK l _Toc405188758 1.4 论文主要的研究内容 PAGEREF _Toc405188758 h 2 HYPERLINK l _Toc405188759 1.5 论文的组织结构 PAGEREF _Toc405188759 h 2 HYPERLINK l _Toc405188760 第2章 算法介绍 PAGEREF _Toc405188760 h 3 HYPERLINK l _Toc405188761 2.1 相关概念 PAGEREF _Toc405188761 h 3 HYPERLINK l _Toc

3、405188762 2.2 Fisher准则以及算法求解步骤: PAGEREF _Toc405188762 h 4 HYPERLINK l _Toc405188763 第3章 算例分析 PAGEREF _Toc405188763 h 6 HYPERLINK l _Toc405188764 3.1 算法示例 PAGEREF _Toc405188764 h 6 HYPERLINK l _Toc405188765 第4章 需求分析 PAGEREF _Toc405188765 h 8 HYPERLINK l _Toc405188766 4.1 系统总体目标 PAGEREF _Toc405188766

4、h 8 HYPERLINK l _Toc405188767 4.2 用例分析 PAGEREF _Toc405188767 h 8 HYPERLINK l _Toc405188768 4.3 软件过程管理 PAGEREF _Toc405188768 h 10 HYPERLINK l _Toc405188769 4.3.1 过程模型 PAGEREF _Toc405188769 h 10 HYPERLINK l _Toc405188770 4.3.2 软件规模成本估算 PAGEREF _Toc405188770 h 11 HYPERLINK l _Toc405188771 4.3.3 软件过程管理

5、PAGEREF _Toc405188771 h 12 HYPERLINK l _Toc405188772 第5章 总体设计 PAGEREF _Toc405188772 h 14 HYPERLINK l _Toc405188773 5.1 运行环境 PAGEREF _Toc405188773 h 14 HYPERLINK l _Toc405188774 5.2 数据库设计 PAGEREF _Toc405188774 h 14 HYPERLINK l _Toc405188775 5.4 顺序图 PAGEREF _Toc405188775 h 16 HYPERLINK l _Toc405188776

6、 5.5 协作图 PAGEREF _Toc405188776 h 17 HYPERLINK l _Toc405188777 第6章 详细设计 PAGEREF _Toc405188777 h 18 HYPERLINK l _Toc405188778 6.1 软件结构 PAGEREF _Toc405188778 h 18 HYPERLINK l _Toc405188779 6.2 软件设计分层思想 PAGEREF _Toc405188779 h 18 HYPERLINK l _Toc405188780 6.3 系统总体结构 PAGEREF _Toc405188780 h 20 HYPERLINK

7、l _Toc405188781 6.4 实现类的类图 PAGEREF _Toc405188781 h 21 HYPERLINK l _Toc405188782 6.6 活动图 PAGEREF _Toc405188782 h 23 HYPERLINK l _Toc405188783 6.7 组件图 PAGEREF _Toc405188783 h 24 HYPERLINK l _Toc405188784 第7章 软件实现 PAGEREF _Toc405188784 h 25 HYPERLINK l _Toc405188785 7.1 软件界面截图 PAGEREF _Toc405188785 h 2

8、5 HYPERLINK l _Toc405188786 7.2 核心代码 PAGEREF _Toc405188786 h 25 HYPERLINK l _Toc405188787 第8章 软件测试 PAGEREF _Toc405188787 h 36 HYPERLINK l _Toc405188788 8.1 登录模块的测试 PAGEREF _Toc405188788 h 36 HYPERLINK l _Toc405188789 8.2 用户管理模块的测试 PAGEREF _Toc405188789 h 36 HYPERLINK l _Toc405188790 第9章 结果分析 PAGEREF

9、 _Toc405188790 h 41 HYPERLINK l _Toc405188791 第10章 总结 PAGEREF _Toc405188791 h 42 HYPERLINK l _Toc405188792 参考文献 PAGEREF _Toc405188792 h 43各国人文指数(zhsh)指标体系的判别与分析 作者:计141 201406030105 张梓杨 创作时间:2014年12月1日第1章 绪言(x yn) 我国政府目前(mqin)提出全面建设小康社会,树立科学发展观,走可持续发展的道路。新发展观在评价经济增长的标准方面由过去狭义的GDP指标扩展到广义的HDI,这表明人的价值观

10、正向人本主义回归的价值转变,同时也把社会与经济之间的关系表现出来。分析近几年我国HDI,我们不难看出,我国人民健康水平普遍提高,平均预期寿命大大延长,人口文化素质有较大提高,但与发达国家相比仍处于落后地位,近几年我国经济持续增长,但人均GDP水平仍然很低2,提高我国人文发展水平是社会经济可持续发展的需求,也是人民生活水平提高的重要表现。本文通过采用Fisher准则判别分析方法,对各国的人文发展指数进行判别分析,为我国实现可持续发展提供了可靠的依据。1.1 课题背景1995年,我国HDI的总体概况3如下:出生时预期寿命:68.5岁(2001年) 成人识字率:79.3%(2001年) 人均GDP(

11、按购买力平价):1950元(2001年) 健康长寿的生命用出生预期寿命来表示,受教育程度用成人识字率来表示,人民的生活水平用人均GDP(按购买力平价)来表示。提高我国人文发展水平是社会经济可持续发展的需求,也是人民生活水平提高的重要表现,通过长寿与健康、获得知识、为提高生活水准而需要的资源这三个基本方面的提高,来促使我国整体社会的发展,树立和落实科学发展观,实现经济发展和人口、资源、环境协调发展。1.2 课题研究的目的和意义当今世界是一个飞速发展的世界,各国的发展水平都不尽相同,为了能够对各国的发展水平做一个比较科学的研究从而促进各国的进一步发展,联合国发展署于1990年特公布了这一人文发展指

12、数,在这一指数中包含三个指标:出生时的预期寿命、成人识字率和实际人均GDP,这样的三个指标科学的衡量了各国关于人文方面的发展状况,为各个国家的进一步发展提供了有效的参考数据。Fisher准则,作为模式识别中的一个重要理论,为这一研究提供了良好的数学基础,本课题研究中所设计的有关人文发展指标包含三个,属于高维空间中的数学问题,对于这一问题,常常会遭遇到所谓的“维数灾难”的问题,即在低维空间里适用的方法在高维空间里可能完全不使用,因此压缩特征空间的维数有时是很重要的。使用Fisher方法,很好的解决了这一问题,这一方法能够将高维特征空间的点投影到一条直线上,也就能够把特征空间压缩成一维,这时的这一

13、数学问题得到了很好的解决,接下来的重点工作就是要找到那条投影向量,从而使高维空间的点投影到一维空间后很容易分开,即满足Fisher准则的核心要求:就是要找到一个最合适的分界面的法线向量,使两类样本在该轴上投影的交迭部分最少,从而使分类效果为最佳。该向量的方向选择应能使两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。对于这一课题的研究,有助于我们很好的理解世界人文发展指数这一科研概念,在当今这样一个飞速发展的时代,一个国家对这一方面的注意(zh y)程度大小将直接关系到整个国家的发展水平,也能够是各个国家看到自己所存在的不足从而调整自己的发展战略,是自己得到更好的发展;其次,能

14、够运用计算机,编写出相应的程序,从而使这一问题得到了很好地解决,在这一方面很好的展现了信息划时代的便捷、高效这一特点,结合计算机技术解决科研中的各种问题,这将是整个人类社会当前也是今后的一大发展趋势,起到了很好的导向作用。1.3 国内外研究(ynji)概况联合国开发署(UNDP)历次发表的人文发展报告中最引人注目、也最有争议的一个(y )项目是人文发展指数,显然,人文发展指数的概念要比任何一个指数或一组指标的内容要丰富得多,由于计算HDI的数据较容易得到,计算简单,且有很好的可操作性,且已发展的较为成熟 因此作为一项综合的生活质量指标,人文发展指数终将代替传统的人均国名生产总值来衡量一个国家或

15、地区的经济社会发展水平。中国已经跟上这一趋势,在短短的几年中,不仅制定出一些列的政策及原则、措施,而且在社会进步和经济发展上体现了诸多可持续发站目标,然而与发达国家相比,我国的人文发展指数仍处于相对较低的水平上。作为这一领域一个重要的研究方法,Fisher准则有它独特的优缺点,运用这一准则,可以很清晰的判别出位置样本的类别归属,得出较精准的结果,但是,Fisher判别法的不足是它不考虑各总体出现概率的大小,也给不出预报的后验概率及错判率的估计以及错判之后造成的损失。1.4 论文主要的研究内容本文主要针对世界人文发展指数的判别应用软件进行系统性阐述,其中所涉及到的样本数据均来自1995年联合国人

16、文发展指数表,通过对这些数据进行判别分析,将其分别归入不同的两类,即:高发展水平国家和中等发展水平国家,通过判别的结果进行分析,得出相应的结论。在这一过程中,主要涉及到模式识别领域中的Fisher线性判别准则,通过运用这个准则,使这一问题得到很好解决。1.5 论文的组织结构第一章 绪论,总体概括该论文所研究的内容和其中所涉及的相关知识点,阐述了论文的课题来源、研究背景,国内外在相关领域的研究和应用状况以及论文结构。第二章 Fisher准则算法介绍,主要介绍相关概念和算法的求解步骤。第三章 算例分析,对具体的算法实例进行分析,阐述算法思想。第四章 系统设计的需求分析,主要描述用例分析、软件过程管

17、理以及软件所采用的原型。第五章 总体设计,介绍系统的运行环境、数据库设计和UML模型图。第六章 详细设计,介绍软件的结构、分层思想、总体结构和用UML进行建模。第七章 软件实现,用图形介绍本系统的运行状况以及相应的核心代码。第八章 软件测试,采用(ciyng)黑盒法对软件进行测试。第九章 结果分析,对所得结果进行分析,并用相关(xinggun)实例加以阐述。第十章 总结(zngji)第2章 算法(sun f)介绍本章主要(zhyo)介绍有关Fisher准则算法的相关概念(ginin)及其求解步骤。Fisher准则的基本原理是:就是要找到一个最合适的分界面的法线向量,使两类样本在该轴上投影的交迭

18、部分最少,从而使分类效果为最佳。该向量的方向选择应能使两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。2.1 相关概念人文发展指数包含三个指标:出生时预期寿命、成人识字率和人均GDP,显然这三个指标涉及了多维空间的问题,因此,当样本在D维空间时,我们定义如下一些参数:1各样本均值向量: (2-1)2样本类内离散矩阵Si与总类内离散矩阵Sw (2-2)两类总离散度相加 (2-3)注意左边是列向量,乘以右边转置行向量, 得到矩阵。说明:相对均值,看离散的情况,x-mi值越小,离散越好3样本类间离散矩阵 用均值向量来代表样本间的离散程度。并不是直接算这两类均值向量的欧氏距离,而是表

19、示成矩阵: (2-4)定义上述三个基本参量的目的:都是为了将Fisher准则化成计算。Fisher准则强调的是投影,是在法线上的向量的投影。因此它是一维上的“数”的问题。所以需要将上述参量表示成一维。在一维空间中,我们定义如下参数:1各类样本均值 (2-5)注意:此时的y不再是向量,而是具体的值。表示的是同一类的投影值的均值。2样本类内离散度和总类内离散度 一维情况下考察离散程度只有方差,所以 (2-6) (2-7)在这里定义一维空间两类数据的分布是为了描述空间样本点到一向量投影(tuyng)的分散情况的,因此也就是对某向量W的投影(tuyng)在W上的分布(fnb)。2.2 Fisher准则

20、以及算法求解步骤:在这里定义一维空间两类数据的分布是为了描述空间样本点到一向量投影的分散情况的,因此也就是对某向量W的投影在W上的分布。的定义与随机变量方差相类似。在定义了上述一系列描述量后,可以用这些量给出Fisher准则的函数形式。根据Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W的函数为: (2-8)这个函数称为Fisher准则函数。但是(2-8)并不是W的显函数,需进一步化为W的显函数。为此需对、等项进一步演化:(2-9)因而(2-9)分子项又可写成(2-10)同样也可推出与W的关系 因此(yn

21、c)(2-11)则可表示(biosh)成(2-12)根据上述推导过程(guchng),可以将Fisher准则的求解步骤描述如下:(1)对于所给的两类样本分别求出各类均值,形成均值向量 (2)分别计算样本类内离散度 (3)根据所求出的样本类内离散度计算样本间离散度(4)对样本间离散度求逆得到(5)计算均值向量之差(6)求出法向量得到线形判别函数的系数(7)根据上面所求出的系数形成线形判别函数(8)计算判别临界值和判别准则 判别临界值 R(1)=系数*类别1R(2)=系数*类别2 判别准则 R(0)=系数*()/2(9)对输入的数据进行判别第3章 算例分析(fnx)3.1 算法(sun f)示例1

22、995年世界(shji)各国人文发展指数的排序中,选取高发展水平、中等发展水平的国家各五个作为两组样品,另选四个国家作为待判样品作距离判别分析。见表3.1表3.1 各国人文发展指数(1)对于所给的两类样本分别求出各类均值向量 (2)分别计算样本类内离散度86.812 117.682 -4895.74117.682 188.672-11316.54-4895.74 -11316.542087384.836.22856.022448.7456.022344.228-252.24448.74-252.2412987.2 (3)根据所求出的样本类内离散度计算样本间离散度123.04 173.704 -

23、4447173.704 532.9 -11568.78-4447-11568.78 2100372(4)对样本间离散(lsn)度求逆得到0.015112058 -0.0048059885.52469E-06-0.0048059880.003659797 9.98259E-065.52469E-06 9.98259E-06 5.42787E-07(5)计算(j sun)均值向量之差(6)求出法向量,得到线形(xin xn)判别函数的系数(7)根据上面所求出的系数形成线形判别函数(8)两类判别函数均值和判别指标(临界值)R(1)=12.1653 ;R(2)=9.6291;R(0)=10.8972

24、;因为R(1)R(2)因此,判别准则为当R大于R(0),则属于第一类;当R小于R(0),则属于第二类。(9)对待测样品“中国”进行判别,将其三个指标输入本系统中,得到的结果为7.833793,因为7.83379310.8972,所以中国应属于第二类。第4章 需求(xqi)分析本章主要介绍了本系统设计的需求分析,主要描述用例分析、软件过程管理以及(yj)软件所采用的原型。通过本章的介绍,对于系统的设计起到了指导性作用,可以更好的将系统软件设计出来。4.1 系统(xtng)总体目标系统用于对各国的人文发展指标进行判别,通过判别的结果进行分析,找出本国发展的不足之处。当前我国正处于飞速发展的阶段,衡

25、量我国发展状况不再单单靠GDP这一指标来进行,人文发展指数(HDI)已经逐渐成为衡量我国发展状况的量度。通过本系统的应用,可以为国家发改委提供决策支持,省去了大量的手工劳动,是计算出来的结果更精确可靠,为促进我国快速稳定向前发展提供了保障。4.2 用例分析本软件系统包含三个功能模块:用户登录模块、用户管理模块、算法实现模块。其中,用户登录模块中,用户可以进行注册、选择不同的用户权限进行登录以及退出该系统,见图4.1;用户管理模块实现了对系统用户的管理,包括新用户进行注册、管理员审批新注册用户、用户通过审批成为该系统的普通用户、管理员查询系统用户、删除用户、查看全部用户等功能,见图4.2;判别应

26、用模块,包括对未知样本进行判别、生成新的判别函数、查看样本数据、查找样本、删除样本以及修改样本,见图4.3。整个系统的用力关系图见图4.4用户登录模块用户登陆用户注册退出登录图4.1 用户登陆模块用户管理模块审批新注册的用户查找用户删除用户查看所有用户图4.2用户(yngh)管理模块判别应用模块对未知样本进行判别生成新的判别函数查看样本数据查找样本删除样本修改样本数据图4.3判别应用(yngyng)模块图4.4 用例关系(gun x)图如图4.4所示为系统(xtng)用例图。普通用户可对本系统(xtng)进行如下操作:用户注册用户登录进行判别分析,包括:对未知样本进行判别类别归属生成新的判别函

27、数查看样本数据删除样本查找样本修改样本管理员可对本系统进行如下操作审批用户查找用户删除用户查看所有用户4.3 软件过程(guchng)管理4.3.1 过程(guchng)模型快速(kui s)原型4是快速建立起来的可以在计算机上运行的程序,它能完成的功能往往是最终产品能完成的功能的一个子集,快速原型模型的第一部是快速建立一个能反映给用户主要需求的原型系统,以便得到用户的反馈,和用户达成共识本系统采用的就是快速原型模型,见图4.5图4.5快速原型模型4.3.2 软件规模成本估算利用经验模型进行成本估算,即COCOMO模型工作量,其中a为模型系数,b为模型指数详见表4.1表4.1 COCOMO模型

28、指数与模型系数对照表L为代码行数,其计算公式为:在这里,=2200,=3200,=2825成本因素 详见表4.1表4.2成本因素及工作量调整因子系统(xtng)开发时间 现将各个(gg)数值带入进行计算:代码(di m)行:L=2783.33(LOC)工作量:E=13241.69开发时间:T=79.134.3.3 软件过程管理本软件系统开发历时两个半月,共计十个星期,在开发过程中,严格按照进度安排完成相应的阶段任务,具体按进度如下:第五周:算法分析第六周:概要设计(用例分析、类图分析、软件原型)第七周:详细设计(数据库设计、顺序图分析)第八至十一周:算法的实现十二至十四周:软件功能的完善,包括

29、用户登录模块、用户管理模块、算法功能实现模块具体进度安排甘特图见图4.5图4.5进度(jnd)安排甘特图第5章 总体设计5.1 运行(ynxng)环境(1)硬件(yn jin)环境:Intel Pentium M处理器,1GB内存(ni cn)(2)软件环境:Windows2000/XP 操作系统、JBuilder 2006开发环境、Oracle9i数据库管理系统5.2 数据库设计图5.1 E-R模型图用户信息表,包含三个字段属性:用户名、用户密码、用户类别,见表5.1表5.1 用户信息表表名:user_table主键:name字段名数据类型说明nameVarchar2(20)用户名passw

30、ordvarchar2(20)密码typevarchar2(20)用户类别人文发展指标表,包含六个字段属性:编号、类别、国家名称、出生时预期寿命、成人识字率、人均GDP ,见表5.2 表5.2人文发展指标表表名:Develop_Table主键:ID_no字段名数据类型说明ID_noNumber(3)序号Typevarchar2(10)类别Namevarchar2(20)国家名称LifeNumber(6,2)出生时预期寿命KnowledgeNumber(6,2)成人识字率GDPNumber(8,2)人均GDP 5.3 顶层(dn cn)的数据流图图5.2 用户(yngh)管理数据流图图5.4为用

31、户管理模块的数据流图,普通用户将自己的信息在该系统中进行注册,管理员可以对用户的信息进行查找、删除、查看以及对用户的注册进行审批(shnp),通过这一模块的实现,很好的对系统的用户进行管理,保证了系统的安全性。图5.3 判别分析数据流图图5.5 为系统盘别分析模块,这一模块为该系统的主要模块,用户可以通过这个模块,对于未知样品进行判别,从而对所得到的结果进行分析,分析本国的发展状况,从而能够促进国家的快速稳定的发展。5.4 顺序(shnx)图图5.4顺序(shnx)图图5.4 为该系统的时序图,他描述了系统的操作顺序,从图中我们可以看出,一个用户必须注册成为本系统的普通用户后才能拥有此系统的使

32、用权,但是,并非所有用户均能成功的注册,但一个新用户填写注册信息后,必须经过(jnggu)管理员的审批后才能使用本系统对未知样本进行判别分析。当用户成功的获得通过审批后,就能够应用此系统了,在本系统的判别分析模块中,用户输入用户名和密码后,能够对未知样本进行判别分析,此外还能对原始数据进行修改,以便生成用户满意的判别函数。5.5 协作(xizu)图图5.5协作(xizu)图图5.5为系统的协作图,该图描述了本系统中交互对象的静态(jngti)链接关系。 第6章 详细设计6.1 软件结构C/S(Client/Server,客户机/服务器)方式的网络计算模式(msh),工作分别由服务器和客户机完成

33、。服务器负责管理数据库的访问,为多个(du )客户程序管理数据,对数据库进行检索和排序,此外还要对客户机/服务器网络结构中的数据库安全层层加锁,进行(jnxng)保护。客户机负责与用户交互收集用户信息,通过网络向服务器请求对诸如数据库,电子表格或文字处理文档等信息的处理工作。可见,在C/S模式中,资源明显不对等,是一种“胖客户机”,“瘦服务器”结构。最简单的C/S模式数据库应用,由两部分组成,即客户机应用程序和数据库服务器应用程序。两者可分别称为前台程序和后台程序。运行数据库服务器的机器,称为应用服务器。服务器程序启动后,就随时等待响应客户程序发来的请求;客户程序在客户使用的计算机上运行,客户

34、使用的计算机称之为客户机。当需要对数据库中的数据进行访问时,客户程序就自动寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果。考虑到本系统是一个小型的桌面应用系统,且目标用户为一些有专业技能的人,不具有专业技能知识的人不能够很好的理解此软件的算法,故采用了C/S软件结构,使得该软件具有一定保密性能。在客户端应用JAVA高级语言进行编写,主要向用户提供与底层数据库进行交互的应用界面,在这一部分,用户可根据具体的操作提示使用此软件,其中包含一些验证的内容,如输入的用户名不存在则提示用户重新输入或进行注册,当输入的信息为空时,则提示用户输入完整信息,通过这样的信息验证,可以使

35、该系统具有很强的人性化,很好的指导用户使用本软件系统。作为客户端,最重要的作用就是提供人机交互的接口,在这一点上,该软件页显示出其强大的功能,对于用户要进行的每一步操作,该系统均有相应的数据输入框,当用户输入的数据有效时,由系统给出相应的操作结果,例如:当用户需要进行查询某一样本的具体内容是,需输入国家名称,如果底层数据库中存有该样本的记录,系统就将该条记录显示给用户,此时,用户可以看到该样本的详细信息;再如,当用户想修改一个样本的具体信息时,同样,系统也给出一个对话框,要求用户输入国家名称,用户输入完之后,系统自动从底层数据库中进行查询,如果底层数据库中存有该样本的记录,则将样本的信息显示出

36、来,此时,用户可以修改样本的各项指标,以达到用户满意为止。综上,在客户端,本系统能够很好的进行人机交互,使用户操作起来感到便捷,这是本系统的最大特点。其次,在服务器端,采用了大型公司所使用的Oracle数据库管理系统,此系统能够存储大容量的数据,这一点对于进行科研工作是十分重要的。由于这种数据库管理系统一般为大型公司所采用,所以在系统安全性方面有突出的优点。在这一层上,主要采用的时SQL语句进行数据库的编写,运用jdbc的方式访问数据库,并且加工期进行了良好的封装,当多用户同时进行访问时,不会造成系统的崩溃,在这一点上也很好的体现了面向对象的编程思想。本套系统,通过客户端和服务器端的巧妙结合,

37、使该系统操做起来十分便捷,计算出的结果精确,可供科研项目使用。6.2 软件设计分层思想(sxing)本系统严格采用了软件的分层思想进行编写(binxi),即数据层逻辑(lu j)层表示层,采用这种分层思想,使得该软件可读性增强,便于后续的二次开发。其层次结构见图6.1图6.1 软件分层结构如图6.1所示,本系统中,视图层主要由人机交互的界面组成,在用户登录模块中,主要包括:用户登陆、用户注册;在用户管理模块中,主要包括:用户审批、用户查找、用户删除、用户查看;在样本判别应用模块主要包括:对未知样本判别、生成新的判别函数、查找样本、删除样本、查看所有样本、修改样本,由这三个模块的的所有功能界面组

38、成本系统的视图层。在本系统中,各个模块均有自己的逻辑操作,如图6.1中的service,在这一层上,使用java语言编写出相应的表示动作的代码,在用户登录模块所涉及到的逻辑操作包括:用户登陆、登录验证、用户注册;在用户管理模块所设计的逻辑操作包括:对用户的增、删、改、查四个操作;在样本判别应用模块所涉及到的逻辑操作包括:用样本的增、删、改、查、统计样本个数五个操作,所有这些操作构成系统的逻辑层。在数据访问层中,本系统采用了javabean技术,使用此技术可以实现良好的数据封装机制,当不同模块同时访问数据库时,它们可以同时调用同一个javabean而互不影响,这样做降低了代码的冗余度,使程序运行

39、起来显得更“轻快”,同时也增强了代码的可读性;此外,本系统采用了DAO的模式访问数据库,采用这一模式可以解决多个用户并发访问致使系统崩溃的问题,实现了面向对象的设计方法,提高了系统的安全性。6.3 系统(xtng)总体结构基于Fisher准则的各国人文发展指标的判别应用系统用户管理员普通用户用户审批用户查找用户删除查看用户判别未知样本生成判别函数查找样本删除样本查看样本修改样本图6.2系统总体(zngt)结构图6.2详细描述了本系统的功能模块结构,通过观察此图,我们不难发现本系统主要分为两大模块,即用户管理模块和判别分析模块,在前一模块中,主要对系统的用户进行管理,包括对用户的审批、查找、删除

40、和查看所有(suyu)用户,这一模块的主要用户是系统管理员;判别分析模块为该系统的主要模块,实现了本课题所研究的内容,在这一模块中包括六个内容,即判别未知样本、生成判别函数、查找样本、删除样本、查看样本、修改样本,这一模块的主要用户为该系统的使用者,亦即普通用户,其中,判别未知样本为此模块的主要功能,用户通过这个功能,能够对人文发展指数进行判别,一边分析发展状况。6.4 实现(shxin)类的类图图6.3实现(shxin)类的类图图6.3为实现类的类图,本系统中包含了两张表,分别为用户表和人文发展指标表,不同的用户可以对不同的表进行操作,其中管理员可以对用户表进行操作,包括对新注册用户的审批、

41、查找用户、查看用户以及删除用户;普通用户可以对人文发展指标表进行相应的操作,包括对未知样品的判别、查找样品、删除样品、查看样品、生成新的判别函数以及修改样品。从这张图中,我们可以看出每张表都有不同个数的抽象方法,在定义了这些抽象方法之后,就需要有一个专门的方法来实现它,这样做将软件的分层思想(sxing)和面向对象思想体现出来。6.5 状态图图6.4状态图图6.4为系统的状态图,描述了系统在各个阶段的状态,此图详细展示(zhnsh)了系统的的可能状态以及引起状态转换的事件。6.6 活动(hu dng)图图6.5活动(hu dng)图活动图描述动作及动作之间的关系,是状态图的一种,但是,活动图的

42、主要目的(md)是描述动作及动作的结果,图6.5为系统的活动图,他详细描述了用户使用该系统所要进行的相关动作,从图中我们可以看出,每一步操作都是有前因和后果的,一个动作的结束表明下一个动作的开始,其中蕴含了很强的逻辑性,使系统使用起来更具人性化,用户操作起来才会感到便捷,不至于晦涩难懂。6.7 组件(z jin)图图6.6 组件(z jin)图第7章 软件(run jin)实现本章通过软件(run jin)运行的相关图片介绍整个软件系统的运行效果。7.1 软件(run jin)界面截图如图7.1所示,此界面为用户登陆界面,系统一旦(ydn)运行,用户便进入此界面,输入正确的用户名和密码后,可以

43、进入不同的管理模块,管理员进入用户管理模块,普通用户进入判别分析模块,如果用户未进行注册,则必须先进行注册后才能使用此系统,如图7.2所示。 图7.1 用户登录 图7.2用户注册图7.3为系统管理员界面的截图,在这一模块中,管理员可以对用户进行查询,删除,查看,以及审批用户操作。如果用户权限为普通用户,则进入判别分析模块,在这一模块中,用户可以对样本进行判别分析,以及对原始样本数据进行增、删、改、查操作。 图 7.3系统管理员模块 图 7.9 判别应用系统7.2 核心(hxn)代码 public void sho(int count1All_1, int count1All_2, int co

44、unt1All_3, int count1, int count2All_1, int count2All_2, int count2All_3, int count2, float txtLife, float txtCulture, float txtGdp) /*对第一类值进行计算,得到(d do)相应的类内离散矩阵 /第一个均值(jn zh)向量 try Connection con = Conn.getConnection(); Statement stmt = con.createStatement(); String xl1_sql = select avg(life),avg(

45、knowledge),avg(gdp) from develop_table where type=第一类; ResultSet rs1 = stmt.executeQuery(xl1_sql); System.out.println(第一类的均值:); while (rs1.next() junzhi100 = rs1.getFloat(1); junzhi110 = rs1.getFloat(2); junzhi120 = rs1.getFloat(3); rs1.close(); stmt.close(); con.close(); catch (Exception ex) ex.get

46、StackTrace(); /第一个矩阵 float zhi1_1 = new floatcount1count1All_1; /向量中的数值 float zhi1_2 = new floatcount1count1All_2; float zhi1_3 = new floatcount1count1All_3; float minus1_1 = new floatcount1count1All_1; /x-m1 float minus1_2 = new floatcount1count1All_1; float minus1_3 = new floatcount1count1All_1; f

47、loat zhi1 = new floatcount13; float minus1 = new floatcount13; count1All = count1All_1 + count1All_2 + count1All_3; / System.out.println(第一类总元素个数: + count1All); int fz1_j =0;/求第一类值的各维向量 try Connection con = Conn.getConnection(); Statement stmt = con.createStatement(); String fz1_sql = select life,kn

48、owledge,gdp from develop_table where type=第一类; ResultSet rs = stmt.executeQuery(fz1_sql); while (rs.next() for (int fz1_i = 0; fz1_i count1; fz1_i+) zhi1_1fz1_ifz1_j = rs.getFloat(1); zhi1_2fz1_ifz1_j = rs.getFloat(2); zhi1_3fz1_ifz1_j = rs.getFloat(3); fz1_j+; /第一类各个值的矩阵(j zhn)形式 int fj1_xa = 0, fj

49、1_xc = 0; for (int fj1_x = 0; fj1_x count1; fj1_x+) int fj1_xb = 0; zhi1fj1_xafj1_xb+ = zhi1_1fj1_xfj1_xc; zhi1fj1_xafj1_xb+ = zhi1_2fj1_xfj1_xc; zhi1fj1_xa+fj1_xb = zhi1_3fj1_xfj1_xc+; rs.close(); stmt.close(); con.close(); catch (Exception e) e.getStackTrace(); /求第一类中向量(xingling)与均值中的值之差 for (int

50、fju_i = 0; fju_i count1; fju_i+) for (int fju_r = 0; fju_r count1; fju_r+) minus1_1fju_ifju_r = zhi1_1fju_ifju_r - junzhi100; minus1_2fju_ifju_r = zhi1_2fju_ifju_r - junzhi110; minus1_3fju_ifju_r = zhi1_3fju_ifju_r - junzhi120; int fju_ya = 0, fju_yc = 0; for (int fju_p = 0; fju_p count1; fju_p+) in

51、t fju_yb = 0; minus1fju_yafju_yb+ = minus1_1fju_pfju_yc; minus1fju_yafju_yb+ = minus1_2fju_pfju_yc; minus1fju_ya+fju_yb = minus1_3fju_pfju_yc+; /*计算(j sun)第一类的类内离散矩阵*/ int fln1_i; for (int fln1_z = 0; fln1_z count1; fln1_z+) for (int fln1_b = 0; fln1_b 3; fln1_b+) for (int fln1_c = 0; fln1_c 3; fln1

52、_c+) juzhen1fln1_bfln1_c += minus1fln1_zfln1_b * minus1fln1_zfln1_c; /*对第二类值进行计算(j sun),得到相应的类内离散矩阵/第二个均值(jn zh)向量 try Connection con = Conn.getConnection(); Statement stmt = con.createStatement(); String txl2_sql =select avg(life),avg(knowledge),avg(gdp) from develop_table where type=第二类; ResultSet

53、 rs1 = stmt.executeQuery(txl2_sql); while (rs1.next() junzhi200 = rs1.getFloat(1); junzhi210 = rs1.getFloat(2); junzhi220 = rs1.getFloat(3); rs1.close(); stmt.close(); con.close(); catch (Exception ex) ex.getStackTrace(); /第二个矩阵 float zhi2_1 = new floatcount2count2All_1; /第二类向量中的数值 float zhi2_2 = ne

54、w floatcount2count2All_2; float zhi2_3 = new floatcount2count2All_3; float minus2_1 = new floatcount2count2All_1; /x-m2 float minus2_2 = new floatcount2count2All_1; float minus2_3 = new floatcount2count2All_1; float zhi2 = new floatcount23; float minus2 = new floatcount23; count2All = count2All_1 +

55、count2All_2 + count2All_3; int tj2_j = 0;/求第二类中值(zhn zh)的各维向量 try Connection con = Conn.getConnection(); Statement stmt = con.createStatement(); String tj2_sql = select life,knowledge,gdp from develop_table where type=第二类; ResultSet rs = stmt.executeQuery(tj2_sql); while (rs.next() for (int tj2_i =

56、0; tj2_i count2; tj2_i+) zhi2_1tj2_itj2_j = rs.getFloat(1); zhi2_2tj2_itj2_j = rs.getFloat(2); zhi2_3tj2_itj2_j = rs.getFloat(3); tj2_j+; /第二类各个(gg)值的矩阵形式 int tj2_xa = 0, tj2_xc = 0; for (int tj2_x = 0; tj2_x count2; tj2_x+) int tj2_xb = 0; zhi2tj2_xatj2_xb+ = zhi2_1tj2_xtj2_xc; zhi2tj2_xatj2_xb+ =

57、zhi2_2tj2_xtj2_xc; zhi2tj2_xa+tj2_xb = zhi2_3tj2_xtj2_xc+; rs.close(); stmt.close(); con.close(); catch (Exception e) e.getStackTrace(); /求第二类中向量(xingling)与均值之差 for (int mi2_i = 0; mi2_i count2; mi2_i+) for (int mi2_r = 0; mi2_r count2; mi2_r+) minus2_1mi2_imi2_r = zhi2_1mi2_imi2_r - junzhi200; minu

58、s2_2mi2_imi2_r = zhi2_2mi2_imi2_r - junzhi210; minus2_3mi2_imi2_r = zhi2_3mi2_imi2_r - junzhi220; int mi2_ya = 0, mi2_yc = 0; for (int mi2_p = 0; mi2_p count2; mi2_p+) int mi2_yb = 0; minus2mi2_yami2_yb+ = minus2_1mi2_pmi2_yc; minus2mi2_yami2_yb+ = minus2_2mi2_pmi2_yc; minus2mi2_ya+mi2_yb = minus2_3

59、mi2_pmi2_yc+; /*计算(j sun)第二类的类内离散矩阵*/ int lnl2_i; for (int lnl2_z = 0; lnl2_z count2; lnl2_z+) for (int lnl2_b = 0; lnl2_b 3; lnl2_b+) for (int lnl2_c = 0; lnl2_c 3; lnl2_c+) juzhen2lnl2_blnl2_c += minus2lnl2_zlnl2_b * minus2lnl2_zlnl2_c; /计算类间离散(lsn)矩阵 for (int lj2_i = 0; lj2_i 3; lj2_i+) for (int

60、lj2_j = 0; lj2_j 3; lj2_j+) swlj2_ilj2_j = juzhen1lj2_ilj2_j + juzhen2lj2_ilj2_j;/对类间矩阵(j zhn)求逆 int sw_i, sw_j; sw_i = sw_j = 3; for (int sw_a = 0; sw_a 3; sw_a+) for (int sw_b = 0; sw_b 3; sw_b+) SW_sw_a + 1sw_b + 1 = swsw_asw_b; for (int sw_k = 1; sw_k = sw_i; sw_k+) for (int sw_t = sw_j + 1; sw_

温馨提示

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

评论

0/150

提交评论