CS模式机房管理系统服务器端毕业设计论文 - 图文

更新时间:2024-05-15 03:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西南科技大学本科生毕业论文

C/S模式机房管理系统服务器端

摘要:随着信息技术在管理上的广泛应用,信息管理系统也日渐成熟。高校机房管理系统就是典型的信息管理系统(MIS)。本系统以西南科技大学新区图书管的计算机机房中心为背景,分析了系统的技术可行性和经济可行性,在进行了需求分析,概要设计,详细设计之后,完成该系统的编码工作。并且对其测试和文档归案,用软件工程的方法完成该系统的服务器端开发。本文介绍了在BorlanDelphi,MSSQLServer2000数据库环境下,采用“自上而下地总体规划及自下而上地应用开发”的策略开发一个信息管理系统的过程。通过分析现有机房管理的不足,创建了一套行之有效的高校机房管理系统的方案。经测试证明,该系统基本能满足用户需求。关键词:机房管理系统;服务器端设计;网络通信

I

西南科技大学本科生毕业论文

DesignofServerSoftwareofComputerLab

ManagementSystemBasedonC/S

Abstract:

With

widespread

application

of

information

technology

for

management,informationmanagementsystemisalsomaturedayafterday.Andthecomputerlabmanagementsystemisatypicalinformationmanagementsystem.ThesystemtakestheSouthwestUniversityofScienceandTechnologyasbackgroundandanalyzestechnicalandeconomicalfeasibility.Afteranalyzingthedemandtheoutlinedesignisproposed.Thepapercompletesthetestingandfiling.Thepaperdevelopesthesystembysoftwareengineeringmethod.Thispaperintroducestheproceedingofinformationamanagementsystem,adoptingthestrategyof“fromthetoptodownplansandfrombottowtotopapplies”undertheBorlanDelphi,andMSSQLServer2000databaseenvironment.Afteranalyzingtheexistingfaultthepaperproposesaneffectivemanagementsystemtosolvetheseproblems.Throughtestingbasicfunctionsmeetthedemandofuser.KeyWords:

ComputerLabManagementSystem,TheServerSideofDesign,

NetworkCommunication

II

西南科技大学本科生毕业论文

目录

第1章绪论.........................................................................................................1

1.1课题背景和意义...........................................................................................................11.2国内外现状..................................................................................................................11.3主要设计目标和内容...................................................................................................2

1.3.1设计的目标.........................................................................................................21.3.2设计的内容.........................................................................................................2

第2章开发工具的选择及关键技术.................................................................3

2.1开发工具选择..............................................................................................................3

2.1.1数据库开发工具的选择....................................................................................32.1.2应用程序开发工具的选择.................................................................................32.1.3数据库开发工具与应用程序开发工具关系....................................................42.2数据库应用系统开发简介..........................................................................................5

2.2.1数据库................................................................................................................52.2.2数据库管理系统................................................................................................52.2.3数据库应用程序.................................................................................................62.3winSock编程..............................................................................................................6

第3章机房管理系统服务器端系统需求分析.................................................8

3.1目的和背景...................................................................................................................8

3.1.1目的.....................................................................................................................83.1.2背景.....................................................................................................................83.2系统概述.......................................................................................................................93.3服务器端系统的功能需求...........................................................................................9

3.3.1服务器端系统总体流程设计.............................................................................93.3.2系统功能需求...................................................................................................103.3.3系统的准确性和及时性...................................................................................103.4机房管理服务器端系统的非功能性需求.................................................................10

III

西南科技大学本科生毕业论文

3.4.1用户界面需求..................................................................................................103.4.2运行需求...........................................................................................................10

第4章机房管理服务器端系统方案设计.......................................................11

4.1系统总体设计.............................................................................................................114.2数据库设计.................................................................................................................11

4.2.1数据需求分析...................................................................................................114.2.2数据库概要设计...............................................................................................134.2.3数据库的逻辑设计...........................................................................................174.2.4数据库的物理设计...........................................................................................174.3系统模块划分.............................................................................................................224.4系统方案论证.............................................................................................................24

4.4.2功能分析...........................................................................................................254.4.3经济分析..........................................................................................................25

第5章机房管理系统服务器端系统设计与实现...........................................26

5.1概论.............................................................................................................................265.2机房管理系统服务器端详细设计.............................................................................265.3主界面设计...............................................................................................................265.4用户登陆的实现.........................................................................................................275.5账号操作....................................................................................................................295.6设备管理的实现.........................................................................................................30

