当前位置:文档之家› 数据库课程设计论文

数据库课程设计论文

数据库课程设计论文
数据库课程设计论文

数据库课程设计论文

寝室管理系统

——数据库课程设计

班级:计算1001

姓名:朱凯

学号:10520110

指导老师:胡艳菊

同组伙伴:李强孟兆祥贾宇

目录

第0章引言 (3)

第一章说明书 (4)

第二章系统定义 (7)

第三章需求分析 (9)

第四章开发软件介绍 (11)

第五章总结 (17)

第六章代码 (18)

第0章引言

学生公寓的管理是学校后勤集团的重要工作内容,由于学生公寓管理难度大,存在诸多不安全因素,多年来从中央到地方教育行政管理部门都十分重视学生公寓的管理。

(1)在学生公寓的管理中,我们认为需要重点解决的问题:

一是如何全面掌握学生基本信息和入住信息,解决好学生入住情况底子不清和宿舍分配难,查询统计难的问题;二是如何对进出学生公寓的人员进行身份识别,杜绝闲杂人员进入学生公寓盗窃学生财物和滋扰学生正常生活秩序的现象发生;三是如何掌握学生在宿舍的异常情况,特别是夜不归宿情况,确保学生人身安全;四是如何使学生管理干部、学生家长多方参与,对学生实施协同管理;五是如何实施学生管理干部多校区跨地域与学生沟通,有效开展思想政治工作和学生教育管理工作;六是如何实现事后回溯,为事故调查提供依据。针对这些问题,我们组织人力开发并使用了学生公寓管理系统,并且收效明显。

(2)数字化在学生公寓管理中的应用效果

一是实现了公寓信息共享。在公寓管理中,学生住房信息、床位分配信息、床位余缺信息等都是由公寓管理人员人工调整,各级领导不可能及时准确地掌握当前公寓的使用情况。使用该系统对学生公寓实施网络化管理后,各级管理者根据不同权限可以通过网络系统清楚地了解公寓的房间数量、等基本情况。公寓管理者和学生管理干部都可以准确查询某个学生所在公寓、房间和床位,学生的姓名、性别、出生年月、年级、专业、

班级等详细情况,实现了公寓信息资源的共享。

第一章说明书

学生寝室管理系统软件需求分析说明书

1.1 编写目的:

通过本次设计,设计的基本思想方法,能够独立编写小型的数据库程序,通

过数据库系统应用课题的实践,进一步提高分析问题解决问题的能力及软件

开发过程的能力。

1.2 项目背景:

●项目的委托单位和主管部门:

●该软件系统与其他系统的关系:

该系统是独立系统。

1.3 定义:文档中所用到的专门术语的定义和缩写词的愿文见《数据库系统

原理》。

1.4 参考资料:

《数据库系统原理》、《C#程序员参考手册》、《C#开发案例》。

2 任务概述

2.1 目标

在2010年12月20日至12月30日之间完成一套小型的完整的学生信息管理系

统。

2.2 运行环境

Microsoft Windows 7 Professional

2.3 条件与限制

开发测试阶段必须装有以下软件及开发环境:

1. Microsoft Visual Studio 2010

2. SQL Server 2000

3. .NET Framework3.0以上版本。

3 数据描述

3.1 表态数据

3.2 动态数据:包括输入数据和输出数据。

3.3 数据库描述:给出使用数据库的名称和类型。

3.4 数据词典

3.5 数据采集

4 功能需求

4.1功能划分与描述

1.完成学生住寝与更新,有对学生基本资料的输入、删除、更新的界面。

2.提供学生寝室的基本查询界面,包括按系部,按学号,按班级,按性别,分类查询。

3.提供寝室楼层学生档案分类统计,包括按基本资料,如性别,能按班级,按年级,按专业,按系部分类统计寝室学生基本资料信息。

4 性能需求

5.1 数据精确度

5.2 时间特性:如响应时间、更新处理时间、数据转换与传输时间、运行时间等。

5.3 适应性:在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。

6 运行需求

6.1 用户界面:如屏幕格式、报表格式、菜单格式、输入输出时间等。

6.2 硬件接口

6.3 软件接口

6.4 故障处理

7 其他需求

如可使用性、安全保密、可维护性、可移植性等。

第二章系统定义

本寝室管理系统为寝室管理员实现电子化管理寝室的数据库系统,其具体涉及的内容包括:

1.寝室信息

2.学生信息管理

3.物品出入及外来人员信息

4.登记信息

5.清洁分信息

用户包括公寓管理员、协管人员、学生。

各自的权限有所不同:

管理员:一切权限;

协管人员:学生的一切权限,信息预览中添加删除更改公告栏内容;

学生:信息查询,信息提交。

第三章需求分析

一、目的与任务:

寝室管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,方便校方管理及学生的日常寝室生活。

通过该系统,管理员用户可以查看学生的基本资料寝室信息等各方面的资料,能够方便的了解学生寝室生活情况。该管理系统为用户提供了信息录入,数据查询、输出各种信息等。

学生用户可查询寝室一些相关事宜。另外,协管人员用户还可以对公告栏信息进行添加,更新和删除。寝室智能管理系统力求给用户方便快捷的途径去

管理这些繁琐的数据。

二、系统功能需求分析

用户的需求具体体现在各种信息的输入、修改和查询,并能够提供一定的安全保障。因此,系统必须实现的功能如下:

1.用户识别登陆功能(模块):

对三种层次的用户的给予不同的数据管理权限:

a)最高权限用户(管理员):拥有对数据的增加、删除、查询、保存,以

及数据的维护。

b)一般的用户(协管人员):拥有对除去有关费用的数据的所有查询权限,

例如查询寝室信息、出入日志、等。

c)最低权限用户(学生):拥有向系统提交个人基本信息的权限。拥有

部分查询功能。

2日常管理模块:

管理员及协管人员均可录入和查看清洁分,在报修信息栏中可以标记记录是否被处理。根据登陆的学生用户锁定期寝室号,用户可以提交其寝室的报修请求及查看其寝室的清洁分情况。

3.人员管理模块:

包含查看寝室人员,添加进入人员以及处理进入人员。查看寝室人员栏中可以查看各个寝室的室长及所有室员,管理员及协管人员可进行编辑。添加进入人员栏可添加进入人姓名及缘由。处理进入人员可以显示添加进入人员时录入的信息及标记该人员是否离开。

4.系统设置模块:

包含添加公告栏和编辑公告。管理员及协管人员均有权限进行寝室楼栋重要通知的录入和修改。

第四章开发软件介绍

Visual Basic简介

Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。

语言特性

VB 的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI 系统,但是又可以开发相当复杂的程序。VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB 程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。VB 的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。VB 的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。VB 使用参数计算的方法来进行垃圾收集,这个方法中包含有大

量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB 对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。VB 使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB 提供。VB 也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。

属性、方法和事件

在Visual Basic 中,可通过属性、方法和事件来说明和衡量一个对象的特征。

事件(Event)

事件是指发生在某一对象上的事情。事件又可分为鼠标事件和键盘事件。例如,在命令按钮(Command Button)这一对象上可能发生鼠标单击(Click)、鼠标移动(Mouse Move)、鼠标按下(Mouse Down)等鼠标事件,也可能发生键盘按下(Key Down)等键盘事件。总之,事件指明了对象“什么情况下做?”,常用于定义对象发生某种反映的时机和条件。

方法(Method)

方法是用来控制对象的功能及操作的内部程序。例如,人具有说话、行走、学习、睡觉等功能,在visual Basic中,对象所能提供的这些功能和操作,就称作“方法”。以窗体为例,它具有显示(show)或隐藏(hide)的方

法。总之,方法指明了对象“能做什么?”,常用于定义对象的功能和操作。属性(Property)

