研究生管理信息系统的开发流程(转)

该博客围绕研究生管理信息系统展开,先进行系统需求分析,涵盖研究生、导师和专业信息管理。接着进行功能模块、数据表、索引和视图设计,还介绍了创建数据库用户、数据表、索引和视图的操作及 SQL 代码。最后阐述了 VB 工程总体框架、系统运行方式、模块设计和各子窗体设计。
研究生管理信息系统的开发流程
研究生管理信息系统的开发流程:



系统需求分析

研究生个人信息管理
导师信息管理
专业信息管理

功能模块设计

针对上述需求,设计的功能模块如图10.34所示。
0653011584657428.JPG

数据表设计

1.研究生信息数据表
数据表名称:graduate_info。数据表结构如表10.4所示。
065301158476399.JPG
2.专业信息数据表
0653011585094064.JPG
3.导师信息数据表
0653011585172148.JPG

索引和视图设计

1.研究生信息数据表的索引和视图设计
2.专业信息表的索引和视图设计
3.导师信息数据表的索引和视图设计

创建数据库用户

(1)在如图10.35所示的创建用户的【一般信息】选项卡中进行如下设置。
(2)切换到如图10.36所示的创建用户的【角色】选项卡。
0653011585433053.JPG
(3)成功创建上述用户的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
CREATE USER "GRADUATEUSER" PROFILE "DEFAULT"
IDENTIFIED BY "12345678" DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
GRANT UNLIMITED TABLESPACE TO "GRADUATEUSER";
GRANT "CONNECT" TO "GRADUATEUSER";
GRANT "RESOURCE" TO "GRADUATEUSER";
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第10章creategraduateuser.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行creategraduateuser.sql文件创建用户。

创建数据表

1.创建研究生信息表
(1)在如图10.37所示的创建表的【一般信息】选项卡中进行如下操作。
(2)切换到如图10.38所示的创建表的【约束条件】选项卡。
0653011585939652.JPG
(3)上述创建数据表graduateuser.graduate_info的SQL代码如下。
0653011590136955.JPG
(3)上述创建数据表graduateuser.graduate_info的SQL代码如下。
(4)读者可以直接在【SQLPlus Worksheet】中执行createtablegraduateinfo.sql 文件创建数据表graduateuser.graduate_info。
2.创建专业信息表
(1)在如图10.39所示的创建表的【一般信息】选项卡中按照如图所示进行设置。
(2)切换到如图10.40所示的创建表的【约束条件】选项卡。
0653011590681637.JPG
(3)上述创建数据表graduateuser.major_info的SQL代码如下。
0653011591027700.JPG
【参见光盘文件】:第10章createtablemajorinfo.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createtablemajorinfo.sql文件创建数据表graduateuser.major_info。
3.创建导师信息表
(1)在如图10.41所示的创建表的【一般信息】选项卡中按照如图所示进行设置。
(2)切换到如图10.42所示的创建表的【约束条件】选项卡。
0653011591350071.JPG
(3)上述创建数据表graduateuser.director_info的SQL代码如下。
0653011591970218.JPG
【参见光盘文件】:第10章createtabledirectorinfo.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createtabledirectorinfo.sql 文件创建数据表graduateuserdirector_info。

创建索引

1.为研究生信息表的NAME字段建立索引
(1)在如图10.43所示的创建索引的【一般信息】选项卡中按照图示进行操作。
(2)其他选项卡按照默认设置即可。
0653011592094304.JPG
(3)上述创建索引的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
CREATE INDEX "GRADUATEUSER"."研究生姓名字段索引"
ON "GRADUATEUSER"."GRADUATE_INFO"("NAME")
TABLESPACE "INDX"
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第10章createindexgraduate.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createindexgraduate.sql 文件创建数据表graduateuser.graduate_info的索引“研究生姓名字段索引”。
2.为导师信息表的NAME字段建立索引
(1)在如图10.44所示的创建索引的【一般信息】选项卡中按照图示进行操作。
(2)其他选项卡按照默认设置即可。
(3)上述创建索引的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
CREATE INDEX "GRADUATEUSER"."导师姓名字段索引"
ON "GRADUATEUSER"."DIRECTOR_INFO"("NAME")
TABLESPACE "INDX"
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第10章createindexdirector.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createindexdirector.sql 文件创建数据表graduateuser.director_info的索引“导师姓名字段索引”。
0653011592236816.JPG

创建视图

