班级管理系统--毕业论文

中国石油大学(华东) 现代远程教育

毕业设计(论文)

题 目:重庆一中学生班级管理系统

学习中心: 重庆信息工程专修学院奥鹏学习中心 年级专业: 0509 计算机科学与技术 学生姓名: 刘 福 山 学 号: 0541680758 指导教师: 胡 传 斌 职 称: 讲 师 导师单位: 重庆信息工程专修学院

中国石油大学(华东) 远程与继续教育学院

论文完成时间: 年 月 日

目 录

目 录 . .................................................... ⅰ

第1章 前 言 . .............................................. 1

1.1 简介 ............................................... 1

1.2 开发工具的选择 ..................................... 4

1.2.1 Visual Basic简介 . ............................. 4

1.2.2 SQL Server2000简介 . ........................... 6

1.2.3 ActiveX 数据对象——ADO 简介 . .................. 6

1.2.4 C/S 简介 ..................................... 10

第2章 需求分析 . .......................................... 11

2.1 需求概述 .......................................... 11

2.1.1 应用系统概述 ................................. 11

2.1.2 开发背景 ..................................... 12

2.2 系统概述 .......................................... 13

2.2.1 系统组成 ..................................... 13

2.2.2 系统各子模块功能简述 ......................... 13

2.3 数据库需求分析 .................................... 14

2.3.1 数据库需求分析 ............................... 14

2.4 任务概述 .......................................... 16

2.4.1 目标 ......................................... 16

第3章 概要设计 . .......................................... 17

3.1 数据库设计 ........................................ 17

3.1.1 数据库概念结构设计 ........................... 17

3.1.2 数据库逻辑结构设计 ........................... 20

3.2 数据库结构的实现 .................................. 23

3.2.1 创建Class 表 ................................. 23

3.2.2 创建CStudent 表 .............................. 24

3.2.3 创建Grade 表 ................................. 24

3.2.4 创建Room 表 .................................. 24

3.2.5 创建Student 表 ............................... 25

3.2.6 创建SPerformance 表 .......................... 25

3.2.7 创建Teacher 表 ............................... 26

3.2.8 创建Us . ...................................... 26

第4章 详细设计 . .......................................... 28

4.1 登录界面设计 ...................................... 28

4.2 主界面设计 ........................................ 31

第5章 模块测试 . .......................................... 34

结束语 . .................................................... 36

致 谢 . .................................................... 39

参考文献 . .................................................. 40

第1章 前 言

随着社会的进步和发展,信息系统在生产生活中的作用日益明显,信息产业在学校生产规模中的比重日趋增大,已经成为衡量学校现代化水平的重要指标之一。因此,如何能对学校整体的概况进行宏观调控,使学校的人、财、物等资源配置更加合理,使之发挥最大的效益,使办公及生产趋于自动化,是一个学校始终不渝追求的目标。

管理计算机产生的信息在很多方面不同于处理人工产生的数据,通常有更大量的计算机信息需要管理。组织和维护信息的成本可能以惊人的速度增加,而且与通过其他途径获得的信息相比,用户往往更信任它。 学校班级管理系统可以为学校节约大量的人力和物力资源。同时,能够第一时间提供给学校领导有关学校班级情况、学校教室利用情况及各班班主任等信息。班主任可以更方便地管理自己所带的班级、查询学生的基本信息等。

1.1 简介

管理信息系统(Management Information Systems 简称MIS ),是一个由人、计算机等组成的能进行信息的收集、传送、储存、维护和使用的系统。经过30多年的发展,已经成为一个具有自身概念、理论、结构、体系和开发方法的覆盖多学科的新学科。

MIS 的对象就是信息,信息是经过加工的数据。信息的主要特征是来源分散,数量庞大。信息具有时间性。信息的加工方式有多种形式。 管理信息系统辅助完成学校日常结构化的信息处理任务,一般认为MIS 的主要任务有如下几方面:

1、 对基础数据进行严格的管理,要求计量工具标准化、程序和方

法的正确使用,使信息流通渠道顺畅。同时,必须保证信息的准确性、一致性。

2、确定信息处理过程的标准化,统一数据和报表的标准格式,以便建立一个集中统一的数据库。

3、高效低能地完成日常事务处理业务,优化分配各种资源,包括人力、物力、财力等。

管理信息系统开发方法主要有:结构化生命周期开发方法、原型法、面向对象的开发方法等。

1.结构化生命周期开发方法

目前较为流行的MIS 开发方法是结构化生命周期开发方法,其基本思想是:用系统的思想和系统工程的方法,按用户至上的原则,结构化、模块化地自上而下对生命周期进行分析与设计。

用结构化生命周期开发方法开发一个系统,将整个开发过程划分为5个依次连接的阶段:

系统规划阶段:主要任务是明确系统开发的请求,并进行初步的调查,通过可行性研究确定下一阶段的实施。系统规划方法有战略目标集转化法(SST ,Strategy Set Transformation )、关键成功因素法(CSF ,Critical Success Factors)和企业规划法(BSP ,Business System Planning )。

系统分析阶段:主要任务是对组织结构与功能进行分析,理清企业业务流程和数据流程的处理,并且将企业业务流程与数据流程抽象化,通过对功能数据的分析,提出新系统的逻辑方案。

系统设计阶段:主要任务是确定系统的总体设计方案、划分子系统功能、确定共享数据的组织,然后进行详细设计,如处理模块的设计、数据库系统的设计、输入输出界面的设计和编码的设计等。

系统实施阶段:主要任务是讨论确定设计方案、对系统模块进行调试、进行系统运行所需数据的准备、对相关人员进行培训等。

系统运行阶段:主要任务是进行系统的日常运行管理,评价系统的运行效率,对运行费用和效果进行监理审计,如出现问题则对系统进行修改、调整。

这五个阶段共同构成了系统开发的生命周期。结构化生命周期开发方法严格区分了开发阶段,非常重视文档工作,对于开发过程中出现的问题可以得到及时的纠正,避免了出现混乱状态。但是,该方法不可避免地出现开发周期过长、系统预算超支的情况,而且在开发过程中用户的需求一旦发生变化,系统将很难作出调整。

2.原型法

原型法在系统开发过程中也得到不少应用。原型法的基本思想是系统开发人员凭借自己对用户需求的理解,通过强有力的软件环境支持,构造出一个实在的系统原型,然后与用户协商,反复修改原型直至用户满意。 原型法的应用使人们对需求有了渐进的认识,从而使系统开发更有针对性。另外,原型法的应用充分利用了最新的软件工具,使系统开发效率大为提高。

3.面向对象系统开发方法

面向对象(OO ,Object Oriented )的系统开发方法,是近年来受到关注的一种系统开发方法。面向对象的系统开发方法的基本思想是将客观世界抽象地看成是若干相互联系的对象,然后根据对象和方法的特性研制出一套软件工具,使之能够映射为计算机软件系统结构模型和进程,从而实现信息系统的开发。

1.2 开发工具的选择

1.2.1 Visual Basic简介

“Visual ”的意思是“可视的”,指的是开发图形用户界面(GUI )的方法。读者不需要编写大量代码去描述界面的外观和位置,而只要把预先建立的对象放到屏幕上即可。“可视的Basic ”这个名字初听起来可能抽象了点,但实际上它却是最形象的叫法,用户只要看到Visual Basic 的界面就会明白,实际上无需编程,就可以完成许多编程步骤。

另外,在Visual Basic 中引入了控件的概念,在Windows 中控件的身影无处不在,各种各样的按钮、文本框等都是控件。Visual Basic 把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观以及工作方法(Method )

为了满足不同的开发人员的需要,Visual Basic 提供了3个版本供用户选择。

1. 学习版

学习版提供的功能最少,尽管如此,它所包含的内部控件以及网格、选择卡和数据绑定控件也足以开发出绝大部分Windows 9X 和Windows NT 的应用程序了。

2. 专业版

专业版提供了一套完整的开发工具,包括学习版的全部功能以及ActiveX 控件、Internet Information Server Application Designer、集成的 Visual Database Tools 和Data Environment、Active Data Object 及Dynamic HTML Page Designer。

3. 企业版

专业编程人员可以用企业版来开发功能强大的组内分布式应用程

序。除了具有专业版的全部功能以外,企业版还包括Back Office 工具,例如SQL Server 、Microsoft Transaction Server 、Internet Information Server 、Visual SourceSafe 和SNA Server等。

Visual Basic的特点:

1.可视化编程

Visual Basic 自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。

2.面向对象的程序设计

在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。

3.结构化程序设计语言

Visual Basic 是在BASIC 和Quick BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的思维发方式,其语句简单易懂;其编译器支持彩色代码,可自动进行语法错误检查,同时具有功能强且使用灵活的调试器和编译器。

4.事件驱动编程机制

Visual Basic 通过事件来执行对象的操作。一个对象可能回产生多个事件,每个事件都可以通过一段程序来响应。

5.访问数据库

Visual Basic 提供开放式数据连接(Open DataBase Connectivity ),即ODBC 功能,它可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server、Oracle 等。

1.2.2 SQL Server2000简介

Miscrosoft SQL Server 2000中文版(以后简称为SQL Server2000 或SQL Server),是基于客户端/服务器模式(Client/Server模式,简称C/S模式)的新一代大型关系型数据库管理系统(DBMS )。它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据安全性。

SQL Server2000主要的服务器组件:

(1)SQL Server数据库引擎(MSSQL Server服务) 。

(2)SQL Server代理程序(SQL Server Agent服务) 。

(3)Microsoft搜索服务。

(4)分布式事务处理协调器(MS DTC服务) 。

1.2.3 ActiveX 数据对象——ADO 简介

ADO ,即Active 数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO 设计为一种极简单的格式,通过ODBC 的方法同数据库接口相连。用户可以使用任何一种ODBC 数据源,即不仅适合于SQL Server 、Oracle 、Access 等数据库应用程序,也适合于Excel 表格、文本文件、图形文件和无格式的数据文件。ADO 是基于OLE-DB 之上的技术,因此ADO 通过其内部的属性和方法提供统一的数据访问接口方法。