5.6.1设备信息的显示...............................................................................................305.6.2增加与报废设备...............................................................................................315.6.3上机类型的设定...............................................................................................335.7课程管理的实现.........................................................................................................34

5.7.1课程预约...........................................................................................................345.7.2取消已预约课程...............................................................................................355.7.3课表的查询.......................................................................................................365.8收费管理.....................................................................................................................36

5.8.1账户充值...........................................................................................................37

IV

西南科技大学本科生毕业论文

5.8.2账户余额的查询...............................................................................................395.9统计信息的管理.........................................................................................................39

5.9.1充值金额的统计...............................................................................................395.9.2账号统计...........................................................................................................405.9.3出勤记录...........................................................................................................405.10数据库操作.............................................................................................................41

5.10.1数据库备份.....................................................................................................415.10.2数据库恢复.....................................................................................................445.11日志记录...................................................................................................................445.12发送消息...................................................................................................................45

第6章系统的测试.........................................................................................46

6.1测试的目的.................................................................................................................466.2测试的环境...............................................................................................................466.3测试内容.....................................................................................................................46

6.3.1对不同权限用户登陆功能的测试...................................................................466.3.2对系统管理的测试...........................................................................................486.3.3对学生账号管理功能的测试...........................................................................566.3.4设备管理的测试...............................................................................................616.3.5收费管理的测试...............................................................................................686.3.6课程管理的测试...............................................................................................696.3.7统计信息的管理...............................................................................................716.4测试结论.....................................................................................................................72

结论.................................................................................................................73致谢.................................................................................................................74参考文献.............................................................................................................75

V

西南科技大学本科生毕业论文

第1章绪论

1.1课题背景和意义

近几年信息化发展迅速,计算机教育也越来越普及。而高校计算机机房是提供给学生学习计算机的重要场所,学生只有通过课堂教学与上机操作相结合,才能真正地吸收计算机知识。学习技术学科的特点决定了学校机房管理的特殊地位和重要性。但是高校计算机机房既是学生自由上机的地方,又承担着学生课内教学任务。以往的机房管理主要采用管理员手动登记上机人员、手动收费,预约机时的方式,这样不但效率低下,而且占用了管理人员大量时间和精力。少数学校采则用持卡上机方式,该方式可接多个刷卡机,这样虽然工作量相对减少,但管理单一,所需设备成本较高,并不能解决主要问题。并且随着上机人数和试验课程的增加,机房经常出现学生上机拥挤,排课冲突等现象。旧的管理方式效率显的非常低,且不方便,造成了管理的瓶颈[3]。很多学校也为提高学生上机率投入了大量的精力,但效果并不是很明显。进入21世纪,高校学子将面临着更严峻的考验,为了确保我们同学的专业技能和综合素质的提高,为给同学们提供一个高质量的学习环境,因此我们有必要开发一套信息化的机房管理系统来管理机房,提高机房使用效率以及为广大师生提供更方便快捷的服务。

1.2国内外现状

现在我们国内外的计算机机房和实验室的管理,普遍采用的是刷卡上机的管理方式。学生上机下机都自行使用校园卡进行刷卡,无需预约和查对机位,极大地解放了劳动力,使上机刷卡的效率成倍的提高[2]。

但是,由于机房还担任了计算机实践课程的教学任务,目前学校上课的学生无需刷卡,而大机房的机位有几百多个,上机的学生对号入座的验证手续比较复杂,所以管理方面存在比较严重的问题,这个问题需要从技术上或者管理上寻求一个较好的方式解决。

1

西南科技大学本科生毕业论文

1.3主要设计目标和内容

1.3.1设计的目标

为了解决机房系统现有的冲突,我们准备建立一套信息化的机房管理系统。通过该系统,能够解决机房学生自由上机,教学上机管理等问题。该系统的基本功能能实现学生通过账号上机,管理上机账号。并且系统根据排课课表完成对试验上机的管理,实时了解机房内所有机器当前信息及其运行状态,管理机房的基本信息,以及管理日志,发布系统广播信息。并根据系统存储的数据进行统计,打印统计报表,以方便管理者及时了解机房设备状态,作出管理决策和方便教师排课。该系统是一套基于Windows平台的图形用户界面(GUI)、下拉菜单以及导航功能相结合模式下的友好操作界面的系统,易学易用。系统采用服务器/客户机(C/S)方式,方便地实现多用户端、多机房统一管理。系统功能齐全,可基本实现机房管理规范化、自动化以及信息化。具有稳定、实用、操作简便等特点。1.3.2设计的内容