1.为研究生信息表建立视图
(1)在如图10.45所示的创建视图的【一般信息】选项卡中按照图示进行操作。
065301159269708.JPG
(2)其他选项卡按照默认设置即可。
(3)上述创建视图的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_GRADUATE" AS
select *
from graduateuser.graduate_info WITH READ ONLY
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第10章createviewgraduate.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createviewgraduate.sql文件创建数据表graduateuser.graduate_info的视图“VIEW_GRADUATE”。
2.为专业信息表建立视图
(1)在如图10.46所示的创建视图的【一般信息】选项卡中按照图示进行操作。
0653011592860793.JPG
(2)其他选项卡按照默认设置即可。
(3)上述创建视图的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_MAJOR" AS
select *
from graduateuser.major_info WITH READ ONLY
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第10章createviewmajor.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createviewmajor.sql文件创建数据表graduateuser.major_info的视图“VIEW_MAJOR”。
2.为导师信息表建立视图
(1)在如图10.47所示的创建视图的【一般信息】选项卡中按照图示进行操作。
(2)其他选项卡按照默认设置即可。
(3)上述创建视图的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
CREATE OR REPLACE VIEW "GRADUATEUSER"."VIEW_DIRECTOR" AS
select *
from graduateuser.director_info WITH READ ONLY
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第10章createviewdirector.sql
(4)读者可以直接在【SQLPlus Worksheet】中执行createviewdirector.sql 文件创建数据表graduateuser.director_info的视图“VIEW_DIRECTOR”
065301159297879.JPG

VB工程总体框架

开发完成的研究生管理信息系统的总体框架如表10.7所示。
【参见光盘文件】:第10章研究生管理信息系统.vbp。
065301159316315.JPG
0653011593772320.JPG

系统是如何运行的

(1)启动VB,打开配套光盘的工程文件。
(2)如图10.48所示。
0653011593883188.JPG
(3)出现如图10.49所示的工程属性的【通用】选项卡。
(4)打开模块Module1,查看名为Main的过程的代码如下。说明Main过程将启动名为frmMain的主窗体。
0653011594182414.JPG
0653011594246141.JPG
(5)编辑名为frmMain的主窗体,如图10.50所示。
0653011594330123.JPG
(6)出现如图10.51所示的【菜单编辑器】界面,可以查看主窗体的菜单设计。
0653011594697489.JPG
工程中设计的菜单如表10.8所示。
0653011594793143.JPG
065301159496395.JPG
(7)为什么这些菜单可以调用这些子窗体或者执行退出主窗体的操作呢?在图10.50的主窗体中用鼠标双击,在出现的代码窗口中的主要代码如下。
―――――――――――――――――――――――――――――――――――――
‘选择菜单项DirectorInsertMenu后将显示子窗体FormInsertDirector
Private Sub DirectorInsertMenu_Click()
FormInsertDirector.Show
End Sub
‘选择菜单项DirectorSelectMenu 后将显示子窗体FormSelectDirector
Private Sub DirectorSelectMenu_Click()
FormSelectDirector.Show
End Sub
‘选择菜单项DirectorUpdateMenu后将显示子窗体FormUpdateDirector
Private Sub DirectorUpdateMenu_Click()
FormUpdateDirector.Show
End Sub
‘选择菜单项GraduateInsertMenu后将显示子窗体FormInsertGraduate
Private Sub GraduateInsertMenu_Click()
FormInsertGraduate.Show
End Sub
‘选择菜单项GraduateSelectMenu后将显示子窗体FormSelectGraduate
Private Sub GraduateSelectMenu_Click()
FormSelectGraduate.Show
End Sub
‘选择菜单项GraduateUpdateMenu后将显示子窗体FormUpdateGraduate
Private Sub GraduateUpdateMenu_Click()
FormUpdateGraduate.Show
End Sub
‘选择菜单项MajorInsertMenu后将显示子窗体FormInsertMajor
Private Sub MajorInsertMenu_Click()
FormInsertMajor.Show
End Sub
‘选择菜单项MajorUpdateMenu后将显示子窗体FormUpdateMajor
Private Sub MajorUpdateMenu_Click()
FormUpdateMajor.Show
End Sub
‘选择菜单项ExitMenu后将显示退出主窗体
Private Sub ExitMenu_Click()
End
End Sub
―――――――――――――――――――――――――――――――――――――

模块的设计

模块Module1的其他主要代码如下。
―――――――――――――――――――――――――――――――――――――
‘定义了名为ConnectString的无参数函数,连接数据库
Public Function ConnectString() As String
ConnectString = "DSN=graduateDB;UID=graduateuser;PWD=12345678"
End Function
‘定义了名为ExecuteSQL的带参数函数,参数SQL和MsgString都为字符串型。该函数用于执行SQL语句。
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
‘conn为ADODB的connection连接对象
Dim conn As ADODB.Connection
‘rest为ADODB的记录集对象
Dim rest As ADODB.Recordset
‘若执行SQL错误转向ExecuteSQL_Error标记处
On Error GoTo ExecuteSQL_Error
Set conn = New ADODB.Connection
‘连接数据库
conn.Open ConnectString
Set rest = New ADODB.Recordset
‘执行SQL字符串语句
rest.Open Trim$(SQL), conn, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rest
MsgString = "查询到" & rest.RecordCount & " 条记录"
‘执行SQL完毕后关闭连接和记录集
ExecuteSQL_Exit:
Set rest = Nothing
Set conn = Nothing
Exit Function
‘执行SQL错误时的处理方法
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
‘定义了名为Checktxt的带参数函数,参数txt为字符串型。该函数用于检测txt字符串是否有内容。
Public Function Checktxt(txt As String) As Boolean
If Trim(txt) = "" Then
Checktxt = False
Else
Checktxt = True
End If
End Function
―――――――――――――――――――――――――――――――――――――

