2024年3月21日发(作者:)

本科生课程设计

目 录

第1章 系统分析 ..................................................... 3

1.1

开发背景...................................................... 3

1.2

系统需求分析.................................................. 3

1.3

开发环境...................................................... 4

第2章 系统设计 ..................................................... 5

2.1

系统架构...................................................... 5

2.2

系统功能模块.................................................. 6

2.3

系统数据库设计................................................ 8

第3章 系统实现 .................................................... 11

3.1

管理员主页面................................................. 11

3.2

添加课程..................................................... 19

3.3

考试界面..................................................... 20

第4章 系统测试 .................................................... 23

第5章 结束语 ..................................................... 24

参考文献 .......................................................... 25

I

本科生课程设计

摘要:

本文主要研究了题库管理系统的设计与开发,研究该课题的主要目的是便于

学生进行测试、复习知识,学生可以登录此系统进行答题,实现考、测一体化,

提高学校的教学质量和效率。系统主要用VS2005以及SQL2005来实现。

关键字:

在线考试系统 题库 Sql2005

II

本科生课程设计

第1章 系统分析

1.1 开发背景

随着互联网的发展、广泛普及以及校园网的发展,计算机考试已成为一种趋

势,运用计算机考试一方面可以节省人力物力,另一方面也给师生带来了方便,

所以设计出一款界面友好型、经济实用型的软件已经迫在眉睫、刻不容缓。

现代高等教育中,网络的运用是提高学校教学效果和教学效率、提高科研和管

理水平的必要手段。目前的一个发展趋势是采用大规模试题库的计算机网络考试

模式,随着计算机网络在生产生活、科技教育中的普及,传统的考试出卷、答卷

方式以及学绩管理正发生着巨大的变革,因此,如何使考试过程变得方便、高效、

快捷、公正,是现代教育的一个重要课题。当前国际上许多考试认证,例如GRE、

CISCO,其出题、答卷以及评分都是在计算机上完成的。无纸化的考试形式有着其

科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势,一

方面可以防止考生心存侥幸,投机取巧;另一方面它保密性高,考试时间灵活,提

高了学校的教学水平。 本文设计的是一套基于微软SQL server2005数据库的网

络软件系统.

1.2 系统需求分析

1. 功能需求

系统应提供用户登录识别,对试题进行增、删、改、查询功能,自动生成

试题,自动判卷功能等。

2. 性能需求

【1】

系统反应时间应在2s内,主存容量应该为256MB,磁盘容量最少应为80GB,

在安全性方面应该防止SQL注入等。

3. 可靠性可用性需求

在考试期间不能出现系统崩溃情况,当遇到的断电等突发情况,应该有一

定的恢复措施,在一个月内在任何一台计算机上该系统不可用的时间不能超过

2%。

4. 出错处理需求

当插入的数据出现是系统应该给一个友好的提示,比如弹出一个对话框进

行提示等。

3

本科生课程设计

1.3 开发环境

数据库是数据管理的最新技术,是计算机科学的重要分支

【2】

。今天,信息资

源已成为各个部门的重要财富和资源。十年来,数据库管理系统已从专用的应用

程序包发展成为通用系统软件。由于数据库具有数据的结构化、可控冗余度、较

高的程序与数据独立性、易于扩充、易于编制应用程序等优点,因此,作为信息

系统核心和和基础的数据库技术得到了越来越广泛的应用,越来越多的新的应用

领域采用数据库技术来存储和处理信息资源,较大的信息系统都是建立在数据库

设计之上的。

由于用到的数据表格多,学生基本信息的变动较大,我们选用SQL Server作

为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不

适合此系统;而SQL Server是一种常用的关系数据库,能存放和读取大量的数据,

管理众多并发的用户,使用方便快捷,故选用SQL Server数据库。

用VB语言进行编码。VB 编程语言是微软在.NET计划中重要的开发语言,它

具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器控件,支持

跨平台,与XML相融合等。因此选择VB编程语言。

4

本科生课程设计

第2章 系统设计

2.1 系统架构

整个系统分为三个部分,管理员、学生和主界面。

由于每个用户的权限不同,所以用户进入系统应该进行身份验证。根据不同

的身份权限进入不同的操作界面,进行不同的操作,浏览不同的页面。

学生进入考试系统后,能进行考试,以及查看自己的考分。对于每个考试者