本系统以西南科技大学新区图书馆的计算机机房为背景,首先了解了管理信息系统的概念,结构及系统开发的基本原理和方法。然后我们将此系统与国内现原有的机房管理系统进行比较,将分析它的技术可行和经济可行性。同时需要进行市场调查,进行需求分析,再进行概要设计,详细设计,最后完成该系统的编码工作,并且对其测试和文档归案,也就是用软件工程的方法完成该系统的开发。本系统的开发主要包括后台数据库的建立和维护以及后台应用程序的设计两个方面。对于数据库要求实现数据的一致性、完整性和安全性,而对于应用程序则要求功能完善、简洁易用。

2

西南科技大学本科生毕业论文

第2章开发工具的选择及关键技术

2.1开发工具选择

本设计主要使用BorlandDelphi以及SQLServer2000数据库进行开发。2.1.1数据库开发工具的选择

在数据库开发工具选择时,主要是基于以下因素:首先由于时间较有限,应该选择一个熟悉的数据库开发工具。并且该工具的性能较好,满足本系统的数据量的要求。所以SQLServer2000是一个很好的开发工具。因为MSSQLServer不但可以满足大中型数据库管理要求,能够建立分布式关系数据库,并且也可以开发桌面数据库。

SQL数据库的特点:功能强大,使用方便,可伸缩性好,与相关软件集成度高。可运行在Windows操作系统的不同机器和大型多服务器等多种平台使用。是目前使用最为广泛、普及率最高的数据库管理系统之一[4]。

2.1.2应用程序开发工具的选择

Delphi是Borland公司推出的一种RAD(RapidApplicationDevelopment)开发工具,适用于开发Windows中的各种应用程序,尤其是开发数据库应用程序。

虽然对该开发工具以前也没接触过,但由于其强大的数据库功能对于本系统开发十分有利。所以在开发工具上选择BorlandDelphi,并且花一定的时间来学习熟练它。

Delphi开发的应用程序代码是经过全编译的,以编译效率高、运行速度快而闻名。利用Delphi提供的面向对象开发思想和各种优秀的数据库对象,我们能在最短的时间内开发出系统原型。然后对原型系统进行需求迭代,不断改进和修正,最终开发出满足需要的机房管理系统。

Delphi数据库特征:和大部分开发工具一样,Delphi提供了许多组件可

以方便的创建数据库应用程序。数据库对象的数据成员不仅可以在设计阶段设置,

3

西南科技大学本科生毕业论文

也可以在运行阶段通过程序代码来设置。Delphi的组件板上提供了全部数据库应用程序中开发中使用的组件,以方便用户的开发。Delphi的组件主要包括标准组件,Additional组件,Win32组件,数据访问组件,数据控制组件等以及一些第三方组件[5]。

Delphi数据库应用程序的开发步骤:在开发数据库应用程序程序之前,必须建立一个完善的数据库,因为数据库应用程序依赖它所访问的数据库。而数据库应用程序是为用户提供一个满足其需要的软件产品,因此,成功的开发一个数据库应用程序的关键是要准确理解用户的需求,然后围绕用户的需求进行软件开发。数据库应用程序开发的一般有3个步骤:系统分析与设计,系统实现,系统运行和维护

[6]

。在这几个步骤中基本都包含了数据库开发和应用程序界面开发两方面的任务,

对一个客户/服务器模式应用,数据库应用界面的开发就更明显一些,因为它们运行在不同的平台之上,而且使用的操作系统也往往不一样。2.1.3数据库开发工具与应用程序开发工具关系

Delphi数据库组件层次结构如图2-1所示:

应用程序用户界面用户界面数据源数据源数据模块数据集数据集连接组件数据库图2-1数据库组件层次结构图

由上图我们可以看到,应用程序用来直接与用户交互,但主要的操作是关系到数据库的操作。

在Delphi中,我们要建立一个数据库应用程序首先需要建立一个MSSQLServer数据库,然后可以简单的通过一个ADO(Microsoft提出的应用程序接口(API)

4

西南科技大学本科生毕业论文

用以实现访问关系或非关系数据库中的数据)对象中的ADOConnection组件连接到应用程序的数据库,设定访问方式,就可以方便的访问,修改数据库内容[7]。

2.2数据库应用系统开发简介

数据库只是存放数据的仓库,如何把数据库中的数据转换为人们的有用信息,则必须建立数据库系统。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序),数据库应用程序(它使我们能够获取,显示和更新由DBMS存储的数据),数据库(按一定结构组织在一起的相关数据的集合)。

在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。

数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,进行数据库设计,并把它转变为实际的数据库。最后进行系统的运行和维护。2.2.1数据库