各子窗体的设计

1.添加信息窗体的设计
打开名为FormInsertGraduate的子窗体,如图10.52所示。
0653011595253964.JPG
窗体的设计如表10.8所示。
表10.8 子窗体FormInsertGraduate的设计
0653011595361539.JPG
065301159545066.JPG
0653012000046103.JPG
窗体的程序代码分析如下。
0653012000183546.JPG
0653012000436549.JPG
0653012000489259.JPG
0653012001255755.JPG
0653012001992045.JPG
2.修改信息窗体的设计
打开名为FormUpdateGraduate的子窗体,如图10.53所示。
0653012002337399.JPG
窗体的设计如表10.10所示。
0653012002682221.JPG
0653012003452443.JPG
窗体的程序代码分析如下。
0653012003990026.JPG
0653012004050260.JPG
0653012004221678.JPG
0653012004934773.JPG
0653012005635357.JPG
0653012010281100.JPG
0653012010710230.JPG
3查询信息窗体的设计
打开名为FormSelectGraduate的子窗体,如图10.54所示。窗体的设计如表10.11所示。
0653012011748636.JPG
窗体的代码设计如下。
0653012012715079.JPG
0653012012858091.JPG
0653012013312166.JPG
0653012013851075.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-123140/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-123140/

C语言课程设计——学生信息管理系统_带数据文件版 系统的功能要求 学校现状分析 1、某学校有本科生和研究生两类学生。 A. 本科生信息:学号、姓名、性别、专业、班级、高数成绩、英语成绩、C语言、总成绩、班级排名、校级排名。其中:学号、姓名、性别、专业、班级、高数成绩、英语成绩、C语言成绩为输入项,总成绩是计算项,班级排名是总成绩在班内的名次,校级排名是总成绩在校内的名次。 B. 研究生信息:学号、姓名、性别、专业、班级、课程综合成绩、论文成绩、总成绩、班级排名、校级排名。其中:学号、姓名、性别、专业、班级、课程综合成绩、论文成绩为输入项,总成绩是计算项,班级排名是总成绩在班内的名次,校级排名是总成绩在校内的名次。 2、学生总成绩计算方法。 A.本科生:总成绩=高数成绩+英语成绩+C语言成绩; B.研究生:总成绩=课程综合成绩+论文成绩; 请使用结构化的程序设计方法,开发一个学生成绩管理系统对学生成绩进行有效管理。 1.2 主要任务 系统的功能要求 1. 添加功能:分本科生和研究生两类人员,实现下列添加功能。 A.本科生:能够添加学生信息,如果高数成绩、英语成绩、C语言成绩都输入,则系统自动计算总成绩。 B.研究生:能够添加学生信息,如果课程综合成绩、论文成绩都输入,则系统自动计算总成绩。 2. 修改功能:分本科生和研究生两类人员,实现下列修改功能。 A.本科生:根据学号来修改任意学生的除学号外的信息。如果高数成绩、英语成绩、c语言成绩都存在,则系统自动计算总成绩。 B.研究生:根据学号来修改任意学生的除学号外的信息。如果课程综合成绩、论文成绩都存在,则系统自动计算总成绩 3. 删除功能:分本科生和研究生两类人员,能够根据学号删除一个学生。 4. 查询功能:分本科生和研究生两类人员,实现下列查询功能。 1) 分页显示全部学生的信息。分页功能:每页显示10条学生的信息,有上一页、下一页、首页和最后一页的功能。 2) 能够按班级显示本班全部学生信息。 3) 能够根据学号或者姓名查询学生信息。 4) 能够在某个班级中查询某门课成绩不及格学生信息。 5. 排序功能:分本科生和研究生两类人员,实现下列排序功能。 1) 所有学生信息按总成绩从高到低排序并显示。 2) 某个班学生信息按总成绩从高到低排序并显示。 6. 统计功能:分本科生和研究生两类人员,实现下列统计与显示功能。 1) 统计某班级某课程的平均成绩、最高成绩、最低成绩。如果学生该门课没有成绩,统计平均成绩时忽略该生。 2) 统计某班级某课程超过课程平均成绩的学生名单及人数。 3) 统计某班级某课程不及格学生名单及人数。 4) 统计某班级某课程不同等级的学生人数。等级标准:优—大于等于90;良—大于等于80且小于90;中:大于等于70且小于80;及格:大于等于60且小于70;不及格:小于60。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值