您的当前位置:首页正文

管理信息系统上机实验报告

2022-12-27 来源:步旅网


管理信息系统上机实验报告

题目 图书管理系统系统分析 指导老师

专业

学号

姓名 2011年1月

第一章 图示管理系统的系统分析 ............................................. 3

1.前言................................................................... 3

1.1 编写目的 ......................................................... 3 1.2 背景 ............................................................. 3 1.3 参考资料 ......................................................... 3 2 项目概述 ............................................................... 4

2.1系统开发前提 ..................................................... 4 2.2 系统开发的基本目标 ............................................... 4 2.3 经济目标 ......................................................... 5 2.4 社会目标 ......................................................... 5 2.5 开发规模 ......................................................... 5 2.6系统流程 ......................................................... 5 3 可行性研究的方法及评价度 ............................................... 7 4 软件分析 ............................................................... 8 5 软件技术分析 .......................................... 错误!未定义书签。

5.1 设计目标 ........................................ 错误!未定义书签。 5.2 设计条件 ........................................ 错误!未定义书签。 5.3 软件基本工作原理 ................................ 错误!未定义书签。 6.软件的功能 ............................................ 错误!未定义书签。

6.1 设备的要求 ...................................... 错误!未定义书签。 6.2 对运行过程的影响 ................................ 错误!未定义书签。 6.3 技术方面的可行性 ................................................. 7 7 可行性综合分析 ........................................ 错误!未定义书签。 8可行性结论 ............................................ 错误!未定义书签。 第二章 模块结构 ........................................................... 9 第三章 数据库设计 ........................................................ 11 第四章 程序界面及编码 .................................................... 12 第五章 测试报告 .......................................... 错误!未定义书签。

第一章 图书管理系统分析

1. 前言

本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。

编写目的

系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。 1.2 背景

近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透

到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

(1)产品名称:图书管理系统 (2)任务提出者:大连电视大学 (3)产品开发:第三开发小组 (4)产品用户:图书管理人员 (5)产品所有权:田亮

1.3 参考资料

(1)VISUL BASIC 可视化编程 (2)VISUL BASIC 程序设计

(3)信息系统开发案例分析与课程设计

2 项目概述

2.1系统开发前提

这是一个图书管理系统,主要负责图书的采购信息存档、对图书信息的查询及编辑、对学生相关信息的管理、对借阅书本情况的管理; 2.2系统开发的基本目标

A.由于原先图书管理采用的人工系统,浪费人力物力财力,图书管理系统可以改善这种情况,只需一台电脑和一个管理员老师就能轻松完成。

B.提高对新书入库、借阅图书以及学生信心管理的速度。 C.减少人力的投入的同时提高了信息处理的精度和准确度,在输入无误的基础上可保证数据的正确性。

D.改进了管理服务的质量,可由系统对入库图书进行自动分类、归类,学生信息整理、借阅情况登记入档。

E.改进人员的利用率,减少了前台操作人员,更多的人员可用于为借阅者服务、更新采购图书等其他事物,节省人力资源。。 2.3 经济目标

节省人力,物力的开支,从而达到一人一台电脑就能完成图书管理。

2.4 社会目标

采取的是人工方式,相对而言耗时大,效率低。而根据现有的硬件条件以及工作制度,在办公室中,管理学籍的老师都配备电脑。而且电脑的系统软件都是WINDOWS2000 以上的,所以足够可以来运行我们的软件;从学院老师们的文化素质来看,我们的软件操作简单,运行方便。 2.5 开发规模

该系统软件开发总人数: 辅导老师:

组长:

程序分析:全体开发人员 2.6系统流程

开始 连接服务器 发送登陆信息 否 成功? 是 选择操作类

图书借阅管理 图书信息管理 读者信息管理 管理员信息管理 数据统计管理 网络连接管理 得到返回结果 否 退出? 是 结束 客户端程序流程图

3 可行性研究的方法及评价度

3.1 经济可行性

目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。从经济角度考虑,此信息系统开发可行。 3.2 技术可行性