数据库是长期存储在计算机内的,有组织的,可共享的数据集合。数据库中的数据按一定的数据模型组织,描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并为各种用户共享。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用[8]。一般来说,数据库开发人员和用户都不直接访问应用元数据,想反,他们通过DBMS中的工具来处理这些数据。

MSSQLServer2000中就支持窗体、存储过程等应用元数据。2.2.2数据库管理系统

数据库管理系统(DBMS)是用于描述,管理和维护数据库的程序系统,是数据库的核心部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是

5

西南科技大学本科生毕业论文

某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MSSQLServer2000就是一种关系型数据库管理系统。2.2.3数据库应用程序

DBMS中存储了大量的数据信息,其目的是为用户提供数据信息服务。而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。用来生成数据库应用程序的语言主要分为三大类,包括过程化语言,结构化查询语言和其它语言,面向对象程序设计语言。

结构化语言(StructureQueryLanguage)是基于关系模型的数据库查询语言,它是一种非过程化语言,是将自然语言加上程序设计语言的控制结构构成的语言,专门用来描述加工逻辑。所以,它既有自然语言灵活性强、表达丰富的特点,又有结构化程序的清晰易读和逻辑严密的特点。

2.3winSock编程

套接字是套接口描述字的简称。和文件句柄相似,winSock提纲了一套通讯机制。是Windows一种通讯方式。应用程序在创建一个套接字后,就能获得这种机制提供的网络服务,对于服务器来说它提供了监听网络的连接请求;对于客户端来说,它可以连接到一个给定主机和特定的端口号上[9]。客户端和服务器端可以通过套接字对象来发送和接收数据。套接字提供了分别基于连接的协议(TCP)和无连接的协议(UDP)等,以满足网络连接的可靠性,稳定性,以及高速性要求[10]。

客户/服务器模式通常采用监听/连接的方式实现。服务器端应用程序在一个端口监听对服务的请求,也就是说服务器一直处于休眠的状态,直待一个客户对这个服务器提出了连接的请求。此时。服务器程序被唤醒,并且为客户提供服务,即对客户的请求做出适当的反应。

Delphi在网络编程中,把WindowsAIP封装成许多组件,大大简化了编程的复杂度。在利用组件进行Socket编程中,主要用到TClientSocket和

6

西南科技大学本科生毕业论文

TServerSocket组件。TClientSocket组件主要作为客户端的套接子使用,封装了客户端的套节字,在与服务器建立连接之后,就负责管理这个连接[11]。在结束连接后关闭套接子。TServerSocket组件主要作为服务器端的套接字管理器使用。在打开套接子后,服务器就一直处于监听状态,在接受到其他机子的连接请求后,与客户端建立连接,创建一个新的套接字,用于客户端传输数据。此时TServerSocket继续监听客户端的连接。

7

西南科技大学本科生毕业论文

第3章机房管理系统服务器端系统需求分析

3.1目的和背景

3.1.1目的

明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。

系统需求分析包括系统的功能性需求和系统的非功能性需求。3.1.2背景

机房作为一种上机实践的重要场所,计算机类别和学生资料繁多,包含很多的信息数据的管理。现今,有很多的机房都是初步开始使用,甚至有的尚未使用计算机进行信息管理。根据调查得知,在很多高校中,机房的管理普遍采用刷卡上机,甚至人工手工登记上机等方式。在采用持卡上机的方式中,所需的设备成本较高,而且手工登记方式,事务繁琐,管理人员工作量大,并且容易造成学生拥挤和排课冲突等现象。本系统的设计主要是解决机房管理存在的一些弊端,减轻管理人员的工作量以及方便学生上机以及老师排课。

基于这些问题,有必要建立一个机房管理系统,使机房管理工作规范化,系统化,程序化,避免上机的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的管理计算机的使用情况。通过本系统,学生使用账号上机,设立专门人员接受上机账号充值,为每周1至5的上班时间,充值到一定的金额由充值管理员自己上交。服务器端对用户的账户进行管理,并且系统根据排课课表完成对试验上机的管理,实时了解机房内所有机器当前信息及其运行状态,管理机房的基本信息,以及管理日志,发布系统广播信息。并根据系统存储的数据进行统计,以方便管理着作出管理决策和方便教师排课。

8

西南科技大学本科生毕业论文

3.2系统概述