来说,试卷的试题和题量都应是相同的,并且为了保证考试的公平性,每个考生

只限制抽取一次题。考试者选择答案提交后,由计算机自动判卷,得到成绩后立

即显示出来。考试完毕后,用户应该退出系统。

对于管理员来说,可以根据需要往数据库录入试题,还能对题库进行增、删、

改、查、等操作。

本系统是以Windows XP系统为操作平台,在.NET2005环境下编程实现。

系统ER图:

5

本科生课程设计

题编号

所属科目

简答

学生

N

1

管理

1

管理员

1

题编号

内容

判断

所属科目

内容

所属科目

N

考试

答案

1

填空

1

题编号

N

生成

1

1

管理

N

题编号

N

试题信息

题数

题编号

名称

分数

管理

选择

内容

所属科目

选项

内容

试卷信息

图2-1 系统E-R图

2.2 系统功能模块

本题库管理系统分为用户管理模块、学生管理模块、题库管理模块、试卷生

成管理模块、考试查询模块、考试页面管理模块六个模块。

6

本科生课程设计

在线考试系统

管理员

学生

图2-2 系统模块图

学生用例图

3

考试

学生

查看成绩

进行查看个

人信息

个人信息管理

7

本科生课程设计

图 2-3学生用例图

管理员用例图:

添加试题

查询试题

试题管理

题库管理

只可查看

自己的信

息,无法修

学生管理

用户管理

改和注册

管理员

图 2-4 管理员用例图

包括学生

信息的添

加、修改、

删除

2.3 系统数据库设计

综合以上分析,要实现上面的所有功能模块,本题库系统共有8个数据表,

分别是:选择题信息表、判断题信息表、填空题信息表、问答题信息表、试题科

目表、管理员信息表、试卷信息表和试卷内容表。

表2-1管理员信息表(admin)

列名

admin_id

admin_pwd

含义

用户名

密码

数据类型

Varchar

Varchar

长度

100

100

缺省值

允许空

8

本科生课程设计

表2-2试题科目表(Sub)

列名

QuestionSub

含义

试题科目

数据类型

nvarchar

长度

50

缺省值

允许空

表2-3选择题信息表(SingleSel)

列名

QuestionID

Question

列名

Choice_A

Choice_B

Choice_C

Choice_D

Answer

QuestionSub

QuestionTime

QuestionType

含义

试题编号

试题内容

含义

选项A

选项B

选项C

选项D

正确答案

所属科目

录入时间

试题类型

数据类型

char

ntext

数据类型

nvarchar

nvarchar

nvarchar

nvarchar

char

nvarchar

nvarchar

nvarchar

长度

20

16

长度

50

50

50

50

10

50

50

50

缺省值

缺省值

允许空

允许空

表2-4判断题信息表(RightOrWrong)

列名

QuestionID

Question

Answer

QuestionSub

含义

试题编号

试题内容

正确答案

所属科目

数据类型

char

ntext

char

nvarchar

长度

20

16

10

50

缺省值

允许空

9

本科生课程设计

QuestionTime

QuestionType

录入时间

试题类型

nvarchar

nvarchar

50

50

表2-5填空题信息表(Filling)

列名

QuestionID

Question

Answer

QuestionSub

QuestionTime

QuestionType

含义

试题编号

试题内容

正确答案

所属科目

录入时间

试题类型

数据类型

char

ntext

nvarchar

nvarchar

nvarchar

nvarchar

长度

20

16

50

50

50

50

缺省值

允许空

表2-6 问答题信息表(EssayQuestion)

列名

QuestionID

Question

Answer

QuestionSub

QuestionTime

QuestionType

含义

试题编号

试题内容

正确答案

所属科目

录入时间

试题类型

数据类型

char

ntext

ntext

nvarchar

nvarchar

nvarchar

长度

20

16

16

50

50

50

缺省值

允许空

表2-7试卷信息表(test1)

列名

test_number

test_name

test_sub

含义

试卷编号

试卷名称

试卷科目

数据类型

char

nvarchar

nvarchar

长度

20

100

100

缺省值

允许空

10

本科生课程设计

test_score

xzQuantity

xzScore

pdQuantity

pdScore

tkQuantity

tkScore

wdQuantity

wdScore

试卷分值

选择题数量

选择题分值

判断题数量

判断题分值

填空题数量

填空题分值

问答题数量

问答题分值

float

int

float

int

float

int

float

int

float

8

4

8

4

8

4

8

4

8

表2-8试卷内容表(QuestionPaper)

列名

test_number

PaperSerial

QuestionID

QuestionType

Score

含义

试卷编号

试卷中的题号

试题编号

试题类型

试题分值

数据类型

char

char

char

varchar

float

长度

20

20

20

50

8

缺省值

允许空

第3章 系统实现

3.1 管理员主页面

管理员页面包括用户登录页面.

图 3-1 学生主界面

11

本科生课程设计

对于用户名用RequiredFieldValidator控件

【4】

来判断其不能为空,对于判断

登录用户是否合法,用If (())来判断。

Dim username, password As String

username = ng().Trim()

password = ng().Trim()

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd As New OleDbCommand("select * from admin where admin_id='" & username

& "' and admin_pwd='" & password & "'", conn)

()

Dim dr As OleDbDataReader = eReader()

If (()) Then

Session("admin_id") = username

If = "管理员" Then

ct("")

ElseIf = "学生" Then

ct("")

End If

ElseIf MsgBox("你输入的用户名密码有误") Then

End If

()

管理员主页面:

图 3-2 题库管理主界面

使用普通按钮ct("")语句来实现页面之间的跳

转。

ct("")

页面来修改密码(其中Session("admin_id")为从

页面传来的变量):

图 3-3 密码修改界面

12

本科生课程设计

Dim jiumima, xinmima1, xinmima2 As String

jiumima = ng().Trim()

xinmima1 = ng().Trim()

xinmima2 = ng().Trim()

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand("select * from admin where admin_id='" &

Session("admin_id") & "' and admin_pwd='" & jiumima & "'", conn)

()

Dim dr1 As OleDbDataReader = eReader()

'判断记录是否存在

If (()) Then

If = Then

Dim cmd2 As New OleDbCommand("update admin set admin_pwd='" &

xinmima1 & "' where admin_id='" & Session("admin_id") & "'", conn)

Dim dr2 As OleDbDataReader = eReader()

MsgBox("恭喜,密码修改成功")

ElseIf MsgBox("两次输入的密码不一致") Then

End If

ElseIf MsgBox("你输入的密码有误") Then

End If

()

添加试题、查询试题页面(试题管理页面),其中在页

面用Session("biaoming")来保存表名。

图 3-4 试题管理界面

页面加载时代码如下:

Session("QuestionType") = ng().Trim()

添加试题按钮单击事件代码如下:

If = "选择题" Then

ct("")

13

本科生课程设计

ElseIf = "填空题" Then

ct("")

ElseIf = "判断题" Then

ct("")

ElseIf = "问答题" Then

ct("")

End If

查询按钮单击事件代码如下:

DataBindGridView()

DataBindGridView子过程代码如下:

Sub DataBindGridView()

Dim strsql1, strsql2, strsql3, strsql4 As String

strsql1 = "select

QuestionID,Question,QuestionSub,QuestionTime,QuestionType from SingleSel where

QuestionSub='" & ng().Trim() & "' and QuestionType='" &

ng().Trim() & "' and QuestionTime='" &

ng().Trim() & "' "

strsql2 = "select

QuestionID,Question,QuestionSub,QuestionTime,QuestionType from RightOrWrong where

QuestionSub='" & ng().Trim() & "' and QuestionType='" &

ng().Trim() & "' and QuestionTime='" &

ng().Trim() & "' "

strsql3 = "select

QuestionID,Question,QuestionSub,QuestionTime,QuestionType from Filling where

QuestionSub='" & () & "' and QuestionType='" &

ng().Trim() & "' and QuestionTime='" &

ng().Trim() & "' "

strsql4 = "select

QuestionID,Question,QuestionSub,QuestionTime,QuestionType from EssayQuestion where

QuestionSub='" & ng().Trim() & "' and QuestionType='" &

ng().Trim() & "' and QuestionTime='" &

ng().Trim() & "'"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand(strsql1, conn)

Dim cmd2 As New OleDbCommand(strsql2, conn)

Dim cmd3 As New OleDbCommand(strsql3, conn)

Dim cmd4 As New OleDbCommand(strsql4, conn)

()

If = "选择题" Then

Dim dr1 As OleDbDataReader = eReader()

urce = dr1

nd()

