JCHub

  • Home
  • Category
    • A/V
    • WebRTC
    • Beauty of Programming
    • Linux
    • Windows
    • Moments of Life
    • Campus Life
  • Reference
    • API Reference
    • Utilities
    • AV Test
    • Doc
  • Message Board
  • About
Beauty of Programming
Beauty of Programming

基于RBAC的大学学生成绩管理系统

1.背景 当今社会是一个信息爆炸的社会,因为信息科技人们生活发生了巨大的变化,以计算机技术为代表的应用及普及到经济和社会生活的各个方面。这是属于一个大数据的时代,数据库系统几乎在每个领域都发挥着重大作用,用于加强对大量信息的管理,方便了人们的生活。 在大学里学生成绩管理如果靠人力将十分麻烦,有必要设计一个成绩管理系统,为了加强系统的安全性,引入了基于角色的访问控制模型(RBAC),应用该模型可以使不同用户登陆后得到不同的访问权限,不具有某个权限的用户将不能操作该权限,从数据库层进行权限控制有利于提高系统易用性,可扩展性,健壮性以及安全性。本次课程设计就是要设计一个基于RBAC的成绩管理系统,要从底层对用户权限进行控制,而不是在应用层。 2.系统需求分析 2.1需求描述 该成绩管理系统基于RBAC技术,能够对大学里各学生的成绩进行管理。系统有三个角色,分别是学生,教师以及管理员,管理员的权限最大。 学生通过该系统可以查询到自己某个课程的成绩,以及选择某个老师的某个课程。 教师可以录入所教课程学生的成绩,但不能修改,如果要修改只能联系管理员修改,还有查询有哪些学生选了他的课。 管理员拥有所有权限,包括删除用户,给用户重置登录密码,对各表的记录进行删除,增加,修改等。 该系统在微软的SQL SERVER 2008上进行开发,操作系统环境为Windows 7,通过写好的存储过程在数据库层完成各种操作,从而实现成绩管理。 2.2系统功能结构 2.3数据流图 3.数据库设计 3.1全局E-R图 ER图包括两个部分,一个有关用户权限分配,一个有关学生的成绩管理。 3.2数据字典 3.3数据库内关系表定义 用户信息(用户ID,用户名,用户密码) 用户-角色(用户ID,角色ID) 角色(角色ID,角色名) 角色—权限(角色ID,权限ID) 权限(权限ID,动作,对象,表名) 学生成绩(学号,课程号,姓名,成绩) 选课(课程号,课程名,学号,教师号) 教师(教师号,姓名,课程号) 加下划线的表示为主键。 4.数据库实现 4.1关系表(及相关视图)创建SQL代码 建立系统注册成员的信息表,包括用户唯一的账号,密码,姓名: [crayon-69c6f8f47be3e184087157/] 建立角色信息表: [crayon-69c6f8f47be4d549356307/] 建立用户角色联系的表: [crayon-69c6f8f47be51070462744/] 建立角色权限联系的表: [crayon-69c6f8f47be55571194570/] 建立权限信息表: [crayon-69c6f8f47be58252470960/] 建立学生成绩表,包括学号,姓名,课程号,成绩: [crayon-69c6f8f47be5b119395898/] 建立教师表,包括教师号,姓名,课程名: [crayon-69c6f8f47be5e532133970/] 建立选课表: [crayon-69c6f8f47be61670601537/] 建立临时表,用于存储某个用户的权限: [crayon-69c6f8f47be64342959543/] 4.2存储过程、触发器等的创建SQL代码 用户注册: [crayon-69c6f8f47be67334392202/] 修改密码: [crayon-69c6f8f47be6a383491537/] 用户角色分配: [crayon-69c6f8f47be6d215319493/] 角色权限分配: [crayon-69c6f8f47be70549924855/] 删除角色某个权限: [crayon-69c6f8f47be73423835546/] 将某用户数据放入前面创建的一张临时表temp中,调用该存储过程可知用户有哪些权限: [crayon-69c6f8f47be76398021443/] 从临时表得到数据,判断用户是否有此权限: [crayon-69c6f8f47be78998953491/] 安排教师教授某个课程,只有管理员有这权限 [crayon-69c6f8f47be7b805037392/] 学生选课: [crayon-69c6f8f47be7e621173631/] 往student表添加一行数据,即录入成绩,由前面的权限分配可知只有教师管理员有这权限: [crayon-69c6f8f47be81772423285/] 往student表删除某行数据: [crayon-69c6f8f47be84427834449/] 删除某个用户: [crayon-69c6f8f47be87033368587/] 5.应用场景描述(SQL SERVER 2008模拟 在场景描述前我们先为该系统注册了三个用户,分别是张三(ID:1,学生),李四(ID:2,教师),王五(ID:3,管理员),角色信息表按如下初始化: [crayon-69c6f8f47be8a796022417/] 根据上述权限信息,我们给学生,教师,管理员分配了各种权限,示例场景如下: 1)给老师安排某个课程: 假设李四的教师号为2,我们要给李四安排教学1号课程,用到的存储过程为procedure jiaoke。 首先让学生张三安排,执行exec jiaoke 1,2,'李四','1',得到结果: 消息提示该用户无此权限,同时左侧结果提示拥有的权限,避免盲目操作。 同理2号用户作为老师的李四执行也是相同结果,接着安排管理员,3号用户王五执行:exec jiaoke 3,2,'李四','1',得到结果: 2)学生选课: 我们要给张三安排课程,假设安排的是课程号为1,课程名为计算机,李四老师上的课,对于选课,只有学生,管理员有这权限。 首先张三选课,假设张三学号为111,执行: exec xuanke 1,1,'计算机',111,2,得到结果: 教师李四执行:exec xuanke 2,1,'计算机',111,2,结果为: 管理员执行时得到与学生相同的结果。 3)录入成绩 学生选完课后,就可以录入成绩了,此时只有老师管理员有此权限,首先让学生张三自己录入成绩,执行exec saddhan 1,111,'张三',1,95,’计算机’,系统提示无此操作权限。 2号教师执行:exec saddhan 1,111,'张三',1,95,’计算机’,得到结果:

2013年8月17日 0comments 2294hotness 0likes Jeff Read all
Beauty of Programming

html5音频播放(测试)

就来首西城男孩的经典歌曲my love

2013年8月16日 0comments 1186hotness 0likes Jeff Read all
1…34567
Copyright Statement

Unauthorized reproduction or plagiarism in any form is strictly prohibited. For reprint requests, please contact via email.

Recent Comments
snail Published at 12 hours ago(03 03202633105 27 27pm26) 多谢,大佬。醍醐灌顶!
Bramsnawl Published at 19 hours ago(03 03202633110 27 27am26) Proper blood collection playing cards are measure ...
NasibDepdrotte Published at 1 days ago(03 03202633110 26 26pm26) Inf ect isC linNo rth A m viiiix, Sm ets o urgo is...
Pereplanirovka kvartir_cvsr Published at 3 days ago(03 03202633105 25 25pm26) перепланировка услуги [url=https://pereplanirovka-...
Mirzoemele Published at 3 months ago(01 01202613104 06 06pm26) Double blind randomised controlled trial of two to...
Ad

COPYRIGHT © 2026 jianchihu.net. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang