学生学籍管理系统------上☞(设计报告篇)

一、数据库需求分析

1.1项目提出

随着计算机走进千家万户,改善了我们工作生活的方式,减轻了我们的生活压力。用计算机代替繁重的人工工作,已经成为了一种适应时代潮流的一种方式。在学校中,学生的学籍信息管理是一个非常重要且繁琐的事情,如何既能方便的进行学生信息的录入、删除、更新、修改,为全校师生的学习生活提供便利,又能减轻学籍系统数据库管理人员的工作负担,高效地完成各项信息更新查询工作,是一件非常重要的事情。高校学籍管理数据库应运而生。

1.2.调查使用该学籍管理数据库的用户的实际需求

我们以高校学生学籍管理业务为依托,结合科学管理的理论,设计并开发一个学籍管理系统,提供一个科学合理的学生学籍管理解决方案。根据管理权限的不同,将用户分为学生、教师、教务管理人员三种,具有不同的权限。权限要求如下:

(1)提供简单、方便的信息录入、查询、修改、增加、删除等操作。

(2)根据使用者身份的不同,赋予不同的权限以便其完成对应的操作。

(3)进行成绩更改时,能够自动更改学生的学分总数

(4)节省学籍管理的成本。

(5)对系统提供必要的权限管理。

二、数据库概念结构设计

2.1.实体E-R图

学生:(学号,姓名,性别,年龄,系别,已修总学分)

课程:(课程号,教师编号,课程名,学分)

选课:(学号,课程号,教师编号)

教务处:(职工编号,姓名)

教师:(教师编号,姓名,系号)

选课成绩:(学号,课程号,成绩,学分)

管理:(职工编号,学号)

2.2系统E-R图

E-R图的集成

 三、数据库逻辑结构设计