就技术力量来说,我们小组可以完成此次开发工作。开发过程中会出现许多问题,有我们预想之中的,也有一些没有我们预想到,但,我们有信心克服一切困难。该学期,我们小组各成员已经学习了SQL SERVER,对网络技术和操作系统也有系统的了解,有些成员熟悉计算机原理,能解决常见的硬件故障和硬件选择。目前,图书管理信息系统已得到了大量应用,有许多可供参考的成功系统。而且,网上有许多关于VISUL BASIC编程的资料和SQL SERVER方面的资料。 从技术角度考虑,此信息系统开发可行 3.3 法律可行性

由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,如果不是正版软件,将不得不面临民事诉讼的风险。

4 可行性分析结论

根据以上的可行性研究,我们小组认为开发此系统的条件已经

具备,可以开始进行开发

5 软件分析

(1). 由于原先图书管理采用的人工系统,浪费人力物力财力,图书管理系统可以改善这种情况,只需一台电脑和一个管理员老师就能轻松完成。

(2). 提高对新书入库、借阅图书以及学生信心管理的速度。 (3). 减少人力的投入的同时提高了信息处理的精度和准确度,在输入无误的基础上可保证数据的正确性。

(4). 改进了管理服务的质量,可由系统对入库图书进行自动分类、归类,学生信息整理、借阅情况登记入档。

(5). 改进人员的利用率,减少了前台操作人员,更多的人员可用于为借阅者服务、更新采购图书等其他事物,节省人力资源。 5.1 硬件需求

(1)服务器最低配置:Pentium 4 2.4 GHZ内存256MB以上

硬盘 30GB以上。

(2)客户端最低配置:Pentium 3 633MHZ 内存256MB以上 硬盘 30GB以上 5.2 软件需求

系统:Windows2000或Windows XP,Visual Basic 6.0 数据库:Access(Office2000或Office2003)

5.3 功能需求

(1)网络连接模块:用于连接服务器。

(2)图书借阅管理模块:用于实现图书借阅信息的管理,包括借阅图书、归还图书、续借图书、缴纳罚款等功能

(3)图书信息管理模块:管理图书资料,主要有图书类别管理、图书信息管理两部分,每部分都有查询、添加、维护等功能。

(4)读者信息管理模块:用于实现读者资料数据的管理,主要包括查询读者信息、添加读者信息、删除读者信息、维护读者信息等功能。

(5)管理员信息管理模块:用于实现管理员资料数据的管理,主要包括查询管理员信息、添加管理员信息、删除管理员信息等功能。

(6)数据统计模块:用于实现统计系统的基本数据,以便于系统的管理,主要包括图书借阅统计、未还图书统计、过期读者统计等功能。

管理员 检索条件 管理员信息 管理员信息 5.1 核查 信息 管理员信息 5.2 信息 登陆 管理员信息 管理员信息 5.3 信息 查询 1 用户 管理员信息 第二章 模块结构

管理员信息管理模块:用于实现管理员资料数据的管理,主要包括查询管理员信息、添加管理员信息、删除管理员信息等功能。 (1)添加管理员:“Usr , 01 , Usr _ID ,Usr _Name„„”

帧头“Usr”,类型号为01,接着是协议的具体内容, Usr_ID,Usr_Name„„要添加的管理员相关信息。

(2)删除管理员:“Usr , 02 , Usr _ID”帧头“Usr”,类型号为02,接着是协议的具体内容, 只有Usr_ID一项 ,是需要删除的管理员ID。

(3)查询管理员:“Usr , 03 , Usr _ID”帧头“Usr”,类型号为03,接着是协议的具体内容, 只有Usr_ID一项 ,是需要查询的管理员ID关键字。

管 理 员 管 理 模 块 图书馆管理系统客户端 数 据 统 计 模 块 连 接 服 务 器 权 限 管 理 管 理 员 管 理 添加管理员信息 查询管理员信息 删除管理员信息

第三章 数据库设计

表结构设计,字段定义。 数据关系模式:

管理员资料数据表(管理员ID,管理员姓名,管理员密码,权限类型,备注)

名称 Usr_ID Usr_Name Usr_Pwd Usr_Type Usr_Remark 管理员资料数据表(User_Info) 类型 宽度 用途 文本 文本 文本 数字 文本 8 20 16 整型 255 索引 管理员ID 主索引 管理员姓名 管理员密码 权限类型 备注 管理员资料数据表。管理员资料数据表记录了所有管理员的基本资料,管理员可添加、删除和查询该表。该表包括管理员ID、姓名、密码和权限类型(系统管理员、高级管理员、普通管理员)等资料。

