网吧计费管理的设计与实现A.doc

上传人:文库蛋蛋多 文档编号:2399698 上传时间:2023-02-17 格式:DOC 页数:27 大小:134KB
返回 下载 相关 举报
网吧计费管理的设计与实现A.doc_第1页
第1页 / 共27页
网吧计费管理的设计与实现A.doc_第2页
第2页 / 共27页
网吧计费管理的设计与实现A.doc_第3页
第3页 / 共27页
网吧计费管理的设计与实现A.doc_第4页
第4页 / 共27页
网吧计费管理的设计与实现A.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《网吧计费管理的设计与实现A.doc》由会员分享,可在线阅读,更多相关《网吧计费管理的设计与实现A.doc(27页珍藏版)》请在三一办公上搜索。

1、 题目:网吧计费管理的设计与实现 院 系:信息技术系 专业班级:计算机科学与技术 学 号: 学生姓名: 指导教师: 2010年6月11日1.1概述1.1.1开发背景随着网吧行业竞争日趋激烈,这就需要一个现代化的管理模式,而数据库系统的管理的改革在其中具有重要的意义!传统的数据库管理只局限于其本身的数据库的管理,无法与其他管理同步,并不能达到理想的管理状态,对网吧行业来说将浪费更多的人力、物力、财力,而且并不能达到一种理想的效果,所以,网吧行业迫切需要一个集成管理模式对其进行系统的管理。网吧数据库系统的管理特点是从管理角度出发,用集成的数据库将几乎所有的管理统一管理起来,形成集成的信息源,友好的

2、用户介面,强有力的报表生成工具,分析工具和信息共享使得管理人员得以摆脱繁重工作,集中精力从网吧行业战略的角度考虑网吧的管理规划及其政策。1.1.2组织结构分析登陆实现,打开客户机,通过无盘终端网,自动进行网络启动连接服务器,当服务器检测到以连接上将出现登陆信息框,否则将不能进行下一步操作,实现管理根据的管理。它由web服务器加载的客户端的GUI图形界面,用户通过Web登录系统需要经过身份认证,不同的权限对应不同级别的会话操作。当输入正确信息后,服务器计费管理系统自动录入连接后台数据库中,登陆使用的会员信息,时间消费金额将自动同步录入后台服务器数据库里,计费系统根据会员情况统计数据信息也将存入数

3、据库中。其工作流程图如下: 拥有相应权限的工作人员登陆计费系统,直接可为会员进行开卡服务,开卡信息同步录入数据库中,并生成数据库文件,同样实现管理工具的管理其工作流程图如下:结账信息管理也是一样,登陆计费系统进入相应的的结账下机模块,从计费系统中可显示相应的上机与下机情况,每一步操作,其控件连接相应的后台数据操作,后台将生成相应的数据库文件记录,一般网吧管理者对网吧有效的管理提供依据。其工作流程图如下: 1.2系统需求分析1.2.1系统完整性的要求本着为网吧计费软件系统要为连锁大型网吧计费提供一套比较完整的服务,这使网吧计费便于管理,在各个环节中发挥作用,方便沟通。1.2.2系统安全性的要求系

4、统不仅是方便操作人员的考虑,也是出于安全策略,在各个子系统中。用户管理只有相关管理人员被允许进行操作,各子系统完成相应的功能外,不应有其他的特权,使系统稳定安全。1.2.3数据库为核心各子系统可录入,查询,更改相应的数据库信息,以及对其他子系统数据信息的调用和查询,数据库起到了各方面,数据以及查询各方面信息的重大作用,因而构建数据库以及如何合理有效的对数据库进行操作乃是本系统的核心。1.2.4系统目标与要求要求对某一网吧建立一个计费管理系统,完成软件的开发,测试及试运行。要求本系统具有完善的功能,极高的可靠性,安全性和易维护性,具有较高的伸缩性和可移植性。系统具体要求如下:(1)系统的功能要求