本系统是一套全方位的,智能化的和安全的机房管理系统。全方位表现在整套系统不仅包括学生日常上下机管理,收费和挂失,锁定管理,还包括对学生充值情况和上机情况,计算机使用情况以及计算机配制情况等的辅助分析管理,并且提供教师选课管理。同时可以实现数据库的备份和恢复功能;整套系统的安全性表现在严格的权限设置以及口令登陆上,不同的管理员有不同的权限,不同的权限级别分别使用不同的系统功能,并且在使用这些功能时,必须通过口令的验证,这些措施避免了机房相对混乱的管理模式。本套系统可以实现专人专项或多人多项的管理,更有效地进行机房管理。

3.3服务器端系统的功能需求

3.3.1服务器端系统总体流程设计

管理员与教师通过密码登陆系统,根据不同的权限,操作不同的功能。当超级管理员登陆主界面后,只能执行维护系统的操作,一般管理员登陆后,可以选择系统的业务类型操作,而教师登陆后只能选择选课操作与出勤登记。服务器端系统总体流程图如3-1所示。

用户登陆模块系统操作模块业务处理模块报表生成模块显示数机房管理数据库据信息机房设备状态报表图3-1系统总体流程图

9

西南科技大学本科生毕业论文

3.3.2系统功能需求

通过本系统主要要实现:

A.管理上机账号:添加、删除、修改、挂失、解挂、锁定账号。

B.实时了解机房内所有机器当前信息:机房当前机器运行状态的检测,如机房空闲机器的总数及列表显示它们的详细信息;统计出机房正在运行的机器总数。

C.机房的基本信息管理:设备管理、账号管理、课表管理。D.通过广播发布提示信息,如下机、关机等提示。

E.帐号冲值的管理,让管理员对本机房的用户帐号信息进行合理管。F.日志管理:记录账号上下机时间、注销情况等。

J、统计数据:充值金额统计、出勤情况统计、账号统计、日志记录统计。3.3.3系统的准确性和及时性

系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。

系统的管理功能对于整个系统的功能和性能的完成举足轻重。管理员和老师都希望通过该系统实时了解自己所需要的信息,完成自己所需要的工作。所以准确性和及时性很大程度上决定了机房管理系统的成败。

3.4机房管理服务器端系统的非功能性需求

3.4.1用户界面需求

本系统力及做到界面简单,一目了然,视图优美。并且采用菜单界面驱动方式,给操作用户带来了极大的便利,对用户友好。对鼠标和键盘单独支持。3.4.2运行需求

操作系统:WindowsXP/2000数据库管理系统:SQLServer硬件要求:CPUP3,

64M以上RAM

10

西南科技大学本科生毕业论文

第4章机房管理服务器端系统方案设计

4.1系统总体设计

根据需求分析,机房管理系统服务器端设计可以分解为用户操作应用系统和后台数据库两大部分。

4.2数据库设计

4.2.1数据需求分析

服务器端数据流图如4-1所示。

11

西南科技大学本科生毕业论文

12

西南科技大学本科生毕业论文

4.2.2数据库概要设计

整体E-R图如4-2所示。

计算机n1上机1n学生n管理11系统管理员nn管理授课m管理1教师管理1超级管理员图4-2整体E-R图

13

西南科技大学本科生毕业论文

细化E-R图分别设计如下:

姓名学号密码班级帐号注册时间学生1帐号撤销时账号剩余金剩余登机时上机上机类型登机时间1计算机计算机状态计算机编上机类型上机单价备注图4-3学生计算机关系

姓名学号密码班级帐号撤销时账号剩余金学生n帐号注册时间课程名有效标志剩余登机时上课结束时间开始时间上课时间m姓名教师教师编号密码备注图4-4学生教师关系

权限14

西南科技大学本科生毕业论文

姓名学号密码班级帐号注册时间学生1帐号撤销时账号剩余金剩余登机时管理充值金额n权限管理员姓名编号备注密码图4-5学生管理员关系

上机单价计算机状态计算机编计算机上机类型备注1有效机器数管理n上机类型权限管理员姓名编号备注密码图4-6计算机管理员关系

15

西南科技大学本科生毕业论文

备注教师编号密码教姓名师权限n管理权限1管理员姓名编号密码备注图4-7教师管理员关系

备注权限姓名管理员编号n密码管理1权限姓名超级管理员编号备注图4-8管理员超级管理员关系

密码16

西南科技大学本科生毕业论文

4.2.3数据库的逻辑设计

在机房管理服务器端系统中,主要要用到以下7个表所记录的数据信息:管理员表(t_administrators):主要记录管理员(教师)账号。主要包括管理员账号,管理员姓名,密码,账号权限。