Microsoft 在Visual Basic 6.0以后的版本都集成了ADO 。它与以前Visual Basic的DAO 、RDO 相比有了很大的提高。DAO (Data Access Objects )即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM 数据库,使用DAO/ ODBC Direct功能可以实现远程

RDO 功能。RDO (Remote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC 数据库系统的各个部件提供了一个框架。RDO 是ODBC API的一个浅层界面接口,是专为访问远程ODBC 关系数据源而设计的。

ADO 集中了DAO 和RDO 的优点,可以通过简单的编程实现和各种数据结构进行连接。

ADO 通过下面几步来完成对数据库的操作:

(1)创建一个到数据源的连接(Connection ),连接到数据库;或者开始一个事务(Transction )。

(2)创建一个代表SQL 命令行(包括变量、参数、可选项等)的对象。

(3)执行命令行。

(4)如果返回以表格形式组织的数据,则将它们保存在缓存中,产生相应的数据集对象(Recordset )。这样便于查找、操作数据。

(5)通过数据集对象对数据进行各种操作,包括修改、增加、删除等。

(6)更新数据源,如果使用事务,确认是否接受事务期间发生的数据变化。

(7)结束连接和事务。

使用ADO 的目的是进入数据源,使得修改、更新数据成为可能。ADO 提供一系列的类和对象来完成各种操作。

1.连接对象——Connection

一个连接(Connection )对象代表一个到指定数据源的成功连接。应用程序通过一个连接(包括实现数据交换的环境设置)访问数据源,也可以直接访问数据源(在两层数据结构的系统中比较常见),或者通过

类似Microsoft Internet Information Server的中间层间接访问数据源(这就是通常说的三层结构)。连接成功,Connection 以对象的形式存在。连接对象在ADO 对象模型中的地位如图2-1所示。

图2-1 连接对象在ADO 中的地位

使用连接对象的各种属性和方法可以完成如下操作:

● 在打开连接前需要设置ConnectionString 、ConnectionTimeout 和Mode 属性。

● 设置CursorLocation 属性,可以设置或者返回指针位置。

● 设置DefaultDatabase 属性可以为连接指定一个默认的数据库。 ● 设置IsolationLevel 属性可以确定事务(Transaction )在连接的隔离等级。

● 设置Provider 可以为连接指定一个OLE-DB 寄主。

● 使用Open 和Close 方法来建立和中断一个连接。

● 使用Execute 方法在连接上执行命令,设置CommandTimeout 属性来指定或者返回命令执行时间。

● 使用BeginTrans 、CommitTrans 和RollbackTrans 方法以及Attributes 属性来管理事务。

● 通过检查Errors 对象可以知道数据源返回的错误。

● 通过Version 属性可以知道ADO 的版本。

● 使用OpenSchema 方法可以知道数据库的计划信息。

2.命令行对象——Command

命令行对象是对数据源将要执行的一系列操作的定义。使用命令行对象来查询数据库并返回数据集对象(Recordset )形式的查询结果。命令行对象指定变量、参数以及可选项来完成对数据的操作,如添加记录、删除记录、更新记录等。命令行对象在ADO 对象模型中的地位如图2-2所示。

图2-2 命令行对象在ADO 中的地位

使用命令行对象的各种属性和方法可以完成如下操作:

● 设置CommandText 属性可以定义命令行的内容,比如SQL 语句等。 ● 使用Execute 方法执行命令行并返回一个数据集对象(Recordset )。

● 设置CommandType 属性可以优化命令的效率。

● 设置CommandTimeout 属性可以指定服务器等待命令执行的时间。

● 设置ActiveConnection 属性可以将一个命令行对象与一个打开的连接关联。

3.数据集对象——Recordset

如果命令行指定数据以表的形式组织,执行命令行后将返回相应的数据集。通过数据集可以对记录以及组成记录的列进行各种操作。数据集对象在ADO 对象模型中的地位如图2-3所示。

图2-3 数据集对象在ADO 中的地位

1.2.4 C/S 简介

C/S模式即客户机/服务器(Client/Server)体系结构是当前非常流行的计算机体系结构。在这种体系结构中,客户机提出请求,服务器对客户机的请求作出回应。

在客户机/服务器体系结构中,客户机负责管理用户界面、接收用户数据、处理应用逻辑、生成数据库服务请求,然后将这些请求发送给服务器,并且接收服务器返回的结果,最后再将这些结果按照一定的格式返回给用户。服务器接收客户机的请求,处理这些请求,并把处理结果返回给客户机,这些处理结果包括访问数据库的结果数据和执行状态例如成功或失败。

在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号不准重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。

第2章 需求分析

2.1 需求概述

重庆一中是一所省级重点中学,有高中和初中两部。2000年,重庆地区所有重点中学实行联考招生以来,每学期报考重庆一中的学生不断增加。有不少是外县来求学的,他们对重庆一中的环境还不熟悉,因此,每学期开学班主任都要不断给学生和学生家长介绍学校等。并且学校还招收高考直通班。当前,重庆一中的班级管理主要是人工管理。每学期开学是学校最繁忙的时候,学校都要组织大量的教师投入到学生的报名工作中,在此期间也是班主任最忙的时候,班主任要填写很多的表。开学过后,有些报表整理后就没有用了。这样每学期,都要浪费很多的人力和物力。班级管理系统可以为学校节约人力和物力资源。同时也减少了班主任管理班级的负担,学校领导也可以第一时间了解到学校教室的使用情况。

2.1.1 应用系统概述

管理计算机产生的信息在很多方面不同于处理人工产生的数据,通常有更大量的计算机信息需要管理。组织和维护信息的成本可能以惊人的速度增加,而且与通过其他途径获得的信息相比,用户往往更信任它。 学校班级管理系统可以为学校节约大量的人力和物力资源。同时,能够第一时间提供给学校领导有关学校班级情况、学校教室利用情况及各班班主任等信息。班主任可以更方便地管理自己所带的班级、查询学生的基本信息等。

重庆一中班级管理信息系统包括用户管理子系统、学生信息管理子系统、班级信息管理子系统、年级信息管理子系统、教师信息管理子系

统、教室信息管理子系统、查询打印子系统、帮助子系统、数据备份9大子系统,班级信息管理子系统,主要对班级信息的编码、学生信息和相关信息进行管理,不同的用户只能根据自己的权限访问数据和进行操作。CNo 编码模块主要对CNo 进行管理,可实现班级的增、删、改、查操作,方便、快速的对班级进行管理,为后续工作打下良好的基础。

为了方便管理班级信息的需求,根据不同的条件如:CNo 、CName 、GNo 、RNo 等基本信息,对班级信息统计查询,并且有不同方式的查询如模糊查询,精确查询等。

在数据管理中,安全性问题是重中之重,除了对重要数据进行加密处理外,系统要求有登录界面,用户根据自己的权限访问数据。根据其级别不同则权限不同,另设一超级管理员,为最高权限用户,对所有用户予以授权,并且可以注册、删除用户以及更改用户密码等。为了记录用户对系统的操作情况同时也为一旦系统出现异常便于调查,将用户登录上次时间、此次登录时间记录并显示。系统中对于操作人员没有过多的限制,要求掌握一定的计算机操作水平,工作尽心尽力,要求管理员对系统定期进行维护工作,为使本系统能发挥应有的作用。

2.1.2 开发背景

开发重庆一中班级管理信息系统的任务是:推进学校管理现代化进程,提高经营决策的科学性、经营管理水平、服务质量、工作效率、学校的竞争能力和经济效益,为实现学校的发展目标服务。

主要功能有:班级信息管理、学生信息管理、年级信息管理、教师信息管理、教室信息管理、查询打印、用户管理、数据备份。

在本系统中,主要负责班级信息管理、学生信息管理、教室信息管理等。

根据设计说明书要求,本管理系统应用Microsoft SQL Server 2000 作为后台数据库管理工具、Visual Basic 6.0作为前台开发工具,并应用Photoshop 等作为美化界面工具。

2.2 系统概述

2.2.1 系统组成

2.2.2 系统各子模块功能简述

用户管理:使用本系统的用户对象为该校教职工,设计中要求对本系统的设备进行专人管理,不同的用户只能根据自己的权限访问系统。

学生信息管理:要求对学生信息管理,并可进行任意添加、删除、修改操作。SNo 具有唯一性,不能有两个学生有同一个编码。

班级信息管理:要求对班级信息管理,并可进行任意添加、删除、修改操作,同一年级不能有两个CNo 为同一个编码。

年级信息管理:要求对年级信息管理,并可进行任意添加、删除、

图2-1 系统功能模块图

修改操作,同一学校不能有两个GName 为同一个名字。

教师信息管理:要求对教师信息管理,并可进行任意添加、删除、修改操作,同一学校不能有两个TNo 有同一个编码。

教室信息管理:要求对教室信息管理,并可进行任意添加、删除、修改操作,同一学校不能有两个RNo 有同一个编码。

查询打印:要求对学生信息可以任意查询并且打印。

数据备份:实行差异备份。

帮助系统:提供系统开发者的E-mail 等。可以向软件开发者寻求帮助。

2.3 数据库需求分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

2.3.1 数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

数据流图是结构化系统分析的主要工具,它能图形化的显示出系统中数据的使用,表达数据在系统内部的逻辑流向以及系统的逻辑功能和数据的逻辑变换。根据对系统的分析和所收集的资料,得出了班级管理系统流程图。

图2-2 系统流程图

数据流图描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,他还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。这就要引入数据字典这个概念。

数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。

针对一般学校管理信息系统的需求,通过对班级管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:

● Class ,包括的数据项有:CNo 、CName 、GNo 、RNo 、TNo 、CActivity 、CNumber 、CMemo 。

● Grade ,包括的数据项有:GNo 、GName 、TNo 、GMemo 。

● Room ,包括的数据项有:RNo 、RAddress 、RNumber 、RCapacity 、

RAppearance 。

● Student ,包括的数据项有:SNo 、SName 、SSex 、SRace 、SBirth 、SAddress 、SParent 、STelphone 、SPart 、SPsc 、SPhoto 。

● Teacher ,包括的数据项有:TNo 、TName 、TSex 、TRace 、TTelephone 、TCollege 、TEdubg 、TProfession 、TGraduate 、TTitle 、TTime 、TPart 、TJob 、TBirth 、TPhone 。

● Us ,包括的数据项有:TNo 、UPassword 、UTime 、UAppearance 、Ulegal 。 ● SPerformance, 包括的数据项有:SNo 、SComment 、SSemester 、SPpc 。 ● CStudent, 包括的数据项有:SNo 、CNo 。

有了上面的数据结构、数据项和数据流程,我们就能进行数据库设计。

2.4 任务概述

2.4.1 目标

该系统应遵循学校管理的方法,利用计算机技术,网络技术,数据库技术,数据通讯技术。全面收集和处理数据,提供各类信息,并利用现代化管理方法,建立具有多种辅助决策功能的模块,为重庆一中的经营管理提供决策支持,从而提高学校现代管理水平,达到提高学校整体素质目的。拟建系统实现以下具体要求:

1. 信息资源共享

2. 提高信息处理速度

3. 减轻管理人员的劳动强度、提高管理水平

4. 集中处理,提高管理效率 ,提高辅助决策能力

第3章 概要设计

3.1 数据库设计

设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤: ⑴ 数据库需求分析。

⑵ 数据库概念结构设计。

⑶ 数据库逻辑结构设计

在需求分析中我们已经得出了班级管理系统的系统流程图、数据项及数据结构。接下来就开始数据库结构设计。

3.1.1 数据库概念结构设计

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。 本系统根据上面的设计规划出的实体有:Class 实体、Grade 实体、Room 实体、Student 实体、Teacher 实体、Us 实体。各个实体具体的描述E-R 图如下。

Class 实体E-R 图如图3-1所示。

图3-1 Class实体E-R 图

Grade 实体E-R 图如图3-2所示。

图3-2 Grade 实体E-R 图

Room 实体E-R 图如图3-3所示。

图3-3 Room实体E-R 图

Student 实体E-R 图如图3-4所示。

图3-4 Student实体E-R 图

Teacher 实体E-R 图如图3-5所示。

图3-5 Teacher实体E-R 图

Us 实体E-R 图如图3-6所示。

图3-6 Us实体E-R 图

SPerformance 实体E-R 图如图3-7所示。

图3-7 SPerformance实体E-R 图

总体实体之间关系的E-如图3-8R 图所示。

图3-8 实体之间关系的E-R 图

3.1.2 数据库逻辑结构设计

现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

重庆一中班级管理信息系统数据库中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表。

Class 表是对班级基本信息的管理,存储的是班级的基本信息。CNo 编码由8位数字组成,备注用来记录班主任的变更情况。

Grade 表是对年级基本信息的管理,存储的是年级的基本信息。GNo 编码由5位数字组成,备注用来记录年级主任的变更情况。

Room 表是对教室基本信息的管理,存储的是教室的基本信息。RNo 编码由3位数字组成,Rappearance 用来表示该教室是否已经被安排了,

如果安排了就表示已占用。

CStudent 表是对班级—学生信息的管理,存储的是班级与学生存在的关系信息。

Student 表是对学生基本信息的管理,存储的是学生的基本信息。SNo 编码由12位组成,SPsc 是记录的是学生的家乡的邮政编码。为的是每学期给学生寄通知书时使用。

Teacher 表是对员工个人基本信息的管理,存储的是员工的个人息。

SPerformance 表记录学生的学期表现信息,该信息由班主任填写。

Us 表是对系统用户登录的管理和保存用户登录信息,用户TNo 编码最长为4位(即:工号) ,非空。如果用户在3次未登陆本系统未成功,系统将自动关闭,并且修改用户的状态。

3.2 数据库结构的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。这是利用SQL Server 2000数据库系统中的SQL 查询分析器实现的。下面给出创建这些表格的SQL 语句。

3.2.1 创建Class 表

CREATE TABLE [dbo].[Class] ( GO

[CNo] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL , [CName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [GNo] [varchar] (5) COLLATE Chinese_PRC_CI_AS NULL , [RNo] [varchar] (3) COLLATE Chinese_PRC_CI_AS NULL , [TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NULL , [CActivity] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL , [CNumber] [tinyint] NOT NULL ,

[CMemo] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.2.2 创建CStudent 表

CREATE TABLE [dbo].[CStudent] ( GO

[SNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL , [CNo] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.2.3 创建Grade 表

CREATE TABLE [dbo].[Grade] ( GO

[GNo] [varchar] (5) COLLATE Chinese_PRC_CI_AS NOT NULL , [GName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL , [GMemo] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.2.4 创建Room 表

CREATE TABLE [dbo].[Room] ( GO

[RNo] [varchar] (3) COLLATE Chinese_PRC_CI_AS NOT NULL , [RAddress] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT [RNumber] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT [RCapacity] [tinyint] NOT NULL , [RAppearance] [bit] NOT NULL

NULL , NULL ,

) ON [PRIMARY]

3.2.5 创建Student 表

CREATE TABLE [dbo].[Student] (

[SNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL , [SName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [SSex] [bit] NOT NULL ,

[SRace] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [SBirth] [smalldatetime] NULL ,

[SPart] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [SParent] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [SAddress] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [STelephone] [varchar] (13) COLLATE Chinese_PRC_CI_AS NULL , [SPsc] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL , [SPhoto] [varchar] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO

3.2.6 创建SPerformance 表

CREATE TABLE [dbo].[SPerformance] (

[SNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT [SComment] [varchar] (200) COLLATE Chinese_PRC_CI_AS [SSemester] [tinyint] NOT NULL ,

[SPpc] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO NULL , NULL ,

3.2.7 创建Teacher 表

CREATE TABLE [dbo].[Teacher] ( GO

[TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL , [TName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TSex] [bit] NULL ,

[TRace] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [TBirth] [smalldatetime] NULL ,

[TPart] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [TTelephone] [varchar] (13) COLLATE Chinese_PRC_CI_AS NULL , [TCollege] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TEdubg] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [TProfession] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TGraduate] [smalldatetime] NULL ,

[TTitle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TTime] [smalldatetime] NULL , [TJob] [tinyint] NULL , [TPhoto] [varchar] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

3.2.8 创建Us

CREATE TABLE [dbo].[Us] (

[TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL , [UPassword] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT [UTime] [datetime] NULL , [UAppearance] [bit] NOT NULL ,

[Ulegal] [varchar] (1) COLLATE Chinese_PRC_CI_AS NOT NULL

NULL ,

) ON [PRIMARY] GO

第4章 详细设计

4.1 登录界面设计

界面设计:

界面图案:主要为美化用户界面,界面注明使用该应用系统的对象

名称、开发工具和开发该的人员等,使系统登录界面更加友好,更加人性化。

图4-1 系统闪屏界面

关键代码如下:

Private Sub Form_Load()

On Error GoTo 10

If App.PrevInstance Then '检视前一版本

MsgBox "软件“重庆一中班级管理系统”已经打开!", 48, ""

Unload Me

End

End If

If sound1 = False Then

PlaySoundFile (App.Path + "\Sound\LOAD.wav")

sound1 = True

End If

Exit Sub

10 Unload Me

End Sub

Private Sub Timer1_Timer()

Main.Show

Timer1.Enabled = False

End Sub

Private Sub Timer2_Timer()

淡入淡出1.SU Me.hWnd, 35, 255, 6

Timer2.Enabled = False

End Sub

图4-2 系统登录界面

用户登录系统窗口的是用户和管理员进入系统的唯一通道,合法的

用户能够通过登录窗口进入系统。用户登录窗口是进入应用系统的喉舌,

在安全保密、系统维护中占有重要的地位,所以登录系统的规划在整个

应用系统中占据不小的比例,是系统能否安全、稳定、正常运行的关键。

登录系统就是要验证当前的用户名是否与该用户密码一致,以保证所有

用户的合法权益不受侵害。用户密码是在单行编辑框中输入,全部为掩

码显示,避免因为明文而造成密码失窃,给用户造成不必要的麻烦。当

用户登录3次以上时,系统就会自动退出,认为有非法用户企图在猜密

码,则拒绝进入应用系统,给出相应提示并自动关闭应用系统。

界面图案:主要为美化用户界面,界面注明使用该应用系统的对象

名称,使系统登录界面更加友好,更加人性化。

4.2 主界面设计

图4-3 主界面设计和班级界面设计

界面图案:主要为美化用户界面,界面注明使用该应用系统的重要

功能,并且在用户使用系统时有相应的提示,刚登陆系统时系统默认打开班级管理界面。使系统界面更加友好,更加人性化。

关键编码设计:

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias

"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Const WEB = "mailto:[email protected]"

Private Declare Function ShellAbout Lib "shell32.dll" Alias

"ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal

szOtherStuff As String, ByVal hIcon As Long) As Long

Private Sub Form_Load()

Dim strInfo As String

strInfo = " 重庆一中班级管理系统用户须知 " & vbCrLf

strInfo = strInfo & " 重庆一中班级管理系统 V2.0 主要面向全校

的班级管理,教室管理,学生的评语管理等。"

strInfo = strInfo & "旨在实现学校班级管理信息化。" & vbCrLf

strInfo = strInfo & " 本系统采用分级管理,将人员分为班主任、

任课教师、系统管理员,用户拥有不"

strInfo = strInfo & "同的权限,各司其职,以便提高工作效率。系统

功能包括:学生管理、班级管理、教"

strInfo = strInfo & " 师管理、教室管理、报表查询打印等。 " & vbCrLf

strInfo = strInfo & vbCrLf & "用户权限:" & vbCrLf & vbCrLf

strInfo = strInfo & "(一)班主任权限:班级的管理。" & vbCrLf

strInfo = strInfo & "(二)教师权限:信息的查询." & vbCrLf

strInfo = strInfo & "(三)系统管理员权限:包含系统管理、数据库

的维护管理等。"

Label6.Caption = strInfo

End Sub

Private Sub Label6_Click()

Dim sss

sss = SetWindowPos(Help.hwnd, -2, 0, 0, 0, 0, 3)

Call ShellAbout(hwnd, " 鹏程系列软件", "联系我们E-" + WEB, Me.Icon)

sss = SetWindowPos(Help.hwnd, -2, 0, 0, 0, 0, 3)

End Sub

Private Sub Label1_Click()

Dim HyperJump

HyperJump = ShellExecute(0&, vbNullString, WEB,

vbNullString, vbNormalFocus)

Help.Hide

End Sub

vbNullString,

第5章 模块测试

软件工程的根本目标是开发出高质量的完全符合用户需要的软件。因此,通过测试发现错误之后还必须诊断并改正错误,这才是测试的目的。

软件测试的目标为:

(1) 测试是为了发现程序中的错误而执行程序的过程。

(2) 好的测试方案是极可能发现迄今为止尚未发现的错误。

(3) 成功的测试是发现了至今为止尚未发现的错误的测试。 测试方法:

白盒法 其测试的前提是把测试的对象看作一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息设计或选择测试用例,对程序所有逻辑路径进行测试。

黑盒法 其测试前提是把测试的对象看作一个黑盒子,测试人员完全不考虑程序的内部结构和特性。只依据程序的需求分析规格说明,检查程序的功能是否符合它的功能说明。

软件测试按4个步骤进行,即单元测试、集成测试、确认测试、系统测试。软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它作必要的测试,模块的编写者和测试者是同一个人,编码和模块测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。

由于程序的编写由我一个人独立完成,程序的流程已经非常清楚。因此,我在系统的测试中主要采用的测试方法是“白盒测试”,在编写过

程中也出现过很多错误,甚至根本无法运行下去,常采用在程序中的设置断点,逐步缩小范围并最终找到问题的解。在测试的过程中,我尽量站在用户的角度考虑问题,假如我是用户如何才能更方便,假如我在某一时刻进行某种操作会产生什么结果,大量进行假设。并请同学帮忙作为用户试使用系统并提出建议意见。在所有模块功能完成后,先测试了一个模块的功能,能够实现后,再对其它模块进行编写、测试,在这个过程中,往往又会返回到刚才的模块,再次改进。如此反复当所有模块测试完成后,便对子系统分别测试,输入大量数据并尽可能多的假设“非正常情况”以测试系统的健壮性。待这些测试都通过后就对整个系统进行测试。我所采用的测试方式属于集成测试中的渐增式测试,这种方法实际上同时完成单元测试和集成测试,其优点有:

1. 利用已测试过的模块作为测试软件,开销小。

2. 模块间的接口错误可以较早发现。

3. 在测试时,如发现错误往往和最近加进来的那个模块有关。

4. 已测试的模块可以在新的条件下再次检验,使测试更彻底。

结束语

本系统在设计之初,我对Windows API 和 ActiveX 控件有一定的了解,在老师和同学的帮助下,根据所学的关于软件工程的知识,从最初的数据库设计到最后系统前台界面的设计及代码的实现经历了大约一个月的时间,在这一个月中,我们按照软件工程的生命周期方法学来完成设计,即系统的需求分析、总体设计、程序设计、系统调试等开发步骤,分阶段地完成各设计任务。在设计之初,我们首先对所使用的工具Visual Basic 6.0和SQL Server 2000进行了全面的复习。接着,我们根据自己的设计任务书的要求,对自己需要完成的部分进行了系统的规划,根据需求分析的要求,对数据库即数据库中的表进行设计规化,采用了C/S模式设计,并使用Visual Basic 6.0作为系统前台界面的设计工具,对系统进行了详细设计、编码和测试工作整个过程是本设计的核心部分,大概用3周时间来完成。在设计基本完成之后,又用了大概1周的时间改进系统的性能和技术文档的编写整理,最后完成毕业设计。整个设计过程是不断学习的过程,我体会到:

1.软件开发是一个不断学习新鲜事物的过程,从设计初的不懂到最后能够顺利完成,我体会到在实践中学习的重要性,这对于将来我走上工作岗位具有重要意义。

2.由于前期工作的不彻底,对系统的需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。

3.设计过程中,经常会遇到困难,我学会通过别人的代码理解语言的含义但这并不是抄袭,然后根据自己的设计要求编写代码。设计中得

到了指导教师的细心指导。

设计过程中,由于要实现某些功能,互联网帮了我的大忙。网络资源是一个丰富的共享体系,我通过在程序员大本营论坛上提出问题得到了很多热心网友的帮助,这坚定了我通过网络吸收知识的信心。

在完成本设计的过程中,我既感受到了面对自己无法解决的问题时的苦恼,也体会到问题最终得以解决时的快乐。同时,也总结了以下一些经验:

1. 一个详细周密的计划对于完成一项任务的重要性。实际上,我对这次作业着手较早。但由于刚开始时间较松,在学习时就想到哪学到哪,没有认真计划。到后来发现同学们的进度都已经赶上甚至超过我,这才又着急起来,赶紧找经验丰富的同学出主意,制定出详细的计划,这才按时完成了任务。

2. 学习一门程序语言,实践是最好的方法。我对Visual Basic 6.0和SQL Server 的学习实际上分为两个阶段。前一阶段为学习语言而学习语言。在这一阶段中,我总有隔雾观花的感觉,学得似是而非。后一阶段边实践边学习,很多前一阶段不甚了了的问题得到迎刃而解。

3. 要学会运用互联网工具。互联网是一个具有大量资源的信息宝库,在这次毕业设计中如果没有互联网也许我多花一倍的时间也完不成任务。所以一定要会并善于运用互联网工具。

经过一个月的设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。通过此次毕业设计,我不但对Windows API 、ActiveX 控件、VB 6.0和SQL Server有了更深刻的认识,积累了使用软件工程的思想来开发软件

的经验,同时最重要的是摸索出了一套分析问题和解决问题的方法,这对于我将来走上工作岗位受益匪浅。

完成这次设计后回过头来看,我的这项作业完成得并不完美。还有很多需要提高和改进的地方。

首先,是系统的功能还太单一,有一些实际工作中需要用到的功能在分析时没有考虑进去,也没能实现。比如学生成绩管理功能。

其次,是设计过程中时间分配不合理,后期紧张的时间给我的工作带来很大的被动。

再次,就是知识积累还不够,有很多知识都是临到用了才去补,这样学到的知识毕竟不牢,而且用起来也不灵活。

由于时间和能力等原因,本论文难免存在疏、漏、谬、误等,敬请各位专家、指导教师和同学们予以批评指正,谢谢!

致 谢

通过这次毕业设计,我基本上掌握了开发一个班级管理系统的基本思路和实施步骤。在完成毕业设计的过程中,我得到了许多老师和同学的帮助,尤其我的指导老师胡传斌和我以前的上课老师郑伦川、马兹书等的细心指导以及在我的设计过程中多次予以指导并提出宝贵意见,使我的设计在有条不紊的进行,令我受益匪浅。同时也向那些为我无私解难的朋友们,特在此向以上人员表示最衷心的感谢!

另外,互联网上一些朋友也给我完成设计提出了很多宝贵的意见和无私的帮助。这对于我以后的学习和工作都有很大的帮助,在此对他们表示由衷的感谢。

在校期间,得到网络教育学院各级领导和辅导老师的亲切关怀和无私的培养,使作者在学习的过程学到了许多做人的道理。在此向他们道声:您们辛苦了!

参考文献

[1] 郑阿奇.SQL server 实用教程. 北京:电子工业出版社,2002

[2] 周中华. 数据库原理与应用. 北京:清华大学出版社,2003

[3] 段兴.Visual Basic 6.0 数据库程序设计. 北京:人民邮电出版社,2002

[4] 刘炳文. Visual Basic程序设计教程. (第二版). 北京:清华大学出版社,2003

[5] 陶宏才. 数据库原理及设计. 北京:清华大学出版社,2002

[6] 范立南. SQL Server 2000实用教程. 北京:清华大学出版社,2003

[7] 唐大任. Visual Basic程序设计. 北京:清华大学出版社,2002

[8] 王兴晶.Visual Basic.NET数据库开发典型实例. 北京:电子工业出版社,2003

中国石油大学(华东) 现代远程教育

毕业设计(论文)

题 目:重庆一中学生班级管理系统

学习中心: 重庆信息工程专修学院奥鹏学习中心 年级专业: 0509 计算机科学与技术 学生姓名: 刘 福 山 学 号: 0541680758 指导教师: 胡 传 斌 职 称: 讲 师 导师单位: 重庆信息工程专修学院

中国石油大学(华东) 远程与继续教育学院

论文完成时间: 年 月 日

目 录

目 录 . .................................................... ⅰ

第1章 前 言 . .............................................. 1

1.1 简介 ............................................... 1

1.2 开发工具的选择 ..................................... 4

1.2.1 Visual Basic简介 . ............................. 4

1.2.2 SQL Server2000简介 . ........................... 6

1.2.3 ActiveX 数据对象——ADO 简介 . .................. 6

1.2.4 C/S 简介 ..................................... 10

第2章 需求分析 . .......................................... 11

2.1 需求概述 .......................................... 11

2.1.1 应用系统概述 ................................. 11

2.1.2 开发背景 ..................................... 12

2.2 系统概述 .......................................... 13

2.2.1 系统组成 ..................................... 13

2.2.2 系统各子模块功能简述 ......................... 13

2.3 数据库需求分析 .................................... 14

2.3.1 数据库需求分析 ............................... 14

2.4 任务概述 .......................................... 16

2.4.1 目标 ......................................... 16

第3章 概要设计 . .......................................... 17

3.1 数据库设计 ........................................ 17

3.1.1 数据库概念结构设计 ........................... 17

3.1.2 数据库逻辑结构设计 ........................... 20

3.2 数据库结构的实现 .................................. 23

3.2.1 创建Class 表 ................................. 23

3.2.2 创建CStudent 表 .............................. 24

3.2.3 创建Grade 表 ................................. 24

3.2.4 创建Room 表 .................................. 24

3.2.5 创建Student 表 ............................... 25

3.2.6 创建SPerformance 表 .......................... 25

3.2.7 创建Teacher 表 ............................... 26

3.2.8 创建Us . ...................................... 26

第4章 详细设计 . .......................................... 28

4.1 登录界面设计 ...................................... 28

4.2 主界面设计 ........................................ 31

第5章 模块测试 . .......................................... 34

结束语 . .................................................... 36

致 谢 . .................................................... 39

参考文献 . .................................................. 40

第1章 前 言

随着社会的进步和发展,信息系统在生产生活中的作用日益明显,信息产业在学校生产规模中的比重日趋增大,已经成为衡量学校现代化水平的重要指标之一。因此,如何能对学校整体的概况进行宏观调控,使学校的人、财、物等资源配置更加合理,使之发挥最大的效益,使办公及生产趋于自动化,是一个学校始终不渝追求的目标。

管理计算机产生的信息在很多方面不同于处理人工产生的数据,通常有更大量的计算机信息需要管理。组织和维护信息的成本可能以惊人的速度增加,而且与通过其他途径获得的信息相比,用户往往更信任它。 学校班级管理系统可以为学校节约大量的人力和物力资源。同时,能够第一时间提供给学校领导有关学校班级情况、学校教室利用情况及各班班主任等信息。班主任可以更方便地管理自己所带的班级、查询学生的基本信息等。

1.1 简介

管理信息系统(Management Information Systems 简称MIS ),是一个由人、计算机等组成的能进行信息的收集、传送、储存、维护和使用的系统。经过30多年的发展,已经成为一个具有自身概念、理论、结构、体系和开发方法的覆盖多学科的新学科。

MIS 的对象就是信息,信息是经过加工的数据。信息的主要特征是来源分散,数量庞大。信息具有时间性。信息的加工方式有多种形式。 管理信息系统辅助完成学校日常结构化的信息处理任务,一般认为MIS 的主要任务有如下几方面:

1、 对基础数据进行严格的管理,要求计量工具标准化、程序和方

法的正确使用,使信息流通渠道顺畅。同时,必须保证信息的准确性、一致性。

2、确定信息处理过程的标准化,统一数据和报表的标准格式,以便建立一个集中统一的数据库。

3、高效低能地完成日常事务处理业务,优化分配各种资源,包括人力、物力、财力等。

管理信息系统开发方法主要有:结构化生命周期开发方法、原型法、面向对象的开发方法等。

1.结构化生命周期开发方法

目前较为流行的MIS 开发方法是结构化生命周期开发方法,其基本思想是:用系统的思想和系统工程的方法,按用户至上的原则,结构化、模块化地自上而下对生命周期进行分析与设计。

用结构化生命周期开发方法开发一个系统,将整个开发过程划分为5个依次连接的阶段:

系统规划阶段:主要任务是明确系统开发的请求,并进行初步的调查,通过可行性研究确定下一阶段的实施。系统规划方法有战略目标集转化法(SST ,Strategy Set Transformation )、关键成功因素法(CSF ,Critical Success Factors)和企业规划法(BSP ,Business System Planning )。

系统分析阶段:主要任务是对组织结构与功能进行分析,理清企业业务流程和数据流程的处理,并且将企业业务流程与数据流程抽象化,通过对功能数据的分析,提出新系统的逻辑方案。

系统设计阶段:主要任务是确定系统的总体设计方案、划分子系统功能、确定共享数据的组织,然后进行详细设计,如处理模块的设计、数据库系统的设计、输入输出界面的设计和编码的设计等。

系统实施阶段:主要任务是讨论确定设计方案、对系统模块进行调试、进行系统运行所需数据的准备、对相关人员进行培训等。

系统运行阶段:主要任务是进行系统的日常运行管理,评价系统的运行效率,对运行费用和效果进行监理审计,如出现问题则对系统进行修改、调整。

这五个阶段共同构成了系统开发的生命周期。结构化生命周期开发方法严格区分了开发阶段,非常重视文档工作,对于开发过程中出现的问题可以得到及时的纠正,避免了出现混乱状态。但是,该方法不可避免地出现开发周期过长、系统预算超支的情况,而且在开发过程中用户的需求一旦发生变化,系统将很难作出调整。

2.原型法

原型法在系统开发过程中也得到不少应用。原型法的基本思想是系统开发人员凭借自己对用户需求的理解,通过强有力的软件环境支持,构造出一个实在的系统原型,然后与用户协商,反复修改原型直至用户满意。 原型法的应用使人们对需求有了渐进的认识,从而使系统开发更有针对性。另外,原型法的应用充分利用了最新的软件工具,使系统开发效率大为提高。

3.面向对象系统开发方法

面向对象(OO ,Object Oriented )的系统开发方法,是近年来受到关注的一种系统开发方法。面向对象的系统开发方法的基本思想是将客观世界抽象地看成是若干相互联系的对象,然后根据对象和方法的特性研制出一套软件工具,使之能够映射为计算机软件系统结构模型和进程,从而实现信息系统的开发。

1.2 开发工具的选择

1.2.1 Visual Basic简介

“Visual ”的意思是“可视的”,指的是开发图形用户界面(GUI )的方法。读者不需要编写大量代码去描述界面的外观和位置,而只要把预先建立的对象放到屏幕上即可。“可视的Basic ”这个名字初听起来可能抽象了点,但实际上它却是最形象的叫法,用户只要看到Visual Basic 的界面就会明白,实际上无需编程,就可以完成许多编程步骤。

另外,在Visual Basic 中引入了控件的概念,在Windows 中控件的身影无处不在,各种各样的按钮、文本框等都是控件。Visual Basic 把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观以及工作方法(Method )

为了满足不同的开发人员的需要,Visual Basic 提供了3个版本供用户选择。

1. 学习版

学习版提供的功能最少,尽管如此,它所包含的内部控件以及网格、选择卡和数据绑定控件也足以开发出绝大部分Windows 9X 和Windows NT 的应用程序了。

2. 专业版

专业版提供了一套完整的开发工具,包括学习版的全部功能以及ActiveX 控件、Internet Information Server Application Designer、集成的 Visual Database Tools 和Data Environment、Active Data Object 及Dynamic HTML Page Designer。

3. 企业版

专业编程人员可以用企业版来开发功能强大的组内分布式应用程

序。除了具有专业版的全部功能以外,企业版还包括Back Office 工具,例如SQL Server 、Microsoft Transaction Server 、Internet Information Server 、Visual SourceSafe 和SNA Server等。

Visual Basic的特点:

1.可视化编程

Visual Basic 自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。

2.面向对象的程序设计

在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。

3.结构化程序设计语言

Visual Basic 是在BASIC 和Quick BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的思维发方式,其语句简单易懂;其编译器支持彩色代码,可自动进行语法错误检查,同时具有功能强且使用灵活的调试器和编译器。

4.事件驱动编程机制

Visual Basic 通过事件来执行对象的操作。一个对象可能回产生多个事件,每个事件都可以通过一段程序来响应。

5.访问数据库

Visual Basic 提供开放式数据连接(Open DataBase Connectivity ),即ODBC 功能,它可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server、Oracle 等。

1.2.2 SQL Server2000简介

Miscrosoft SQL Server 2000中文版(以后简称为SQL Server2000 或SQL Server),是基于客户端/服务器模式(Client/Server模式,简称C/S模式)的新一代大型关系型数据库管理系统(DBMS )。它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据安全性。

SQL Server2000主要的服务器组件:

(1)SQL Server数据库引擎(MSSQL Server服务) 。

(2)SQL Server代理程序(SQL Server Agent服务) 。

(3)Microsoft搜索服务。

(4)分布式事务处理协调器(MS DTC服务) 。

1.2.3 ActiveX 数据对象——ADO 简介

ADO ,即Active 数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO 设计为一种极简单的格式,通过ODBC 的方法同数据库接口相连。用户可以使用任何一种ODBC 数据源,即不仅适合于SQL Server 、Oracle 、Access 等数据库应用程序,也适合于Excel 表格、文本文件、图形文件和无格式的数据文件。ADO 是基于OLE-DB 之上的技术,因此ADO 通过其内部的属性和方法提供统一的数据访问接口方法。

Microsoft 在Visual Basic 6.0以后的版本都集成了ADO 。它与以前Visual Basic的DAO 、RDO 相比有了很大的提高。DAO (Data Access Objects )即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM 数据库,使用DAO/ ODBC Direct功能可以实现远程

RDO 功能。RDO (Remote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC 数据库系统的各个部件提供了一个框架。RDO 是ODBC API的一个浅层界面接口,是专为访问远程ODBC 关系数据源而设计的。

ADO 集中了DAO 和RDO 的优点,可以通过简单的编程实现和各种数据结构进行连接。

ADO 通过下面几步来完成对数据库的操作:

(1)创建一个到数据源的连接(Connection ),连接到数据库;或者开始一个事务(Transction )。

(2)创建一个代表SQL 命令行(包括变量、参数、可选项等)的对象。

(3)执行命令行。

(4)如果返回以表格形式组织的数据,则将它们保存在缓存中,产生相应的数据集对象(Recordset )。这样便于查找、操作数据。

(5)通过数据集对象对数据进行各种操作,包括修改、增加、删除等。

(6)更新数据源,如果使用事务,确认是否接受事务期间发生的数据变化。

(7)结束连接和事务。

使用ADO 的目的是进入数据源,使得修改、更新数据成为可能。ADO 提供一系列的类和对象来完成各种操作。

1.连接对象——Connection

一个连接(Connection )对象代表一个到指定数据源的成功连接。应用程序通过一个连接(包括实现数据交换的环境设置)访问数据源,也可以直接访问数据源(在两层数据结构的系统中比较常见),或者通过

类似Microsoft Internet Information Server的中间层间接访问数据源(这就是通常说的三层结构)。连接成功,Connection 以对象的形式存在。连接对象在ADO 对象模型中的地位如图2-1所示。

图2-1 连接对象在ADO 中的地位

使用连接对象的各种属性和方法可以完成如下操作:

● 在打开连接前需要设置ConnectionString 、ConnectionTimeout 和Mode 属性。

● 设置CursorLocation 属性,可以设置或者返回指针位置。

● 设置DefaultDatabase 属性可以为连接指定一个默认的数据库。 ● 设置IsolationLevel 属性可以确定事务(Transaction )在连接的隔离等级。

● 设置Provider 可以为连接指定一个OLE-DB 寄主。

● 使用Open 和Close 方法来建立和中断一个连接。

● 使用Execute 方法在连接上执行命令,设置CommandTimeout 属性来指定或者返回命令执行时间。

● 使用BeginTrans 、CommitTrans 和RollbackTrans 方法以及Attributes 属性来管理事务。

● 通过检查Errors 对象可以知道数据源返回的错误。

● 通过Version 属性可以知道ADO 的版本。

● 使用OpenSchema 方法可以知道数据库的计划信息。

2.命令行对象——Command

命令行对象是对数据源将要执行的一系列操作的定义。使用命令行对象来查询数据库并返回数据集对象(Recordset )形式的查询结果。命令行对象指定变量、参数以及可选项来完成对数据的操作,如添加记录、删除记录、更新记录等。命令行对象在ADO 对象模型中的地位如图2-2所示。

图2-2 命令行对象在ADO 中的地位

使用命令行对象的各种属性和方法可以完成如下操作:

● 设置CommandText 属性可以定义命令行的内容,比如SQL 语句等。 ● 使用Execute 方法执行命令行并返回一个数据集对象(Recordset )。

● 设置CommandType 属性可以优化命令的效率。

● 设置CommandTimeout 属性可以指定服务器等待命令执行的时间。

● 设置ActiveConnection 属性可以将一个命令行对象与一个打开的连接关联。

3.数据集对象——Recordset

如果命令行指定数据以表的形式组织,执行命令行后将返回相应的数据集。通过数据集可以对记录以及组成记录的列进行各种操作。数据集对象在ADO 对象模型中的地位如图2-3所示。

图2-3 数据集对象在ADO 中的地位

1.2.4 C/S 简介

C/S模式即客户机/服务器(Client/Server)体系结构是当前非常流行的计算机体系结构。在这种体系结构中,客户机提出请求,服务器对客户机的请求作出回应。

在客户机/服务器体系结构中,客户机负责管理用户界面、接收用户数据、处理应用逻辑、生成数据库服务请求,然后将这些请求发送给服务器,并且接收服务器返回的结果,最后再将这些结果按照一定的格式返回给用户。服务器接收客户机的请求,处理这些请求,并把处理结果返回给客户机,这些处理结果包括访问数据库的结果数据和执行状态例如成功或失败。

在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号不准重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。

第2章 需求分析

2.1 需求概述

重庆一中是一所省级重点中学,有高中和初中两部。2000年,重庆地区所有重点中学实行联考招生以来,每学期报考重庆一中的学生不断增加。有不少是外县来求学的,他们对重庆一中的环境还不熟悉,因此,每学期开学班主任都要不断给学生和学生家长介绍学校等。并且学校还招收高考直通班。当前,重庆一中的班级管理主要是人工管理。每学期开学是学校最繁忙的时候,学校都要组织大量的教师投入到学生的报名工作中,在此期间也是班主任最忙的时候,班主任要填写很多的表。开学过后,有些报表整理后就没有用了。这样每学期,都要浪费很多的人力和物力。班级管理系统可以为学校节约人力和物力资源。同时也减少了班主任管理班级的负担,学校领导也可以第一时间了解到学校教室的使用情况。

2.1.1 应用系统概述

管理计算机产生的信息在很多方面不同于处理人工产生的数据,通常有更大量的计算机信息需要管理。组织和维护信息的成本可能以惊人的速度增加,而且与通过其他途径获得的信息相比,用户往往更信任它。 学校班级管理系统可以为学校节约大量的人力和物力资源。同时,能够第一时间提供给学校领导有关学校班级情况、学校教室利用情况及各班班主任等信息。班主任可以更方便地管理自己所带的班级、查询学生的基本信息等。

重庆一中班级管理信息系统包括用户管理子系统、学生信息管理子系统、班级信息管理子系统、年级信息管理子系统、教师信息管理子系

统、教室信息管理子系统、查询打印子系统、帮助子系统、数据备份9大子系统,班级信息管理子系统,主要对班级信息的编码、学生信息和相关信息进行管理,不同的用户只能根据自己的权限访问数据和进行操作。CNo 编码模块主要对CNo 进行管理,可实现班级的增、删、改、查操作,方便、快速的对班级进行管理,为后续工作打下良好的基础。

为了方便管理班级信息的需求,根据不同的条件如:CNo 、CName 、GNo 、RNo 等基本信息,对班级信息统计查询,并且有不同方式的查询如模糊查询,精确查询等。

在数据管理中,安全性问题是重中之重,除了对重要数据进行加密处理外,系统要求有登录界面,用户根据自己的权限访问数据。根据其级别不同则权限不同,另设一超级管理员,为最高权限用户,对所有用户予以授权,并且可以注册、删除用户以及更改用户密码等。为了记录用户对系统的操作情况同时也为一旦系统出现异常便于调查,将用户登录上次时间、此次登录时间记录并显示。系统中对于操作人员没有过多的限制,要求掌握一定的计算机操作水平,工作尽心尽力,要求管理员对系统定期进行维护工作,为使本系统能发挥应有的作用。

2.1.2 开发背景

开发重庆一中班级管理信息系统的任务是:推进学校管理现代化进程,提高经营决策的科学性、经营管理水平、服务质量、工作效率、学校的竞争能力和经济效益,为实现学校的发展目标服务。

主要功能有:班级信息管理、学生信息管理、年级信息管理、教师信息管理、教室信息管理、查询打印、用户管理、数据备份。

在本系统中,主要负责班级信息管理、学生信息管理、教室信息管理等。

根据设计说明书要求,本管理系统应用Microsoft SQL Server 2000 作为后台数据库管理工具、Visual Basic 6.0作为前台开发工具,并应用Photoshop 等作为美化界面工具。

2.2 系统概述

2.2.1 系统组成

2.2.2 系统各子模块功能简述

用户管理:使用本系统的用户对象为该校教职工,设计中要求对本系统的设备进行专人管理,不同的用户只能根据自己的权限访问系统。

学生信息管理:要求对学生信息管理,并可进行任意添加、删除、修改操作。SNo 具有唯一性,不能有两个学生有同一个编码。

班级信息管理:要求对班级信息管理,并可进行任意添加、删除、修改操作,同一年级不能有两个CNo 为同一个编码。

年级信息管理:要求对年级信息管理,并可进行任意添加、删除、

图2-1 系统功能模块图

修改操作,同一学校不能有两个GName 为同一个名字。

教师信息管理:要求对教师信息管理,并可进行任意添加、删除、修改操作,同一学校不能有两个TNo 有同一个编码。

教室信息管理:要求对教室信息管理,并可进行任意添加、删除、修改操作,同一学校不能有两个RNo 有同一个编码。

查询打印:要求对学生信息可以任意查询并且打印。

数据备份:实行差异备份。

帮助系统:提供系统开发者的E-mail 等。可以向软件开发者寻求帮助。

2.3 数据库需求分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

2.3.1 数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

数据流图是结构化系统分析的主要工具,它能图形化的显示出系统中数据的使用,表达数据在系统内部的逻辑流向以及系统的逻辑功能和数据的逻辑变换。根据对系统的分析和所收集的资料,得出了班级管理系统流程图。

图2-2 系统流程图

数据流图描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,他还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。这就要引入数据字典这个概念。

数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。

针对一般学校管理信息系统的需求,通过对班级管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:

● Class ,包括的数据项有:CNo 、CName 、GNo 、RNo 、TNo 、CActivity 、CNumber 、CMemo 。

● Grade ,包括的数据项有:GNo 、GName 、TNo 、GMemo 。

● Room ,包括的数据项有:RNo 、RAddress 、RNumber 、RCapacity 、

RAppearance 。

● Student ,包括的数据项有:SNo 、SName 、SSex 、SRace 、SBirth 、SAddress 、SParent 、STelphone 、SPart 、SPsc 、SPhoto 。

● Teacher ,包括的数据项有:TNo 、TName 、TSex 、TRace 、TTelephone 、TCollege 、TEdubg 、TProfession 、TGraduate 、TTitle 、TTime 、TPart 、TJob 、TBirth 、TPhone 。

● Us ,包括的数据项有:TNo 、UPassword 、UTime 、UAppearance 、Ulegal 。 ● SPerformance, 包括的数据项有:SNo 、SComment 、SSemester 、SPpc 。 ● CStudent, 包括的数据项有:SNo 、CNo 。

有了上面的数据结构、数据项和数据流程,我们就能进行数据库设计。

2.4 任务概述

2.4.1 目标

该系统应遵循学校管理的方法,利用计算机技术,网络技术,数据库技术,数据通讯技术。全面收集和处理数据,提供各类信息,并利用现代化管理方法,建立具有多种辅助决策功能的模块,为重庆一中的经营管理提供决策支持,从而提高学校现代管理水平,达到提高学校整体素质目的。拟建系统实现以下具体要求:

1. 信息资源共享

2. 提高信息处理速度

3. 减轻管理人员的劳动强度、提高管理水平

4. 集中处理,提高管理效率 ,提高辅助决策能力

第3章 概要设计

3.1 数据库设计

设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤: ⑴ 数据库需求分析。

⑵ 数据库概念结构设计。

⑶ 数据库逻辑结构设计

在需求分析中我们已经得出了班级管理系统的系统流程图、数据项及数据结构。接下来就开始数据库结构设计。

3.1.1 数据库概念结构设计

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。 本系统根据上面的设计规划出的实体有:Class 实体、Grade 实体、Room 实体、Student 实体、Teacher 实体、Us 实体。各个实体具体的描述E-R 图如下。

Class 实体E-R 图如图3-1所示。

图3-1 Class实体E-R 图

Grade 实体E-R 图如图3-2所示。

图3-2 Grade 实体E-R 图

Room 实体E-R 图如图3-3所示。

图3-3 Room实体E-R 图

Student 实体E-R 图如图3-4所示。

图3-4 Student实体E-R 图

Teacher 实体E-R 图如图3-5所示。

图3-5 Teacher实体E-R 图

Us 实体E-R 图如图3-6所示。

图3-6 Us实体E-R 图

SPerformance 实体E-R 图如图3-7所示。

图3-7 SPerformance实体E-R 图

总体实体之间关系的E-如图3-8R 图所示。

图3-8 实体之间关系的E-R 图

3.1.2 数据库逻辑结构设计

现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

重庆一中班级管理信息系统数据库中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表。

Class 表是对班级基本信息的管理,存储的是班级的基本信息。CNo 编码由8位数字组成,备注用来记录班主任的变更情况。

Grade 表是对年级基本信息的管理,存储的是年级的基本信息。GNo 编码由5位数字组成,备注用来记录年级主任的变更情况。

Room 表是对教室基本信息的管理,存储的是教室的基本信息。RNo 编码由3位数字组成,Rappearance 用来表示该教室是否已经被安排了,

如果安排了就表示已占用。

CStudent 表是对班级—学生信息的管理,存储的是班级与学生存在的关系信息。

Student 表是对学生基本信息的管理,存储的是学生的基本信息。SNo 编码由12位组成,SPsc 是记录的是学生的家乡的邮政编码。为的是每学期给学生寄通知书时使用。

Teacher 表是对员工个人基本信息的管理,存储的是员工的个人息。

SPerformance 表记录学生的学期表现信息,该信息由班主任填写。

Us 表是对系统用户登录的管理和保存用户登录信息,用户TNo 编码最长为4位(即:工号) ,非空。如果用户在3次未登陆本系统未成功,系统将自动关闭,并且修改用户的状态。

3.2 数据库结构的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。这是利用SQL Server 2000数据库系统中的SQL 查询分析器实现的。下面给出创建这些表格的SQL 语句。

3.2.1 创建Class 表

CREATE TABLE [dbo].[Class] ( GO

[CNo] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL , [CName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [GNo] [varchar] (5) COLLATE Chinese_PRC_CI_AS NULL , [RNo] [varchar] (3) COLLATE Chinese_PRC_CI_AS NULL , [TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NULL , [CActivity] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL , [CNumber] [tinyint] NOT NULL ,

[CMemo] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.2.2 创建CStudent 表

CREATE TABLE [dbo].[CStudent] ( GO

[SNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL , [CNo] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.2.3 创建Grade 表

CREATE TABLE [dbo].[Grade] ( GO

[GNo] [varchar] (5) COLLATE Chinese_PRC_CI_AS NOT NULL , [GName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL , [GMemo] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.2.4 创建Room 表

CREATE TABLE [dbo].[Room] ( GO

[RNo] [varchar] (3) COLLATE Chinese_PRC_CI_AS NOT NULL , [RAddress] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT [RNumber] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT [RCapacity] [tinyint] NOT NULL , [RAppearance] [bit] NOT NULL

NULL , NULL ,

) ON [PRIMARY]

3.2.5 创建Student 表

CREATE TABLE [dbo].[Student] (

[SNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL , [SName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [SSex] [bit] NOT NULL ,

[SRace] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [SBirth] [smalldatetime] NULL ,

[SPart] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [SParent] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [SAddress] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [STelephone] [varchar] (13) COLLATE Chinese_PRC_CI_AS NULL , [SPsc] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL , [SPhoto] [varchar] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO

3.2.6 创建SPerformance 表

CREATE TABLE [dbo].[SPerformance] (

[SNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT [SComment] [varchar] (200) COLLATE Chinese_PRC_CI_AS [SSemester] [tinyint] NOT NULL ,

[SPpc] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO NULL , NULL ,

3.2.7 创建Teacher 表

CREATE TABLE [dbo].[Teacher] ( GO

[TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL , [TName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TSex] [bit] NULL ,

[TRace] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [TBirth] [smalldatetime] NULL ,

[TPart] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [TTelephone] [varchar] (13) COLLATE Chinese_PRC_CI_AS NULL , [TCollege] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TEdubg] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [TProfession] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TGraduate] [smalldatetime] NULL ,

[TTitle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [TTime] [smalldatetime] NULL , [TJob] [tinyint] NULL , [TPhoto] [varchar] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

3.2.8 创建Us

CREATE TABLE [dbo].[Us] (

[TNo] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL , [UPassword] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT [UTime] [datetime] NULL , [UAppearance] [bit] NOT NULL ,

[Ulegal] [varchar] (1) COLLATE Chinese_PRC_CI_AS NOT NULL

NULL ,

) ON [PRIMARY] GO

第4章 详细设计

4.1 登录界面设计

界面设计:

界面图案:主要为美化用户界面,界面注明使用该应用系统的对象

名称、开发工具和开发该的人员等,使系统登录界面更加友好,更加人性化。

图4-1 系统闪屏界面

关键代码如下:

Private Sub Form_Load()

On Error GoTo 10

If App.PrevInstance Then '检视前一版本

MsgBox "软件“重庆一中班级管理系统”已经打开!", 48, ""

Unload Me

End

End If

If sound1 = False Then

PlaySoundFile (App.Path + "\Sound\LOAD.wav")

sound1 = True

End If

Exit Sub

10 Unload Me

End Sub

Private Sub Timer1_Timer()

Main.Show

Timer1.Enabled = False

End Sub

Private Sub Timer2_Timer()

淡入淡出1.SU Me.hWnd, 35, 255, 6

Timer2.Enabled = False

End Sub

图4-2 系统登录界面

用户登录系统窗口的是用户和管理员进入系统的唯一通道,合法的

用户能够通过登录窗口进入系统。用户登录窗口是进入应用系统的喉舌,

在安全保密、系统维护中占有重要的地位,所以登录系统的规划在整个

应用系统中占据不小的比例,是系统能否安全、稳定、正常运行的关键。

登录系统就是要验证当前的用户名是否与该用户密码一致,以保证所有

用户的合法权益不受侵害。用户密码是在单行编辑框中输入,全部为掩

码显示,避免因为明文而造成密码失窃,给用户造成不必要的麻烦。当

用户登录3次以上时,系统就会自动退出,认为有非法用户企图在猜密

码,则拒绝进入应用系统,给出相应提示并自动关闭应用系统。

界面图案:主要为美化用户界面,界面注明使用该应用系统的对象

名称,使系统登录界面更加友好,更加人性化。

4.2 主界面设计

图4-3 主界面设计和班级界面设计

界面图案:主要为美化用户界面,界面注明使用该应用系统的重要

功能,并且在用户使用系统时有相应的提示,刚登陆系统时系统默认打开班级管理界面。使系统界面更加友好,更加人性化。

关键编码设计:

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias

"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Const WEB = "mailto:[email protected]"

Private Declare Function ShellAbout Lib "shell32.dll" Alias

"ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal

szOtherStuff As String, ByVal hIcon As Long) As Long

Private Sub Form_Load()

Dim strInfo As String

strInfo = " 重庆一中班级管理系统用户须知 " & vbCrLf

strInfo = strInfo & " 重庆一中班级管理系统 V2.0 主要面向全校

的班级管理,教室管理,学生的评语管理等。"

strInfo = strInfo & "旨在实现学校班级管理信息化。" & vbCrLf

strInfo = strInfo & " 本系统采用分级管理,将人员分为班主任、

任课教师、系统管理员,用户拥有不"

strInfo = strInfo & "同的权限,各司其职,以便提高工作效率。系统

功能包括:学生管理、班级管理、教"

strInfo = strInfo & " 师管理、教室管理、报表查询打印等。 " & vbCrLf

strInfo = strInfo & vbCrLf & "用户权限:" & vbCrLf & vbCrLf

strInfo = strInfo & "(一)班主任权限:班级的管理。" & vbCrLf

strInfo = strInfo & "(二)教师权限:信息的查询." & vbCrLf

strInfo = strInfo & "(三)系统管理员权限:包含系统管理、数据库

的维护管理等。"

Label6.Caption = strInfo

End Sub

Private Sub Label6_Click()

Dim sss

sss = SetWindowPos(Help.hwnd, -2, 0, 0, 0, 0, 3)

Call ShellAbout(hwnd, " 鹏程系列软件", "联系我们E-" + WEB, Me.Icon)

sss = SetWindowPos(Help.hwnd, -2, 0, 0, 0, 0, 3)

End Sub

Private Sub Label1_Click()

Dim HyperJump

HyperJump = ShellExecute(0&, vbNullString, WEB,

vbNullString, vbNormalFocus)

Help.Hide

End Sub

vbNullString,

第5章 模块测试

软件工程的根本目标是开发出高质量的完全符合用户需要的软件。因此,通过测试发现错误之后还必须诊断并改正错误,这才是测试的目的。

软件测试的目标为:

(1) 测试是为了发现程序中的错误而执行程序的过程。

(2) 好的测试方案是极可能发现迄今为止尚未发现的错误。

(3) 成功的测试是发现了至今为止尚未发现的错误的测试。 测试方法:

白盒法 其测试的前提是把测试的对象看作一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息设计或选择测试用例,对程序所有逻辑路径进行测试。

黑盒法 其测试前提是把测试的对象看作一个黑盒子,测试人员完全不考虑程序的内部结构和特性。只依据程序的需求分析规格说明,检查程序的功能是否符合它的功能说明。

软件测试按4个步骤进行,即单元测试、集成测试、确认测试、系统测试。软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它作必要的测试,模块的编写者和测试者是同一个人,编码和模块测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。

由于程序的编写由我一个人独立完成,程序的流程已经非常清楚。因此,我在系统的测试中主要采用的测试方法是“白盒测试”,在编写过

程中也出现过很多错误,甚至根本无法运行下去,常采用在程序中的设置断点,逐步缩小范围并最终找到问题的解。在测试的过程中,我尽量站在用户的角度考虑问题,假如我是用户如何才能更方便,假如我在某一时刻进行某种操作会产生什么结果,大量进行假设。并请同学帮忙作为用户试使用系统并提出建议意见。在所有模块功能完成后,先测试了一个模块的功能,能够实现后,再对其它模块进行编写、测试,在这个过程中,往往又会返回到刚才的模块,再次改进。如此反复当所有模块测试完成后,便对子系统分别测试,输入大量数据并尽可能多的假设“非正常情况”以测试系统的健壮性。待这些测试都通过后就对整个系统进行测试。我所采用的测试方式属于集成测试中的渐增式测试,这种方法实际上同时完成单元测试和集成测试,其优点有:

1. 利用已测试过的模块作为测试软件,开销小。

2. 模块间的接口错误可以较早发现。

3. 在测试时,如发现错误往往和最近加进来的那个模块有关。

4. 已测试的模块可以在新的条件下再次检验,使测试更彻底。

结束语

本系统在设计之初,我对Windows API 和 ActiveX 控件有一定的了解,在老师和同学的帮助下,根据所学的关于软件工程的知识,从最初的数据库设计到最后系统前台界面的设计及代码的实现经历了大约一个月的时间,在这一个月中,我们按照软件工程的生命周期方法学来完成设计,即系统的需求分析、总体设计、程序设计、系统调试等开发步骤,分阶段地完成各设计任务。在设计之初,我们首先对所使用的工具Visual Basic 6.0和SQL Server 2000进行了全面的复习。接着,我们根据自己的设计任务书的要求,对自己需要完成的部分进行了系统的规划,根据需求分析的要求,对数据库即数据库中的表进行设计规化,采用了C/S模式设计,并使用Visual Basic 6.0作为系统前台界面的设计工具,对系统进行了详细设计、编码和测试工作整个过程是本设计的核心部分,大概用3周时间来完成。在设计基本完成之后,又用了大概1周的时间改进系统的性能和技术文档的编写整理,最后完成毕业设计。整个设计过程是不断学习的过程,我体会到:

1.软件开发是一个不断学习新鲜事物的过程,从设计初的不懂到最后能够顺利完成,我体会到在实践中学习的重要性,这对于将来我走上工作岗位具有重要意义。

2.由于前期工作的不彻底,对系统的需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。

3.设计过程中,经常会遇到困难,我学会通过别人的代码理解语言的含义但这并不是抄袭,然后根据自己的设计要求编写代码。设计中得

到了指导教师的细心指导。

设计过程中,由于要实现某些功能,互联网帮了我的大忙。网络资源是一个丰富的共享体系,我通过在程序员大本营论坛上提出问题得到了很多热心网友的帮助,这坚定了我通过网络吸收知识的信心。

在完成本设计的过程中,我既感受到了面对自己无法解决的问题时的苦恼,也体会到问题最终得以解决时的快乐。同时,也总结了以下一些经验:

1. 一个详细周密的计划对于完成一项任务的重要性。实际上,我对这次作业着手较早。但由于刚开始时间较松,在学习时就想到哪学到哪,没有认真计划。到后来发现同学们的进度都已经赶上甚至超过我,这才又着急起来,赶紧找经验丰富的同学出主意,制定出详细的计划,这才按时完成了任务。

2. 学习一门程序语言,实践是最好的方法。我对Visual Basic 6.0和SQL Server 的学习实际上分为两个阶段。前一阶段为学习语言而学习语言。在这一阶段中,我总有隔雾观花的感觉,学得似是而非。后一阶段边实践边学习,很多前一阶段不甚了了的问题得到迎刃而解。

3. 要学会运用互联网工具。互联网是一个具有大量资源的信息宝库,在这次毕业设计中如果没有互联网也许我多花一倍的时间也完不成任务。所以一定要会并善于运用互联网工具。

经过一个月的设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。通过此次毕业设计,我不但对Windows API 、ActiveX 控件、VB 6.0和SQL Server有了更深刻的认识,积累了使用软件工程的思想来开发软件

的经验,同时最重要的是摸索出了一套分析问题和解决问题的方法,这对于我将来走上工作岗位受益匪浅。

完成这次设计后回过头来看,我的这项作业完成得并不完美。还有很多需要提高和改进的地方。

首先,是系统的功能还太单一,有一些实际工作中需要用到的功能在分析时没有考虑进去,也没能实现。比如学生成绩管理功能。

其次,是设计过程中时间分配不合理,后期紧张的时间给我的工作带来很大的被动。

再次,就是知识积累还不够,有很多知识都是临到用了才去补,这样学到的知识毕竟不牢,而且用起来也不灵活。

由于时间和能力等原因,本论文难免存在疏、漏、谬、误等,敬请各位专家、指导教师和同学们予以批评指正,谢谢!

致 谢

通过这次毕业设计,我基本上掌握了开发一个班级管理系统的基本思路和实施步骤。在完成毕业设计的过程中,我得到了许多老师和同学的帮助,尤其我的指导老师胡传斌和我以前的上课老师郑伦川、马兹书等的细心指导以及在我的设计过程中多次予以指导并提出宝贵意见,使我的设计在有条不紊的进行,令我受益匪浅。同时也向那些为我无私解难的朋友们,特在此向以上人员表示最衷心的感谢!

另外,互联网上一些朋友也给我完成设计提出了很多宝贵的意见和无私的帮助。这对于我以后的学习和工作都有很大的帮助,在此对他们表示由衷的感谢。

在校期间,得到网络教育学院各级领导和辅导老师的亲切关怀和无私的培养,使作者在学习的过程学到了许多做人的道理。在此向他们道声:您们辛苦了!

参考文献

[1] 郑阿奇.SQL server 实用教程. 北京:电子工业出版社,2002

[2] 周中华. 数据库原理与应用. 北京:清华大学出版社,2003

[3] 段兴.Visual Basic 6.0 数据库程序设计. 北京:人民邮电出版社,2002

[4] 刘炳文. Visual Basic程序设计教程. (第二版). 北京:清华大学出版社,2003

[5] 陶宏才. 数据库原理及设计. 北京:清华大学出版社,2002

[6] 范立南. SQL Server 2000实用教程. 北京:清华大学出版社,2003

[7] 唐大任. Visual Basic程序设计. 北京:清华大学出版社,2002

[8] 王兴晶.Visual Basic.NET数据库开发典型实例. 北京:电子工业出版社,2003


相关文章

  • 六(5)班下学期班主任工作计划
  • 六(5)班下学期班主任工作计划 曲靖市第二小学 邓 祥 翠 一.班级管理指导原则: 在弹指一挥间,我们又迎来了一轮课程改革的到来,未成年人思想道德建设问题和对策的出现,我们的班主任工作也将迎接新的挑战,我们都知道,一个学校是由多个班级组成的 ...查看


  • 六年级下学期辅导员工作计划2014-3
  • 六年级下学期辅导员工作计划 一.班级管理指导原则: 临近毕业的六年级二班在本学期重点要在思想品德.行为习惯.学习习惯方面加大力度进一步培养.在自我管理,自我教育方面更上一个台阶.努力学习,提高成绩.接受中学的检验.人人争做合格的小学毕业生. ...查看


  • 班主任论文人性化班级管理论文
  • 班主任论文人性化班级管理论文:探索人性化班级管理的实 践 摘 要:班主任进行班级管理,要相信.尊重学生,要实施民主的人性化管理.这可通过建立班级日志,给学生写欣赏性评语,建立常规管理机制,营造良好的班级环境,促进学生全面发展. 关键词:班主 ...查看


  • 如何增强学生的集体荣誉感和班级凝聚力
  • 如何增强学生的集体荣誉感和班级凝聚力 浙江长征职业技术学院季炳长 [摘要]大学生虽然比中学生有了更强的自我管理能力,但鉴于中学的教育现状,大多数大学生的这种自我管理能力还远远不够成熟,需要班级和教师的引导.班主任作为班级管理的核心,最重要的 ...查看


  • 关于大学班干部量化管理班级的研究论文
  • 关于大学班干部量化管理班级的研究 作者:蒋鑫 学校:山东城市建设职业学院 [摘要]本文对班级管理的本质.班级管理的价值及新的班级管理方式等进行了新的审视,树立了新的班级管理观,并以此为探究适合山东城市建设职业学院班级的管理新思路,构建了适应 ...查看


  • 本科毕业论文软件工程
  • 本 科 毕 业 论 文 Asp.net同学录系统 ASP.NET Classmate System Online 姓 名: 学 号 学 院:软件学院 系:软件工程 专 业:软件工程 年 级:2006级 指导教师: 二〇一〇 年 六 月 摘 ...查看


  • 幼儿离园.升级操作方法
  • 1. 幼儿离园都有哪些类型,怎么操作,有什么区别? 答:幼儿离园管理中设置了"正常离园"."毕业离园"."发生意外离园",其中"正常离园"中又设置了" ...查看


  • 班级基本信息管理系统开题报告
  • 毕业设计(论文)开题报告 设计(论文)题目: 学生档案信息管理系统 1.选题的背景和意义: 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟.管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要 ...查看


  • 中学生学生学籍管理系统
  • 毕业学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果.除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果.对本文的研究做出重要 ...查看


  • 正文.参考文献
  • 引言&需求分析 1引言 1.1本软件开发的背景 随着计算机与信息技术的普遍提高, 越来越多的单位使用计算机来管理档案, 这样就在很大程度上提高了管理的效率.近几年来高校的扩大招生,一方面给广大民众提供了越来越多的教育机会,另一方面也 ...查看


热门内容