本科毕业设计论文
基于VB的宿舍用电管理系统
设计与实现
学 生 姓 名: 班 级: 学 号:
指 导 教 师:
所 在 单 位: 电气工程学院 答 辩 日 期: 2012年6月 日
摘 要
随着科学技术的不断提高,计算机科学日渐成熟,我们的社会已逐步向数字化、信息化、网络化迈进,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在我国的中小型企业的用电管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代,而购买大型通用用电管理系统,对中小型企业来说,有需要付出昂贵的代价,而且用电项目不一定完全符合企业用电管理的要求,因此根据企业目前的实际的用电管理情况开发一套用电管理系统是十分必要的。
学校作为信息化时代发展的先驱,已经普遍使用计算机系统来进行各个部门的管理共作,大大提高了工作效率和管理水平。宿舍用电管理系统是典型的信息管理系统(MIS),是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库中的信息进行更新、删除和查询,对宿舍用电基本用量信息进行打印,对使用该系统的管理员信息进行更新、删除,用户购电申请等系统管理功能。因为本系统具有高透明性,所以相关用户可以对宿舍电使用缴费信息进行查询。由于宿舍用电的群体主要集中在大学校园, 因此宿舍用电管理设计与实现在设计考虑的用户对象针对大学校园的学生。
通过本系统的应用,可以加强对宿舍电使用信息的管理,减轻管理员的工作负担,提高工作效率。我们能看出,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地。
关键词 信息 ,用电管理系统 ,计算机管理,宿舍用电
I
Abstract
With the continuous improvement of science and technology, the computer science is mature day after day, Our society has gradually gone to digital, information-based, network-based forward, its powerful features have left a profound understanding for people, it has entered the human society in various fields and played an increasingly important role. Now China's small and medium-sized enterprises in electricity management level still remain in the printing paper on the basis , such a mechanism already can not adapt to the development of the times, because it wasted a lot of human and material resources, in the information age ,this traditional management approach must be based on computer information management to replace, and purchasing the large general electric management system is for the small and medium enterprises to say, there is a need to pay a high price, and electricity projects may not be entirely consistent with the enterprise using electric management requirements, therefore according to the present actual electricity management to develop a power management system is very necessary.
The school as a pioneer in the development of information era, has been widely used computer systems for the management of various departments together,. As a result, it improves the work efficiency and the management level. Dormitory electricity management system is a typical management information system ( MIS ), and practical management information system. The administrator may update, delete and query the information in the database through the corresponding module and print the dormitory basic dosage information. They may update,delete administrator information who use the system and buy electricity application for users, such the system management function is a lot. Because this system has high transparency, so users can use associated dormitory electricity payment information to query, because the dormitory groups mainly concentrate in the university campus, the dormitory management design and implementation designs consideration of the user object for the campus of the University students.
Through the application of the system, school can enhance the information management of the dormitory electricity use, reduce the burden on administrators, and improve work efficiency. We can see, the one who has mastered the knowledge that is large volume, information that is large volume, the high information processing speed, whose efficiency is high, who can be in competition remain invincible in.
Keywords: Information, power management systems, computer management,
dormitory
II
目 录
摘 要 ............................................................. I Abstract .......................................................... II 摘 要 ............................................................. I Abstract ......................................................... II 第1章 引言 ........................................................ 1 1.1 前台开发工具介绍 ......................................................................................... 1
1.1.1 Visual Basic6.0开发平台和技术简介 ........................................... 1 1.2 数据库设计平台 ............................................................................................. 2
1.2.1 数据库SQL2000 ................................................................................... 2 1.3 MIS系统分析 .................................................................................................. 3 1.4 宿舍用电系统使用对象设计 ......................................................................... 4 第2章 宿舍用电系统可行性分析 ...................................... 5 2.1 可行性分析 ..................................................................................................... 5
2.1.1 技术可行性分析 .................................................................................. 5 2.1.2 经济可行性分析 .................................................................................. 5 2.1.3 社会可行性分析 .................................................................................. 5 2.1.4 法律可行性分析 .................................................................................. 5 2.2 系统设计的背景、意义及必要性 ................................................................. 6 2.3 学校用电管理问题现状 ................................................................................. 7 2.4 用电管理信息系统的特殊性 ......................................................................... 7 2.5 系统设计的目标 ............................................................................................. 7 第3章 宿舍用电系统需求分析 ........................................ 8 3.1 用户需求 ......................................................................................................... 8 3.2 技术需求 ......................................................................................................... 8 3.3 社会需求 ......................................................................................................... 8 3.4 数据的性能需求 ............................................................................................. 8 第4章 宿舍用电系统概要设计 ........................................ 9 4.1 系统核心功能模块描述 ................................................................................. 9 4.2 功能模块划分 ................................................................................................. 9 4.3 数据流图设计 ............................................................................................... 10 4.4 数据库设计 ................................................................................................... 10
4.4.1 创建数据库 ........................................................................................ 10 4.4.2 数据库逻辑结构设计 ........................................................................ 11 4.4.3 系统设计的数据库逻辑结构设计 .................................................... 11 4.4.4 数据库核心表设计 ............................................................................ 14
第5章 宿舍用电系统详细设计 ....................................... 16 5.1 系统核心模块功能设计 ............................................................................... 16
5.1.1 系统主界面 ........................................................................................ 16 5.1.2 系统用户登录界面 ............................................................................ 16 5.1.3 系统用户电费通知单打印界面 ........................................................ 17 5.1.4 系统用户电费申请界面 .................................................................... 20
III
5.1.5 系统用户电费计算界面 .................................................................... 21
第6章 数据库安全设计 ............................................. 23
6.1 利用数据库本身提供备份技术 ............................................................ 23 6.2 利用数据库附加技术 ............................................................................ 23 6.3 利用数据库恢复技术 ............................................................................ 24
第7章 软件测试 ................................................... 26 7.1 软件测试的目的 ........................................................................................... 26 7.2 测试方法 ....................................................................................................... 26 7.3 测试系统部分模块 ....................................................................................... 26 7.4 软件测试部分结果 ....................................................................................... 26 7.5 测试结论 ....................................................................................................... 27 第8章 结论 ....................................................... 28 参 考 文 献 ....................................................... 29 致 谢 ............................................................ 30
IV
第1章 引 言
1.1 前台开发工具介绍
1.1.1 Visual Basic6.0开发平台和技术简介
数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经经历了很多年的考验VB是微软公司推出的一个集成开发环境,它是微软VISUAL STUDIO系列的产品之一。Visual Basic 继承了早期BASIC语言的优点,采用面象的程序设计技术,提供了开发WINDOWS应用程序最迅速哦,最简捷的方法,它具有比较鲜明的特点:
1.容易学习。
2.容易使用,面向对象。 3.数据处理能力强。
4.语法简单,程序可维护性高。
这些特点使Visual Basic 6.0成为当前流行的计算机编程语言之一,因特网上关于它的讨论区或个人网页随处可见,足见其普及之广,影响之大。
Visual Basic6.0分为学习版、专业版、企业版三个版,它具有以下特点:
1.增加了ADO数据对象,该数据访问技术是一个简单的数据模型,可更好地与其它Microsoft和非Microsoft技术集成。它还是一个通用接口,可用于访问本地或远程数据、连续和离散记录集、用户可访问的数据绑定接口和分层记录集。ADO是为Microsoft最新、最强大的数据访问范例OLE DB而设计的,是基于OLE DB的技术,因此ADO通过其内部的属性和方法提供统一的数据访问方法,是一个便于使用的应用程序层接口。ADO是独立于开发工具和开发语言的简单而且容易的使用的数据接口。
2.提供了数据环境设计器,其中提供了一种创建ADO对象的交互设计环境,数据环境可作为窗体或报表中所有要求数据对象的数据源,或者通过数据环境的方法和属性由程序访问,数据环境设计器具有用户连接设计器的全部功能和附加特性,如拖放、分层、分组和合计等。数据环境设计器Date Environment designer 为数据库应用程序的开发提供了一个交互式的、设计时使用的环境,能够可视化地创建和修改表、表集和报表的数据环境,为建立连接和定义命令提供了很好的图形接口。
3.数据报表,允许用户使用拖放方法利用任何记录集合快速创建报表。Microsoft数据报表设计器(Microsoft Date Report designer)是一个多功能的报表生成器,以创建联合分层结构报表的能力为特色。同数据源(如数据环境设计器)一起使用,可以从几个不同的相关表创建报表。除创建可打印报表之外,也可以将报表导出到HTML或文本文件中。对任何一个数据库应用程序应用而言,制作报表始终是应用程序所必需的功能。数据报表(DateReport)设计器是Visual Basic 6.0新增的功能,与数据环境(Date Environment)设计器配套使用可以完成大多数类型报表的设计。
4.数据源,创建可绑定任何控件的数据源用户定义控件和类。
5.SQL编辑器,允许用户增加新的存储过程至SQL服务器程序和Oracle数据库中,
1
用户还可以使用编辑器编写触发器。
6.增强的数据窗体向导,现在用户不仅可以构造不绑定至数据控件的代码窗体,而且可以使用ADO代码,该向导已经集成到应用程序向导、Chart向导和FlexGrid向导中。
7.文件系统对象,Visual Basic 6.0 提供了改进的在文件系统中移动的程序集,并可创建文本文件和目录。
8.DataGrid控件,该控件可帮助用户快速构造观察和编辑记录的程序,它也支持新的ADO数据控件。DataGrid控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示Recordset对象的记录和字段。使用DataGrid控件可以创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。DataGrid控件可以在设计时快速进行配置,而只需少量代码或无需代码。当在设计时设置了DataGrid控件的DateSource属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头,然后就可以编辑该网格的列了(包括删除、重新安排、添加列标头或者调整任意一列的宽度等操作)。在运行时,可以在程序中切换DateSource来查看不同的表,或者修改当前数据库的查询,以返回一个不同的记录集合。
9.可视化数据库工具集成(企业版)。在Visual Basic 6.0 中用户可以可视地创建数据库和查询、SQL服务器程序、Oracle数据库表、使用拖放方法创建视图,以及自动改变列数据类型。
1.2 数据库设计平台
1.2.1 数据库SQL2000
所谓数据库(Database)就是指按一定组织方式存储再一起的,相互有关的若干个数据的结合,数据库管理系统(Database Management System)就是一种操纵和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,与操作系统通信等。DBMS通常由数据字典,数据描述语言及其编译程序,数据操纵(查询)语言及其编译程序,数据库管理例行程序等部分组成。
关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
数据库管理是计算机最为广泛的应用之一,数据库设计是程序设计的一大领域。因此相应的数据库编程软件非常多,Visual Basic是公认的数据库应用程序开发的一个非常容易上手、功能强大的工具。Visual Basic提供了各种功能强大的控件和数据库应用程序设计工具,利用这些,开发者可以快速方便地开发出一个简单的数据库应用系统。
SQL是“结构化查询语言(Structured Query Language)”的简称,它是由SQUARE语言发展而来的。SQL语言结构简洁,功能强大,简单易学,许多大型的数据库管理系统都支持SQL语言作为查询语言。SQL语言使用方便、功能丰富、简洁易学,是操作数
2
据库的工业标准语言,得到广泛地应用。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。SQL具有非过程化语言、统一的语言、是所有关系数据库的公共语言等特点。今天的商业环境要求不同类型的数据库解决方案。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQL Server 2000 还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用 Web 带来的机会非常重要。作为一个完备的数据库和数据分析包,SQL Server 2000 为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQL Server 2000 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力。
1.3 MIS系统分析
1、管理信息系统的组成
信息系统管理在企业中的应用存在三个要素,这就是人、计算机和数据。 2、管理信息系统的界面特点
在计算机软件技术中,人机界面已经发展成为一个重要的分支。MIS人机界面设计一般遵循以下一些基本原则:
(1)以通信功能作为界面设计的核心
人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式:另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起(人机界面程序只是通信),以免互相干扰,影响速度。
设计MIS时,针对每一个功能,都要按照模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。 (2)界面必须始终一致
统一的人机界面不至于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。 (3)界面必须使用户随时掌握任务的进展情况
人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。
总之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度减少用户的干预量。实践证明,用户干预愈少,MIS系统的满意程度愈高。
3
1.4 宿舍用电系统使用对象设计
宿舍用电系统使用的对象比较广泛,例如:大学校园的学生、公司的职工、国家政府机关的人员、外资企业的员工等,因此基于以下原因:
1、宿舍用电系统应用起来比较庞大复杂,技术全面,使用人群的层次要求不一样; 2、我是一个在校学生,学的知识有限,知识面比较窄,没有实际开发庞大系统的能力和经验;
3、我在大学生活了四年,对大学校园的学生宿舍用电非常熟悉其业务流程;
4、毕业设计的目标是学以致用、理论联系实际、注重实际应用效果、培养独立思考问题的能力;
我和指导教师周军老师沟通交流后,他也认可了我的基于vb宿舍用电管理系统的使用对象针对大学校园的学生,并且给我提供了一些使用对象是大学校园学生的宿舍用电管理系统设计与实现的思路,让我对整个系统的整体框架、设计流程等有了初步的想法。
4
第2章 宿舍用电系统可行性分析
本系统可以说是一个综合性的学校的宿舍用电管理系统,本系统主要服务于大学校园的学生在用电、购电的相关信息管理。它主要分为用户购电申请模块、用户信息管理模块、用户信息输入模块、用户电费信息输入模块、用户电费查询模块、用户交电费情况统计、打印模块、月电费统计模块等功能,利用当今比较先进的软件开发语言和完善的数据库技术,因而具有较强的实用性和先进性。
2.1 可行性分析
由于本系统管理的对象单一的,都是在校学生,每个数据内容都具有较强的关联性,涉及的计算过程不是很复杂。因此我对于基于vb宿舍用电系统的可行性主要是从以下几个小点进行的分析:
2.1.1 技术可行性分析
为本系统的开发我特别对大学校园进行了深入的调查研究,并且本系统的开发我利用Microsoft SQL Server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。使用Visual Basic6.0作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
2.1.2 经济可行性分析
现在,计算机的价格不仅十分低廉,而且性能也有了长足的进步。而对于本系统的开发,会为学校的工作效率带来了一个质的飞跃,主要表现有以下几个方面:
第一,本系统的运行可以代替人工进行对数据的管理; 第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高学校的工作效率和管理效率;
第四,通过调查本系统在大学校园里运行,带来的直接的经济效益为9000元;
所以,本系统在经济上是可行的。
2.1.3 社会可行性分析
因为本系统对操作人员的计算机基本应用能力要求不高,所以适应于其它大学的宿舍用电管理,具有社会可行性、推广性。
2.1.4 法律可行性分析
本系统在开发和设计上严格遵守软件工程的设计标准,严格遵守国家规定的信息安全法律,保证基于vb宿舍用电管理系统遵守法律的规定,不会触犯法律。因此在法律上是可行的。
5
2.2 系统设计的背景、意义及必要性
高校宿舍是高校一个不可或缺的组成部分,在当今大学逐年扩招的形势下,高校中
的学生数量越开越多,而由于滞后的学生宿舍管理系统,高校出现的管理问题也越来越多,这其中首当其冲的就是宿舍用电管理问题,由于宿舍用电管理涉及到诸多方面,且部分高校采取繁琐的纸质记录人工操作方式,往往耗费了大量的人力物力,却事半功倍,比如西安财经学院,学校现有17000余名学生,但还是停留在宿舍用电管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还可以勉强接受,但对于宿舍用电量信息比较庞大,需要激励存档的数据不较多的高校来说,人工记录是相当麻烦的。而且当查找某条信息记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低,导致每年学生都因为在宿舍不合理用电和过度用电而带来了极大地安全隐患,本系统旨在实现高校宿舍的学生、物资以及安全等方面的有效管理,并通过寝室评优以及工作评分等系统形成一种有效的交互反馈机制,学生和管理员只需输入账号密码便能实现相关信息的查看和修改,且由于数据库存储容量相当大,而且比较稳定,是和长时间的保存,也不容易丢失。这无疑是为信息存储量比较 大的学校提供了一个方便、快捷的操作方式,且宿舍管路系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善报表生成、修改功能,能够快速的查询学校所需的宿舍用电信息,已与帮助高校实现人性化、高效化的宿舍管理。 管理信息系统就是我们常说的MIS(Mangement Information System),在强调管理,强调信息的现代化社会中他变得越来越普及。MIS是一门新的学科,它跨越了若干个菱悦,比如管理科学、系统科学、运筹学、统计学以 - 4 -及计算机科学。在这些学科的基础上,形成形成信息收集和加工的方法,从而形成一个纵横交错的系统。
在全国,尤其是在各个大学校园,对于学生宿舍的用电管理是相当重要,而且也是相当麻烦的,他是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行得的,其工作量是相当巨大的,而且工作效率不高,尤其在当今信息处理日益发达的、迅速的时候,这种方法必须改进,利用软件技术开发平台。我们国家提出了构建信息平台,利用先进的科学技术提高我们的管理和处理事情的效率,因此在这种社会的大环境下,开发设计大学生宿舍管理系统迫在眉睫。
2.3学校用电管理问题现状
近些年来随着各地学校办学规模的不断扩大,在校住校的人数大幅度增加,学生生
活条件也在不断改善,学生用电浪费问题成了一个难题。一方面,学校对学生浪费电的现象不重视,另一方面,安装节电设备投入大,效果不明显,而且无法从根本上解决浪费问题。如何采取积极有效的措施加以防范和纠正,引导好学生合理用电、节约用电成为了学校面临的管理难题。
2.4 用电管理信息系统的特殊性
用电管理信息系统和其他管理信息系统不同之处表现在 (1)业务信息量大
6
用电管理信息系统既包含有产生于基层的管理信息,更包含大量日常业务信息,用电管理涉及千家万户,其业务信息占用电部门的全部信息的90%以上,占整个供电局全部信息的50%以上。所以,用电管理信息系统兼有管理和日常业务处理的双重性质,而且后者占主要部分。因此,计算机在用电部门既是管理工具,更多的是生产工具。 (2)可靠性要求高
用电管理不但业务信息量大,而且需要计算机辅助处理用电日常各种事务项目繁多,故计算机负荷量很大,占机时间长,工作连续性要求高,还要保证绝对可靠,否则出了问题就要打乱正常营业工作,将直接影响到整个电力部门的经济效益和对用户的信誉。 (3)子系统多
用电管理共有七个系统(营业业务、电价电费、电能计量、用电监察、计划用电、节约用电、综合管理),每个子系统内部都联系密切,系统开发需要考虑的因素多。
2.5 系统设计的目标
通过本系统的应用,可以加强对宿舍电使用信息的管理,减轻管理员的工作负担,提高工作效率,方便学校对学生的管理工作,系统设计力求界面美观,系统操作简单,功能全面,从而满足用户的需求。
7
第3章 宿舍用电系统需求分析
3.1 用户需求
1.能够对大学校园的学生用电信息进行管理(例如:对原有信息进行诸如添加,删除,修改等的操作)
2.能够通过学生的一个用电号信息进行关联查询(例如:通过学生的用电号查询到学生的有关的学籍信息)
3.能对学生有关用电信息进行相关统计,生成打印报表、打印信息功能。 4.能够完成大学校园内学生购电申请这一环节。 5.系统界面美观、操作简单方便。
3.2 技术需求
本系统开发环境前台使用Visual Basic6.0,后台使用SQL2000数据库,数据编程接口使用ADO,数据报表打印使用Visual Basic6.0自带的DATAREPORT,使用以上技术完全可以将系统设计出来,实现用户的需求,因此系统在技术上是可行的。
3.3 社会需求
伴随着第一台计算机的诞生,信息时代飞速发展了起来,所以说当今社会是一个信息社会也是个知识经济的时代。宿舍用电管理系统必然会成为社会各界所需的一种实用的应用系统,所隐含的效益:节约时间,提高宿舍用电管理效率、处理效率,在信息的查询上迅速、快捷、方便等。
3.4 数据的性能需求
数据精确度:查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到 时间特性:一般操作的响应时间应在2秒内,对软磁盘和打印机及条形码刷卡服务响应时间也应在可接受的时间内完成。
适应性:应适应现在的网络运行环境要求。
8
第4章 宿舍用电系统概要设计
4.1 系统核心功能模块描述
用户信息管理模块:主要完成学生用户信息的查询、修改、删除等功能。
用户购电申请模块:主要完成学生用户购电申请这里功能,大学学生的计算机普及量很大,电的使用量很大,有的学生通宵打游戏,为了对电的使用科学、规范的管理,设计了这个模块。
用户电费查询模块:主要完成用户电费的查询功能,让学生用户对电的使用程度有个清楚的了解。
用户电费月统计模块:主要完成用户电费月统计的并完成打印功能,便于学生和学校的用电管理。
宿管员评分模块:本系统是宿舍用电管理系统,核心是宿舍,因此系统就带了一项宿管员的工作评分,这样便于学校的宿舍管理工作。
4.2 功能模块划分
图4-1 系统流程图
9
4.3 数据流图设计
由以上分析可以画出基于vb宿舍用电管理系统的数据流图如图所示:
图4-2 0层数据流图
学生用电管理要求 系统时钟 当前日期 基于vb宿舍用电管理查询要求 统计表、报表 后 勤 处
图4-3 数据流图
4.4 数据库设计
4.4.1 创建数据库
数据库是用户存储信息的仓库,数据库用户要明确创建数据库的目的以及对数据库
需要进行的操作。开发数据库应用系统的第一步是创建数据库对象,操作结果是在外部存储器(如磁盘、光盘等)上生成一个扩展名为“.mdb”的数据库文件。其次是在数据库对象中创建数据库报表对象,一个数据库对象可以包含多个数据库对象。表是Access的基础,其他对象如查询、窗体等都是在表对象的基础上建立的。只有表建立好之后,才可以创建其他对象,最终形成完善的数据库应用系统。
Access提供两种创建新数据库的方法。一是使用数据库向导来完成创建任务,用户只要做一些简单的选择操作,就可以建立相应的表、窗体、查询、报表等对象,从而建立一个完整的数据库;二是先创建一个空数据库,然后再添加表、查询、窗体及其他对象。无论采用哪一种方法,在数据库创建好之后,都可以在任何时候修改或扩展数据库。
1、利用向导创建数据库
数据库向导提供了一些常用数据库的模板,使用这些模板可以快速地创建数据库。 Access的数据库模板是一个包含表、查询、窗体和报表等的“. mdz”文件,但是表中不含有任何数据,因此利用向导所创建的数据库,其中的表也不含有任何数据。
2、创建空数据库
利用向导创建的数据库往往不能满足用户的特定要求,所以经常是先创建一个空数
10
据库,然后再添加所需要的表、窗体、报表及其他对象,这是最灵活的创建数据库的方法,但是需要分别定义每一个数据库元素。
该系统设计的数据库创建界面如下图所示:
图4-4 创建数据库
图4-5 创建数据库
4.4.2 数据库逻辑结构设计
定义
逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL Server或Oracel或MySql)。由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。
概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最
11
终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。
数据库逻辑结构的设计分为两个步骤:首先将概念设计所得的E-R图转换为关系模型;然后对关系模型进行优化。关系模型是由一组关系(二维表)的结合,而E-R模型则是由实体、实体的属性、实体间的关系三个要素组成。所以要将E-R模型转换为关系模型,就是将实体、属性和联系都要转换为相应的关系模型。下面具体介绍转换的规则。
1. 一个实体类型转换为一个关系模型
将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。例如,可将“学生”实体转换为一个关系模型,
2. 一对一关系(1:1)的转换
一对一关系有以下两种转换方式:
(1)转换为一个独立的关系模型。联系名为关系模型名,与该联系相连的两个实体的关键字及联系本身的属性为关系模型的属性,其中每个实体的关键字均是该关系模型的候选键。
与任意一端的关系模型合并。可将相关的两个实体分别转换为两个关系,并在任意一个关系的属性中加入另一个关系的主关键字。
在实际设计中究竟采用哪种方案可视具体的应用而定。如果经常要在查询仓库关系的同时查询此仓库管理员的信息,就可选用前一种关系模型,以减少查询时的连接操作。反之,如果在查询管理员时要频繁查询仓库信息,则选用后一种关系模型。总之,在模型转换出现较多方案时,效率是重要的取舍因素。
3. 一对多关系(1:n)的转换 一对多关系也有两种转换方式:
将1:n关系转换为一个独立的关系模型。联系名为关系模型名,与该联系相连的各实体的关键字及联系本身的属性为关系模型的属性,关系模型的关键字为n端实体的关键字。
将1:n联系与n端关系合并。1端的关键字及联系的属性并入n端的关系模型 即可。
4. 多对多关系(m:n)的转换 关系模型名为关系名,与该关系相连的各实体的关键字及关系本身的属性为关系模型的属性,关系模型的关键字为关系中各实体关键字的并集。
4.4.3系统设计的数据库逻辑结构设计
1. 登录用户信息实体
12
图4-6 登录用户信息实体
2. 用户信息实体
籍贯 专业班隶属学院 用户号 性别 姓名 学号 宿舍楼号 联系方式 入住时间 e-mail 辅导员 宿舍员 备注 用户信息
图4-7 用户信息实体
3. 宿管员信息实体
宿管员信息实体 宿舍号 姓名 备注 综合评
图4-8 宿管员信息实体
4. 电费信息实体
13
电费信息实体 用户号 学号 备注 截止日期 姓名 用电度数电费 图4-9 电费信息实体
4.4.4 数据库核心表设计
表4-1 登录用户信息表(yhdlb) 列名 数据类型 长度 用户名 Char 6 用户密码 char 10 用户权限 char 16 用户号 char
6
表4-2 用户信息表(yhxxb) 列名 数据类型 长度 专业班 char 10 学号 char 10 姓名 char 8 性别 char 2 用户号 char 6 隶属学院 char 16 籍贯 varchar 16 联系方式 varchar 16 入住时间 datetime 8 E-mail varchar 20 辅导员 char 10 宿管员 char 10 备注 varchar 50 表4-3 电费信息表(dfxxb) 列名 数据类型 长度 用户号 char 6 学号 char 10 学生姓名 char 8 用电度数 tinyint 1 电费
tinyint 1
14
是否空 Not Null Not Null Not Null Not Null 是否空 Not Null Not Null Not Null Null Not Null Not Null Null Not Null Not Null Null Not Null Not Null Null 是否空 Not Null Not Null Not Null Not Null Not Null
截止日期 备注 datetime 8 varchar 50 表4-4 电费申请表(dfsqb) Not Null
Null 列名 用户号 学号 学生姓名 用电度数 使用原由 备注
数据类型 char char char tinyint varchar varchar 长度 6 10 8 1 50 50
是否空 Not Null Not Null Not Null Not Null Not Null Null
15
第5章 宿舍用电系统详细设计
5.1 系统核心模块功能设计 5.1.1 系统主界面
图5-1 系统主界面
5.1.2 系统用户登录界面
图5-2 系统用户登录界面
16
系统登录主要用于对登录宿舍用电管理信息系统的用户进行安全性检查,以防止非法用户登录该系统。
登录窗体样式如图5-2所示,输入用户名、密码和用户号后,单击【确定】,这时我们应该设计程序验证输入的用户名、密码和用户号与数据库中保存信息的差别,若相同则进入系统,否则给出错误提示信息。
代码分析:
dim con dim rs dim dd
set con =server.CreateObject(\"adodb.connection\") set rs =server.CreateObject(\"adodb.recordset\")
con.connectionstring=\"provider=sqloledb;datasource=宿舍用电管理系统;uid=yd;pwd=sa;database=宿舍用电管理系统\" con.open
rs.open”select * from yhdlb where 用户号=‘”trim(text2.text)”’and 用户名=’“trim(combol.text)”’and 用户密码=’”trim(text1.text)”’”,1,3,con if rs.eof=false then
msgbox\"欢迎您的到来\" label1.caption=rs!用户权限 else
msgbox”请重新登录” text1.text=”” text2.text=”” combol.text=”” setfocus text2.text end if
5.1.3 系统用户电费通知单打印界面
17
图5-4 系统用户电费通知单打印界面
模块代码:
Private Sub Command2_Click() Printer.Height = 16000 Printer.Width = 11300
Dim A, b, c, d, e, f, g, h As Single A = 4000: b = 3000: c = 1200 d = 3000: e = 2000: f = 9500 g = 2800
Printer.FontSize = 18 Printer.CurrentX = A Printer.CurrentY = b
Printer.Print \" 电费通知单 \" Printer.FontSize = 13
Printer.CurrentX = e + 800 Printer.CurrentY = b + 550
Printer.Print text1.text & \" \" & text2.text & \" \" & text3.text & \" \" & text4.text b = b + 300 + 600
Printer.Line (e, b)-(f, b)
Printer.Line (e, b)-(e, b + 550) Printer.CurrentX = e + 700 Printer.CurrentY = b + 130 Printer.Print \"用户号\"
Printer.Line (e + g, b)-(e + g, b + 550) Printer.CurrentX = e + g + 2900
18
Printer.CurrentY = b + 130 Printer.Print Label6.Caption Printer.Line (f, b)-(f, b + 550) b = b + 550
Printer.Line (e, b)-(f, b)
Printer.Line (e, b)-(e, b + 550) Printer.CurrentX = e + 700 Printer.CurrentY = b + 130 Printer.Print \"学号\"
Printer.Line (e + g, b)-(e + g, b + 550) Printer.CurrentX = e + g + 2900 Printer.CurrentY = b + 130 Printer.Print Label8.Caption Printer.Line (f, b)-(f, b + 550) b = b + 550
Printer.Line (e, b)-(f, b)
Printer.Line (e, b)-(e, b + 550) Printer.CurrentX = e + 700 Printer.CurrentY = b + 130 Printer.Print \"学生姓名\"
Printer.Line (e + g, b)-(e + g, b + 550) Printer.CurrentX = e + g + 2900 Printer.CurrentY = b + 130 Printer.Print Label10.Caption Printer.Line (f, b)-(f, b + 550) b = b + 550
Printer.Line (e, b)-(f, b)
Printer.Line (e, b)-(e, b + 550) Printer.CurrentX = e + 700 Printer.CurrentY = b + 130 Printer.Print \"用电度数\"
Printer.Line (e + g, b)-(e + g, b + 550) Printer.CurrentX = e + g + 2900 Printer.CurrentY = b + 130 Printer.Print Label12.Caption Printer.Line (f, b)-(f, b + 550) b = b + 550
Printer.Line (e, b)-(f, b)
Printer.Line (e, b)-(e, b + 550) Printer.CurrentX = e + 700 Printer.CurrentY = b + 130 Printer.Print \"电费\"
Printer.Line (e + g, b)-(e + g, b + 550) Printer.CurrentX = e + g + 2900
19
Printer.CurrentY = b + 130 Printer.Print Label14.Caption Printer.Line (f, b)-(f, b + 550) b = b + 550
Printer.Line (e, b)-(f, b)
Printer.Line (e, b)-(e, b + 550) Printer.CurrentX = e + 700 Printer.CurrentY = b + 130 Printer.Print \"截止日期\"
Printer.Line (e + g, b)-(e + g, b + 550) Printer.CurrentX = e + g + 2900 Printer.CurrentY = b + 130 Printer.Print Label16.Caption Printer.Line (f, b)-(f, b + 550) b = b + 550
Printer.Line (e, b)-(f, b) Printer.EndDoc End Sub dim con dim rs dim dd
set con =server.CreateObject(\"adodb.connection\") set rs =server.CreateObject(\"adodb.recordset\")
con.connectionstring=\"provider=sqloledb;datasource=宿舍用电管理系统;uid=yd;pwd=sa;database=宿舍用电管理系统\" con.open
rs.open”select * from dfxxb where 用户号=’”&trim(text1.text)&”’ “,con,1,3 text1.text=rs!学号 text2.text=rs!学生姓名 text3.text=rs!用电度数 text4.text=rs!电费 text5.text=rs!截止日期
5.1.4 系统用户电费申请界面
系统用户申请界面便于用户合理用电,用多少申请多少,达到了节约用电的目的。
20
图5-4 系统用户用电申请界面
5.1.5 系统用户电费计算界面
图5-5 系统用户用电计算器界面
模块部分代码:
TempReadout = Readout If LastInput <> \"OPS\" Then NumOps = NumOps + 1 End If
Select Case NumOps Case 0 '什么也不做
21
Case 1 Op1 = Readout Case 2
Op2 = TempReadout Select Case OpFlag Case \"+\"
Op1 = CDbl(Op1) + CDbl(Op2) Case \"-\"
Op1 = CDbl(Op1) - CDbl(Op2) Case \"X\"
Op1 = CDbl(Op1) * CDbl(Op2) Case \"/\"
If Op2 = 0 Then
MsgBox \"除数不能为零\计算器\" Else
Op1 = CDbl(Op1) / CDbl(Op2) End If Case \"=\"
Op1 = CDbl(Op2) Case \"%\"
Op1 = CDbl(Op1) * CDbl(Op2) End Select Readout = Op1 NumOps = 1 End Select LastInput = \"OPS\"
OpFlag = Operator(Index).Caption
22
第6章 数据库安全设计
6.1 利用数据库本身提供备份技术
对于一个数据库应用系统来说,数据库中数据处于最重要的位置。确保数据的安
全,是系统能正常运行的保证。但在使用过程中,病毒、错误操作、硬件的损坏等都有可能威胁到数据安全。考虑到数据库应用系统大多采用Microsoft Visual Basic 6.0加SQL Server 2000的结构。笔者提出了通过前台实现的数据库备份与恢复模块,避免了系统使用人员对SQL Server的操作,通过简单的前台操作就可以方便的实现数据库的备份与恢复,保证了数据库的安全。
数据库备份功能设计的目的: 数据备份是一项十分重要的操作,一般的系统规定每隔一段时间必须进行数据备份,以防意外事件的发生而造成数据损失,不至于使历史数据遗失或破坏,保持数据的完整性。所谓备份就是指对SQL Serve数据库或事物日志进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。根据系统的实际情况,选择了完整备份数据库,就是将整个数据库完整备份下来。对于一般的小型数据库,这种方法是可行的,也是方便的。
宿舍用电管理信息系统背后的数据库利用本身提供备份技术的操作界面如下图所示:
图 6-1 数据库备份界面
6.2 利用数据库附加技术
附加数据库,则是建立数据库文件和数据库之间的联系,但是前提是,这个文件必须是数据库能够直接应用的。
23
利用数据库附加技术的系统操作界面如下图所示:
图 6-2 数据库附加界面
图 6-3 数据库附加界面
6.3 利用数据库恢复技术
数据库恢复机制和并发控制机制是数据库管理系统的重要组成部分,是事务处理技术的主要内容,数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。
1、恢复子系统在DBMS中的地位与作用:
(1)是数据库管理系统的一个重要组成部分,而且还相当庞大,常常占整个系统代码的百分之十以上。
(2) 数据库系统所采用的恢复技术是否行之有效,不仅对系统的可靠程度起着决定性作用。
24
(3) 而且对系统的运行效率也有很大影响。 (4) 是衡量系统性能优劣的重要指标。 2、恢复的实现技术
恢复机制涉及的两个关键问题是: (1) 如何建立冗余数据;
(2)如何利用这些冗余数据实施数据库恢复。 3、建立冗余数据,最常用的技术是:
(1)数据转储;(转储是指DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。转储是十分耗费时间和资源的,并且不能频繁进行。DBA应该根据数据库使用情况确定一个适当的转储周期。) (2)登录日志文件;(日志文件是用来记录事务对数据库的更新操作的文件。)
日志文件的作用:
(1) 事务故障恢复和系统故障恢复,必须用日志文件,
(2) 在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来,才能有效地恢复数据库。
(3) 在静态转储方式中,也可以建立日志文件。
注:通常,在一个数据库系统中,这两种方法是一起使用的。
利用数据库恢复技术的操作界面如下图所示:
图 6-4 数据库恢复界面
25
第7章 软件测试
7.1软件测试的目的
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。软件测试的目的如下:
(1)从用户角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,已考虑是否可以接受产品。
(2)从软件开发者出发,则希望软件测试成为表明软件产品不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
7.2 测试方法
因为本系统比较小,而且要求开发的时间太短,所以采用了自上而下的渐增式的测试方法,又因为采用了模块开发,因此模块又能产生EXE文件,所以单元测试比较简单。
7.3 测试系统部分模块
表7-1 测试范围与主要内容 测试范围 系统管理功能测试 用户信息管理测试 用户电费查询信息测试 数据完整性测试 核心代码复检 主要内容 验证管理员身份,进行权限控制 测试职工信息的修改,删除功能 测试用户电费的相关信息功能 测试登录失败时的数据完整性控制 检验核心代码的质量 简要说明 功能性测试 功能性测试 功能性测试 功能性测试 逻辑检错性测试 7.4 软件测试部分结果
表7-2 测试结果 测试范围 系统管理功能测试 用户信息管理测试 用户电费查询信息测试 数据完整性测试 测试数据 用户名: Admin 密码: Admin 略 略 测试结果 正常 出现了SQL 语法错误,已修正 出现ADO与数据的连接错误已基本修正 添加一个职工及其工出现错误, 和预期的资信息,但最主要的信一致 26
息不全 7.5 测试结论
综上所述,基于vb宿舍用电管理系统设计与实现系统运行正常,能够达到用户的要求,各个功能模块性能良好,符合软件工程设计的要求,可以应用到实际环境当中。
27
第8章 结论
时间过的跟快,转眼间3个多月的基于vb宿舍用电管理系统的设计和开发结束了,设计过程中感觉很累,但现在感觉很充实、很高兴,因为自己用大学四年所学的东西实现了系统的设计,感慨万千。我在系统开发和设计过程中遇到到很多问题,在指导老师和同学的帮助下,终于完成了基于vb宿舍用电管理系统设计与实现。本系统主要服务于大学校园的学生在用电、购电的相关信息管理。它主要分为用户购电申请模块、用户信息管理模块、用户信息输入模块、电费信息输入模块、电费查询模块、交电费情况统计、打印模块、月电费统计模块等功能,利用当今比较先进的软件开发语言和完善的数据库技术,因而具有较强的实用性和先进性。
本系统设计合理、界面美观、操作方便、运行稳定、功能完备,为学校进行现代化的宿舍用电管理工作起到了重要作用。
但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观、出错处理不够完善、数据库数据冗余、软件的生存周期等多方面问题。这些都有待进一步改善。但这次设计进一步提高了我的自学能力、思维能力,知识面得到了进一步的扩展,能够对计算机应用项目系统地进行分析,运用了所学的书本知识并巩固了所学的专业理论知识,给予了我一次实践锻炼的好机会,为我以后的学习和工作积累了很多经验,使我从中受益匪浅。
此次设计给我在大学校园里画上一个圆满的句号并上交了一份踏实的考卷,同时我感觉到自己存在的问题,我相信我会克服这些困难的,不断发展自己。
28
参 考 文 献
1 张淑兵.Visual Basic入门与提高.清华大学出版社,1999.
2 甄彤、陈卫东.Visual Basic程序设计教程.北京机械工业出版社,2004.
3 陈艳峰、高文姬、邵蕴秋.Visual Basic数据库项目案例导航.清华大学出版社,2004. 4 白晓勇、余健.Visual Basic课程设计案例精编.清华大学出版社,2007. 5 东方人华.Visual Basic6.0中文版范例入门与提高.清华大学出版社,2004. 6 王能斌.数据库系统教程.中国电子工业出版社,2002.
7 文东、冯建华.Visual Basic程序设计基础与项目实训.中国人民大学出版社,2009. 8 李晓黎 张晓辉. Visual Basic+SQL2000数据库应用系统开发与实例.人民邮电出版社,2003. 9 张海.软件工程导论.清华大学出版社,1998. 10 苏俊.数据库基础教程.中国人民大学出版社,2005.
11 王立福、麻志毅、张世琨.软件工程.北京大学出版社,2006. 12 萨师煊、王珊.数据库系统概论.高等教育出版社,2006.
13 董世海.计算机软件工程环境与软件工程.北京科学出版社,2006. 14 李建中.SQL Server 2000.清华大学出版社,2004. 15 周之英.现代软件工程.北京科学出版社,2007.
16 朱有产、尹成群、李志远、谷建成.用面向对象方法构造用电管理信息系统.华北电力大学学报,2001. 17 刘胜伟.用电管理信息系统应用简析.河南省濮阳供电公司,2007. 18 谭光明.用电管理信息系统的开发和应用.华东电力出版社,1995. 19 栾兆文、崔岚、王勇.用电管理信息系统.1999,19(5):1-8.
20 马晓晨、孔小利、王宗和.用电管理信息系统的研究与开发.2000,2(2):1-7.
29
致 谢
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我很大的帮助,没有在背后一路的支持与指导,我的这项设计“基于VB的用电管理系统设计与实现”也不可能这么顺利地完成,在这里请大家接受我诚挚的谢意!谢谢你们!
30
1
因篇幅问题不能全部显示,请点此查看更多更全内容