完整版学生管理系统的数据库设计.docx
- 文档编号:26469970
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:16
- 大小:92.46KB
完整版学生管理系统的数据库设计.docx
《完整版学生管理系统的数据库设计.docx》由会员分享,可在线阅读,更多相关《完整版学生管理系统的数据库设计.docx(16页珍藏版)》请在冰豆网上搜索。
完整版学生管理系统的数据库设计
数据库设计
题目思文学生管理系统
姓名
班级
指导教师
学期
2015年12月21日
1.1
基本需求
学生信息管理系统软件,满足以下条件:
(1)能完成学生的学籍注册
(2)学生若不喜欢此时的专业,他们可以自动调剂专业
(3)学生可以选课,并查看个人信息及日常表现情况。
(4)对学生信息、课程信息进行记录。
(5)管理员可以对学生学籍信息的查询,添加,修改,删除;学生信息及成绩的录入,修改,删除。
修改密码等功能。
(6)管理员拥有最高的权限。
允许添加教师信息和课程信息等。
学校需要的就是能满足以上需求的软件。
需求就是一套软件的终极目标,但并不是每一个需求都能达到的,分析人员还要根据开发环境一条条地分析这些需求。
1.1.1该软件的主要功能
(1)对学生信息的管理
(2)对教师信息的管理
(3)对课程信息的管理
(4)对选课信息的管理
(5)对成绩的管理
(6)对学生的日常表现情况
1.2根据需求确定工作环境
1.2.1软件环境
除了要安装学生管理系统外,还必须具备相应的软件环境,才能更好地运行。
(1)应采用统一的软件操作系统(win7),这是为了更好地管理。
(2)服务器上安装数据库系统(SQLServer2005),从而实现信息资源安全化管理。
(3)安装防病毒软件,病毒防火墙等。
因为所有的机器都是互连的,一旦有病毒侵入,容易造成整个系统的瘫痪。
2.概念结构设计
1
2
2.1概念结构设计
概念结构设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。
概要设计要坚持以下几个原则:
(1)细分原则:
软件系统都是由很多不同的模块组成,当设计一套软件时,要先将所有的功能分解。
解决复杂问题的方法是将其分解成几个小问题,一个个来解决。
(2)提高代码重用性:
在面向对象设计中,首先考虑的就是代码的重用,一个好的设计,将来在升级换代时不需要太大的改动,节省了人力物力。
(3)从上而下层层分析:
概要设计要从整体出发,逐个剖析软件的功能,从上而下,先分析系统总的功能,然后一步步细分,直到最小的功能模块。
(4)一致性原则:
概要设计要求所有功能模块在定义时使用统一的规范。
(5)提高独立性,减少耦合:
各个模块与模块之间尽量减少关联,否则修改一个地方就会引起其他多处的变动,不符合面向对象的原则。
一般情况下,对类封装后,只允许对类进行扩展,而不能修改,而封装的类必须具有单一职责,即理论情况下不允许两个类共同完成一个功能。
2.2将用户需求模块化
2.2.1确定系统最终模块
概要设计中最重要的就是确定此项目包括哪些模块。
根据上两节讲述的设计原则和模块特征,将用户需求转化为下面的模块。
(1)管理员模块:
是本系统的核心模块,该模块又包括对学生管理和课程管理2个子模块,功能如下:
学生管理子模块:
实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
图3-1学生管理子模块
课程管理子模块:
实现对课程的添加,实现对课程的修改、删除,查看某个课程的详细信息等。
图3-2课程管理子模块
(2)教师模块:
实现查看自己所教授的课程、课程有哪些学生选修,以及利用本系统提交学生的成绩。
图3-3教师管理模块
(3)学生模块:
实现学生的选课,查看、修改自己的选课信息及查看自己日常的表现情况。
个人信息
图3-4学生模块
3数据库设计
在前面已经罗列出了用户的需求,这也正是数据库信息的来源。
根据列表内容,可以提炼出以下数据信息。
(1)需要管理学生信息:
学生表。
(2)需要管理教师信息:
教师表。
(3)需要管理课程信息:
课程表。
(4)需要管理管理员信息:
管理员表。
实体属性表:
实体
属性
教师
教师ID,教师姓名,登录密码
课程
课程号,课程名称,教师ID
管理员
管理员ID,管理员姓名、登录密码
学生
学号,姓名,性别,密码,身份证号,地址、专业
数据库E-R图设计:
根据数据信息构建表结构
对于如何提取数据表字段,要遵守3个原则。
(1)每个字段都是不可再分的最小数据单位。
(2)非主键字段必须完全依赖于主键
(3)如果两个表存在关联,必须有字段作为外键进行连接。
数据库表的设计
1)用户信息表T_UserInfo
UserID
UserID
Int
主键
用户编号
LoginName
Varchar(50)
唯一
用户名称
UserName
Varchar(50)
用户密码
Password
Varchar(50)
联系电话
Phone
Varchar(20)
Varchar(50)
地址
Address
Varchar(200)
状态
UserStatus
Int
1可用,0停用
所在的部门
DeptID
Int
所属岗位
RoleID
int
2)部门信息表T_Dept
DeptID
DeptID
Int
主键
部门编号
DeptCode
Varchar(20)
唯一
部门名称
DeptName
Varchar(50)
上级部门
ParentDept
int
联系电话
Phone
Varchar(20)
地址
Address
Varchar(200)
3)岗位信息表T_Role
RoleID
RoleID
Int
主键
岗位编号
RoleCode
Varchar(50)
唯一
岗位名称
RoleName
Varchar(50)
上级岗位
ParentRole
int
所属部门
DeptID
Int
4)学生信息表T_StudentInfo
StudentID
StudentID
Int
主键
学生编号
StudentCode
Varchar(50)
学生名称
StudentName
Varchar(50)
专业
SpecialtyID
Int
联系地址
Address
Varchar(200)
性别
StudentSex
Int
出生日期
StudentBorn
Datetime
籍贯
StudentOrigo
int
联系电话
Phone
Varchar(20)
身份证号码
IDCard
Varchar(20)
相片
ImageUrl
Varchar(50)
爱好
hobby
Varchar(50)
状态
StudentStatusID
Int
(0-9保留,10报到,11参加军训,12入学,20分班,90毕业)
政治面貌
PoliticalStatus
Varchar(50)
备注
StudentDesc
Varchar(500)
5)城市信息表T_City
CityID
CityID
Int
主键
城市名称
CityName
Varchar(50)
上级City
ParentCity
int
级别
CityLevel
Int
6)教师信息表T_Teacher
TeacherID
TeacherID
Int
主键
教师姓名
TeacherName
Varchar(20)
电话
Phone
Varchar(20)
性别
TeacherSex
Int
出生日期
TeacherBorn
datetime
专业
SpecialtyID
int
学历
EducationID
int
住址
Address
Varchar(100)
7)班级表信息表T_ClassInfo
ClassID
ClassID
Int
主键
专业
SpecialtyID
Int
班级编号
ClassCode
Varchar(20)
班级名称
ClassName
Varchar(50)
班级状态
ClassStatusID
Int
1空闲,2使用,3毕业
8)班级学生表T_ClassStudent
ClassStudentID
ClassStudentID
Int
主键
ClassID
ClassID
Int
StudentID
StudentID
Int
9)班级老师表T_ClassTeacher
ClassTeacherID
ClassTeacherID
Int
主键
ClassID
ClassID
Int
TeacherID
TeacherID
Int
老师身份
TeacherTypeID
Int
1班主任2任课老师,3辅导员
10)班委信息表T_ClassLeader
ClassLeaderID
ClassLeaderID
Int
主键
ClassID
ClassID
Int
StudentID
StudentID
Int
班委身份
LeaderTypeID
Int
1班长2副班长3学习委员….
11)考勤信息表T_Attence
AttenceID
AttenceID
Int
主键
班级
ClassID
Int
学期
TermID
Varchar(10)
考勤类型
AttenceTypeID
Int
1第一节2第二节,3第三节,4第四节,5晚自习
考勤日期
AttenceDate
Datetime
登记人
UserID
Int
登记时间
RegisterTime
Datetime
学生
StudentID
Int
考勤状态
AttenceStatusID
Int
0正常,1迟到,2早退,3旷课
得分
Score
int
备注
AttenceDesc
Varchar(200)
12)作业信息表T_HomeWork
HomeWorkID
HomeWorkID
int
主键
班级
ClassID
Int
学期
TermID
Varchar(10)
学生
StudentID
Int
课程
CoursesID
Int
作业类型
HomeWorkTypeID
Int
1笔试,2上机
得分
Score
Int
作业时间
HomeWorkDate
datetime
批改人
TeacherID
Int
作业状态
HomeWorkStatusID
Int
1提交,2批改
备注
HomeWorkDesc
Varchar(100)
13)考试信息表T_ExamInfo
ExamID
ExamID
int
主键
班级
ClassID
Int
学期
TermID
Varchar(10)
课程
CoursesID
Int
考试开始时间
ExamStartTime
Datetime
考试结束时间
ExamEndTime
Datetime
考试地点
ExamAddress
Varchar(50)
主监考
TeacherID1
Int
副监考
TeacherID2
Int
14)成绩信息表T_ScoreInfo
ScoreID
ScoreID
int
主键
班级
ClassID
Int
学期
TermID
Varchar(10)
学生
StudentID
Int
课程
CoursesID
Int
课程得分
CoursesScore
Int
平时得分
NormalScore
Int
总得分
TotalScore
Int
时间
ScoreDate
datetime
批改人
TeacherID
Int
备注
ScoreDesc
Varchar(50)
15)公告信息表T_NoticeInfo
NoticeID
NoticeID
int
主键
标题
NoticeName
Varchar(100)
内容
NoticeText
Varchar(2000)
时间
NoticeTime
Datetime
类型
NoticeType
Int
1政策2新闻3体育
浏览次数
BrowseCout
Int
作者
Author
Varchar(20)
排序
sorting
Int
备注
NoticeDesc
Varchar(1000)
16)系统编码表T_SysCode
(可以配置专业类型,公告类型,考勤类型,作业类型,考勤状态,班委身份,
老师身份,班级状态,学生状态(0-9保留,10报到,11参加军训,12入学,20分班,90毕业),课程(),学历)
SysCodeID
SysCodeID
int
主键
系统编码
SysCode
Varchar(100)
参数值
SysValue
int
参数显示文本
SysText
Varchar(50)
上级ID
ParentSysCodeID
Int
4.系统功能设计
系统功能框架
作为一个学生管理系统,本系统的设计主要包含:
系统登录、学生信息管理、班级管理、课程管理和用户管理。
学生管理系统主框架的主要结构如下图所示。
图7-1学生管理系统框架图
学生管理系统登录子系统
学生管理系统登录子系统功能描述
根据用户权限的不同,可以以不同的身份登录学生管理系统。
用户的权限为:
管理员、教师、学生。
其中,管理员为完全权限,可以使用学生管理系统的所有功能;教师为部分权限,不具有使用“学生选课”、“课程修改”功能,并且只能修改本人的用户名和密码;学生为部分权限,具有“选课”、“查看个人信息”和“课程查询”功能,其他模块只具有查询功能,并且只能修改本人的用户名和密码。
在用户登录时,通过用户所输入的用户名和密码来验证用户的登录信息,并判断用户的权限,根据不同的权限打开不同的系统主页面。
学生管理系统
学生管理系统主界面功能描述
根据学生管理系统的主框架。
我们设计了学生管理系统主界面,分别由:
学生信息管理、课程管理、用户管理、退出等5个部分构成。
学生信息管理子系统
课程管理子系统
课程管理子系统功能描述
课程管理子系统对课程信息进行管理,能够录入课程的相关信息,并指定该门课程的任课教师,以供学生选择。
课程管理子系统由:
课程录入、课程修改和课程查询三部分组成。
课程录入界面由文本框、下拉菜单和按钮组成。
用户输入课程名称和该课程的学分,并根据所属专业来选择该门课程的任课教师,提交到数据库。
课程修改界面相关控件布局与课程录入界面相同,用户根据需要修改课程信息后点击修改按钮完成修改操作。
课程管理界面由两部分组成查询信息输入部分和查询信息显示部分。
其中,查询信息输入部分提供了三种不同的查询方式:
按课程名称查询、按专业查询、按学分查询。
用户需先选择查询方式,然后设置查询条件,点击查询按钮实现查询操作。
查询出的信息将显示在界面下半部分的列表中。
用户可以选择列表中的信息进行修改或删除操作。
用户管理子系统
用户管理子系统功能描述
用户管理子系统对系统的用户信息进行管理,能够根据不同的用户权限,实现系统用户的注册、密码修改、删除用户等操作。
5系统的测试
测试是为了更好地完成项目的功能,虽然测试并不能完全模拟实际发生的流程,但可以降低错误的发生概率,提高软件项目的稳定性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 学生 管理 系统 数据库 设计