天津农学院计算机科学与技术2班学生信息管理系统
课 程 设 计
中文
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目: 天津农学院计算机科学与技术2班学生信息管理系统
学生姓名 沈莉
系 别 计算机系
专业班级 2009级计算机科学与技术专业2班
指导教师 余秋冬
成绩评定
2010年,月
目 录
1绪论……………………………………………………………………………………1 1.1开发背景……………………………………………………………………………1 1.2开发目的……………………………………………………………………………1
1.3设计思路……………………………………………………………………………12系统总体说明………………………………………………………………………...2 2.1使用环境……………………………………………………………………………2 2.2系统主要功
能………………………………………………………………….......2 2.3系统主要特点………………………………………………………………………2 3开发环境与相关技术………………………………………………………………...2 3.1开发环境……………………………………………………………………………2 3.2开发工具……………………………………………………………………………2 3.3设计
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
与技术……………………………………………………………………2 4系统设计要点………………………………………………………………………...3 4.1关键界面设计与代码………………………………………………………………3 4.2数据库设计…………………………………………………………………………8 4.2.1数据库需求分
析.......................................................................
.............9
4.2.1数据库逻辑结构设
计.......................................................................
......9
4.2.3数据字
典.......................................................................
......................11
5讨论…………………………………………………………………………………..11 5.1设计存在的问题…………………………………………………………………..11 5.2进一步改进设想…………………………………………………………………..12 5.3经验与体会………………………………………………………………………..12
天津农学院计算机科学与技术2班
沈 莉
,天津农学院 计算机科学系,
1.绪论
随着现代科学技术的迅速发展,数据库技术已经成为现在信息技术的重要组成部分。作为现代计算机信息系统和计算机应用系统的基础和核心,数据库的开发和应用一直是管理信息系统和软件
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
实现的重要支柱。
本文旨在利用PowerBuilder建立一个学生管理信息系统,使得广大师生信息能得到具体化,合理化的管理,从而能够形成一个良好的体系。 1.1开发背景
本项目的任务提出者及开发是学生管理系统软件开发小组,用户是教学办公室。
本产品能具体化,合理化的管理学生的学生档案,用结构化的思维方式去了解计算机的基本工作原理和汉语程序设计。
现今学生管理的繁琐给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学生管理软件,为了对学生档案的管理方便,因此开发了本软件。
1.2开发目的
本要求的编写目的在于研究学生管理系统软件的开发途径和应用方法。
本需求的预期读者是与学生管理系统软件开发有联系的决策人,开发组成人员,辅助开发者,支持本项目的领导和公司人员,软件验证着。 1.3设计思路
根据简单分析用户的需要,以及本管理系统所要达到的目的,规划出系统管理模块,学生管理模块,班级信息管理模块,成绩管理模块,从而定义出菜单的基本样式。
再设计数据库,分别建立所需要的系统用户表,学生基本信息表等6个表,确定好每个表的主键外键,理清表与表之间的关系后,插入所需要的数据。再建立数据窗口,和每个表相对应。
利用数据窗口嵌入到窗口中,是的在窗口可以查看后台数据库中的数据,以达到查询,添加,删除等基本功能。
1
最后可根据菜单建立一系列所需要的窗口,设置控件等,编写正确的代码,达到运行目的。
2系统总体说明
2.1使用环境
Windows xp及以上版本
2.2系统主要功能
能够系统地管理学生的各类信息,能够快速地进行学生各类信息的查询,有良好的人机界面,原始数据的编辑简单方便,数据稳定性好,减少人工参与的基本信息的录入,具有良好的自治功能和信息循环。
2.3系统主要特点
深入了解院校学生管理工作,直接用户亲身指导下的产品,真正贴合学生管理工作需要,提供全方位的学生管理工作服务,提升学生管理工作水平。
系统操作的友好性:本系统界面友好,操作简便,充分考虑了人性化设计。系统具有易用性,从而更易为使用者所接受,降低推广难度,减少培训的工作量,在最短的时间内让非专业人员轻松上手。其中的每个模块都采用统一的数据记录定位操作和数据编辑操作。学会了对一个模块的数据操作后即可操作系统所有的模块,让人员真正的将精力花在学生管理上,而不是简单和繁重的信息处理上。
强大的权限管理功能,提供全面的安全策略,系统中提供了用户管理系统。每个用户在使用系统之前,必须进行身份验证,并根据其身份与角色配置相应的控制、访问权限。权限可设到功能模块的进入、维护等权限,也可以控制相应模块的数据范围,通过集中的用户权限管理可使不同的功能子系统以最安全的模式协调工作。
3开发环境与相关技术
3.1开发环境
Windows 7旗舰版
3.2开发工具
PowerBuilder 10.0 Sybase anywhere 9.0
3.3设计方法与技术
首先是需求分析阶段,作为学生管理系统本身需求,需要最起码两种用户,一种用户可以使用简单的共能,还有一种用户可以实现管理功能。
2
其次要分析含有哪些基本功能。系统大致可分为5个模块,系统管理模块可以简单的实现用户的登录,修改密码等功能。学生管理模块,包含学生的基本信息,班级信息管理包含班级和年级的基本信息,课程管理模块包括各个班级年级的基本课程信息,成绩管理模块包括各个学生的对应科目的成绩。
4系统设计要点
4.1关键界面设计与代码
用户登录界面
string ls_name,ls_getpass,ls_pass,ls_getname ls_getname=trim(sle_1.text)
ls_getpass=trim(sle_2.text)
if ls_getname="" or ls_getpass="" then
messagebox("提示","操作员名称或密码不能为空",exclamation!) end if
select user_id,user_pwd,user_des
into :ls_name,:ls_pass,:ls_des from user_info
where user_id=:ls_getname ;
if sqlca.sqlcode<>0 then
messagebox("错误","没有找到")
3
sle_1.text=""
sle_2.text=""
sle_1.setfocus()
return
end if
if ls_name=ls_getname and ls_pass=ls_getpass then
messagebox("正确","欢迎使用",exclamation!)
if ls_des="一般用户" then
open(w_一般用户)
else
open(w_超级用户)
end if
else
messagebox("错误","不能使用该系统",exclamation!)
return
end if
close(w_用户登录)
添加用户
Open事件代码
dw_1.settransobject(sqlca) dw_1.retrieve()
4
添加按钮代码
long ll_row
ll_row=dw_1.insertrow(0) dw_1.scrolltorow(ll_row) dw_1.setrow(ll_row)
更新按钮代码
if dw_1.update()=1 then
commit;
messagebox("成功","更新成功")
else
rollback;
messagebox("失败","更新失败")
end if
删除按钮代码
int li_select
li_select=messagebox("提示","删除吗,",exclamation!,yesno!)
if li_select=1 then
dw_1.deleterow(0)
end if
关闭按钮代码
close(w_添加用户)
修改用户密码(图见代码下)
string ls_name,ls_getpass,ls_pass,ls_getname,ls_newpass,ls_confpass
ls_getname=trim(sle_1.text) ls_getpass=trim(sle_2.text) ls_newpass=trim(sle_3.text) ls_confpass=trim(sle_4.text) if ls_getname=" " or ls_getpass=" " then
messagebox("提示","操作员名称或密码不能为空",exclamation!)
return
end if
5
select user_id,user_pwd
into:ls_name,:ls_pass from user_info where user_id=:ls_getname;
if sqlca.sqlcode<>0 then
messagebox("错误","没有找到")
sle_1.text=" "
sle_2.text=" "
sle_1.setfocus()
return
end if
if ls_name=ls_getname and ls_pass=ls_getpass then
if ls_newpass=ls_confpass then
update user_info set user_pwd=:ls_confpass
where user_id=:ls_getname;
if sqlca.sqlcode<>0 then
rollback;
messagebox("错误","修改密码失败",exclamation!)
return
end if
commit;
messagebox("成功","修改口令成功",exclamation!)
close(parent)
else
messagebox("错误","新密码和确认密码不一致,请重新输入",exclamation!)
sle_3.text=" "
sle_4.text=" "
sle_3.setfocus()
end if
else
messagebox("错误","输入的操作员名称和密码不正确,请重新输入",exclamation!)
6
sle_1.text=" "
sle_2.text=" "
sle_3.text=" "
sle_4.text=" "
sle_1.setfocus()
return
end if
查询相关信息(图见代码下)
Open事件代码
dw_1.settransobject(sqlca)
dw_1.retrieve()
ddlb_1.additem("学号")
ddlb_1.additem("班号")
ddlb_1.additem("姓名")
查询按钮代码
string oldsql,newsql oldsql=dw_1.getsqlselect()
choose case ddlb_1.text
case "学号"
7
newsql=oldsql+"where student_id="+"'"+sle_1.text+"'"
case "班号"
newsql=oldsql+"where class_no="+"'"+sle_1.text+"'"
case "姓名"
newsql=oldsql+"where student_name="+"'"+sle_1.text+"'"
end choose
dw_1.setsqlselect(newsql)
dw_1.retrieve()
dw_1.setsqlselect(oldsql)
4.2数据库设计
数据库在学生管理系统中占有很重要的地位,数据库设计的好坏将直接 对应用系统运行的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的速率,保证数据的完整和一致。同时,合理的数据库设计也将有利于程序的实现。
设计数据库时应充分了解用户的需求,包括现有的以及将来可能会出现的需求。
4.2.1数据库需求分析
用户的需求具体体现在查询,修改,删除,这就要求数据库结构能充分满足信息的输入和输出。收集基本数据以及数据结构和数据处理的流程,编成一份详细的数据字典,为后面的数据设计打好基础。
8
在仔细调查有关信息的基础上,将得到如下所示的本系统的数据流程。针对
一般数据库的数据流程,设计了如下的数据项和数据结构。
, 系统管理信息,包括的数据项有用户名称,用户密码,用户描述。
, 学生基本信息,包括的数据项有学生姓名,学号,性别,班级号,出生日期,
联系方式,入校时间等。
, 班级基本信息,包括的数据项有班号,年级,班主任,教室。
, 课程设置信息,包括的数据项有课程编号,课程名称,课程类型,课程描述。
, 成绩管理信息,包括的数据项有考试编号,学生学号,学生姓名,学生班号,
课程名称,分数。
4.2.2数据库逻辑结构设计
学生管理系统的各个数据的表格设计结果如下图所示:
user_Info 系统用户表
列名 数据类型 可否为空 说明 user_ID CHAR(10) NOT NULL 用户名称(主键) user_PWD CHAR(10) NULL 用户密码 user_DES CHAR(10) NULL 用户描述
student_Info 学生基本信息表
列名 数据类型 可否为空 说明 student_ID INT(4) NOT NULL 学生学号(主键) student_Name CHAR(10) NULL 学生姓名 student_Gender CHAR(2) NULL 学生性别 born_Date DATETIME(8) NULL 出生日期 class_No INT(4) NULL 班号 (wai) tele_Number CHAR(10) NULL 联系电话 ru_Date DATETIME(8) NULL 入校时间 address VARCHAR(50) NULL 家庭住址 comment VARCHAR(200) NULL 注释
9
class_Info 班级信息表格
列名 数据类型 可否为空 说明 class_No INT(4) NOT NULL 班号(主键) grade CHAR(10) NULL 年级 Director CHAR(10) NULL 班主任 Classroom_No CHAR(10) NULL 教室
course_Info 课程基本信息表
列名 数据类型 可否为空 说明 course_No INT(4) NOT NULL 课程编号(主键) course_Name CHAR(10) NULL 课程名称 course_Type CHAR(10) NULL 课程类型 course_Des CHAR(50) NULL 课程描述
gradecourse_info 年级课程基本信息表
列名 数据类型 可否为空 说明 grade CHAR(10) NULL 年级 zhu course_Name CHAR(10) NULL 课程名称
result_Info 学生成绩信息表
10
列名 数据类型 可否为空 说明 exam_No CHAR(10) NOT NULL 考试编号 zhu student_ID INT(4) NOT NULL 学生学号 wai student_Name CHAR(10) NULL 学生姓名 class_No INT(4) NULL 学生班号 course_Name CHAR(10) NULL 课程名称 result FLOAT(8) NULL 分数
4.2.3数据字典
(1).数据流条目,,数据流条目给出某个数据流和定义,它通常是列出该数
据流的各组成数据元素。
该系统中的数据流条目有:
班级信息,班号,年级,班主任,教室
课程信息,课程编号,课程名称,课程类型,课程描述
年级课程信息,年级,课程名称
学生成绩信息,考试编号,学生学号,学生姓名,学生班号,课程名称,分数
系统用户信息,用户名称,用户密码,用户描述
(2).文件条目,,文件条目给出某个文件的定义,列出它的组成数据项,此外
还要给出文件的组织形式。
例:学生信息文件,,学生基本信息记录,,,学生成绩记录,
主键:学生学号,课程号
(3).数据元素条目,,给出某个数据单项的定义,通常是数据项的值类型。
例:学生基本信息记录中“学生学号”的数据值类型为数值类型,有效值范围
为000000,999999。
(4).处理说明条目,,给出数据流程图中不再分解的变换处理说明的定义。
5讨论
5.1设计存在的问题
11
初步设计出来的学生管理系统自然存在一些小漏洞,比如在添加学生成绩时,但是添加的这项课程并没有在添加课程中添加,却仍然可以添加成功,就就是漏洞。别的添加项也同样会出现此类问题。
5.2进一步改进设想
有如上所述的漏洞最好能在更新按钮处编写代码来弹出所需要的窗口。例如,添加学生成绩中添加了别的课程,则在更新按钮事件中编写代码使得智能地
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
发现新增有课程,弹出添加课程窗口,提示管理人员添加课程。
由于本人才疏学浅,顾不会完善此等漏洞,望仁人志士可以进一步修改,谢谢。
5.3经验与体会
通过做这样一个很小的学生管理系统,首先是复习了本学期pb课程的重要的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
,学会运用这样的一个软件,自习学习并深入研究相关的事件代码,有所疑问的和可以改进的可以选择和同学和老师进行交流和讨论,达到一种知其然并知其所以然的状态。
为以后如果自己有想法或需要做出此类管理系统时打下良好的基础。
12