NI项目小组数据字典学生管理系统NI_YinZ1StudentManageDataDictionaryModel:学生管理系统需求模型Report:StudentManageAuthor:NI_YinZVersion:1.0Date:2011年11月20日一、数据库数据字典通过对学生管理系统工作的内容以及相关数据流程分析,根据学生管理系统的需要,可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:在mysql中建立了student_manage数据库,共包含八张表:学生表,成绩表,课程表,考试表,学生操行表,教师表,班级表,班级评估表。每张表的字段、数据类型具体以及备注的详细情况如下:1、学生表(student)NI项目小组数据字典学生管理系统NI_YinZ2学生主键(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(以数组形式存入,与成绩对应)NI项目小组数据字典学生管理系统NI_YinZ3成绩分数(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)NI项目小组数据字典学生管理系统NI_YinZ45、学生操行表(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)NI项目小组数据字典学生管理系统NI_YinZ5教师头像(teacher_photo)text教师日志(teacher_log)text教师日志标题(teacher_log_title)text7、班级表(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)NI项目小组数据字典学生管理系统NI_YinZ6班级评估量化理由(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和姓名不可以修改)NI项目小组数据字典学生管理系统NI_YinZ72、教师信息管理注册教师信息(addTeacherInfo)(id自动生成,姓名,密码,性别需要填写正确)修改教师信息(updateTeacherInfo)(id和姓名不可修改)删除教师信息(deleteTeacherInfo)首页登陆(testLogin)(需要选择教师登陆,姓名和密码正确)获取教师列表(acquireTeacherList)获取当前班级以有教师的课程(getCurriculumName)3、学生操行管理修改/添加操行信息(replaceStudentBehaviorIfon)(最后都会更新到到数据库,包括各个年级、各个班级所对应下的各个学生、实现按周次和星期数分别管理、操行信息为评分模式、分为“已到”“旷课”“请假”三种、“请假”下分“病假”“事假”、根据不同情况做出不同选择后将进行评分管理、同时更新当前学生当前时间段的操行总分)根据条件获取学生操行(acquireStudentBehaviorIfon)(姓名,班级,时间等等)获取学生最近一天的操行(acquireInitStudentBehaviorIfon)(请求为初始值)4、班级管理班级登记(classLogin)(班级名字,学期名,专业名称,其他信息在别的模块中可得到完善和补充)NI项目小组数据字典学生管理系统NI_YinZ8注销班级(logoutClass)(可直接注销当前焦点班级、包括删除次班级在一切关联中的信息)获得所有班级名字(acquireAllClassInfo)(按照ID先后顺序显示)根据ID获取焦点班级信息(acquireClassInfo)根据班级名字获得焦点班级信息(acquireClassInfoByName)获取所有年级(getAllSemester)根据年级获得所有专业(getAllMajor)获取所有班级(getAllClass)(根据学期名和专业名字)获取所有课程名字(getAllCurriculumName)5、班级评估增加班级评估记录(addClassEvaluating)(学期,专业,班级名字等等)获取所有班级评估记录(getAllEvaluating)(可通过年级、专业、班级所筛选出的对应班级动态进行生成直方图、方便直观的观察班级量化分走向、同时计算当前班级量化分的优值(期望值)、趋值(方差值)6、课程管理获取当前班级课程信息(acquireStudentCurriculumInfo)(班级名字,学期名学期名,星期数等等)更新当前班级课程信息(replaceStudentCurriculumInfo)(星期数目,科目名科目名,课次等等)注销当前班级此学期课程信息(deleteStudentCurriculumInfo)增加新课程(addStudentCurriculumInfo)(根据不同的年级、班级、星期数目)修改课程(changeStudentCurriculumInfo)NI项目小组数据字典学生管理系统NI_YinZ97、成绩管理得到所有成绩的更新时间(getAllGradeTime)(Id,学期,专业,成绩等等)获取此次学生考试成绩(getThisTimeStudentGrade)添加学生成绩(newStudent