
学生成绩管理.docx
13页滨江学院课程设计报学年学期2010-2011学年第二学期 课程名称数据库系统课程设计 院 系 计算机系专 业 软件工程学 号 20082344004姓 名 王朋 指导教师 刘 生二0 年十二月十二日1. 系统需求分析采用学生成绩管理系统来管理学生信息有利于教师提高工作效 率,进一步提高办学效益,实现学生信息管理系统的规范化、系统化、 自动化进过对一部分已有系统的参考我认为系统要满足以下几个方 面的要求:从教务管理者角度来看,系统必须能够实现即时查询功能,记录 学生的成绩,实现对成绩的各种操作等功能这主要包括:学生信息 的录入、删除及修改,课程信息的录入,删除和修改,班级信息的录 入、删除及修改,教师信息的录入,删除和修改,课程表信息的录入, 删除和修改,专业信息的录入,删除和修改,各种信息的单条件查询 和多条件的组合查询,以及学生各科成绩的多关键字检索查询系统管理员可添加用户信息,更改用户信息和删除用户信息,同 时可以针对其他的信息具有所有的权限;任课教师可以录入信息,学 生只能对所有的信息具有查询的功能,不具有修改、删除和录入的权 限系统能够提供数据信息授权访问,防止随意删改,同时提供信息 备份的服务等。
总之,希望通过本系统的开发,可以解决学生成绩管理、课程 信息管理、学生基本信息管理、课程表信息和教师基本信息的管理等 功能,还可以进行班级信息的管理,同时能够实现系统管理,主要是 针对登录用户的添加、删除、修改和查询功能,使学校对学生的成绩 管理自动化和规范化2. 系统概念结构设计按照用户需求,可将“学生成绩管理系统”设计成以下的层次结 构,如下图1-1所示对图1-1中所示的系统功能解释如下学生成绩管理系统课程表查询教师信息查询系统管理添加修改删除学生信息查询添加修改删除课程信息添加修改删除删除修改查询添加数据库备份 数据库还原1、 系统管理系统管理有系统管理员身份和用户可以登录,它负责用户的管 理用户分为三大类:一类为系统管理员,可添加,修改,删除和查 询各类用户;另一类用户是任课教师,可以修改自己和登录信息;最 后一类用户是学生,只能修改自己的用户信息,不具有添加,修改和 删除和操作权限系统管理员可以进行数据库和备份与恢复,即日常 数据管理2、 成绩管理成绩管理主要包括学生成绩的输入,也可以对其成绩进行修改, 添加和删除操作,同时能够实现按照学生的学号或者课程编号进行单 条件或者组合条件的查询,并且要能够实现当用户以学生身份登录 时,只能查询自己所学课程的成绩,不具有添加,删除和修改的权限; 当用户以任课教师的身份登录时,可以录入学生的成绩和查询所有学 生的成绩,但是不具有修改和删除学生成绩的权限。
3、 课程管理课程管理专门对各系及各班的课程信息进行添加,删除和修改, 同时能够实现按照课程编号,课程类型或者学分,进行单条件或者组 合条件的查询,并且当登录用户身份是学生或者登录用户身份是任课 教师时,只能进行查询课程信息的操作4、 教师基本信息管理教师基本信息管理有关教师基本信息录入,修改,查询和删除, 同时能够实现按照教师代号,教师名称或者教师性别,进行单条件或 者组合条件的查询,并且当登录用户身份是学生时,不能对此模块进 行任何操作5、课程表管理有关课程表基本信息的录入,修改,查询和删除,同时能够实现 按照学期,班级代码,教师姓名或者课程名称,进行单条件或者组合 条件的查询,并且当登录用户身份是学生或者登录用户身份是教师 时,只能进行查询课程表信息的操作3. 物理结构设计根据实际情况的需要,系统一共需要的表如下:系统数据表及其 用途如表所示数据表名称与用途数据表名称数据表用途用户登录表(Userinfo)用户登录信息教师信息表(Teacherinfo)学校教师基本信息学生信息表(St uden tinfo)学校学生基本信息成绩信息表(Stu Grade)学生成绩信息课程信息表(Courseinfo)所有课程基本信息课程表(CourseSchedule)课程表信息用户登录表(Userinfo)字段名中文描述类型长度是否可为空是否主键Userid用户名Varchar10否是Userpwd用户密码Varchar10是否Userleved用户权限Varchar10是否数据库中用户登录表的部分信息UseridUserpwdUserLevel070201070201学生070101070101学生YangYang管理员Tiantiantian教师教师信息表(Teacherinfo)字段名中文描述类型长度是否可为空是否主键Teaid教师编号Varchar10否是Teaname教师姓名Varchar20是否Teasex教师性别Varchar2是否Teloffice办公室Varchar11是否Address地址Varchar100是否TeaBirthday出生日期Datetime8是否学生信息表(St ude nt Info)字段名中文描述类型长度是否可为空是否主键Sno学号Varchar6否是Sname姓名Varchar20是否Sex性别Varchar2是否Birthday出生日期Datetime8是否Classid所在班级Varchar50是否TelVarchar20是否Address住址Varchar100是否成绩信息表(Stu Grade)字段名中文描述类型长度是否可为空是否主键Sno学号Varchar10否是Cno课程编号Varchar10是是Gradepeacetime平时成绩Numberic9,1是否Gradeexpriment实验成绩Numberic9,1是否Gradelast期末成绩Numberic9,1是否Grade总成绩Numberic9,1是否课程信息表(Courseinfo)字段名中文描述类型长度是否可为空是否主键Kcid课程编号Varchar10否是Kcname课程名称Varchar50是否Periodexpriment实验学时Int4是否Periodteaching讲课学时Int4是否Credit总学分Numberic9,1是否Coursetype课程类型Varchar6是否课程表(CourseSchedule)字段名中文描述类型长度是否可为空是否主键Termid学期Varchar10否是Classid班级名称Varchar10是否Kcid课程编号Varchar10是是Teaid教师编号Varchar10是是在进行系统登陆过程中,登陆模块将调用数据库里的操作员字典 表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后, 系统登陆才会成功。
当输入了错误的或者是不存在的用户名和密码 时,系统会给出出错信息提示,指明登陆过程中的错误输入或错误操 作,以便用户进行正确的登陆验证用户登录信息代码如下:string username, password;if (UserName.Text.Trim() != "" && UserPwd.Text.Trim() !=""){username = UserName.Text.Trim();password = UserPwd.Text.Trim();DataClass myDataClass = new DataClass();if (myDataClass.CheckAdmin(username, password)){Constants.Username = UserName.Text.Trim(); frmMain myMain = new frmMain();myMain.Show();this.Hide();}else{MessageBox.Show("您输入的账号或密码有误,请重新登录!");UserName.Focus();}}else{ MessageBox.Show("请输入信息! "); }〃检测用户是否存在的sql语句sql = "select count(l) from UserInfo where Userid='" + strname + "' and Userpwd='" + strpwd +用户权限的检测用如下代码:Constants.Userlevel = ds.Tables[0].Rows[0]["UserLevel"].ToString();/从数据 库中读取其操作权限if (Constants.Userlevel =='学生")〃如果其用户是学生{MenuItemYHCX.Enabled = false;//该窗体不可操作MenuItemBJXXTJ.Enabled = false;MenuItemBJXXXGEnabled = false;}else if (Constants.Userlevel =='教师") 〃如果其用户是教师{MenuItemBJXXTJ.Enabled = false;MenuItemBJXXXGEnabled = false;MenuItemCJLR.Enabled = false;}else 〃如果其用户是管理员{MenuItemBJXXTJ.Enabled = true;//该窗体可操作MenuItemBJXXXGEnabled = true;MenuItemCJLR.Enabled = true;}在此只列举了若干个窗体的权限设置,其他的依次类推。
4.系统逻辑结构设计① 用户管理该模块包括四个功能:用户查询、用户修改、用户删除、用户添加;管理员用户可以执行以上四个操作,但是教师和学生仅可以进行 用户修改,即可以修改自己的登录密码② 重新登录该功能为退出系统重新登录③ 数据库备份④ 数据库还原⑤ 成绩查询成绩录入该功能只有管理员可操作,且当输入学生学号时,学生姓名 可以自动从数据库中查询得到,输入课程编号时,课程名称也可以自 动从数据库中提取出来其中代码如下所示:private void tbStuID_TextChanged(object sender, EventArgs e){if (tbStuID.Text.Trim() !=""){StudentInfoData data = new StudentInfoData();data.Sno = tb。