Session("biaoming") = "SingleSel"

ElseIf = "判断题" Then

Dim dr2 As OleDbDataReader = eReader()

urce = dr2

nd()

Session("biaoming") = "RightOrWrong"

14

本科生课程设计

ElseIf = "填空题" Then

Dim dr3 As OleDbDataReader = eReader()

urce = dr3

nd()

Session("biaoming") = "Filling"

ElseIf = "问答题" Then

Dim dr4 As OleDbDataReader = eReader()

urce = dr4

nd()

Session("biaoming") = "EssayQuestion"

End If

()

End Sub

其中DataBindGridView1子过程代码如下:

Sub DataBindGridView1()

Dim strsql As String

'建立Connection对象

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

'建立Command对象

strsql = "select QuestionID,Question,QuestionSub,QuestionTime,QuestionType

from " & Session("biaoming") & " where QuestionID='" & Session("ID").ToString().Trim()

& "'"

Dim cmd As New OleDbCommand(strsql, conn)

'建立DataAdapter对象

Dim adp As New OleDbDataAdapter(cmd)

'建立DataSet对象

Dim ds As New DataSet()

'填充DataSet对象

(ds, "link")

'绑定数据对象

urce = ("link").DefaultView '指定数据源

nd() '执行绑定

End Sub

对选择题进行操作的页面:

15

本科生课程设计

图 3-5 插入选择题界面

其中插入按钮点击事件代码如下:

Dim strsql, shitibianhao, suoshukemu, chuangjianshijian, shitineirong, xuanxiangA,

xuanxiangB, xuanxiangC, xuanxiangD, daan As String

shitibianhao = ng().Trim()

suoshukemu = ng().Trim()

chuangjianshijian = ng().Trim()

shitineirong = ng().Trim()

xuanxiangA = ng().Trim()

xuanxiangB = ng().Trim()

xuanxiangC = ng().Trim()

xuanxiangD = ng().Trim()

daan = ng().Trim()

strsql = "insert into

SingleSel(QuestionID,Question,Choice_A,Choice_B,Choice_C,Choice_D,Answer,Questio

nSub,QuestionTime,QuestionType) values('" & shitibianhao & "','" & shitineirong &

"','" & xuanxiangA & "','" & xuanxiangB & "','" & xuanxiangC & "','" & xuanxiangD

& "','" & daan & "','" & suoshukemu & "','" & chuangjianshijian & "','" &

Session("QuestionType") & "')"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand("select * from SingleSel where QuestionID='"

& shitibianhao & "'", conn)

()

Dim dr1 As OleDbDataReader = eReader()

If (Not ()) Then

Dim cmd2 As New OleDbCommand(strsql, conn)

Dim dr2 As OleDbDataReader = eReader()

= "插入成功!"

ElseIf MsgBox("此题编号已经存在") Then

End If

()

16

本科生课程设计

当要插入的主键值数据库中已经存在时弹出提示对话框:

图 3-6 当所插编号存在

对填空题页面进行操作的页面 :

图 3-7 填空题添加界面

确定按钮单击事件代码如下:

Dim strsql, shitibianhao, shitineirong, zhengquedaan, suoshukemu, lurushijian As

String

shitibianhao = ng().Trim()

shitineirong = ng().Trim()

zhengquedaan = ng().Trim()

suoshukemu = ng().Trim()

lurushijian = ng().Trim()

strsql = "insert into Filling values('" & shitibianhao & "','" & shitineirong

& "','" & zhengquedaan & "','" & suoshukemu & "','" & lurushijian & "','" &

Session("QuestionType") & "')"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand("select * from Filling where QuestionID='" &

shitibianhao & "'", conn)

()

Dim dr1 As OleDbDataReader = eReader()

If (Not ()) Then

Dim cmd2 As New OleDbCommand(strsql, conn)

Dim dr2 As OleDbDataReader = eReader()

= "插入成功!"

ElseIf MsgBox("此题编号已经存在") Then

End If

17

本科生课程设计

()

对判断题题库进行操作的页面如下:

图 3-8 判断题添加页面

其中确定按钮单击事件代码如下:

Dim strsql, shitibianhao, suoshukemu, chuangjianshijian, shitineirong, cankaodaan

As String

shitibianhao = ng().Trim()

shitineirong = ng().Trim()

cankaodaan = ng().Trim()

suoshukemu = ng().Trim()

chuangjianshijian = ng().Trim()

strsql = "insert into RightOrWrong values('" & shitibianhao & "','" &

shitineirong & "','" & cankaodaan & "','" & suoshukemu & "','" & chuangjianshijian

& "', '" & Session("QuestionType") & "')"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand("select * from RightOrWrong where QuestionID='"

& shitibianhao & "'", conn)

()

Dim dr1 As OleDbDataReader = eReader()

If (Not ()) Then

Dim cmd2 As New OleDbCommand(strsql, conn)

Dim dr2 As OleDbDataReader = eReader()

= "插入成功!"

ElseIf MsgBox("此题编号已经存在") Then

End If

()

对问答题进行操作管理的页面如下:

18

本科生课程设计

图 3-9 问答题添加页面

其中确定按钮单击事件代码如下:

Dim strsql, shitibianhao, shitineirong, cankaodaan, suoshukemu, lurushijian As

String

shitibianhao = ng().Trim()

shitineirong = ng().Trim()

cankaodaan = ng().Trim()

suoshukemu = ng().Trim()

lurushijian = ng().Trim()

strsql = "insert into EssayQuestion values('" & shitibianhao & "','" &

shitineirong & "','" & cankaodaan & "','" & suoshukemu & "','" & lurushijian & "',

'" & Session("QuestionType") & "')"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand("select * from EssayQuestion where QuestionID='"