5、:准确计费(2)系的性能要求:a) 功能齐全,安全稳定,可靠性高;b) 操作简便,运用灵活,实时性强,准确性高;c) 系统能及时的处理往来数据。(3)系统的输入输出要求:a) 输入数据要有复查要求,但在确定输入之后不可随意修改,只有在经过有关部门或有关人员批准之后方可进入修改;B)输出的数据格式要提供符合标准要求,输出操作简洁快速;(4)数据的管理能力要求:系统要求能够迅速完成数据的输入和输出。(5)故障的处理要求:要求系统在出现故障时能尽可能给出较为明确的出错提示及解决办法,系统应具有必 的错误保护机制。(6)系统的运行环境要求:要求系统运行于Windows环境下,具有友好的运行界面1.2.

6、5对良好的交互性要求为了便于各部门操作人员使用本系统,以及更太容易掌握本系统的各项公能,使人善于并乐于使用本系统,应使系统界面设计友好,各子功能设计合理并人性化。模块是数据说明,可执行语句等程序对象的集合,它是单独命名而且可通过名字来访问,模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块,集合起来组成一个整体,完成指定的功能满足问题的要求。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解,因为程序错误通常局限在有关模块及他们的借口中,所以模块化更容易测试和调试,因而有助于提高软件的可靠性,因为变动往往只涉及到少数几个模块,所以软件的模块化能够提高软件的可修改性

7、,模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写苦难的模块。2.1 可行性研究 任何一个系统或一项工程,在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少政治性要的损失。下面从四方面来讨论: 2.1.1 经济可行性 主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此 ,在

8、经济上是可行的。2.1.2 时间可行性 主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。本系统对人事的管理比较全面,可长期使用。2.1.3 技术可行性 利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。关系型数据库的高速发展使管理信息系统具备了良好的开发环境。本系统使用的Delphi 普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。2.1.4 社会可行性 人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。开发本系统的目标

9、不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义。3.1 系统的设计3.1.1系统的总体设计这个管理系统从6月10日开始着手设计开发,经过一段时间的分析,并根据对网吧管理的具体要求及需要本软件实现的功能,将本软件分为5个大的模块,分别是:第一部分:上机换机操作;第二部分:远程控制;第三部分:会员管理; 第四部分:参数设置。3.1.2 系统的详细设计计费管理自动化系统设计大概可以分为五个阶段,各阶段工作如下:第一阶段,系统调查分析阶段。此阶段主要任务与用户联系,通过走访,询问,查阅原始的图标与数据,获取原始资料,了解网吧计费管理系统的功能,作用,用户的需求以及网吧计费管理系统

10、应该包括的服务内容等。第二阶段,数据库与表的建立阶段,这一阶段主要是根据网吧的计费管理系统,调查分析阶段的结果建立与网吧计费管理系统相关的数据库与表,并且进行数据规范化。(此部分由李烁丽同学完成)第三阶段,表单生成阶段,这一阶段主要任务是在用户参与的情况下创建网吧管理计费系统的用户界面,主要使用Visual Basic作为开发工具,选用相关控件,设置控件属性,设计程序窗口布局,初始化界面等,其结果是建立一套友好的网吧计费管理系统用户界面,方便使用者操作网吧计费管理系统。服务器版本界面及代码(此分由李烁丽同学完成)主界面及其代码(此分由李烁丽同学完成)调换主机界面及其代码(此分由李烁丽同学完成)

11、收费界面及其代码(此分由李烁丽同学完成)消费列表界面及其代码 4-6 消费列表代码:Grid1.ClearGrid1.Cols = 6Grid1.FormatString = . | 物品名称 | 单价 | 数量 | 金额 | 状态 Grid1.ColWidth(0) = 710Grid1.ColWidth(1) = 1600Grid1.ColWidth(2) = 800Grid1.ColWidth(3) = 800Grid1.ColWidth(4) = 1070Grid1.ColWidth(5) = 880Dim GridColor As LongDim DB As Database, Ef

12、 As Recordset, HH As Integer, DelNo As LongDim shiftStr As String, shiftStrL As String, shiftStrR As String, shiftNum As Integer, ili As Integer, TempStr As String, sureStr As String, Qy As Integer Set DB = OpenDatabase(ConData, False, False, ConStr) Set DB = OpenConnection(ConData, dbDriverNoPrompt

13、, False, ConStr) Set Ef = DB.OpenRecordset(Customer, dbOpenTable) DelNo = Ef.RecordCount Grid1.Rows = Ef.RecordCount + 2 Set Ef = DB.OpenRecordset(Select * From Customer Where 房号= & sJH & , dbOpenDynaset) HH = 1 Do While Not Ef.EOF() 已送与未送区别 If Not IsNull(Ef.Fields(7).Value) Then If Ef.Fields(7).Val