关系数据模式:

         学生和课程之间是m:n的选课关系,给他们加一个独立的选课表记录。

                学生(学号,姓名,年龄,性别,系别,已修总学分)

                课程(课程号,教师编号,名称,学分)

                选课(学号,课程号,教师编号

        学生和课程之间有一个m:n的选课成绩关系。用一个独立的选课成绩表记录。

                学生(学号,姓名,年龄,性别,系别,已修总学分)

                课程(课程号,教师编号,名称,学分)

                选课成绩(学号,课程号,成绩,学分)

        学生和教务处有m:n的管理关系,用一个独立的管理表记录。
                学生(学号,姓名,年龄,性别,系别,已修总学分)

                教务处(职工编号,姓名)

                管理(职工编号,学号

四、数据库物理结构设计  

 4.1物理设计阶段的目标与任务

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

  1. 确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构。
  2. 对物理结构进行评价,评价的重点是时间和空间效率。在数据库的物理设计中,最主要的自然是决定确定数据存储结构,在数据的存储时间和空间利用率中权衡,选择一个折中的方案。

 4.2数据存储方面

为数据库中各基本表建立的索引如下:

  1. 由于基本表学生信息表的主码学号经常在查询条件和连接操作的连接条件中出现,所以建立索引,优化数据库,使查询的速度更快;
  2. 由于基本表课程信息表的主码课号经常在查询条件和连接操作的连接条件中出现,所以建立索引,优化数据库,使查询的速度更快;

五、数据库操作代码部分

5.1 数据库创建

创建数据库:

此处没有用代码,而是用SQL server management studio操作完成。数据库右击,选择新建数据库,然后在出来的界面中,写上创建的数据库名称,以及行数据和日志的初始大小,自动增量等内容,点击下方添加,新的数据库就添加完成了。

5.2 创建表代码

创建学生表:

create table student(

    sno char(10) not null primary key,

    sname char(20),

    ssex char(2),

    sage smallint,

    sdept char(20),

    scredit smallint

);

创建课程表:

create table course(

    cno char(10) unique not null,

    cname char(40) not null,

    ccredit smallint,

    tno char(10),

    primary key(cno,tno),

    foreign key(tno) references teacher(tno)

)

创建选课成绩表:

create table sc_grade(

    sno char(10),

    cno char(10),

    grade smallint,

    credit smallint,

    primary key(sno,cno),

    foreign key(sno) references student(sno),

    foreign key(cno) references course(cno)

);

alter table sc_grade

add constraint c1 check(grade between 0 and 100)

创建教务管理表:

create table jiaowuchu(

    jno char(10) not null primary key,

    jname char(20)

);

创建教师表:

create table teacher(

    tno char(10) not null primary key,

    tname char(20),

    tdept char(20)

)

创建管理表:

create table manage(

    jno char(10) not null,

    sno char(10) not null,

    primary key(jno,sno),

    foreign key(jno) references jiaowuchu(jno),

    foreign key(sno) references student(sno)

)

创建选课表:

create table sc(

    sno char(10) not null,

    cno char(10) unique not null,

    tno char(10) not null,

    primary key(sno,cno,tno),

    foreign key(sno) references student(sno),

    foreign key(cno) references course(cno),

    foreign key(tno) references teacher(tno)

)

5.3 数据库的查询操作代码

根据学生学号、课程课号等查询成绩信息(单表查询)

根据课程编号查询本课程的最高成绩、平均成绩、最低成绩(多表连接查询)

查询选修了某位老师所教课程的学生的姓名(多表连接查询)

根据学生编号查询该生的所有课程的总成绩和总学分情况(多表连接查询)

按照课程编号分组统计选课人数、最高成绩、最低成绩、平均成绩、及格人数(分组查询)

 5.4视图创建代码

我们对于学生,学生成绩,教师,教师教课四个,都设置了很多视图,由于视图数量过多,我们使用python进行批量创建,代码如下:5.4 创建索引

用SQLserver management stdio进行创建,没有使用代码

六、系统规范化设计

6.1 数据库的完整性设计

(1)触发器:在成绩表上修改成绩时,自动修改学生的学分。代码如下

 (2)约束:有主码非空且唯一的实体性约束,有外码的参照完整性约束,也有用户自定义的完整性,如学生成绩区间为0到100的约束。

6.2 数据库的维护和安全性设计

首先,我们为教务管理人员,创建登录账号,我们为他们设置了对所有表的增删改查的权限,便于他们对学生,教师,选课等信息的更改和查询。他们具有此系统的最高权限。代码如下:

 然后我们为学生创建登录账号,设置学生可以通过自己的账号密码查询自己的相关信息,例如,个人信息,选课信息,成绩等等。代码如下:

 接着,我们为老师创建了登录账号,老师可以修改自己所教学生的信息,并且可以查询自己所教学生信息。代码如下:

 我们组只设置了这三种用户,教务人员,老师,和学生,权限依次降低,保障了学籍信息的安全性,权限不够的用户,无法查看或修改不在他权限之内的信息。

七、总结

7.1 收获

        通过本次的数据库设计作业学籍管理系统,我们小组更好的了解到构建数据库的整体过程;通过分工合作,我们对于不同模块相互之间的依赖关系也有了更深的认识。和以往的数据库实验不同,这次的大作业是学习过的各种知识的综合运用,而且还是对知识的深层应用,对于我们能力的提高具有十分巨大的作用 。

        在选择大作业时,考虑对作业的了解程度,以及和我们的相关程度,最后确定学籍管理系统这一选择。

        对于这门课程,我们组都展现了极大地兴趣,因为它在我们生活中的应用十分的广泛,而且益处颇多。以前写数据库实验感觉自己掌握了,但如今一上难度,我们就体会到了自己的不足之处。知识间的相互嵌套运用,需要一个大局观才能从开始时的需求分析,到结束,做到心中有数,统筹全局。通过这次作业,我们知道了数据库的概念、数据管理系统的发展、数据库系统的组成、以及为什么使用数据库数据、如何使用数据库技术等关键性问题;了解到了数据库设计的方法和步骤,掌握实体型、属性和联系的概念、实体之间的一对一、一对多和多对多联系等必要知识。从而,我们组才能设计出最终的学籍管理系统的模样。

        而在于团队合作的一些收获,我们认为在一个团队中永远要确立一个领导者,进行任务的分发,任务的讨论,以及监督职责,否则任务进行缓慢,毫无效率。团队协作要求分工明确,相互学习,相互合作,才能将团队任务完美进行。团队合作只有默契、凝聚才能够高效完成任务。

7.2 不足和改进

在整个大作业的制作过程中,有很多不足与缺点。

  1. 观点不一:

在进行问题讨论,以及任务分发时,出现了很多争执,对于一个问题应当如何实现各执一词,这个时候,我们思想不同意,对于我们接下来的个人任务完成,带来了许多的困扰,效率极其低下。幸好我们的小组长,及时拨乱反正,力排众议,最终拍板,让我们继续顺利执行。

  1. 没有标准化:

在一些工程较大,我们进行分工合作的时候,很多细化的东西在最开始没有标准,导致每个人做的东西不一样,达不到标准,很多的废物前期工程。

  1. 对知识的串联的不足:

在之前的作业中,都是老师给出一定基础,我们进行一些其他的操作,但是当需要自己构建一个数据库,进行每一步的操作时,就会有点不知所措,不知道从那开始。在进行网上查询时,和自己的有些许不同,自己就手足无措,不知如何调整了。这就是对知识的应用能力不强。

  1. 眼高手低:

在前期准备中,准备不足,开始的时间较晚,匆匆忙忙的开始,所以导致前期分工较为混乱,两个人忙碌,其他人清闲,到作业后期人员工作分布有所调整,情况有所改善。

在此次作业完成中,我们会警醒自己的不足,在以后的学习和作业中有所改善,更加高效的完成自己的作业。我们的路还有很长,我们现在的能力还是很有限的。我们必定会将自己能力,淋漓尽致的贡献在自己的任务中。

八、ui代码及数据库文件

       详细代码文件可联系博主【大三🐕】

       数据库及UI界面完善,费时一周打造,代码较为规范化

        喜欢的话麻烦点个关注

封面及目录格式实例: 管理信息系统课程设计报告 ---XXX管理信息系统设计 学院:工商管理学院 班级: 姓名: 学号: 指导教师: 职称:讲师 时间:2009年6月22日到6月26日 目 录 一 绪论 1.1项目背景………………………………………………… 4 1.2编写目的………………………………………………………4 1.3XXX信息系统的功能 ………………………………5 1.4开发环境的介绍……………………………………………5 二.系统规划 2.1系统开发题目………………………………………………6 2.2系统的划分…………………………………………………6 三.系统分析 3.1需求与可行性分析 ………………………………………7 3.1.1需求分析 ……………………………………………… 7 3.1.2可行性分析………………………………………………7 3.2组织结构分析………………………………………………9 3.3业务流程分析………………………………………………9 3.4 数据流程分析…………………………………………… 10 四.系统设计 4.1总体设计 …………………………………………………11 4.2设计思想 …………………………………………………12 4.3数据库设计 ………………………………………………13 4.3.1数据库概念结构设计………………………………… 13 4.3.2数据库逻辑结构设计…………………………………13 4.4数据存储设计…………………………………………… 15 4.5输出设计…………………………………………………16 4.6 输入设计…………………………………………………16 五.系统实施与维护 5.1 程序代码 ………………………………………………16 5.1.1用户注册代码…………………………………………16 5.1.2数据信息的入库………………………………………16 5.1.3综合查询…………………………………………17 5.2 系统界面的介绍 ………………………………………24 5.3系统测试 …………………………………………………25 5.4系统转换 …………………………………………………25 5.5对自己开发系统的评价…………………………………26 六.经验总结 6.1设计过程中的问题与总结 ……………………………27 6.2 系统的应用效果 ………………………………………27 6.3开发体会 …………………………………………………27 参考文献………………………………………………………27
学生学籍管理系统需求分析报告 §1 概述 编写说明: 本章描述本软件开发的背景,系统目标,用户的业务情况,以便于需求理解。 § 1.1背景 传统的学校学籍管理方法、由于分散管理,易发生数据丢失,劳动强度高,速度慢。使用计算机可以高速、快捷地完成以上工作。特别是在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。学籍管理信息系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,从而全面提高教学质量。 § 1.2系统目标 学籍管理信息系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。 § 1.3业务模式 本系统是运行在WindowsXP等操作系统环境下的多台计算机构成的局域网, 现在学校各部门分别使用不同数据库,各部门之间的信息还不能实现网上共享。由于学校的各个部门都需要一些学生的基本信息,所以各个部门都有一份学生档案。一个部门的改动,将导致其他各部门必须修改,否则,学生的信息将不一致。 高校学生学籍管理系统将采用B/S模式,学生的信息由各用户在规定的权限下在各自的工作站上录入,统一保存在系统服务器上,既可集中管理,有可让各部门管理自己负责的信息。信息上网后各用户可查询,调用,达到全校信息共享。 §2用户需求 编写说明: 此系统专门为高校学籍管理所设置。本节主要描述用户需求的使用范围,功能要求信息采集与各部门的使用权限 § 2.1使用范围 按西安交通大学城市学院学生学籍状况的系统管理(本科生用学年学分制)。 系统中保留4个年级学生的信息,学生毕业一年后信息转储,但随时可以查询,输出。 § 2.2功能要求 •学生档案管理学生的一般情况,及奖励,处分情况; •学生成绩管理: 学习成绩,补考成绩; •学籍处理: 学生留降级处理,休复学处理,退学处理; •日常教务管理: 日常报表,如通知书,补考通知书等,学生学习成绩的各种分类统计; •毕业生学籍处理: 结业处理,毕业处理,授位处理,学籍卡片等。 § 2.3信息采集与各部门的使用权限 每学期考试完毕由各系录入成绩,然后由教务科收集。为了信息的安全和数据的权威性,对于网上信息的使用权限和责任规定如下: 数据收集前的系统权限 学生档案 学生奖惩 学生成绩 学籍处理 补考成绩 教学计划管理 各种等级考试 学生工作处 0 ? 0 ? ? ? ? ? ? 各系 ? ? 0 ? ? ? ? ? 教务科 ? ? ? 0 ? 0 ? ? 0 ? 师资科 ? ? ? ? ? 0 ? ? 院长办公室 ? ? ? ? ? ? ? 注:0、登录,修改,处理权。 ?、查询权 § 2.4数据完整性、正确性: 1、 可按某学生某学年考试及补考成绩,自动生成该学生是否升留降级,退学。 2、 可按某学生在校期间累计重修科目门数和成绩自动生成该学生是否结业,毕业,授位。 3、 可按某学生因非成绩原因所引起的学籍变更作自动处理。 4、 可按每学期各年级班学生考试成绩自动生成补考名单,科目。 5、 可按每学期各年级学生考试成绩自动生成某课程统计分析表。 6、可按同一年级学习成绩进行同一课程不同班级间成绩比较 § 2.5 性能需求 因为学籍管理系统存储学生信息,所以数据库系统应该具有备份和恢复功能,保证学生数据库的长期完整性和正确性。另一方面,作为系统的服务器应该能够长期无故障的运行,而且能够便于管理员的操作。安全性要求比较高,对业务逻辑必须封装,避免有人登陆他没权限的网页,避免黑客从数据流中截取敏感数据。 § 2.6 其他需求 普通用户的需求:对于只有查看权限的用户,一般是通过上网浏览学校网页来查看数据的。 各部门管理员:能够对系统进行设置,以适应不同用户的需求。对不同系的管理员分配不同的权限,教务处系统管理员具有最高的管理权限。 § 2.7用户平台要求 系统主要使用于高校的局域网, WinXP等环境下,Java,Vc,Vb连接数据库,本系统需要DBMS放学生学籍数据库。可进行查询,修改、处理等。 §3 业务逻辑和数据流图 本系统暂不考虑与其他系统交换数据,而是作为一个独立的系统。但是,他应该能够向学校的上级主管部门提交学生的信息。 § 3.1业务流程与业务逻辑
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值