资源描述
NI项目小组数据字典 学生管理系统
Student Manage Data Dictionary
Model: 学生管理系统需求模型
Report: Student Manage
Author: NI_YinZ
Version: 1.0
Date: 2011年11月20日
一、数据库数据字典
通过对学生管理系统工作的内容以及相关数据流程分析,根据学生管理系统的需要,可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:
在mysql中建立了student_manage数据库,共包含八张表:学生表,成绩表,课程表,考试表,学生操行表,教师表,班级表,班级评估表。每张表的字段、数据类型具体以及备注的详细情况如下:
1、学生表(student)
学生主键(student_id) Integer (数据库里长度设置为8)
学生姓名(student_name) varchar(20)
学生密码(student_password) varchar (32)
学生所属专业(student_major) varchar (20)
学生性别(student_sex) varchar (2)
学生年龄(student_age) Integer (数据库里长度设置为3)
学生生日(student_birthday) varchar (10)
学生地址(student_address) varchar (40)
学生兴趣(student_interests) text (学生兴趣以数组形式存入)
学生星座(student_constellation) varchar (6)
学生QQ(student_qq) Integer (数据库里长度设置为11)
学生头像(student_photo) text
学生日志(student_log) text
学生日志标题(student_log_title) text
学生所属班级(studet_class_name) varchar (20)
学生所属年级(student_this_semester) varchar (20)
2、成绩表(grade)
一个学生一条数据每个学生对应的每门课程的成绩
成绩主键(grade_id) Integer (数据库里长度设置为8)
成绩学生名字(grade_student_name) varchar(20)
成绩科目名(grade_curriculum_name) text (以数组形式存入,与成绩对应)
成绩分数(curriculum_grade_num) text (以数组形式存入,与科目对应)
成绩学期名(grade_semester) varchar(20)
成绩专业名(grade_major) varchar(20)
成绩班级名(grade_class) varchar(20)
成绩考试时间/类型(grade_remark) varchar(20)
成绩登记时间(grade_time) date
成绩学生学号(grade_student_num) varchar(50)
3、课程表(curriculum)
一天一课一条数据
课程主键(curriculum_id) Integer (数据库里长度设置为8)
星期数目(week_num) varchar(8) (以如“星期一”形式存入)
课程科目名(curriculum_name) varchar(20)
课程课次(curriculum_this_week_num_time) varchar(30) (以如“第一节”形式存入)
课程所属班级名(curriculum_this_class_name) varchar(20)
当前班级的学期(curriculum_this_semester) varchar(20)
4、考试表(remark)
考试主键(remark_id) Integer (数据库里长度设置为8)
考试类型或者时间(remark_grade_time) text (以如“期末”“一月”形式存入)
当前考试分数(this_time_all_grade) Integer (数据库里长度设置为8)
5、学生操行表(student_behavior)
操行主键(student_behavior_id) Integer (数据库里长度设置为8)
操行学生名(behavior_student_name) varchar(20)
操行学期名(behavior_semester) varchar(20)
操行班级名(behavior_class) varchar(20)
操行学期周数(behavior_week_num) varchar(10)
操行星期数(behavior_weekday) varchar(10)
操行课次(behavior_class_time) text
操行出勤情况(behavior_status) text
操行总分(behavior_all_grade_num) varchar(10)
6、教师表(teacher)
教师主键(teacher_id) Integer (数据库里长度设置为8)
教师姓名(teacher_name) varchar(20)
教师密码(teacher_password) varchar(32)
教师性别(teacher_sex) varchar(2)
教师所教班级名(teacher_class_name) text (以数组形式存入)
教师所教课程(teacher_teach_curriculum) text (以数组形式存入)
教师QQ(teacher_qq) Integer (数据库里长度设置为11)
教师头像(teacher_photo) text
教师日志(teacher_log) text
教师日志标题(teacher_log_title) text
7、班级表(class)
班级主键(class_id) Integer (数据库里长度设置为8)
班级名(class_name) varchar(20)
班级专业名(class_major_name) varchar(20)
班级课程名(class_curriculum_name) text (以数组方式存入与教师名对应)
班级教师名(class_teacher_name) text (以数组方式存入 与课程名对应)
班级学生名(class_student_name) text (以数组方式存入
班级数据单位为班级(个))
当前学期名(class_this_semester) varchar(20)
当前教师所教课程(class_use_curriculum_name) text (以数组方式存入)
8、班级评估表(class_evaluating)
班级评估主键(class_evaluating_id) Integer (数据库里长度设置为8)
班级评估年级名(class_evaluating_semester) varchar(20)
班级评估专业名(class_evaluating_major) varchar(20)
班级评估班级名(class_evaluating_class) varchar(20)
班级评估量化理由(class_evaluating_reason) text
班级评估当前分值(class_evaluating_this_score) Integer (数据库里长度设置为8)
班级评估时间(class_evaluating_time) date
班级评估总分值(class_evaluating_all_score) Integer (数据库里长度设置为8)
二、代码数据字典
通过对学生管理系统工作内容及相关情况的分析,根据学生和老师对管理系统的需要,开发者设计出能满足用户需求的各种模块以及功能,具体情况如下:
根据命名规范:首字母小写,后面单词首字母大写。
在StudentManage中建立了七个模块:学生信息管理,教师信息管理,学生操行表,班级管理,班级评估,课程管理,成绩管理。每个模块的功能,字段以及备注详细情况如下:
1、 学生信息管理(student)
注册学生信息(addStudentInfo) (id学号自动生成,姓名和密码有限制,性别只能是男或女,年龄有范围限制。民族输入正确,联系方式填写正确!)
删除学生信息(deleteStudentInfo)
学生登陆(testLogin) (需要选择学生登陆,姓名,密码需填写正确)
更新学生信息(updateStudentInfo) (姓名,密码,性别,年龄等等)
获取学生列表(acquireStudentList)
获取所有学生信息(getAllStudentInfo)
修改学生信息(changeStudentInfo) (id和姓名不可以修改)
2、 教师信息管理
注册教师信息(addTeacherInfo) (id自动生成,姓名,密码,性别需要填写正确)
修改教师信息(updateTeacherInfo) (id和姓名不可修改)
删除教师信息(deleteTeacherInfo)
首页登陆(testLogin) (需要选择教师登陆,姓名和密码正确)
获取教师列表(acquireTeacherList)
获取当前班级以有教师的课程(getCurriculumName)
3、 学生操行管理
修改/添加操行信息(replaceStudentBehaviorIfon) (最后都会更新到到数据库,包括各个年级、各个班级所对应下的各个学生、实现按周次和星期数分别管理、操行信息为评分模式、分为“已到”“旷课”“请假”三种、“请假”下分“病假”“事假”、根据不同情况做出不同选择后将进行评分管理、同时更新当前学生当前时间段的操行总分)
根据条件获取学生操行(acquireStudentBehaviorIfon) (姓名,班级,时间等等)
获取学生最近一天的操行(acquireInitStudentBehaviorIfon) (请求为初始值)
4、 班级管理
班级登记(classLogin) (班级名字,学期名,专业名称,其他信息在别的模块中可得到完善和补充)
注销班级(logoutClass) (可直接注销当前焦点班级、包括删除次班级在一切关联中的信息)
获得所有班级名字(acquireAllClassInfo) (按照ID先后顺序显示)
根据ID获取焦点班级信息(acquireClassInfo)
根据班级名字获得焦点班级信息(acquireClassInfoByName)
获取所有年级(getAllSemester)
根据年级获得所有专业(getAllMajor)
获取所有班级(getAllClass) (根据学期名和专业名字)
获取所有课程名字(getAllCurriculumName)
5、 班级评估
增加班级评估记录(addClassEvaluating) (学期,专业,班级名字等等)
获取所有班级评估记录(getAllEvaluating) (可通过年级、专业、班级所筛选出的对应班级动态进行生成直方图、方便直观的观察班级量化分走向、同时计算当前班级量化分的优值(期望值)、趋值(方差值)
6、 课程管理
获取当前班级课程信息(acquireStudentCurriculumInfo) (班级名字,学期名学期名,星期数等等)
更新当前班级课程信息(replaceStudentCurriculumInfo) (星期数目,科目名科目名,课次等等)
注销当前班级此学期课程信息(deleteStudentCurriculumInfo)
增加新课程(addStudentCurriculumInfo) (根据不同的年级、班级、星期数目)
修改课程(changeStudentCurriculumInfo)
7、 成绩管理
得到所有成绩的更新时间(getAllGradeTime) (Id,学期,专业,成绩等等)
获取此次学生考试成绩(getThisTimeStudentGrade)
添加学生成绩(newStudentGrade)
增加考试时间/类型(newGradeRemark)
筛选出成绩信息(getGrade) (通过年级、专业、班级、考试信息、考试、课程等等筛选出对应成绩结果)
删除学生成绩(deleteStudentGrade)
修改学生成绩(changeStudentGrade)
9
NI_YinZ
展开阅读全文