14、ue = 已送 Then GridColor = &H8000& Else GridColor = &H80FF& End If End If Grid1.Row = HH Grid1.Col = 0 Grid1.CellAlignment = 4 Grid1.CellForeColor = GridColor If Not IsNull(Ef.Fields(0).Value) Then Grid1.Text = Ef.Fields(0).Value End If Grid1.Row = HH Grid1.Col = 1 Grid1.CellAlignment = 1 Grid1.CellFo

15、reColor = GridColor If Not IsNull(Ef.Fields(1).Value) Then Grid1.Text = Ef.Fields(1).Value End If Grid1.Row = HH Grid1.Col = 2 Grid1.CellAlignment = 1 Grid1.CellForeColor = GridColor If Not IsNull(Ef.Fields(3).Value) Then Grid1.Text = Ef.Fields(3).Value End If Grid1.Row = HH Grid1.Col = 3 Grid1.Cell

16、Alignment = 1 Grid1.CellForeColor = GridColor If Not IsNull(Ef.Fields(4).Value) Then Grid1.Text = Ef.Fields(4).Value End If Dim zT As String Grid1.Row = HH Grid1.Col = 5 Grid1.CellAlignment = 1 Grid1.CellForeColor = GridColor If Not IsNull(Ef.Fields(7).Value) Then Grid1.Text = Ef.Fields(7).Value zT

17、= Grid1.Text End If Grid1.Row = HH Grid1.Col = 4 Grid1.CellAlignment = 7 Grid1.CellForeColor = GridColor If Not IsNull(Ef.Fields(5).Value) Then Grid1.Text = Ef.Fields(5).Value If zT = 已送 Then sJE = sJE + Val(Grid1.Text) End If End If Ef.MoveNext HH = HH + 1 Loop Ef.Close DB.Close Grid1.Col = 1 Grid1