第四章 程序界面及编码

一. 图书管理信息系统主窗体

界面简介:管理员可以在主窗体上选择要操作的功能。此窗体属于功

能一览的界面。

图书管理系统登录界面

登录界面的代码为:

Private Sub mnuViewStatusBar_Click()

StatusBar1.Visible = True - StatusBar1.Visible mnuViewStatusBar.Checked = StatusBar1.Visible End Sub

'菜单栏的点击事件

Private Sub mnuViewToolbar_Click()

Toolbar1.Visible = True - Toolbar1.Visible mnuViewToolbar.Checked = Toolbar1.Visible End Sub

' winsock的关闭

Private Sub winsock_Close()

main.StatusBar1.Panels(1).Text = \"服务器连接状态:断开。\" End Sub

' winsock的连接

Private Sub winsock_Connect() Dim str As String

str = \"Cnn,\" & UserNow.ID & \winsock.LocalIP

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub End If

Me.winsock.SendData str 'MsgBox str End Sub

' winsock传递数据的数组

Private Sub winsock_DataArrival(ByVal bytesTotal As Long)

Dim StrArrival, a As String, StrGet() As String, StrGet1() As String

Dim Start As Integer

Dim i As Integer, j As Integer, k As Integer Dim LtItm As ListItem Dim ss As String Dim qq As String Dim ww As String

Me.winsock.GetData StrArrival, vbString If Len(StrArrival) < 1 Then Exit Sub '数组中数据的操作