& shitibianhao & "'", conn)

()

Dim dr1 As OleDbDataReader = eReader()

If (Not ()) Then

Dim cmd2 As New OleDbCommand(strsql, conn)

Dim dr2 As OleDbDataReader = eReader()

= "插入成功!"

ElseIf MsgBox("此题编号已经存在") Then

End If

()

3.2 添加课程

添加课程页面如下:

19

本科生课程设计

图 3-10 课程添加页面

其中添加按钮单击事件如下:

Dim strsql As String

Dim kecheng As String

kecheng = ng().Trim()

strsql = "insert into Sub(QuestionSub)values('" & kecheng & "')"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand("select * from Sub where QuestionSub='" & kecheng

& "'", conn)

()

Dim dr1 As OleDbDataReader = eReader()

If (Not ()) Then

Dim cmd2 As New OleDbCommand(strsql, conn)

Dim dr2 As OleDbDataReader = eReader()

= "插入成功!"

ElseIf MsgBox("此科目在数据库中已经存在") Then

End If

()

若所要添加了课程在数据库中已经存在则弹出提示对话框:

图 3-11 提示对话框

3.3 考试界面

学生点击界面上的试题生成按钮就可以跳转到考试界面

,考试界面是用table布局。下面放置两个Button控件,

分别用于随机生成试题和提交答案,并用一个label控件来显示分数。

20

本科生课程设计

图3-12 考试界面图

其中随机生成按钮单击事件中写入代码:

Dim rand As String

Dim abc() As String

abc = Split("0,1,2,3,4,5,6,7,8,9", ",")

rand = CInt(10 * ((New Random())).NextDouble).ToString '随机生成一个随机

的整数

Session("rand") = rand '用Session来存放随机数,以便判卷时用

Dim strsql1, strsql2, strsql3, strsql4 As String '定义四个Sql查询语句

strsql1 = "select * from SingleSel where QuestionID='" & rand & "' "

strsql2 = "select * from RightOrWrong where QuestionID='" & rand & "' "

strsql3 = "select * from Filling where QuestionID='" & rand & "' "

strsql4 = "select * from EssayQuestion where QuestionID='" & rand & "'"

Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist

Security Info=True;User ID=sa;Initial Catalog=ExamTest;Data Source=.")

Dim cmd1 As New OleDbCommand(strsql1, conn)

Dim cmd2 As New OleDbCommand(strsql2, conn)

Dim cmd3 As New OleDbCommand(strsql3, conn)

Dim cmd4 As New OleDbCommand(strsql4, conn)

()

Dim dr1 As OleDbDataReader = eReader()

Dim dr2 As OleDbDataReader = eReader()

Dim dr3 As OleDbDataReader = eReader()

Dim dr4 As OleDbDataReader = eReader()

If (()) Then '随机生成选择题在Label1中显示,并把其正确答案显示在

TexXZT文本域中

&= "选择题题目:" & ("Question") & "**"

&= "A选项:" & ("Choice_A") & "**"