18、.Row = 1 Grid1.ColSel = 5 Grid1.Visible = True Exit SubErr_grid: MsgBox 网格 配置错误! & vbCrLf & vbCrLf & Err.Description, vbCriticalEnd SubPrivate Sub cmdDel_Click() On Error GoTo Err_del If Grid1.Text = Then txtDW = txtDJ = cmbPM.SetFocus MsgBox 请选定要删除的物品! , vbInformation Exit Sub End If If MsgBox(真的要删

19、除 & Grid1.Text & 吗(Y/N)? , vbYesNo + vbCritical) = vbYes Then DelRecord Grid1.TextMatrix(Grid1.Row, 0), ID, Customer sJE = sJE - Val(Grid1.TextMatrix(Grid1.Row, 4) 金额下调 Grid1.RemoveItem Grid1.Row End If txtDW = txtDJ = cmbPM.SetFocus Exit SubErr_del: MsgBox 删除记录错误! & vbCrLf & vbCrLf & Err.Descriptio

20、n, vbCritical End SubPrivate Sub cmdPast_Click() On Error GoTo Err_ If Grid1.Text = Or Grid1.TextMatrix(Grid1.Row, 5) = 已送 Then MsgBox 请选定已点而未送的物品! , vbInformation cmbPM.SetFocus Exit Sub End If消息对话框界面与代码 图4-7 消息对话框代码: Private Sub cmdClose_Click() Unload MeEnd Sub Private Sub cmdReplay_Click() On Er

21、ror GoTo Err_Replay SM_TEXT = sendJH & MESAGE & txtSend 发送命令 frmServer.cmdSendData.Value = True 选定发送的内容 txtSend = txtSend.SetFocus Exit SubErr_Replay: MsgBox 回复错误! & vbCrLf & vbCrLf & Err.Description, vbCriticalEnd SubPrivate Sub lblJH_Click()End SubPrivate Sub Picture1_Click()End SubPrivate Sub txt

22、Info_Change()End SubPrivate Sub txtSend_Change() If txtSend Then cmdReplay.Enabled = True Else cmdReplay.Enabled = False End IfEnd Sub锁定系统界面及其代码图4 -8锁定系统界面代码:Private Declare Function FindWindow Lib user32 Alias FindWindowA (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate De

23、clare Function PostMessage Lib user32 Alias PostMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongConst WM_CLOSE = &H10&Dim opt1 As StringDim opt2 As StringDim opt3 As StringDim opt4 As StringDim locked As IntegerPrivate Declare Function SystemParametersIn

24、fo Lib user32 Alias SystemParametersInfoA (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As LongPrivate Const SPI_SCREENSAVERRUNNING = 97Public privatecode As StringDim hintlabel As StringDim code As StringFunction CloseApplication(ByVal sAppCaption As String)

25、 As BooleanDim lHwnd As LongDim lRetVal As LonglHwnd = FindWindow(vbNullString, sAppCaption)If lHwnd 0 Then lRetVal = PostMessage(lHwnd, WM_CLOSE, 0&, 0&)End IfPrivate Sub SevenKey_Click()code = code + 7 If Len(code) 10 Then code = End IfhinthintS.SetFocusEnd SubPrivate Sub EightKey_Click()code = co

26、de + 8 If Len(code) 10 Then code = End IfhinthintS.SetFocusEnd SubPrivate Sub Form_Load() FL = True On Error GoTo Err_Load Dim L As Long, T As Long L = Val(GetSetting(App.EXEName, Option, Lock_L, 2000) T = Val(GetSetting(App.EXEName, Option, Lock_T, 2000) Me.left = L Me.tOp = T 设定系统路径 Dim sFileBuffe

27、r As String * 250, retVal As Long, sSystemInI As String retVal = GetSystemDirectory(sFileBuffer, 251) If retVal = 0 Then sSystemInI = C:WindowsSystemSysLock.InI Else sSystemInI = left(sFileBuffer, InStr(1, sFileBuffer, Chr(0), vbBinaryCompare) - 1) sSystemInI = sSystemInI & SysLock.InI End IffrmLock

28、.KeyPreview = TrueOn Error GoTo 1000 第一次运行,文件不存在时Open sSystemInI For Input As 1Input #1, privatecodeClose 1GoTo 10101000 Close 1Open sSystemInI For Output As 1Print #1, 88888888Close 1privatecode = 88888888hintlabel = 必须输入密码: 初始为 888888881010 On Error GoTo 0 Exit SubErr_Load: MsgBox 表单加载错误! & vbCrLf

29、 & vbCrLf & Err.Description, vbCritical End SubPrivate Sub SixKey_Click()code = code + 6 If Len(code) 10 Then code = End If hinthintS.SetFocus End SubPrivate Sub Form_Click()Lock_switch.Caption = 解锁(&U)locked = 1Call LockitEnd SubPublic Sub cClipCursor()On Error GoTo Err_mouseDim client As RECTDim u

30、pperleft As POINT If locked = 1 Then GetClientRect Me.hwnd, client upperleft.x = client.left upperleft.y = client.tOp ClientToScreen Me.hwnd, upperleft OffsetRect client, upperleft.x, upperleft.y ClipCursor client Else ClipCursor ByVal 0& End If Exit SubErr_mouse: MsgBox 控制鼠标错误! & vbCrLf & vbCrLf &

31、Err.Description, vbCriticalEnd SubPrivate Sub Clear() 清除代码 code = End SubPrivate Sub unloc() On Error GoTo Err_Unloc待添加的隐藏文字内容2 解锁 locked = 0 Call cClipCursor Call Clear CloseButton.Visible = True Dim ret As Integer Dim pOld As Boolean ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld,

32、0) Unload frmLock Call CloseApplication(desklock) 关闭程序 Exit SubErr_Unloc: MsgBox 解锁错误! & vbCrLf & vbCrLf & Err.Description, vbCriticalEnd SubPublic Sub Lockit()On Error GoTo Err_Lock 锁定系统locked = 1Call cClipCursor 捕捉鼠标Lock_switch.Caption = 解锁(&U)CloseButton.Visible = False 不显示关闭按钮Dim ret As IntegerD

33、im pOld As Booleanret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0)Call Clear Exit Sub中断控制室界面及代码 图4-9 中断控制室代码: Private Sub cmbMessage_Change() If cmbMessage.Text = Then cmdSend.Enabled = False Else cmdSend.Enabled = True End IfEnd SubPrivate Sub cmdCancel_Click() Unload MeEnd SubPriv

34、ate Sub cmdSend_Click() 执行代码 If optAll.Value = True Then 所有终端 SM_TEXT = SM_All & MESAGE & cmbMessage.Text Else 选定终端 Dim NS As String NS = lvSendMessage.SelectedItem.SubItems(1) NS = left$(NS, 2) 最大机器99台 SM_TEXT = NS & MESAGE & cmbMessage.Text End If 发送命令 frmServer.cmdSendData.Value = True 如果显示对话框 If

35、 chkComplete.Value = vbChecked Then 通知时 If optAll.Value = True Then MsgBox vbCrLf & 消息:已经成功发送到 所 有 机 器 ! & vbCrLf & vbCrLf & _ & Trim(cmbMessage.Text) & vbCrLf & vbCrLf & _ : & vbCrLf & _ , vbInformation, : Else MsgBox vbCrLf & 消息: 已经成功发送到 & NS & 号机 ! & vbCrLf & vbCrLf & _ & Trim(cmbMessage.Text) &

36、vbCrLf & vbCrLf & _ : & vbCrLf & _ , vbInformation, : End If End IfEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As SingleEnd SubPrivate Sub lvSendMessage_BeforeLabelEdit(Cancel As Integer)End SubPrivate Sub optAll_Click() If picSendMessage.Visible = True Then cmbMessage.SetFo

37、cus ElseIf picRestart.Visible = True Then Command1.SetFocus Else Command3.SetFocus End IfEnd SubPrivate Sub optSelected_Click() If picSendMessage.Visible = True Then cmbMessage.SetFocus ElseIf picRestart.Visible = True Then Command1.SetFocus Else Command3.SetFocus End IfEnd Sub第四阶段,代码生成和文档生成,这一阶段主要根

38、据网吧计费管理系统具体的需要编写软件程序代码,同时同步生成网吧计费管理系统文档。第五阶段,调试和发布,通过调试找到网吧计费管理系统程序中不合理的操作和错误,并且改正,根据时间的进度,安排管理自动化管理人员使用网吧计费系统,又使用者提出网吧计费管理系统中存在的问题和修改意见,根据用户要求修订网吧计费管理系统软件功能,重新调试网吧计费管理系统,调试完毕系统正常可用,即可发布。4.1结论4.1.1系统测试系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。 系统测试的对象是整个应用软件系统,包括需求分析、系统总体设计、详细设计各阶段的文

39、档以及源程序。系统测试的目的是精心选取那些易于发生错误的测试数据,以十分挑剔的态度,找出软件中的错误,并改正错误。 系统测试:针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。、恢复测试恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。恢复测试首先要采用各种办法强迫系统失败,然后验证系统是否能尽快恢复。对于自动恢复需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是

40、否在可接受的范围内。、安全测试安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。例如,想方设法截取或破译口令;专门定做软件破坏系统的保护机制;故意导致系统失败,企图趁恢复之机非法进入;试图通过浏览非保密数据,推导所需信息,等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。此时非法侵入者已无利可图。、强度测试强度测试检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如,当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;定量地增长数

41、据输入率,检查输入子功能的反映能力;运行需要最大存储空间(或其他资源)的测试用例;运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。、 性能测试对于那些实时和嵌入式系统,软件部分即使满足功能要求,也未必能够满足性能要求,虽然从单元测试起,每一测试步骤都包含性能测试,但只有当系统真正集成之后,在真实环境中才能全面、可靠地测试运行性能系统性能测试是为了完成这一任务。性能测试有时与强度测试相结合,经常需要其他软硬件的配套支持。4.1.2测试结果1.测试主界面是否成功进入主界面后,会发现系统菜单和控制菜单俩个选项。并且有计费、消息、停止、重启、关机、锁定、配置和帮助按钮。鼠标选中计费按钮就开始计费,可以根据用户的消费情况进行计费。消息按钮可以了解用户信息。如果用户有什么要求,可以给服务器发送消息,服务器接到消息后就可以根据情况进行解决。如果会员上网可以锁定计算机,按下锁定按钮即可。如果服务器有问题可以关机或重启。如果这些都没有问题说明主界面成功。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号