1、计算机毕业设计论文分析-班主任管理系统

文章详细介绍了班主任管理系统的开发背景、需求分析、系统设计与实现,包括数据库设计、前后台应用程序开发,主要使用了VisualBasic6.0和Access2000,讨论了SQL在数据查询中的应用,并概述了系统测试。系统功能包括学生信息管理、成绩管理、班级信息管理等,旨在提高工作效率和准确性。
摘要由CSDN通过智能技术生成

1  引言

1.1  问题的提出

班主任管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以班主任管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对班主任工作进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高班主任工作的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此可见,开发这样一套管理软件成为很有必要的事情。

1.2  现有系统存在问题的分析

随着社会的发展和经济时代的到来,管理信息系统在各行各业都越来越重要,特别是教育事业。在经济发达的国家,许多教育机构(如公办、私立、培训机构等),都投入了大量的资金开发MIS系统,以求在将来激烈的竞争中立于不败之地。

在我国,信息管理系统是教育行业的一个新兴事物。是随着改革开放和市场经济的发展根据中国特有的国情发展起来的,从一定的程度上规范和促进了中国教育管理系统的发展,这是一个很有发展前途的新兴产业,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低。有的学校根本就没有系统,还是手工操作;有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。

1.3  系统开发的发展方向

班主任管理系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照班主任的工作的特点设计完成的。力求系统在学校的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量。现在根据计算机技术的发展和面向现代化教务、教学的发展趋势,提出如下的系统开发方向与目标:

(1) 系统应具有实用性、可靠性和适用性,同时注意到先进性。

(2) 能够按照用户选择的不同的条件进行简单查询和复合查询。

(3) 高效的管理功能,能快速检索查询。

(4) 方便用户的操作,尽量减少用户的操作。

(5) 注意系统的安全性。

当然,由于时间比较短,并且是初步接触该问题,所以我们只是在设计当中应用了前人的一些经典的阈值算法,希望以后可以逐步的完善。

 

2  概述

班主任管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

2.1  开发工具简介

2.1.1 数据库开发分析

一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。

信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。

(1)  数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。

(2)  概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。

(3) 逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。

(4) 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MS SQL Server,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。

(5)  加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。

要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:

(1) 基本表的个数越少越好。

(2) 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。

(3) 字段的个数越少越好。

(4) 所有基本表的设计均应尽量符合第三范式。

数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。下面我们着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。

2.1.2  数据库开发步骤

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

数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。

数据库开发设计中,主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。

数据库设计的步骤是:

