教学管理系统的设计与实现复习进程Word文档格式.docx
《教学管理系统的设计与实现复习进程Word文档格式.docx》由会员分享,可在线阅读,更多相关《教学管理系统的设计与实现复习进程Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
![教学管理系统的设计与实现复习进程Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/23/fdc2385d-0990-4d08-a3df-1effd420b586/fdc2385d-0990-4d08-a3df-1effd420b5861.gif)
经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图6所示。
下面,结合该实例具体情况,给出具体需求。
图6教学管理业务流程图
经分析之后,本系统要用到六个基本表:
学生信息表,班级信息表,课程信息表,教师信息表,成绩信息表,用户表
学生信息表:
定义了学生的学号,姓名,性别,出生日期,班级号,总学分
班级信息表:
定义了班级的班级号,班级名,学院,专业,人数
课程信息表:
定义了课程的课程号,课程名,学时,学分,开课学期,教师号
教师信息表:
定义了教师的教师号,教师名,性别,职称
成绩信息表:
定义了学生的学号,课程号,分数,学期,班级号
用户表:
教学管理系统注册用户使用
四、数据库逻辑设计
根据图5得出各个关系模式:
学生信息表(学号,姓名,性别,出生日期,班级号,总学分)
班级信息表(班级号,班级名,学院,专业,人数)
课程信息表(课程号,课程名,学时,学分,开课学期,教师号)
教师信息表(教师号,教师名,性别,职称)
成绩信息表(学号,课程号,分数,学期,班级号)
用户表(用户名,密码)
其中用户表是教学管理系统注册用户使用的。
由关系模式得出关系表,如下:
表1 stu学生信息表
字段名
数据类型
含义说明
空值情况
学号
Char(6)
学生编号
主关键字
姓名
Char(8)
学生姓名
不为空
性别
Char
(2)
学生性别
出生日期
Date
可为空
班级号
所在班级
总学分
Dec(4,1)
表2 class班级信息表
班级编号
班级名
Char(12)
班级名称
学院
所在学院
专业
所在专业
人数
Dec
(2)
班级人数
表3 course课程信息表
课程号
课程编号
课程名
学时
课程学时
学分
课程学分
开课学期
教师号
授课教师
外键
表4 teacher教师信息表
教师编号
教师名
教师姓名
教师性别
职称
教师职称
表5 score成绩信息表
分数
考试分数
学期
考试学期
表6user用户信息表
用户名
Varchar(12)
用户名称
密码
用户密码
五、软件功能设计
1、登录到教学管理系统可以完成系统管理功能,学生管理功能,成绩管理功能,班级管理功能,班级管理功能,课程管理功能和教师管理功能(如图6)。
系统管理:
可以实现用户的添加和修改密码。
学生管理:
可以对学生的记录进行添加,删除,修改和查询。
还可以统计某学生,某学期的所有课程的平均成绩。
成绩管理:
可以对成绩记录进行添加,删除,修改和查询。
还可以统计某学生、某学期的所有课程的平均成绩及按班级,按课程计算平均成绩、最高成绩、最低成绩、及格率。
班级管理:
课程管理:
可以对课程记录进行添加,删除,修改和查询。
教师管理:
可以对课程记录进行添加,删除,修改和查询及教师授课情况的查询。
图7软件功能图
2、软件功能介绍
(1)首先进入用户登录界面,在该界面输入有效的用户名与密码,单击“确认”登录。
图8用户登录界面
(2)进入教学管理系统主应用界面后,单击对应的菜单栏选项,选择所需的操作。
图9 主页面
(3)打开学生管理菜单可以对学生的记录进行添加、删除、修改和查询。
上述所示的上海经济发展的数据说明:
人们收入水平的增加,生活水平的提高,给上海的饰品业带来前所未有的发展空间,为造就了一个消费额巨大的饰品时尚市场提供了经济基础。
使大学生对DIY手工艺品的时尚性消费,新潮性消费,体验性消费成为可能。
五、创业机会和对策分析
尽管售价不菲,但仍没挡住喜欢它的人来来往往。
这里有营业员们向顾客们示范着制作各种风格迥异的饰品,许多顾客也是学得不亦乐乎。
在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。
可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。
而这也许正是自己制造所能带来最大的快乐吧。
图10 学生管理页面
可以对学生的姓名和班级分别进行查询。
自制饰品一反传统的饰品消费模式,引导的是一种全新的饰品文化,所以非常容易被我们年轻的女生接受。
(二)上海的人口环境对饰品消费的影响图11学生查询页面
(4)打开成绩管理菜单可以对成绩的记录进行添加、删除、修改和查询。
图1-2大学生购买手工艺品可接受价位分布
图12 成绩管理页面
可以对学号,课程号分别查询,也可以学号、课程号一起查询。
图13成绩查询页面1
在调查中我们注意到大多数同学都比较注重工艺品的价格,点面氛围及服务。
输入班级号、输入课程号计算平均成绩、最高成绩、最低成绩、及格率
市场环境所提供的创业机会是客观的,但还必须具备自身的创业优势,才能使我们的创业项目成为可行。
作为大学生的我们所具有的优势在于:
图14成绩查询页面2
统计某学生,某学期的所有课程的平均成绩
图15学期平均成绩查询页面
(六)DIY手工艺品的“创作交流性”(5)打开班级管理菜单可以对班级的记录进行添加、删除、修改和查询。
十字绣□编制类□银饰制品类□串珠首饰类□图16班级管理页面
输入班级号,对班级所有信息进行查询
图17班级查询页面
(6)打开课程管理菜单可以对课程的记录进行添加、删除、修改和查询。
图18课程管理页面
输入课程号,对课程所有信息进行查询
图19课程查询页面
(7)打开教师管理菜单可以对教师的记录进行添加、删除、修改和查询。
图20教师管理页面
输入教师号,可对教师所授课程时行查询
图21 教师查询页面
六、程序源代码
下面给出系统的部分设计图及部分源代码
(1)在进行系统界面编程前,先建立数据库,并建立外键。
(2)数据库建立后,进行窗口编程。
首先建立一个新的工作空间和应用。
连接数据库,在应用的open事件下输入如下代码:
//ProfileStudent
SQLCA.DBMS="
ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="
Connectstring='
DSN=student'
"
connect;
ifsqlca.sqlcode<
>
0then
messagebox("
连接失败"
"
不能连接数据源"
)
return
endif
open(w_login)
(3)学生管理页面、成绩管理页面、班级管理页面、课程管理页面、教师管理页面功能似,类所以以学生管理页面为例,学生管理页面(图10)的代码如下:
显示按钮cb_3的代码:
dw_1.retrieve('
%'
'
添加按钮cb_tianjia的代码:
stringls_ssex
decls_szong
ifrb_1.checkedthen
ls_ssex='
男'
else
ifrb_2.checkedthen
女'
endif
ls_szong=dec(sle_5.text)
insertintostuvalues
(:
sle_1.text,:
sle_2.text,:
ls_ssex,:
em_1.text,:
sle_4.text,:
ls_szong);
commit;
dw_1.scrolltorow(dw_1.rowcount())
删除按钮cb_1的代码:
dw_1.deleterow(dw_1.getrow())
修改按钮cb_4的代码:
dw_1.selectrow(dw_1.getrow(),false)
ifcb_4.text="
修改"
then
dw_1.selectrow(dw_1.getrow(),true)
cb_4.text="
确认"
sle_1.text=dw_1.getitemstring(dw_1.getrow(),"
学号"
sle_2.text=dw_1.getitemstring(dw_1.getrow(),"
姓名"
em_1.text=string(dw_1.getitemdate(dw_1.getrow(),"
出生日期"
))
sle_4.text=dw_1.getitemstring(dw_1.getrow(),"
班级号"
sle_5.text=string(dw_1.getitemdecimal(dw_1.getrow(),"
总学分"
ifdw_1.getitemstring(dw_1.getrow(),"
性别"
)='
then
rb_1.checked=true
rb_2.checked=false
else
rb_2.checked=true
rb_1.checked=false
else
stringls_ssex
else
dw_1.setitem(dw_1.getrow(),"
sle_1.text)
sle_2.text)
sle_4.text)
dec(sle_5.text))
date(em_1.text))
ls_ssex)
sle_1.text="
sle_2.text="
sle_4.text="
sle_5.text="
em_1.text="
rb_1.checked=false
rb_2.checked=false
修改按钮cb_2的代码:
dw_1.update()
其中dw_1的DataObject属性为d_stu.
(4)学生查询页面、成绩查询页面、班级查询页面、课程查询页面、教师查询页面功能类似,所以以学生查询页面为例,学生查询页面(图11)的代码如下:
学生查询按钮cb_1的代码:
+sle_1.text+'
'
班级查询按钮cb_2的代码:
+sle_2.text+'
(5)按班级号、按课程号计算平均成绩、最高成绩、最低成绩、及格率功能类似,所以以查询班级号的及格率为例,查询班级号的及格率页面(图14)的代码如下:
Tab_1.tabpage_4.cb_7的clicked事件下的代码为:
integercount1,result,count2
declarejisuancursorfor
select分数fromscore
where班级号=:
sle_7.text;
openjisuan;
fetchjisuaninto:
result;
dowhilesqlca.sqlcode=0
count2=count2+1
ifresult>
=60then
count1=count1+1
loop
closejisuan;
messagebox("
提示"
该班级的及格率是:
+string((count1/count2)*100)+'
(6)查询教师授课成绩页面(图19)的代码如下:
Teacher表与course表以教师号为外键建立关联。
按钮Cb_1的clicked事件下的代码:
其中dw_1的DataObject属性为d_shouke
七、心得体会
PowerBuilder开发工具是一款比较好用的开发工具,通过这次课程设计,我基本上掌握了PB开发工具的运用,能独立完成一些小型软件的设计了,不得不说,课程设计是一门必要的课程。
在做《教学管理系统》的这段时间里让我学会了很多,也懂得了很多。
通过这次课设让我更深刻的了解到了在课堂上的学习总是肤浅的,只有在实践中才能学到更多的东西,才能对书本上的知识理解的更透彻。
数据库理论是建数据库的基础,使数据库的建立更加完善,使数据库之间的联系更加紧密。
只有数据库组织数据还是远远不够的,因为人是最终用户,所以操作界面必须得友好,操作起来更加得心应手。
在本次课程设计过程中,我查阅了大量的关于教学管理系统的资料和网站,通过老师的指导和自己的努力,终于完成了本次课程设计。
希望在以后的学习生活当中能够再接再厉。
最后的结果固重要,但更重要的是它让自己了解了数据库设计的一般过程。
在接受客户的一个项目的时候,首先是进行系统分析。
首先分析其以后的销售情况以及技术可行性。
如果二者可行,我们接下来做的就是总体设计。
我们首先必须听取客户的要求,将其提出的功能按某种方式划分为几种模块。
这就是整体设计。
在对每一个模块进行细化形成最为简单的模块。
然后是考虑每一细化模块的算法并将其用语言刻画出来。
这就是详细设计。
这就迈出了最为关键的一步。
剩下的就是编译测试阶段。
这是编程的必经阶段,也是我们劳动结果的验金石。
只有得到我们期望的结果我们才算真正完成了任务。
克服困难,坚持不懈作为一个软件编程者更是必不可少的。
只有敢于对困难说不,我们才能成为真正的软件编程者。
不懈上帝是公平的,又付出就有回报。
眼前的困难只是你前进路上的绊脚石。
只要我们不怕痛,我们就能坚持的走下来,最终走向胜利。
人类需要处理的数据越来越多,对数据管理的要求也越来越重要。
软件的发展也从面向程序发展成为面向数据。