StrGet() = Split(StrArrival, \

Select Case StrGet(0) Case \"abc\"

MsgBox StrGet(1), , \"服务器广播\" Case \"Usr\"

Select Case StrGet(1) Case \"01\"

main.StatusBar1.Panels(1).Text = \"服务器连接状态:响应添加管理员。\"

MsgBox StrGet(2), , \"服务器响应\"

Case \"02\"

main.StatusBar1.Panels(1).Text = \"服务器连接状态:响应删除管理员。\"

MsgBox StrGet(2), , \"服务器响应\"

Case \"03\"

a = StrGet(2)

If a = \"超出权限!查询管理员信息失败!\" Then MsgBox StrGet(2), , \"服务器响应\"

ElseIf a = \"该管理员不存在!查询管理员失败!\" Then MsgBox StrGet(2), , \"服务器响应\" Else

main.StatusBar1.Panels(1).Text = \"服务器连接状态:响应查询管理员。\"

usrquery.lvquery.ListItems.Clear For i = 0 To UBound(StrGet) - 2

StrGet1() = Split(StrGet(i + 2), \"/\ Set LtItm = usrquery.lvquery.ListItems.Add() LtItm.Text = i + 1

LtItm.SubItems(1) = StrGet1(0) LtItm.SubItems(2) = StrGet1(1)

LtItm.SubItems(3) = StrGet1(2) LtItm.SubItems(4) = StrGet1(3) Next i End If Case \"04\"

a = StrGet(2)

If a = \"超出权限!查询管理员信息失败!\" Then MsgBox StrGet(2), , \"服务器响应\" Else

main.StatusBar1.Panels(1).Text = \"服务器连接状态:响应查询所有管理员。\"

usrquery.lvquery.ListItems.Clear For i = 0 To UBound(StrGet) - 2

StrGet1() = Split(StrGet(i + 2), \"/\ Set LtItm = usrquery.lvquery.ListItems.Add() LtItm.Text = i + 1

LtItm.SubItems(1) = StrGet1(0) LtItm.SubItems(2) = StrGet1(1) LtItm.SubItems(3) = StrGet1(2) LtItm.SubItems(4) = StrGet1(3) Next i End If

End Select Case \"Cnn\"

main.StatusBar1.Panels(1).Text = \"服务器连接状态:响应连接信息。\"

MsgBox StrGet(1), , \"服务器响应\"

If StrGet(1) = \"该管理员名不存在!请重新输入!\" Then Me.winsock.Close

ElseIf StrGet(1) = \"密码错误!请重新输入!\" Then Me.winsock.Close End If End Select End Sub

'显示管理员添加画面 Private Sub Usr_Add_Click() usradd.Show End Sub

'显示删除管理员画面

Private Sub Usr_Delete_Click() usrdel.Show End Sub

'显示管理员查询画面

Private Sub Usr_Query_Click() usrquery.Show End Sub Private

Sub

Toolbar1_ButtonClick(ByVal

Button

As

MSComctlLib.Button)

Select Case Button.Key '系统的连接 Case \"Sys_Cnn\"

Call Sys_Connect_Click '系统的退出 Case \"Sys_Exit\" Call Sys_Exit_Click '添加管理员 Case \"Usr_Add\" Call Usr_Add_Click '删除管理员 Case \"Usr_Del\"

Call Usr_Delete_Click '管理员查询 Case \"Usr_Query\" Call Usr_Query_Click End Select

End Sub '画面初期化事件 Private Sub Form_Load() Scale (-7.57, 5.2)-(2.4, -5)

main.Caption = \"图书馆管理系统客户端\" End Sub

Private Sub Sys_Connect_Click() cnn.Show End Sub '退出系统事件

Private Sub Sys_Exit_Click()

myexit = MsgBox(\"是否要退出程序?\退出\") If myexit = vbYes Then End End Sub

二. 客户端连接服务器的连接窗体

界面简介:此界面是客户端连接服务器的登陆窗体,管理员通过输入

正确的ID和密码,等服务器验证通过后,画面迁移到主窗体。

连接服务器页面的代码为: Option Explicit '取消连接事件

Private Sub CmdCancel_Click() Unload Me End Sub '连接服务器事件

Private Sub CmdCnn_Click() '用户ID为空的判断

If Len(Trim(Me.Text1.Text)) <= 0 Then MsgBox \"请输入用户ID!\" Exit Sub

ElseIf Len(Trim(Me.Text1.Text)) > 16 Then MsgBox \"您输入的用户ID过长!\" Exit Sub Else

UserNow.ID = Trim(Me.Text1.Text) End If

'密码为空的判断

If Len(Trim(Me.Text2.Text)) <= 0 Then MsgBox \"请输入密码!\" Exit Sub

ElseIf Len(Trim(Me.Text2.Text)) > 16 Then MsgBox \"您输入的密码过长!\" Exit Sub Else

UserNow.Pwd = Trim(Me.Text2.Text) End If 'IP地址的判断

If Len(Trim(Me.Text3.Text)) <= 0 Then MsgBox \"请输入服务器IP!\" Exit Sub

ElseIf Len(Trim(Me.Text3.Text)) > 15 Then MsgBox \"您输入的IP地址过长!\" Exit Sub

ElseIf Len(Trim(Me.Text3.Text)) < 7 Then MsgBox \"您输入的IP地址过短!\" Exit Sub Else

' winsock的设置

main.winsock.RemoteHost = Trim(Me.Text3.Text) main.winsock.RemotePort = 12345 main.winsock.Connect '设置连接后状态条的显示信息

main.StatusBar1.Panels(1).Text = \"服务器连接状态:正在连接„\"

'画面的关闭 Unload Me End If End Sub '页面加载事件

Private Sub Form_Load() ' winsock的状态判断

If main.winsock.State <> sckClosed Then

'关闭winsock的连接

main.winsock.Close End If End Sub

管理员信息登陆画面

管理员信息登陆画面的代码为: '管理员信息添加事件

Private Sub CmdAddOk_Click() Dim str As String '管理员ID为空的判断

If Len(Trim(Me.TextID.Text)) <= 0 Then MsgBox \"请输入管理员ID!\" Exit Sub

ElseIf Len(Trim(Me.TextID.Text)) > 16 Then MsgBox \"您输入的管理员ID过长!\" Exit Sub End If

'管理员姓名为空的判断

If Len(Trim(Me.TextName.Text)) <= 0 Then MsgBox \"请输入管理员姓名!\" Exit Sub '管理员姓名长度的判断

ElseIf Len(Trim(Me.TextName.Text)) > 20 Then MsgBox \"您输入的姓名过长!\" Exit Sub End If

'密码为空过的判断

If Len(Trim(Me.TextAddPwd1.Text)) <= 0 Then MsgBox \"请输入密码!\" Exit Sub '密码长度的判断

ElseIf Len(Trim(Me.TextAddPwd1.Text)) > 16 Then MsgBox \"您输入密码过长!\" Exit Sub End If

'密码和确认密码不一致的判断

If Trim(Me.TextAddPwd1.Text) <> Trim(Me.TextAddPwd2.Text) Then

MsgBox \"两次输入的密码不一致!\" Exit Sub End If

str = \"Usr,01,\"

str = str & Me.TextID.Text & \str = str & Me.TextName.Text & \str = str & Me.TextAddPwd1.Text & \str = str & Val(Me.CbType.Text) & \str = str & Me.useremark.Text ' winsock状态的判断

If main.winsock.State <> sckConnected Then

MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub End If

'数据向服务器的传送 main.winsock.SendData str '关闭窗体 Unload Me End Sub '退出窗体的事件

Private Sub CmdCancel_Click() Unload Me End Sub '页面加载的事件 Private Sub Form_Load() Dim str As String ' winsock状态的判断

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" '退出过程 Exit Sub End If

'数据向服务器的传送

main.winsock.SendData str End Sub

管理员信息删除画面(下图)

管理员信息删除画面的代码为: '关闭窗体的操作

Private Sub CmdCancel_Click() '关闭窗体 Unload Me End Sub

'删除管理员的事件

Private Sub CmdDel_Click() Dim str As String '管理员ID为空的判断

If Len(Trim(Me.TextID.Text)) <= 0 Then MsgBox \"请输入管理员ID!\" Exit Sub

ElseIf Len(Trim(Me.TextID.Text)) > 16 Then MsgBox \"您输入的ID过长!\" Exit Sub

End If

str = \"Usr,\" & \"02,\" & Me.TextID.Text ' winsock状态的判断

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub End If

'向服务器传递数据 main.winsock.SendData str '关闭窗体 Unload Me End Sub '页面的加载事件 Private Sub Form_Load() Dim str As String ' winsock状态的判断

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub End If

'向服务器传递数据 main.winsock.SendData str

End Sub

管理员信息检索画面(下图)

管理员信息删除画面的代码为: '窗体的关闭事件

Private Sub CmdCancel_Click() '关闭窗体 Unload Me End Sub

'管理员的查询事件

Private Sub CmdQuery_Click() Dim str As String '清空列表中的数据

Me.lvquery.ListItems.Clear '查询条件的判断

If Len(Trim(Me.TextID.Text)) <= 0 Then MsgBox \"请输入管理员ID!\" Exit Sub

ElseIf Len(Trim(Me.TextID.Text)) > 16 Then MsgBox \"您输入的ID过长!\" Exit Sub End If

str = \"Usr,\" & \"03,\" & Me.TextID.Text ' winsock状态的判断

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub

End If

向服务器传递数据' main.winsock.SendData str End Sub '全部查询的事件

Private Sub CmdAllQuery_Click() Dim str As String '清空列表中的数据

Me.lvquery.ListItems.Clear

str = \"Usr,\" & \"04,\"

' winsock的状态判断

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub

End If

'向服务器传递数据 main.winsock.SendData str End Sub '页面加载事件

Private Sub Form_Load() Dim str As String ' winsock的状态判断

If main.winsock.State <> sckConnected Then MsgBox \"还没有连接数据库,不能发送请求!\" Exit Sub End If '向服务器传递数据 main.winsock.SendData str End Sub

第五章 测试报告

一.客户端登陆界面

1)输入错误的管理员ID和密码时(下图)

2)管理员ID和密码输入正确无误时(下图)

二.管理员添加画面

输入管理员ID

选择类型:O系统管理员 1高级管理员 2普通管理员

输入管理员姓名,密码,密码确认,备注。 点击点击

按钮提示添加管理员信息成功。 按钮退出管理员信息登陆画面。

三.管理员信息删除画面

输入要删除的管理员ID 点击

按钮提示删除管理员成功。

点击

按钮退出管理员信息删除画面。

四. 管理员信息检索画面

输入管理员ID点击点击

按钮检索该管理员ID的详细信息。

按钮检索所有管理员信息。

点击

按钮退出管理员信息查询画面。

因篇幅问题不能全部显示,请点此查看更多更全内容