(1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。

(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。

(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。

(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。

(5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。

为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:

规范化地重组数据结构:关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了[2]。 

2.2  开发环境分析

2.2.1 编程环境的选择

本系统的编译环境,即基于前台开发设计工具- Visual Basic 6.0。

VB6.0全称为VisualBasic 6.0,是微软公司推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具,也是当今世界上应用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。VB提供的是可视化的开发环境,我们可以象搭积木一样构建出程序的界面,而且VB提供了丰富的控件组,省去了我们自己写代码实现这些效果的麻烦,这样我们就能把更多的精力放在程序功能的实现上,所以VB用起来非常方便。无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB都是最快速、最简便的方法。

Visual Basic是Microsoft Windows的编程语言。Visual Basic是在一个集成开发环境(IDE)中创建的,IDE使得程序员可以方便地创建、运行和调试Visual Basic程序。IDE允许程序员按时间块来创建有效程序,如果没有IDE,则可能要对程序进行编码。Visual Basic是世界上最广泛使用的RAD(快速应用程序开发)语言[3]。

VB的特点:

(1) 具有面向对象的可视化设计工具(在工具箱内提供了各种控件)

(2) 事件驱动的编程机制(根据单个控件来编写程序代码,缩短了程序的复杂性,增强了程序的可修改性)

(3) 提供了易学易用的应用程序集成开发环境(如:设计界面,编写代码,调试程序等)

(4) 结构化的程序设计语言(内置了丰富的数据类型和函数)

(5) 支持多种数据库系统的访问(如:access,foxpro,SQLServer等,也可以访问excel电子表格)

(6) OLE技术(即对其内置对象的连接与迁入,如可以利用VB开集成声音,视频,动画,图像为一体的应用程序)

(7) Active技术

(8) 完备的帮助文件

此外,VB还提供了极强的数据库操作功能,操作方式也多种多样。它不仅可以连接Access数据库,还能访问其他外部数据库,如SQL-sever2000、Oracle等。另外,VB提供了开放式数据连接(ODBC)功能,通过ODBC操作后台大型数据库十分方便。同时,VB还内置了多个有关数据库操作的功能组件例如ADO、DAO等。所以,基于数据库管理的题库系统选择Visual Basic 6.0作为前台开发的工具[4]。

VB控件介绍:

下面介绍本系统采用的几种主要的控件及其常用属性。

(1) 文本框(TextBox)

TextBox 控件有时也称作编辑字段或者编辑控件,显示设计时输入的用户输入的、或运行时在代码中赋予控件的信息。

MaxLength 属性:返回或设置一个值,它指出在 TextBox 控件中能够输入的字符是否有一个最大数量,如果是,则指定能够输入的字符的最大数量。

MultiLine 属性:返回或设置一个值,该值指示 TextBox 控件是否能够接受和显示多行文本。在运行时是只读的。

Scrollbars属性:该属性设置文本框是否有垂直或水平滚动条,它有0,1,2,3四种属性值。为0表示没有滚动条,这是缺省值;为1表示有水平滚动条;为2表示有垂直滚动条;为3表示既有水平滚动条,又有垂直滚动条。为使1,2或3的属性值设置有效,MultiLine属性必须设置为Ture。

PasswordChar 属性:返回或设置一个值,该值指示所键入的字符或占位符在 TextBox 控件中是否要显示出来;返回或设置用作占位符。如果 MultiLine 属性被设为True,那么设置 PasswordChar 属性将不起效果。

(2) 时钟控件(Timer)

通过引发Timer事件,Timer控件可以有规律地隔一段时间执行一次代码。

Interval 属性:返回或设置对Timer控件的计时事件各调用间的毫秒数。

Timer事件:在一个Timer控件的预定的时间间隔过去之后发生。该间隔的频率储存于该控件的 Interval 属性中,它以千分之一秒为单位指定时间的长度。

(3) 驱动器列表框(DriveListBox)

在运行时,由于有 DriveListBox 控件,所以可选择一个有效的磁盘驱动器。该控件用来显示用户系统中所有有效磁盘驱动器的列表。可以创建对话框,通过它从任一可用驱动器的磁盘文件列表中打开文件。

Drive属性:返回或设置运行时选择的驱动器。在设计时不可用。

Change事件:改变所选择的驱动器。该事件当选择一个新的驱动器或通过代码改变Drive属性的设置时发生。

(4) 组合列表框(Combobox控件)

Combobox控件将TextBox控件和ListBox控件的特性结合在一起,既可以在控件的文本框部分输入信息,也可以在控件的列表框部分选择一项。添加或删除Combobox控件中的项目,使用AddItem或RemoveItem方法。

List属性:返回或设置控件的列表部分的项目。列表是一个字符串数组,数组的每一项都是一列表项目,对ListBox和Combobox控件在设计时可以通过属性浏览器得到,对 DirListBox、DriveListBox 和 FileListBox 控件在运行时是只读的,对Combobox和ListBox控件在运行时是可读写的。用该属性可以访问列表项目。对于除DirListBox之外的所有控件,第一个项目的索引为0而最后一个项目的索引为 ListCount-1。

ListCount 属性:返回控件的列表部分项目的个数。

ListIndex 属性:返回或设置控件中当前选择项目的索引在设计时不可用。

Style属性:决定了组合框的类型和行为,它的值为0、1或2。为0(默认)时,组合框为下拉式组合框,显示在屏幕上仅是文本编辑框和一个下拉箭头按钮,执行时用户可用键盘直接在文本框区域输入内容,也可用鼠标单击右边的下拉箭头按钮,打开列表框供用户选择。这种组合框允许用户输入不属于列表内的选项;为1时,组合框为简单组合框,右边没有下拉箭头按钮,列表框不能被收起或拉下,与文本框一起显示在屏幕上,可在文本框中用键盘输入列表框中没有的选项;为2时,组合框为下拉式列表框,功能与下拉式组合框相似,区别是不能输入列表框中没有的选项。

(5) MsgBox 函数:在对话框中显示消息,等待用户单击按钮,并返回一个 Integer告诉用户单击哪一个按钮。

MsgBox (prompt [, buttons] [, title] [, helpfile, context])

MsgBox 函数的语法具有以下几个命名参数:

Prompt 该属性是必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。

Buttons 该属性是可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为0。

Title 该属性是可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。

Helpfile 该属性是可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了helpfile,则也必须提供context。

Context 该属性是可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了context,则也必须提供helpfile[5]。

2.2.2 关系型数据库的实现

关系数据库的实现,即基于前台开发设计工具- Microsoft  Access2000。

Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

Microsoft Access 2003的特点:

Microsoft Access 2003不仅是一个数据库,它具有强大的数据管理功能,可以方便的利用各种数据源生成窗体(表单)、查询、报表和数据访问页、应用程序等。

Microsoft Access 2003属于一种关系数据库,关系数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。

Microsoft Access 2003的对象组成:

Microsoft Access 2003数据库由7种对象组成,它们是表、查询、窗体、报表、页、宏和模块。

表(table):是数据库的基本对象,是创建其他6种对象的基础。标有记录组成,记录由字段组成,表用来存储数据库的数据,故又称数据表。

查询(query):可以按索引快速查找到需要的记录,按需要筛选记录并能连接若干个表的字段组成新表。

窗体(form):提供了一个方便的浏览、输入及更改数据的窗口。还可以创建子窗体,显示相关联的表的内容。窗体也称表单。

报表(report):功能是将数据库的数据分类汇总,然后打印出来,以便分析。

页(page):在企业网或因特网上发布数据、交换数据用的Web页面,是一个单独的HTML文件,保存在数据库外并在数据库主窗口中建立与该文件的链接。

宏(macro):相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。

模块(module):功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程,扩展名是.mdb[6]。

2.2.3  二者的结合(DBA)

微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。

DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系[7]。

2.3  SQL简介

SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、Microsoft SQL Server、Access、Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如Select、Insert、Update、Delete、Create和Drop常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。

2.3.1  SQL的特点

SQL语言有着非常突出的优点,主要是:

(1) 非过程化语言

(2) 统一的语言

(3) 是所有关系数据库的公共语言

非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入[7]。

SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。

统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。

SQL为许多任务提供了命令,其中包括:

(1) 查询数据

(2) 在表中插入、修改和删除记录

(3) 建立、修改和删除数据对象

(4) 控制对数据和数据对象的存取

(5) 保证数据库一致性和完整性

(6) 创建、更改或删除数据库中的表(仅指Microsoft Access数据库)

以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。

所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。

用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言—SQL[9]。

2.3.2  SQL命令

SQL的中文名称尽管是“结构化查询语言”,但它的功能实际上包括查询(Query)、操作(Manipulation)、定义(Definition)和控制(Control)四个方面。其中最重要的是查询功能(SQL使用SELECT语句进行查询),其次为数据定义功能(SQL使用其DDL——Data Definition Language——语言定义新的数据库、字段和索引)。SQL语言简洁、易学易用,完成其核心功能的命令动词只有8个,如下表2.1所示:

 

表2.1  SQL基本命令动词

SQL功能

命令动词

数据查询

SELECT(选择)

数据定义

CREATE(创建), DROP(删除),ALTER(修改)

数据操纵

INSERT(插入),UPDATE(更新),DELETE(删除)

数据控制

GRANT(授权), REVOKE(收回权限)

SQL语句由三部分组成:

·参数声明。这些可选参数由程序传递给SQL语句。

·操纵语句。这部分语句告诉查询引擎要执行什么样的动作。例如SELECT或DELETE。

·选项声明。这些声明告诉查询引擎对数据处理的过滤条件、数据分组或排序等。它们包括WHERE子句、GROUPBY子句、和ORDERBY子句[10]。

2.3.3  SQL的数据查询功能

SQL语言的核心是查询语句,它的基本格式为:

SELECT  <列名表>

FROM    <基本表名或视图名>

[WHERE  <条件表达式>]

[GROUP BY   <列名1>   [HAVING 内部函数表达式]]

[ORDER BY   <列名2>   [ASC或DESC]]

其中,SELECT字句选择检索的列,<列表名>指出要检索的目标列名;FROM字句选择表,〈基本表名或视图名〉给出要操作的表的名称;WHERE子句(可缺省)给出查询条件,〈条件表达式〉给出查询结果应满足的条件,它由常量、字段名(或列序名)、逻辑运算符、关系运算符等组成。SQL中的运算符如表2.2所示;GROUP BY子句(可缺省)提供按属性列或列组合字段在表的行方向上进行分组的功能,对每一组可以进行SELECT查询,SELECT子句中的每一个表达式操作对每一组来说都必须是单值;HAVING子句(可缺省),与GROUP BY子句一起使用,提供选择组的条件;ORDER BY子句(可缺省)提供对查询结果进行排序的功能,〈列名2〉指出排序字段名,必须是出现在SELECT子句后面的〈列表名〉中的字段,ASC表示排序按字段升序排序,DESC表示排序按字段的降序排序,缺省时为升序。

表2.2 SQL中的运算符

 

 

 

 

 

关系运算符

 

 

<

小于

<=

小于等于

>

大于

>=

大于等于

=

等于

<>

不等于

BETWEEN

指定值的范围

LIKE

在模式匹配中使用

IN

指定可选项

 

逻辑运算符

AND

逻辑与

OR

逻辑或

NOT

逻辑非

2.4  系统的总体说明

本系统的设计分为后台数据库的建立,与前台操作程序的开发两个方面。根据各方面的因素,在开发系统时有所选择。选择Microsoft Access 2003对于数据库的开发;选择Visual Basic 6.0开发前台操作程序。通过Microsoft JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。

 

3  系统设计分析 

3.1  应用需求分析

班主任管理系统的需求主要来自于:学校工作的上下联系的纽带—班主任。一个学校整体由若干个班级组成。而班主任正是这些学校组成部分的管理者。可见其工作的重要性。班主任工作管理的对象是班级中的每个成员—学生。所以班主任管理的对象就是班级中的每个学生。而每个学生的信息又包括学生编号.班级.考试成绩.入学日期.奖惩信息等。班主任的工作量可想而知。

班主任作为班级的管理者,他要根据需要对学生的信息进行浏览、查询、统计、添加、删除和修改。单纯依靠手工操作,不但工作量大;而且容易出错。带来不必要的麻烦。所以建立一个操作简单,易懂可行性高的管理系统,不仅能有效地减轻班主任的工作负担,而且是减少错误发生的有效手段。

3.2  可行性分析

可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。

一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案可行性等方面研究可行性。

可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的成本只占预期的工程中成本的5-10%。

3.2.1  技术可行性分析

技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是校方)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,做为计算机信息管理专业毕业的优等生,数据库设计方面对于我们应该还过得去,在学校里生活了四年,对这个管理模式应该比较熟悉。学生成绩管理系统的编写,是十分好编的,我想几天就可以写出程序,再花上三来天的调试,计划一个星期就可以完成投入使用了。

我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。从一定程度上具备了开发一个小型系统的能力。而现在学院的计算机配置均可达到P2.2GHZ、256M内存、40G硬盘、256*1024分辨率的显示器。

3.2.2  经济可行性

主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。

3.2.3  运行可行性

现代教育正在迅猛发展,学校从硬件到软件都投入了大量的人力、物力、财力,在教务上,给各个办公室配置了计算机,并能联接到互联网,并且,学校领导对这方面比较重视,在教务上配置了一定数目的能够训练操作计算机的干事,可以快速、方便、高效地使用计算机进行日常工作。学院开展了计算机及其维修专业,可让学生以实践方式对系统进行维护。使此系统在实践上具备了可行性。所以本系统是可行的。

3.3  任务描述

经过需求分析,本系统的任务应包括以下几点:

(1) 利用Microsoft Access建立数据库,并按要求输入、保存题目。

(2) 基于对数据库的安全性考虑,对用户名和密码进行管理与维护。

(3) 对学生信息进行添加,修改,删除等操作。

(4) 按要求进行查询,有简单的单一条件查询和组合条件查询两种方式,这些都是基于SQL语言来实现。

3.4  系统功能模块划分

模块化、分层细化、逐步求精、信息隐蔽、模块独立是概要设计的原则。根据上面的需求分析,并结合各功能分析。可以得出相应的模块。并可得如图3.1所示的系统结构图。

508f724db19a4f55bd66f49a2d9c6b85.png

 

图3.1 功能模块图

3.5  系统数据库设计

 3.5.1  概念设计

在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。

利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。

(1) 设计局部ER模式
实体和属性的定义:

学生(姓名.学号.出生日期.性别.学生编号.入学日期.联系电话.家庭住址.备注信息)

班级(班级编号.班级名称.导员姓名.备注信息)

成绩(考试期号.考试课程.考试分数.学生班号.学生编号.)

奖惩(奖惩日期.奖惩名称)

ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。

(2) 设计全局ER模式

所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。

① 确定公共实体类型为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。

② 局部ER模式的合并

合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。

③ 消除冲突

冲突分为三类:属性冲突、结构冲突、命名冲突。

设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。

(3) 全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少[12]。

3.5.2  关系数据库的逻辑设计

由于概念设计的结果是ER图,DBMS一般采用关系型(本人所使用的Access 2003就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。

4  设计阶段

4.1  概要设计

4.1.1  任务要求

经过需求分析,经过详细调研,了解到一个好的试题库管理系统至少要包括以下几项任务:

(1) 利用Microsoft Access建立数据库,并按要求输入、保存题目。

(2) 基于对数据库的安全性考虑,对用户名和密码进行管理与维护。

(3) 对学籍信息进行添加,修改,删除操作。

(4) 对用户信息进行添加,修改,删除操作。

(5) 对奖惩信息进行添加,修改操作。

(6) 对课程信息进行添加,修改操作。

(7) 对成绩信息进行查询,有简单的单一条件查询和组合条件查询两种方式,这些都是基于SQL语言来实现。

(8) 对班级信息进行查询,有简单的单一条件查询和组合条件查询两种方式,这些都是基于SQL语言来实现。

(9) 对个人信息进行查询,有简单的单一条件查询,这些都是基于SQL语言来实现。

4.1.2  数据流图

本系统的数据流图,如下图所示。从中我们可以看到程序应用的各个流程,了解班主任管理系统程序的大致思路与相关设计思路。

根据本系统开发过程中所要解决的一些问题,即在现实中对班主任管理工作的要求,可以得出系统所要具有的相应的功能。正如数据流图所描述的一样。对相应的成绩信息、班级信息、学籍信息、课程信息、奖惩信息。个人信息;进行相应的添加、删除、修改、查询操作。

a46ca252a7704f2aaac2a4bd892fbab1.png

 

 图4.1 数据流图

上述的数据流程图就是对我本次程序设计的一个大体的流程分析,具体细节的详细过程可以看下述的详细设计。

 

 

4.2  系统详细设计

(1) 各模块功能实现

经过调研、需求分析、概要设计等一系列准备工作后,对试题库管理系统的功能要求有了比较明确的认识,并且在概要设计阶段已经给出了系统各个模块的初步设计方案。详细设计阶段主要进行各功能模块的细化以及编码工作。本系统的模块与各个窗体是一一对应的。以下是对各功能模块的简单介绍。

(2) 登录模块

进入本系统首先进入登录框,如下图所视:

41e2e36eb6524414b6fcb80c73669f7d.png

 

 

                       图 4.3 登录窗口

用户输入正确密码后进入主界面。

Private Sub cmdOK_Click()

        txtSQL = "select * from user_Form where user_ID = '" & txtUserName.Text & "'"

    Set mrc = ExecuteSQL(txtSQL, MsgText)

    If mrc.EOF = True Then

        MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"

        txtUserName.SetFocus

    Else

        If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then

            OK = True

            mrc.Close

            Me.Hide

            UserName = Trim(txtUserName.Text)

流程图4.4和图4.5如下:

3ed4d28cbbd6411e95cd66ffa7e6362f.png

 

                              图 4.4 登录流程图

07171fc9c5e04863ac6d165cbdcdb29f.png

 

 

图 4.5 用户信息窗口

(3) 班级信息管理模块

点击班级信息进入本模块,如下图所视:

c74b34d5dcd34ae0ad6b9d55b7082e38.png

 

 

图 4.7 班级信息窗口

本模块管理对象是班级信息,它具体包括:班级编号.班级名称.导员姓名等信息。以及对这些信息进行相关的管理。比如:添加.修改. 删除.

(4) 学籍信息管理模块

点击学籍信息进入本模块,学籍信息包括:学号、姓名、性别、出生日期、学生编号、联系电话、入学日期、家庭住址、及备注信息。相关操作包括添加、修改、删除、及查询.

2bb11c7538304ba693388620a5cbfaff.png

 

 

                      图 4.8 学籍信息窗口

在这里特别要介绍一下查询,查询包括三种模式:

      详细查询.所谓的详细查询就是输入学生的相关的详细。就这些信息对相关的对象进行详细的查询。

     模糊查询.所谓的模糊查询其实和详细查询之间没有太大的区别。区别仅在于输入的信息量及相对的查询输出结果。可以笼统的表示一下。Select后面的条件附加条件越多,查询输出的结果就相对越少。查询的越详细。

    全体查询.所谓的全体查询就是未输入任何信息,输出结果是全体的,一种查询方式。

(5) 课程信息模块

点击课程信息进入本模块。本模块主要是对班级的课程信息进行管理。本摸快的相关操作有添加.删除。

d2b5084e9a344f95a2fd3fa3a51ae42d.png

 

 

                          图 4.9 课程信息窗口

(6) 成绩信息模块

    点击成绩信息进入本模块。本模块的管理信息包括:考试期号.学生班号.学生编号.考试课程以及考试分数。相关的操作有:添加.查询.修改.删除。查询可以按给出的考试期号.学生编号.学生班号.考试课程.考试分数进行相应的需要的查询。

a334c93a687f454e989c7094bdbfca12.png

 

 

                         图 4.10 成绩信息窗口

(7) 奖惩信息模块

点击奖惩信息进入本模块。本模块所要管理的对象是学生的在学校期间的奖励及惩罚。具体操作是添加和删除。

dd3c612998ef4768b1b6bd4a2764223a.png

 

 

                   图 4.11 奖惩信息窗口

(8) 个人信息模块

点击个人信息进入本模块。本模块是以学号为条件对学生的所有信息进行查询。这是典型的详细查询。虽然输入的条件只有一个。但是,由于每个学号只对应单一的学生,所以输出的结果的对象也是单一的。

15a1e0ffacd342d8a27ef9e554206e1e.png

 

 

                        图 4.12 个人信息窗口

4.3  数据库详细设计

在前面的章节已经对数据库的大概划分做了详细的分析,并做了概要的描述。现在需要对前面的数据库概念结构转化为Access 2003数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

在实体以及实体连接的基础上,形成数据库中的表以及各表之间的联系。

班主任管理系统数据库中各个表格的设计结果如下面几个表所视。每个表表示在数据库中的一个数据表。

表如4.1所视,为学生考试成绩信息表。

表 4.1 考试信息表

969614f79d96450da0224ee1b8f38f81.png

 

 

表4.2为学生基本信息表

6c8bdfeb7a7741e0856c306ca0cd2020.png

 

 

表 4.2 学生基本信息表

 

 

 

表4.3为考试科目表

表 4.3 考试科目表

b8dac8153b5d4eea923524257f4710ea.png

 

 

5  系统测试

软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,它是软件质量保证的关键步骤。测试要求以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量。

软件测试是一项细致并需要高度技巧的工作,稍有不慎就会顾此失彼,发生不应有的疏漏。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成测试。为了降低测试成本,选择测试用例时应注意遵守“经济性”的原则。

软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定[14]。

随着程序设计工作的逐渐发展,软件工程面临新的挑战,其中包括:应用系统的规模越来越庞大,结构越来越复杂;开发团队人员越来越多,分工越来越细;项目投资日益提高,导致投资风险增大。在这样一种背景下,软件质量面临着更大的危机,而解决问题的关键正是黑盒测试,可是由于传统的黑盒测试往往局限于手工测试,凭借工程人员的经验自发地进行,缺乏严格的测试管理机制,因而效果并不明显。在分发一个应用系统之前,若没有经过科学、周密的黑盒测试,就相当于将大量隐含的缺陷(defect)交付到最终用户手中,这对于开发团队自身、项目投资方及最终用户来说都是不负责任的表现,也将严重损害三方的利益。今天,软件的质量要求越来越受到重视,在对软件的质量监督中,黑盒测试起着重要的、不可替代的作用;而随着软件开发平台及软件设计思想的进步和发展,对黑盒测试提出了更明确的要求,人们发现,必须遵循一定的测试理论,依赖于优秀的测试工具,才能进行科学、完备的测试。

由于受到分发日期的限制,测试工作往往是在忙碌中结束的,而将大量的缺陷遗留给最终用户,也就是说,真正的测试工作实际上是由最终用户来完成的。因此,为了保证测试工作科学、精确、全面、有序地进行,应该采取一边开发一边测试的策略,使得开发工作与测试工作平行进行,这也就是俗话所说的“越早测试越好”的概念。

一套完整的测试应该由测试计划、测试设计划、测试开发、测试执行以及测试评估五个阶段。

黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。黑盒测试的优点有:比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关;从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低[15]。

白盒测试是根据被测程序的内部结构设计测试用例的一种测试方法,具体的白盒测试方法有程序控制流分析,数据流分析,逻辑覆盖,域测试,符号测试,路径分析,程序插装及程序变异等。其中多数方法比较成熟,也有较高的实用价值,个别的方法仍有些问题没有得到圆满地解决。例如,符号测试和路径测试的分析方法都是很重要的,但在程序分支过多及程序路径过多时,已有的方法将会显示出它们的局限性。

由于本人开发系统的能力有限,再加时间精力等方面的原因,另外由于本人对学校管理各方面不甚了解,对班主任的工作要求也知之甚少;所以程序功能有限,因此在程序测试方面无法做太多的解释。下面只是来用一个简单的实例来进行程序测试。

检查测试效果:

录入:对班级中各项组成元素信息进行录入;

操作:按相应的任务要求进行相关的操作管理;

结果:基本可以完成任务要求。

本系统只是学校管理软件中的小型工具,使用也是特别的方便,利用各个窗体给出的相应操作就可以对图片进行相应的处理,应用十分简单就不作太多的赘述了。

 

6  结论

经过三个多月的设计和开发,班主任管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。,对于数据的一致性的问题也通过程序进行了有效的解决。

但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。

就这次的毕业设计来讲,我们用到了Visual Basic 6.0和Microsoft Access 2003两种不同的开发工具,Visual Basic 6.0语言在以前虽然是稍微的有所接触,但是真正的用到编程过程当中时,却发现自己还存在太多的不足和欠缺,所以我们又再次从新学习加强理论知识再动手实践。而Microsoft Access 2003语言,目前还只是稍做了解到了一些应用到的知识。希望自己在以后的学习当中,通过自己不断的努力可以更加完善这一课题。并且可以将这个课题在很多领域中发展应用。当然具体因应用题目和领域来确定方法。

 

参 考 文 献

[1] 郑荣贵. Visual Basic 6.0开发与应用. 北京:中科电子出版社,2002.7~10

[2] 伍俊良.Visual Basic 6.0控件实例教程. 北京:希望电子出版社,2002.91~100

[3] 卢国俊.Visual Basic 6.0数据库开发. 北京:电子工业出版社,2002.89~99

[4] 边萌.Visual Basic 6.0编程起步. 北京:机械工业出版社,2002.101~110

[5] 伍俊良.Visual Basic 6.0设计案例. 北京:水利水电出版社,2002.56~61

[6] 丁宝康.数据库原理. 南京:经济科学出版社,2000.91~93

[7] 陆丽娜.软件工程. 南京:经济科学出版社,2000.153~160

[8] 左美云.信息系统的开发与教程. 北京:电子工业出版社,2001.12~15

[9] 赵杰.数据库原理与应用. 北京:希望电子出版社,2002.1~2

[10] 甘初初.管理信息系统. 北京:经济科学出版社,2001.172~180

[11] 耿继秀.企业计算机信息工程. 北京:经济科学出版社,2001.126~141

[12] 萨师煊.数据库系统概论.3版. 北京:高等教育出版社,2000.19~100

[13] 黄德双. 数据库模式识别系统理论. 北京:电子工业出版社,1996.20~32

[14] 斐树毅. 数据库理论及应用. 西安:西安电子科技大学出版社,1999.36~55

[15] 潘卫东. 数据库与人工智能. 北京:清华大学出版社,1999.62~78

[16] 赵振宇.模糊理论的基础与应用. 北京:清华大学出版社,1996.78~89

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值