1、南 阳 理 工 学 院本科生毕业设计(论文)学院(系): 软件学院 专 业: 软件工程 学 生: 胡亮亮 指导教师: 刘哓明 完成日期 2015 年 05 月南阳理工学院本科生毕业设计(论文)繁星天气信息管理系统的设计与实现Design and Implementation of theFanXing Weather Information Management System总 计:毕业设计(论文) 27页表 格: 6个图 片: 22个繁星天气信息管理系统的设计与实现南 阳 理 工 学 院 本 科 毕 业 设 计(论文)繁星天气信息管理系统的设计与实现Design and Implementa
2、tion of theFanXing Weather Information Management System学 院(系): 软件学院 专 业: 软件工程 学 生 姓 名: 胡亮亮 学 号: 1115115127 指导教师(职称): 刘哓明 讲师 评 阅 教 师: 李倩伟 完 成 日 期: 2015年05月01日 南阳理工学院Nanyang Institute of Technology繁星天气信息管理系统的设计与实现软件工程 胡亮亮摘 要 随着社会的进步和经济的发展,天气对人类的影响也日益的深远,所以人们对于气象变化的研究也愈发的频繁,传统的信息记录方式已经很难满足现今的庞大天气数据。基于
3、以上事实,使用了VS2010,SQL2005以及ADO对象接口进行开发。使用户能够注册帐号并登录系统,对地区信息以及对应的天气信息进行添加和修改并统计出来,还能够根据用户的需求生成图表和导出到Excel表格中。用户能够清晰直观的了解某一地区的一段时间的天气变化,可以做为研究天气变化规律的参考数据资料。关键词 天气信息;数据管理;图表化Design and Implementation of theFanXing Weather Information Management SystemSoftware Engineering MajorHu LiangLiangAbstract: With s
4、ocial progress and economic development, the impact of weather on human increasingly far-reaching, so people for climate change research also increasingly frequent ,the traditional way of recording information has been difficult to meet the current huge weather data. Based on the above facts, use VS
5、2010,SQL2005 and ADO object interfaces designed this system. Enables users to register an account and log on to the system, add and modify information and corresponding weather information and statistics, can also generate charts based on users needs and export to Excel tables. Users can clear intui
6、tive understanding of a regions weather for a while, and can be used as reference data of weather changes.Key words: Weather Information; Data Management; Graphed目 录1 绪论11.1 项目研究背景11.2 项目研究目的与意义11.3 论文的组织结构22 相关技术及开发工具介绍22.1 相关技术22.2 开发工具33 系统分析33.1 可行性分析43.2 功能需求分析43.3 非功能需求分析54 系统设计64.1 系统体系结构64.2
7、 系统工作流程74.3 功能设计84.3.1 系统模块划分84.3.2 系统模块功能94.4 数据库设计104.4.1 概念结构设计104.4.2 逻辑结构设计115 系统实现125.1 开发环境125.2 功能实现135.2.1 注册135.2.2 登录145.2.3 主界面145.2.4 地区管理155.2.5 天气管理185.2.6 图表生成206 功能测试216.1 注册功能测试216.2 登录功能测试23参考文献26致谢271 绪论1.1 项目研究背景随着社会的进步和经济的发展,人们的户外活动也日益频繁,各地的天气情况越来越受到人们的关注,从气象行业的发展历程来看,信息技术对气象学科
8、和气象业务是起着决定性推动作用的。气象观测在17世纪就已经出现了,但到1870年以前,气象预报基本上还是停留在单站天气预报,原因很简单,因为预报专家对气象的整体状态没有明晰的了解1。1893年,无线电通信诞生了,由于无线电通信的诞生,到1930年之前,地面观测网建立起来了,使得气象科学家能够从整体上了解到地面气象要素,大气波动和大气运行的状态,由此天气预报的实践开始了。一些气象学科的学派也开始诞生了。1928年,前苏联专家发明了无线电探空仪,使得大气探测得以实现,特别是1939年前,高空探测站网的建立,使得人们对全球整体大气运行状态有了比较全面的了解,由此催生了气象学科的诞生和发展,许多气象科
9、学家是在1930年前后开始陆续出现的,像Rossby先生,此人在气象界是非常著名的科学家,他提出了大气长波理论,奠定了整个气象学科的基础,而如果没有地面站网和高空站网所提供的大气整体观测资料,Rossby先生是无法提出该理论的;进一步说,如果没有无线电通信技术,地面和高空站网是无论如何无法建立起来的。所以说,无线电通讯的诞生和在气象部门的有效使用,促进了,或者说根本性地推动了气象学科的发展。进入21世纪,信息技术进入高速发展阶段,人们对于天气的研究也越来多样化,通过收集天气信息,观测天气变化的规律,以期能够促进人类社会发展。1.2 项目研究目的与意义传统的人工用纸进行记录效率低、容易丢失,同时
10、,处理信息和管理模式需向信息化、网络化方式转变,扩大信息共享。面对这样的情况,及时的研发一套适用于天气信息管理信息化软件将有效弥补传统方式的不足,并且能够对气象信息进行趋势分析、数据共享等,开发这样的一个系统对于提高气象信息科学管理和预测分析工作具有重要意义3。天气信息管理系统是为了管理一个地区和对应天气等信息设计的。结合在实际天气观察和记录工作中所遇到的问题和收获,对社天气信息系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,从技术手段的角度阐述如何实现从传统管理模式向信息化管理模式转变,以及信息化管理的高效2。通过现代科技研发出相
11、关的软件产品,我们可以使用新的方式记录统计天气信息,大大提高了气象工作者的工作效率,也可以通过附加的一些功能对数据进行优化展示,使数据可视化,方便相关工作者对数据结果进行处理,更快捷的做出初步的处理,得出研究的初步结论。1.3 论文的组织结构本文的具体结构安排如下:第一章,描述项目的选题背景,给出项目研究的目的与意义。第二章,详细介绍一些本系统使用到的关键技术和开发平台。第三章,通过收集和分析系统需求,描述了系统可行性分析、功能需求和非功能需求。第四章,详细的描述系统的体系结构,并且简述系统的每一个主要功能,对系统数据库的设计做简要说明。第五章,利用C+编程,基于MFC Dialog应用程序,
12、结合SQL Server 2008数据库,利用ADO进行编程,说明系统各功能的实现方法等。第六章,搭建测试环境,进行系统功能测试。2 相关技术及开发工具介绍2.1 相关技术(1)CDC类CDC类定义的是设备上下文对象的类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。通过CDC对象的成员函数进行所有的绘图。类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。它还为获取和设置绘图属性、映射,处理视点、窗口扩展、转换坐标,处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状提供了成员函数。
13、另外还为绘制文本、处理字体,使用打印机跳转,滚动和播放元文件提供成员函数。使用CDC对象时要构造它,然后调用与它平等的、使用设备上下文的Windows函数的成员函数。(2)MFCMFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c+类库,主要封装了大部分的windows API函数,vc+是微软公司开发的c/c+的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。有时人们说vc呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DevC+其中一个编译器内核就是g
14、cc。 MFC除了是一个类库以外,还是一个框架,你应该试过,在vc+里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大。(3)ADO一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。在Microsoft Visual Basic编辑器中,可以使用ADO对象以及A
15、DO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来操作数据库中的数据。2.2 开发工具(1) Microsoft Visual Studio 2010Visual Studio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Fra
16、mework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。(2) SQL Server 2005Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于
17、业务的高可用和高性能的数据应用程序。Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集
18、成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。3 系统分析需求分析是描述建立一个计算机系统结构,描写该系统具有什么目的、实现什么功能、所需功能性定义的工作。通过系统的分析产品需要,设计出符合系统定义的架构、流程结构、数据库结构等。用户并不了解软件开发的相关知识和流程,开发者不清楚用户所需要的功能性需求。这样一种认知差异容易造成增加系统开发的难度。这就需要通过开发者与用户进行系统可行性与功能性的深入沟通,从而针对具
19、体内容制定出一份详实的需求分析文档。事实证明,需求分析文档的质量对最终成品的质量具有相当大的影响。3.1 可行性分析(1)经济可行性天气信息管理涉及到气象、雨情等各种数据,具有非常大的科研和实际价值,于是建设一套天气信息管理系统就非常必要,会给一个地区经济和社会带来显著民生效应4。(2)技术可行性本系统采用的C+编程、MFC框架、ADO编程,PowerDesigner建模工具等为基础开发技术,SQL Server2005作为数据库。系统采用C/S结构,结合分层体系架构来进行设计,降低层与层之间耦合性,有利于开发和测试,也有利于功能扩展。3.2 功能需求分析信息管理系统就是用户在处理较多数据时,
20、人工方法的效率是较为低下的,因为需要系统能够有条理的快捷的处理庞大的数据。尤其是天气信息,因为天气信息包含了很多的要素。包括温度,风向,风力,降雨量,湿度,紫外线强度等等。用户在使用本系统的时候,能够对使用系统的各个功能对包括用户,地区,天气信息等进行操作。使其更方便的管理数据,让工作人员能够更方便的通过信息管理系统查看数据,得出研究结果。主要前台功能如下:(1)注册模块用户需要使用帐号密码才能够登录系统,所以在登录之前需要注册信息。用户需要输入基本信息进行注册,所以用户需要有用户名,因为系统的用户不止一位,为了防止用户名重复,系统还需要对用户的帐户名进行重复性检测,检测通过之后才能后注册成功
21、。注册成功后用户才能使用该系统。 (2)登录模块用户在成功注册完毕后,使用注册账号和密码登录系统,账户名和密码输入正确之后成功登录,之后进入系统主界面。 (3)区域管理模块系统主界面需要有个管理地区的功能,因为我们在管理一个地区不同时段的天气信息之前,肯定是先要管理不同的地区,区域管理模块下分为两个小功能,一是新增区域功能,可以随着用户的需要添加新的地区:首先是添加具体的区域,然后是区域所在的国家,省区,下面是市级地区。二是查询功能,当管理的地区过多的时候,有时候我们想要查看某一地区的情况就需要用到这一功能。然后在某个地区之下,管理这个地区的所有天气信息。同样在查询中,我们也需要先选择查询地区
22、所在的国家,省,市,然后在选择具体的区域,点击查询,系统给出该地区所有的天气信息。 (4)天气管理模块在系统划定了一个地区之后,我们才能够对这个地区的天气信息进行管理。在管理模块下也分为新增天气信息和查询天气信息,添加基本的天气信息应该包含有,这个天气信息所在的地区,总体的一个天气情况,再细划分成降雨量,风向,风力,最高温度以及最低温度等;然后当我们需要查询的时候,找到想要查询的地区的信息,找到对应的地区的位置,然后就可以查到对应这个地区的所有的天气信息。 (5)图形统计模块在我们收集到了某一地区的一段时间的天气信息以后,为了用户能够更加直观的了解这一地区在这一时间段的天气的变化,系统可以将温
23、度和降雨量分别生成折线图和柱状图,使数据清晰易读。 (6)导出excel模块用户在收集信息的时候可能是零散的,为了方便统计,用户可以查询某地区的所有天气信息,并且可以导出到Excel表格中。方便做为数据资料保存。在本系统中,Excel其实是相当与另一个数据库,系统只是把SQL中的数据保存到Excel这个数据库中,实现数据的导出功能。当然在实际的应用中,我们也可以把数据以其他的形式导出来。后台功能:数据库的数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种
24、“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。3.3 非功能需求分析(1)时间性能需求系统为桌面程序,使用客户端方式访问,响应速度
25、为5秒以内。(2)系统开放性需求基于主流WINDOWS平台建设,使其具有良好的可扩充性和可移植性,系统可运行在主流的WINDOWS操作系统平台上,便于以后系统的升级。遵循主流的标准和协议,不仅可以为系统与上级平台系统交换信息提供便利,而且也有利于系统内部各部分之间交换信息,这将有助于提高系统扩充性。(3)界面友好性需求系统提供统一的操作界面和方式,操作界面美观大方,布局合理,功能完善。使用户能够获得最佳的操作体验。(4)环境需求硬件环境:包括服务器端和客户端,服务器端的最低配置要求为CPU 2GHZ、内存256MB、硬盘2T;客户端最低配置为CPU 1GHZ、内存128MB、硬盘500G。软件
26、环境:同样包括服务器端和客户端,服务器端采用Windows 2000 Server操作系统,SQL Server 2005数据库;客户端为Windows 7操作系统4 系统设计4.1 系统体系结构系统采用C/S结构进行设计。C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS(数据库管理系统)的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。被广泛应用于现在的软件设计开发中。Client和Server常常分别处在相距很远的两台计算机上,Clien
27、t程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。客户端主要运行天气信息管理系统,服务器端运行SQL Server 2008数据库,客户端和服务器采用网络进行通信5。天气信息管理系统主要是完成天气信息管理各个方面问题的实现,通过数据的收集,向用户显示具体各个地区信息(所在国家、所在省、所在城市、所在地区)的具体天气信息。用户通过之前的新增,让后可以查看某一段时间内,某个地区天气趋势图,并且可以将结果导出excel。这种功能大大节省了相关工作者的工作时
28、间,提高工作者的工作效率。本系统为了提高程序的可读性,可维护性,使用分层架构对程序进行分层,程序分为表示层、逻辑层和数据存储层。层与层之间通过实体对象进行传递6。通过整理分析上面的结果,我们分析得出了以下有关于系统体系结构的逻辑图,主要是分为3层。体系结构图如图41所示:图41系统体系结构图表示层:系统的主要操作界面,如登录注册界面,系统主界面,添加和修改界面等,业务逻辑层:就是整个系统的运做流程逻辑。业务实体就是在系统中存在的几个实体以及之间的关系;数据访问层就是系统通过代码实现对数据库的操作。4.2 系统工作流程天气信息管理系统主要实现的就是用户对天气信息的管理和操作。首先,用户需要注册一
29、个可用的用户名和账户,然后再打开登录界面,输入刚刚注册的用户名和密码,输入正确之后成功进入系统。然后在系统的主界面,用户可以根据自己的需求使用系统提供的功能。比如用户如果想添加天气信息的话,首先需要选择在哪个地区添加信息,如果系统中还未添加地区的话,用户需要先进行添加地区的操作,添加完成之后,徐泽地区,并且选择添加日期,然后按照系统给出的界面进行相关的信息添加工作,全部完成之后,确定即可。用户在收集信息的时候可能是零散的,为了方便统计,用户可以查询某地区的所有天气信息,并且可以导出到Excel表格中。方便保存。Excel其实是相当与另一个数据库,系统只是把系统的数据保存到Excel这个数据库中
30、,实现数据的导出功能。当然在实际的应用中,我们也可以把数据以其他的形式导出来,具体的导出形式可以根据用户的需要进行调整。注册登录流程图如图42所示:图42注册登录流程图4.3 功能设计4.3.1 系统模块划分按“分而治之”思想,进行模块划分。按照需求分析得出的结论,系统一共拥有六个大模块。分别为:(1)注册模块:用户只有注册以后才可以访问系统,输入用户名和密码,别人如果已经注册的用户名,是不可以在被注册的。(2)登录模块:在系统注册成功之后,就可以进行登录(3)区域管理模块:随着关注的天气信息扩大,可以关注新增的区域。可以通过查看区域,知道关注了那些地区。(4)天气信息管理模块:当添加完新增地
31、区以后,可以选择新增的地区,添加天气信息。通过选择具体的地区以后,可以查询地区的具体天气信息(5)图形统计模块:通过选择之前添加的具体的地区,选择开始时间和结束时间,可以将天气信息生成天气趋势图(6)文件导出模块:当查询完天气信息以后,可以导出相应的结果到excel4.3.2 系统模块功能系统功能结构图如图43所示:图43系统功能结构图各模块的具体操作流程信息如下:(1)注册用户需要使用帐号密码才能够登录系统,所以在登录之前需要注册信息。用户需要输入基本信息进行注册,因为系统的用户不止一位,为了防止用户名重复,系统还需要对用户的帐户名进行重复性检测,检测通过之后才能后注册成功。注册成功后用户才
32、能使用该系统。(2)登录用户在成功注册完毕后,使用注册账号和密码登录系统,账户名和密码输入正确之后成功登录,之后进入系统主界面。(3)区域管理系统主界面需要有个管理地区的功能,因为我们在管理一个地区不同时段的天气信息之前,肯定是先要管理不同的地区,区域管理模块下分为两个小功能,一是新增区域功能,可以随着用户的需要添加新的地区:二是查询功能,当管理的地区过多的时候,有时候我们想要查看某一地区的情况就需要用到这一功能。然后在某个地区之下,管理这个地区的所有天气信息。 (4)天气管理在系统划定了一个地区之后,我们才能够对这个地区的天气信息进行管理。在管理模块下也分为新增天气信息和查询天气信息,添加基
33、本的天气信息应该包含有,这个天气信息所在的地区,总体的一个天气情况,再细划分成降雨量,风向,风力,最高温度以及最低温度等;然后当我们需要查询的时候,找到想要查询的地区的信息,找到对应的地区的位置,然后就可以查到对应这个地区的所有的天气信息。(5)图形统计在我们收集到了某一地区的一段时间的天气信息以后,为了用户能够更加直观的了解这一地区在这一时间段的天气的变化,系统可以将温度和降雨量分别生成折线图和柱状图,使数据清晰易读。(6)导出Excel用户在收集信息的时候可能是零散的,为了方便统计,用户可以查询某地区的所有天气信息,并且可以导出到Excel表格中。方便做为数据资料保存8。4.4 数据库设计
34、通过系统业务分析和流程,在这个过程中提炼数据信息。本系统使用SQL Server2008数据库,利用PowerDesigner建模工具创建项目数据库的概念模型、逻辑模型,并生成SQL Server2008数据库建立SQL脚本。数据库设计步骤:(1)根据需求,得出需要有用户来操作,所以有用户信息,在管理天气信息之前,同样需要一个用来管理地区的实体,最后在加上天气信息本身,最后我们得出本天气信息管理系统拥有三个业务实体。分别是用户信息,区域信息和天气信息。(2)根据信息识别出实体以及实体之间的关系(3)根据实体关系识建立E-R图(4)根据E-R图,设计数据库的概念结果和逻辑结构5。4.4.1 概念
35、结构设计根据我们的需求分析,提取实体信息,系统中一共有3个实体,即用户、地区、天气信息。(1)基本信息为:ID、账号、密码、删除标记。(2)基本信息为:ID、区名称、城市名称、省名称、国家名称、删除标记。(3)基本信息为:ID、天气现象、风向、风力、更新时间、最高温度、最低温度、降雨量、删除标记。(4) 用户、地区和天气信息各实体间的关系地区和天气信息的关系:一对多(1:n),一个地区可以有多个天气信息,某个天气信息属于某个地区。用户实体是独立的。因为用户只是管理这些地区及其信息的,从结构上说和地区实体与天气实体并不存在实体间关系。应用PowerDesigner进行绘制E-R图,如图44所示:
36、图44系统E-R图4.4.2 逻辑结构设计在建设系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心10。根据本系统的需求分析,有如下表的设计 (1)用户表(UserInfo表),存储
37、了用户的信息。用户注册时,系统会将将注册信息添加入该表,将用户的注册信息保存在数据库中。用户登陆时,通过将表单数据与数据库中信息比对,进行验证登录,通过验证登录后可进行具体修改等操作。见表41:字段标识字段名类型说明idIDint主键,自增字段UserName账号varchar(64)不能为空,不能重名Pwd密码varchar(64)不能为空delDel删除标记int默认为0,0:未删除,1:删除表41 用户表(2)区域表(Area表),用户登录之后,如果需要修改区域信息,就需要用用到这张表,用户需要将地区的具体名称,所属的国家,省和市依次填入,确认添加完成之后,系统将用户输入的数据导入到数据
38、库中,数据库就将用户添加的区名称,国家名称,省名称和市名称保存完毕。见表42:字段标识字段名类型说明idIDInt主键,自增字段DistrictName区名称varchar(64)不能为空CityName城市名称varchar(64)不能为空ProvinceName省名称varchar(64)不能为空NationName国家名称varchar(64)不能为空delDelint默认为0,0:未删除,1:删除表42区域表(3)天气信息表(WeatherInfo表),用户在添加过区域之后,就可以对这个区域的天禧信息进行添加,这张表包含的字段有ID信息,区域名称,天气现象,风向,风力,更新时间,最高温
39、度,最低温度和降雨量。同添加区域信息一样,用户可以在界面中一次添加天气的详细信息。具体见表43:字段标识字段名类型说明idIDint主键,自增字段Are_id地区IDint外键,与地区表(Area)ID字段关联Phenomena 天气现象intDirection 风向intPower 风力intUpdateTime 更新时间datetime TempHigh 最高温度float TempLow 最低温度float RainFall降雨量float delDelint默认为0,0:未删除,1:删除11表43天气信息表(4)表结构关系通过需求分析和数据库结构可知,用户表是单独的一个实体。天气信息表
40、是从属于区域表的。5 系统实现5.1 开发环境硬件环境:处理器3.20GHZ以上;内存在2.96GB以上;软件环境:Windows XP版本(或以上)数据库系统:SQL Server 2005辅助工具:VS 20105.2 功能实现5.2.1 注册实现用户输入账号信息进行注册,界面为CRegisterDlg类,在该对话框上进行布局。要添加静态文本框,编辑框和按钮。静态文本框是提示用户右边的编辑框应该输入什么内容,在编辑框输入具体的信息,在输入完用户名称之后,点击检测按钮,系统会判断该用户名称是否已经被注册。之后再输入密码,点击确定完成注册。(1)代码实现部分判断注册者是否输入了用户名void
41、CRegisterDlg:OnBnClickedCheckButton()UpdateData(TRUE);/ 判断用户名不能为空if(m_szUSER = )MessageBox(_T(用户名不能为空!);return;检测该用户名是否已经被注册CUserDao userDao;/ 创建CUserDao对象CPtrArray arrUser; / 创建CPtrArray对象if (!userDao.QueryInfobyUser(arrUser, m_szUSER)return;elseif (arrUser.GetSize() = 0)MessageBox(_T(此用户名可以注册!);el
42、se if(arrUser.GetSize() 0)MessageBox(_T(此用户名已经被注册!);else/ Do nothing(2)效果图,如图51:图51用户注册界面5.2.2 登录用户注册成功之后,在登录界面上输入自己的帐号和密码。系统会将表单程序提交给处理程序,程序会将用户输入的信息和数据库中已存在的帐号信息进行比对,判断这个帐号是否存在,如果存在再判断密码是否正确,如果输入正确。系统会进行反馈处理,显示系统的主菜单界面,即登录成功。 (1)代码实现部分/ 获取用户名?CString& CLoginDlg:GetUserName(void)return m_szUser;/ 获
43、取密码CString& CLoginDlg:GetPassword(void)return m_szPwd;(2)效果图,如图52:图52登录界面图5.2.3 主界面验证用户输入的登录信息,用户就可以使用天气信息管理系统。主界面为CWeatherInfoMgrDlg对话框,在该对话框上进行布局,并且加入菜单和工具栏11,主界面显示了这个系统的主要功能,通过下拉选项来实现菜单的管理。用户在点击某一个功能的时候,系统会接收到用户发出的信息,并打开相应的子界面功能。如图53所示:图53系统主界面5.2.4 地区管理地区管理分为添加地区和查询地区部分。(1)新增地区添加区域信息的界面是基于对话框开发的
44、。在工作时候,系统会将用户添加的记录依次保存到数据库中,完成区域信息的添加。对话框中有4个静态文本控件、4个编辑控件、2个按钮。如表51所示:控件个数说明静态文本控件(Static Text)4分别对应“区域名称”、“所在城市”、“所在城市”、“所在国家”编辑控件(Edit Control)4对应4个静态文本的编辑框按钮控件(Button)2“确定”、“取消”按钮表51新增地区控件代码实现:当点击确定按钮时,响应新增地区界面确定按钮的函数。首先更新对话框,判断4个编辑控件的值是否为空。void CAddAreaDlg:OnBnClickedOk()UpdateData(TRUE);/ 更新对话框/ 判断区域名称、所在城市、所在省、所在国家统统不能为空if (m_szArea = | m_szCity = | m_szNation= | m_szProvi= )MessageBox(_T(区域名称、所在城市、所在省、所在国家统统不能为空!);return;如果区域名称、所在城市、所在省、所在国家不为空,连接数据库void CAddAreaDlg:OnBnClickedOk()/ 将输入的数据赋值给AreaInfo的成员变量CAreaInfo cAreaInfo;cAreaInfo.SetDistrict(m_sz