属性是指用于描述对象的名称、位置、颜色、字体等特征的一些指标。可以通过属性改变对象的特性。有些属性可以在设计时通过属性窗口来设置,不用编写任何代码;而有些属性则必须通过编写代码,在运行程序的同时进行设置。可以在运行时读取和设置取值的属性成为读写属性,只能

“是什么样的?”,常用于定义对象的外观。

对象与类

对象(Object)

Visual Basic 具有“面向对象”的特性,Visual Basic 应用种程序的基本单元是对象,用Visual Basic 编程就是用“对象”组装程序。这种“面向对象”的编程方法与传统的全部用代码编制程序的方法有很大区别,就像用集成电路芯片组装电视机和用三极管,二极管组装电视机的区别一样。显然,“面向对象”的编程方法比传统的编程方法更简单,更方便,并且编写出的程序也更加稳定。因此,“对象”可以被看做Visual Basic 程序设计的核心。在Visual Basic 程序设计中,对象中还可以包含头,手,腿,脚等部位,其中的每个部位又可以单独作为作为被研究的对象。在Visual Basic 程序设计中,整个应用程序就是一个对象,应用程序中又包含着窗体(Frame),命令按钮(Command),菜单(Menu)等对象。

类(Class)

在Visual Basic 中,对象是由类创建的,因此对象可以说是类的具体实例,这就好比是蛋糕和做蛋糕的模具之间的关系。各种不同的对象分属于各种不同的种类。同一类对象可能具有一些不同的特征(或是说同一类对象不一定具有完全相同的特性);具有某些相同的特性的对象,不一定是同一类对象,这就好比是人和猴子虽然都有身高、性别等特征,但二者之间还存在着智商、语言等特性差异,这两个对象之间的特性相差很多,根本就不能算是同一类对象。而男人和女人,虽然有着性别、生理等方面的差异,但他们绝大部分特性相同,可以算是同一种类。由此,可以归结为一句话:同一类对象的绝大部分特性相同。

局限性