学生账号表(t_studentaccounts):主要记录学生账号信息。主要包括学生账号,学生密码,学生姓名,学生班级,上机剩余时间,剩余金额,登机时间,上机状态,账号注册时间,账号撤销时间,账号有效状态,账号锁定状态,账号挂失状态。

计算机信息表(t_computer):记录机房计算机信息。主要包括:计算机编号,计算机状态,上机学生,本次上机时间,上机类型,总计费,备注,当前IP地址,计费单价。

课程表(t_course):记录教师选定的课程与其状态。主要包括:管理员帐号,课程名,课程老师,上课讲数,上课日期,启用状态。

日志表(t_log):记录操作员的操作日志。主要包括:操作人姓名,操作时间,操作内容,操作动作。

充值统计表(t_account):统计充值金额。主要包括:充值时间,充值金额,学生账号。

出勤表(t_cq):记录课程出勤情况。主要包括:应到人数,实到人数,课程名称,操作员账号,上课时间,出勤率。4.2.4数据库的物理设计

系统数据库表格结构设计如下:(1)管理员表设计

管理员表主要用于记录管理员的基本信息和帐号信息。其中管理员又分为超级管理员,一般管理员和教师。不同的级别有不同的权限,这由字段“ad_power”确定。其中详细字段及描述由表4-1所示。

表4-1管理员表(t_administrators)

序号

字段名

字段说明

类型

长度

默允主认许键值空

17

外键

详细描述

西南科技大学本科生毕业论文

12

ad_idad_name

表ID管理员姓名

intvarchar

2

40

√表ID管理员姓名密码权限(0为教师,1为管理员)

34

ad_passwordad_power

密码账号权限

Varchar220varchar

1

5ad_account

管理员账号

varchar20管理员账号

(2)学生帐号表设计

学生帐号表主要用于记录学生基本信息和账号信息。包括学生的上机余额和账

号状态,分别用于自由上机费用的计算和帐号有效性的判定。其中详细字段及描述

由表4-2所示。

表4-2学生帐号表(t_studentaccounts)

序号

字段名

字段说明

类型

长度

默允主外认许键键值空

123456789

sa_idsa_passwordsa_namesa_classsa_remain_timesa_remain_moneysa_login_timesa_on_timeSa_enrol_time

学生账号学生密码学生姓名学生班级上机剩余时间剩余金额登机时间上机状态账号注册时间账号撤销时间账号状态

intVarchar220Varchar240Varchar250intmoneydatetimevarchardatetimedatetimevarchar

11

√√√√

学生账号密码姓名班级剩余时间剩余金额登陆时间是否在线注册时间撤销时间是否有效详细描述

10sa_repeal_time11Sa_vaild

18

西南科技大学本科生毕业论文

(1为有效,0为无效)

12sa_lock

账号锁定状态

varchar

1

是否锁定(1为锁定,0为未锁定)

13Sa_loss

账号挂失状态

varchar

1

是否挂失(1为挂失,0为未挂失)

(3)计算机信息表的设计

计算机信息表主要用于描述计算机的属性信息,有效状态。计算机状态由“c_state”字段标志,主要有“忙”,“闲”,“坏”三个状态。记录机器的IP地址主要用于发送信息使用。其中详细字段及描述由表4-3所示。

表4-3计算机信息表(t_computer)

序号

字段名

字段说明

类型

长度

默认值

允许空

主键

外键

详细描述

12

c_idc_state

计算机编号计算机状态

intVarchar2

1

计算机状态(0-忙,1-闲,2-坏)

3sa_id

上机学生

Varchar250√√正在使用本机学生

4c_login_time

本次上机时间

datetime√本次登陆时间

19

西南科技大学本科生毕业论文上机类型

5c_typeVarchar21上机类型(1-自由上机,0-上课)

6789

c_tolc_remarkc_ip

c_each_charge

总计费备注当前IP地址计费单价

inttext

money√

(4)课程表设计

课程表记录了教师上课情况,由老师预约课程时,创建新的记录,并记录上课时间。取消预约时,将课程标志“couse_state”改为无效。其中详细字段及描述由表4-4所示。

表4-4课程表(t_course)

序号

字段名

字段说明

类型

长度

默认值

允许空

主键

外键

详细描述

12

ourse_idad_id

表id管理员帐号

intint

教师账号

34

course_namecourse_teacher

课程名课程老师

Varchar2int

50

教师姓名

567

course_listCourse_timecouse_state

上课讲数上课日期启用状态

varchar(20)datetimevarchar(1)

1为启用0为禁用

(5)日志表设计

日志表是用于记录操作员操作记录的日志,需要记录操作员的操作内容,操作

20