&= "B选项:" & ("Choice_B") & "**"

&= "C选项:" & ("Choice_C") & "**"

&= "D选项:" & ("Choice_D")

= ("Answer")

End If

If (()) Then '随机生成判断题在Label2中显示,并把其正确答案显示在

TexTKT文本域中

&= "判断题题目:" & ("Question") & " "

21

本科生课程设计

= ("Answer")

End If

If (()) Then '随机生成填空题在Label3中显示,并把其正确答案显示在

TexTKT文本域中

&= "填空题题目:" & ("Question") & " "

= ("Answer")

End If

()

d = False '把Button2按钮设置成不可用

答案提交按钮单击事件中写入代码:

Dim i As Integer

If (() = ()) Then '如果答题人所

选答案与数据库中的答案相同

i += 5 '选择题每题5分

End If

If (() = ()) Then

i += 5 '判断题每题5分

End If

If (() = ()) Then

i += 10 '填空题每题十分

End If

= ng() '在label4上面显示分数,即i的值

22

本科生课程设计

第4章 系统测试

使用黑盒进行测试软件功能:

测试修改密码模块,当两次输入的密码不相同时,弹出提示对话框:

图4-1 密码两次输入不一致

当所要添加的课程在数据库中已经存在时,弹出提示对话框:

图4-2 添加课程已存在

对试题进行插入、删除、修改、查询时,当插入在数据库中已存在主键值的数

据时,系统会出现提示信息(见图3-6)。

23

本科生课程设计

第5章 结束语

本次设计完成了向题库中添加试题,修改试题,删除已经没有价值的试题,

用户可以修改密码。学生可以登录此系统随机选取试卷,计算机自动完成阅卷功

能。此系统运用产生随机数函数自动生成随机数,然后随机从数据库中抽取试题。

对四个表进行查询时,定义运用四个OleDbCommand变量,在一定程度上精简了

代码。

通过本次短学期的编写程序使我懂得了要想做一个合格的作品不是单纯想象

的那么简单,也不是随便的从网络上下载一个敷衍了事,只有通过真正的做了一

遍才能使原本杂乱无章、支离破碎的知识有了一个很好的融会贯通,并初步形成

了一个知识体系,对SQL Server数据库、VB语言、VS2005开发环境有了进一步

的认识,这次题库管理系统设计要处理的数据表、数据表之间的关系、页面之间

的参数传递、变量定义众多,它培养了我们处理众多关系、理清变量之间传送参

数的能力,同时也在无形中培养了我们应用Amdahl定律处理复杂问题、提高大概

率事件效率、分清轻重缓急的能力。

从规范化的软件开发流程中,学习如何规范自己的人生,这是每一个软件编

写者应该具备的素质,虽然有时候感觉整天坐在那里编写代码是一项很无聊的工

作,但是当心里想的东西用计算机语言实现出来的那种成功的喜悦是其他事情无

所替代的,有时候遇到不会的问题、陌生的功能的时候,我会主动的去网上、图

书馆查阅相关的资料,或者恳请老师答疑,在这期间多多少少的培养了我的自学

能力和遇到困难时那种主动解决困难的态度,有句话说得好“细节决定成败,态

度决定命运”,然而我们平时对细节、态度观的形成就是通过好多好多的小事情

来实现的,所以我很珍惜这次小学期实习的机会,虽然时间不是很长,但是它在

微观上让我明白了想画好一个让客户满意的程序,我们必须要有耐心、必须要有

“不破楼兰终不还”的豪情壮志!以前有人说解放战争是胜在后勤上、打的是后

勤,我想在现代在这个浮躁的社会,成功往往都是以耐心为基石、比的是耐心!

在宏观上来讲我们想做好一件事情必须在内心上要重视它,要付出100%的努力,

不能把每件事情都当做自己的负担,我们要把每一件事情都看作是对自己的一个

挑战,在人生路上是对自己的一个磨练!

24

本科生课程设计

参考文献

[1] 张海潘.软件工程导论 [M].清华大学出版社,2008.2.

[2] 王珊,萨师煊.数据库系统概论 [M].高等教育出版社,2006.5.

[3] 张海潘.软件工程导论 [M].清华大学出版社,2008.2.

[4] 尚俊杰.程序设计 [M].清华大学出版社;北京交通大学出版

社.2004.4.

25