Visual Basic 语言具有不支持继承、无原生支持多线程、异常处理不完善等三项明显缺点,使其有所局限性(此些缺点皆已在https://www.doczj.com/doc/9015429284.html, 获得改进[1-2])。

不支持继承

VB 5.0 和VB 6.0 都是基于对象的编程语言,但是不包含继承特性。VB 中提供了特殊的类的功能,但是还是不能满足程序员的需求。

无原生支持多线程

Visual Basic 的调用实现。

异常处理不完善

Visual Baisc 中内置异常处理,即使未写异常处理代码,一旦用户出错也会弹出一个明确写出出错原因对话框,接着程序终止。Visual Basic 中可以使用Err.Raise 抛出异常。对系统及用户抛出的异常的处理常用两种模式:一是使用On Error Resume Next 处理错误;另一种是使用On Error Goto 将运行引入错误处理代码。但相对C++ 等语言而言,这样的异常处理破坏了代码的结构。

由VB 派生的语言

微软开发了一系列由Visual Basic 所派生的语言:1、Visual Basic for Applications (VBA):包含在微软的应用程序中(如Microsoft Office),以及类似WordPerfect、Office这样第三方的产品里面。VBA 这样嵌入在各种应用程序中看起来有些矛盾,但是它的功能和VB 一样强大。2、

和网页编码中。尽管它的语法类似于VB,但是它却是一种完全不同的语言。VBS 不使用VB 运行库运行,而是由Windows 脚本主机解释执行。这两种语言之中的不同点影响ASP 网站的表现。3、Visual Basic .NET (https://www.doczj.com/doc/9015429284.html,):当微软准备开发一种新的编程工具的时候,第一决定就是利用VB 6.0 来进行旧改,或者就是重新组建工程开发新工具。微软后来开发了VB 的继任者Visual Basic .NET,同时也是.NET平台的一部分。https://www.doczj.com/doc/9015429284.html, 编程语言是一种真正的面向对象编程语言,和VB 并不完全兼容。

第五章总结

这次课程设计学校安排了几周时间让我们完成,我们选择了职工考勤信息系统的课题,并从图书管借了数据库程序设计和C++设计的资料书,对课程设计中会遇到的问题提前做了些准备,并到网上也找相关的系统的代码看了下,对这个系统有了一定的全局观,完成了初步的需求分析。稍作细化后,便开始设计数据库。而后做了界面设计,完成了程序大部分的主要界面。

而在编码方面,我从系统的功能、规模和实用方面考虑,采用C++技术。在数据库设计时,细致的考虑到了用户的全部需求,并用了大量的时间进行了信息的收集建立了比较完善的信息表,编码阶段,在设计接近完成的时候,我对部分代码做了优化,将一些重复工作加以封装调节;将批处理操作改为以事务方式处理。

这次课程设计,我更加深入的了解到软件工程的复杂性,以及前期规划分析的重要性。而且如果系统再稍微大型一些,以一人之力也难以完成。以后的学习中应该学习一些先进的思想,并多加实践,从写程序和软件架构两个方面都增强自己的能力。

在编程中遇到了很多困难,通过不懈的努力,在网上查找资料,借阅资料,终于完成了!我发自内心的高兴。我赶到编程设计真的很辛苦,一个程序,哪怕只有一个小小的拼写错误,都不能成功运行,当写完程序测试时,

心里都是在打鼓,怕出现错误,一次次的测试,一次次的更改,终于成功了!我感到十分的自豪!

通过这次的数据库课程,我学会了在制作程序时应仔细谨慎,因为细小的错误都会导致程序的失败。另外老师还教会了我们,在制作一个系统时,要有自己的思想,使自己制作的程序能锦上添花,做出属于自己的东西。我也会在以后的生活学习中尽量完善自己的工作,使自己做的更好!

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Const HTCAPTION = 2

Const WM_NCLBUTTIONDOWN = &HA1

Private Sub About_Click()

AboutForm.Show 1

End Sub

Private Sub CheckRoom_Click()

CheckRoomForm.Show 1

End Sub

Private Sub Form_Load()

Unload WelcomeForm

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, y As Single)

Dim r As Long

Dim i

If Button = 1 Then

i = ReleaseCapture()

r = SendMessage(hwnd, WM_NCLBUTTIONDOWN, HTCAPTION, 0)

End If

End Sub

Private Sub ImageCombo1_Change()

End Sub

Private Sub HealthRoom_Click()

HealthRoomForm.Show 1

End Sub

'Private Sub lblMenu_Click(Index As Integer)

' Dim strMenu As String

' strMenu = lblMenu(Index).Caption

' Dim m As Integer

' Dim i As Integer

' For i = 1 To Index

' PicMenu(i).Top = PicMenu(i - 1).Top + PicMenu.Item(i - 1).Height

' Next i

' ListView.Top = PicMenu(i - 1).Top + PicMenu.Item(i - 1).Height

' If Index < 7 Then PicMenu(Index + 1).Top = ListView.Top + ListView.Height ' For i = Index + 2 To PicMenu.Count - 1

' PicMenu(i).Top = PicMenu.Item(i - 1).Top + PicMenu.Item(i - 1).Height ' Next i

' Select Case Index

' Case 0

' ListView.ListItems.Clear

ListView.Enabled = True

' For i = 0 To m1.Count - 1

' Key = "【" & m1.Item(i).Caption & "】"

' m = i + 1

' Set itmX = ListView.ListItems.Add(, , Key, m)

' Next i

' Case 1

' ListView.ListItems.Clear

' ListView.Enabled = True

' For i = 0 To m2.Count - 1

' Key = "【" & m1.Item(i).Caption & "】"

' m = i + m1.Count + 1

' Set itmX = ListView.ListItems.Add(, , Key, m)

' Next i

' Case 2

' ListView.ListItems.Clear

' ListView.Enabled = True

相关主题
文本预览
相关文档 最新文档