西南科技大学本科生毕业论文

第5章机房管理系统服务器端系统设计与实现

5.1概论

本系统从功能设计上大概可以分为以下几个模块:系统管理、学生账号管理、设备管理、课程管理、收费管理、统计管理和信息发送。

5.2机房管理系统服务器端详细设计

在Delphi中,提供的数据库组件可以分成下面的两类:数据访问组件(DataAccess):数据访问组件封装了数据库连接、数据库表和查询等功能。

数据显示组件(DataControls):数据显示组件用来浏览和编辑数据。上面两个组件通过TDataSource组件连接。

图5-1中的数据库应用程序体系结构图说明了它们之间的关系。(摘录于Delphi联机帮助)

图5-1数据库应用程序体系结构图

通常,数据库应用程序将包括用户界面和数据访问两个模块。

在设计时,首先建立一个数据数据模型窗口,在里面添加数据连接组件,连接到机房管理数据(JFGL)。此后的数据访问组件和数据控制组件都通过此数据连接组件和数据库进行连接。

5.3主界面设计

为了方便用户的操作,在设计时采用把所有菜单放在主界面上,其余界面以子界面的方式放在主界上。

26

西南科技大学本科生毕业论文

主界面的设计时要考虑到界面的美观以及方便。是用户对系统的第一印象。务必要简洁大方。利用Delphi可视化组件十分方便。

设计好的主界面效果如图5-2所示。

图5-2主界面

其中一级菜单栏包括所有的模块,每一级菜单下又包括详尽的功能。

5.4用户登陆的实现

用户在登陆时设置了不同的权限,登陆界面如图5-4所示。在系统中,由于不同的用户有不同的权限,系统分为超级管理员,一般管理员和教师。超级管理员可以操作系统管理模块,而一般管理员只能操作初级系统管理,及课程预约和取消预约,出勤记录之外的模块。而教师只能操作课程管理与出勤记录。

为了辨别用户登陆的权限,在登陆界面设置了辨别函数。登陆程序流程图如5-3所示。

27

西南科技大学本科生毕业论文

开始输入密码帐输入是否为空NN帐号是否有效Y教师帐号Y显示教师操作菜单Y显示提示信息显示提示信息N超级管理员N一般管理员YY显示超级管理员菜单显示一般管理员操作菜单停止图5-3登陆程序流程图

图5-4登陆界面

28

西南科技大学本科生毕业论文

程序主要通过ADOQuery控件查询数据库,查找是否有相应的记录。查询语句为sql.Text:=format('select*fromt_administratorwheread_name=''%S''andad_password=''%S''',[username,password]);

如果查找到此记录则判断此权限以禁用不同的菜单。

5.5账号操作

账号操作主要分为超级管理员、管理员、教师账号操作以及学生账号操作。

管理员账号只能由超级管理员进行操作,学生账号可以由一般管理员操作。以此防止对操作员账号管理的混乱。在管理员账号操作主要实现对其基本信息修改,密码修改以及增添删除管理员账号。学生账号的管理主要包括学生基本信息的修改,以及增添删除学生账号。其中基本信息包括学生账号的有效性以及挂失,锁定状态的改变。挂失,锁定即可以通过直接在表中修改也可以通过专门挂失,锁定界面修改。管理员设置界面如图5-5所示。

图5-5管理员设置界面

学生账号设置界面如图5-6所示。

图5-6学生账号设置界面

29

西南科技大学本科生毕业论文

这两个功能主要是通过使用TDBGrid,TADOQuery,TActionList组件实现的。TDBGrid数据显示组件用来浏览和编辑数据。通过TADOQuery进行SQL查询。并且在其中我们可以方便的利用TActionList组件实现数据基本操作动作。在用户查找时,可以利用Locate(),函数进行定位查找。

ifnottbl1.Locate('sa_id',TRIM(edt1.Text),[loPartialKey])then

ShowMessage('没有找到记录!');

管理员密码也可以通图:5-7所示的界面进行修改。

图5-7管理员密码修改界面

在学生账号挂失,解挂(锁定,解锁)实现时,通过可视化界面选择操作将改变学生账号的挂失,锁定标志。以便客户端在学生登陆时有效的检查账号的有效性。

学生账号锁定原理与上相似。

5.6设备管理的实现

5.6.1设备信息的显示

设备管理主要是实时了解机房内所有机器当前信息:如机房所有机器的详细信息列表以及正在使用和报废设备的详细列表信息。

在Delphi中,TDateSource,TADTable是很好实现这个功能的控件。通过TADTable的filter属性可以添加过滤内容,将我们需要的信息从数据库中提取出来,显示在TDBGrid控件中。在这步的实现中,只需要将TDBGrid控件的Datesource指向TDateSource控件,而TDateSource的Dateset属性指向TADTable控件。而

30

西南科技大学本科生毕业论文

我们的TADTable控件又是连接到系统的数据库连接控件上的。

机房状态信息由图5-8显示。

图5-8机房状态信息显示界面

并且可以通过打印报表,及时了解机房设备,方便领导制定决策。报表如图:5-9。

图5-9报表图

5.6.2增加与报废设备

同时我们可以添加计算机设备也可以将无法使用的机房设备进行报废。以便机房内的设施进行更新。增加设备界面如图5-10所示。

31

西南科技大学本科生毕业论文

图5-10增加设备界面

点击保存按钮即可将输入计算机信息保存。

ProgramAddcomputer

Dimname,Cname

AsSTRING

Input(Cname=输入的计算机名称)关闭查询控件

添加查询SQL语句:查找机器名称等于输入的机器名称打开查询控件

If查找到的记录为0then

查询控件处于插入状态插入上机类型为自由上机状态插入机器名称插入机器状态插入机器总计费插入机器备注信息插入IP地址信息保存插入信息Output(‘添加成功’)Endifelse

32

西南科技大学本科生毕业论文

Output(‘存在此机器名称!’)

ENDAddcomputer

机器报废原理与上基本相同,只需输入报废机器名称,系统根据名称的存在性对其标志字段进行修改。(机房机器名称要求唯一性,这在增加机器时得到检验)5.6.3上机类型的设定

机房的计算机主要作为两种用途。首先满足高校上课需要。像计算机学院的很多课程在上课时都要用到计算机,而且其它很多课程也需要计算机作为辅助工具。所以计算机在高校中是很必须的。那么学校机房即可以提供广大师生计算机资源。这时机房中的计算机设备作为上课使用。其次,为了更加充分利用资源,在机房空闲状态下提供给学生自由上机使用,这时机房中的计算机设备作为自由是上机使用。根据这两个使用方式,主要对学生上机时收费系统其作用,当系统设置为上课上机时,对上机用户的账号金额不做扣除。如果为自由上机的话按照一定的价格扣减金额。

系统设置一个单选按钮组提供两种模式的选择。程序流程图如图5-11。

开始输入选择上课上机Y设置c_type=‘0’N设置c_type=‘1’停止图5-11上机类型设定程序流程图

33

西南科技大学本科生毕业论文

5.7课程管理的实现

通过机房管理系统可以实现对上课上机的课程管理。教师或管理员都可以进行课程的管理。通过课程管理,可以方便管理员对上课上机的管理,为管理员提供管理决策。5.7.1课程预约

课程预约界面如图5-12所示,预约成功如图5-13所示。

图5-12课程预约界面

通过管理员或教师输入上课课程,时间和教师姓名,系统自动判断该时间断是否可用,如果可用则能够预约成功,否则给用户提示信息。

图5-13预约成功提示

在界面处理时首先要判断输入项是否为空,如果为空则弹出提示信息。在上课时间的选择时,使用TDateTimePick控件,所图5-14所示。

34

西南科技大学本科生毕业论文

图5-14时间选择界面

在获取时期时,使用DateTime函数获得选定时间,并且根据这个时间以及下拉列表中的课程讲数时间获得第几讲上课来判断时间是否冲突。在比较之前需要将时间型的DateTime转换称字符串型进行比较查询。

Ctime:=DateTime;

Ctime:=dtp1.DateTime;

s:String;

s:=DateTimeToStr(Ctime);或s:=FormatDateTime('yyyy-mm-dd',dtp1.DateTime);

关键查询语句为:

sql.Text:=Format('select*fromt_coursewherecourse_list=''%S''andcourse_time=''%S''',[Clist,s]);

如果数据库中不存在此时间断则可以保存这个预约信息。5.7.2取消已预约课程

在课程管理模块中,有很多时间造成需要取消已预约的课程,比如上课教师因为其它课程冲突不能按约上课,或者机房在某个时间端出了意外时间不能使用。或者其它不可预料的原因需要取消预约。那么系统提供了取消预约的功能。在本系统中预约课程的取消,并不是直接删除,而是将课程有效性的标志字段(course_state)改为无效标志(‘0’)。以便系统能够维护,和为以后系统分析提供数据基础。

主要通过FieldByName('course_state').AsString:='0';函数进行course_state字段的修改。

35

本文来源:https://www.bwwdw.com/article/lq07.html

Top