您的当前位置:首页正文

学生选课系统概要设计分析报告

2023-07-10 来源:独旅网


学生选课系统概要设

计分析报告

学院:数学计算机学院

组长:马琴

组员:许慕霄、伏敏润、王佩军

1.引言

1.1编写目的

每学期的课程都是学校安排的,学生没有选择的自由,而且课程的安排由于各方面诸多的原因经常有不适之处,尤其是先行课的问题。另外,每学期考完试,同学们都要一次又一次的往系里跑,大家挤在一个小小的布告栏前面,在几张A4纸上寻找自己的名字和成绩。虽然从去年开始,全学校也改成了“学分制”,但整个选课过程的管理从我们学生的角度来看,变得更加混乱。同学们不知道每学期有什么课可以选,哪些是选修,哪些是必修,哪些是专业课;也不确定每门课多少学分,自己已经修了多少学分;更不用说考虑一下哪门课要先学,哪门课要后学,哪些课属于一系列。所以说,大部分同学都是为了“选课”而选课,完全没有实现鼓励同学发展个性,学各自之所爱的效果。不仅如此,每当选课的时候,同学们忙,老师更忙,学校和系里都需要投入大量的人力、物力对整个选课过程进行管理。

随着科学技术的发展,计算机已经是日常生活中不可或缺的工具,将学生选课系统从人工管理方式转变成为计算机软件控制。具有检索迅速、查找方便、可靠性高、存储量达、保密性好、寿命长、成本低等巨大优点。如今,学生选课系统已成为日常教学工作中必不可少的管理软件,可对学生信息、选修课程、科目成绩进行各方面的管理,为用户提供充足的信息和快捷的查询、修改手段。选课管理系统。既面向教务处,又面向教师和学生。不同的人,不同的身份操作的权限也不同。作为教师,他可以向教务处申请增加、删除、修改课程信息,并随时了解选修本课的学生名单,还可以输入并分析考试成绩。作为教务处管理员,它的权限是最宽的。他可以对教师提出的课程设置申请进行审批,同时对教学进行安排(包括时间和教室分配、选课结果管理)。作为学生,他可以查询可以选什么课,已有多少学分,还差多少学分。最后进行选课,在学期末还可以随时进行成绩查询。现筹划一学生选课系统管理软件以代替人工管理方式,最大程度的满足各方面用户的需求。

1.2 项目背景

项目名称:学生选课系统软件。 项目提出者:宁夏大学 项目开发者:开发小组 用户:宁夏大学

1.3 定义

SQL:结构化查询语言

Eclipse:开发源代码的、基于java的可扩展开发平台。

1.4 参考资料

《软件工程》张海潘

2.任务概述

2.1 目标

该阶段段目的在于明确系统的数据结构和软件结构,此外总体结构还将给出内部软件和外部系统部件之间的接口定义,各个软件的模块功能说明,数据结构的细节以及具体装配要求。

2.2 运行环境

运行环境:Windows98/2000/XP/Vista/7,与Windows office软件高度兼容。 硬件环境:奔4以上计算机。

开发环境:SQL Server、eclipse等。 该系统预期寿命五年。

2.3 需求概述

2.3.1 对功能的规定

同时使用数据库技术,能打开一个数据库的数据,并将其修改后能够在保存回去。且一个用户信息只能每次只能登录一次,不能多人同时登陆一个用户。但可以保证一定量的用户可以同时访问数据库。要求系统简洁,便于操作,而且快速、实用,功能键全。

2.3.2 对性能的规定

a. 精度

本系统所需要的数据比较简单,基本不存在精度问题。

b. 时间特性的要求

要求本系统对于事物的处理有较高的影响,如数据库的更新操作等响应时间限定在一定范围。

2.3.3 输入输出的要求

由键盘输入,或由数据库输出并提供数据,其输出数据一部分可以显示给用

户,另一部分作为其他子模块的输入。

2.4 条件与限制

1. 2. 3. 4.

3.总体设计

学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。

系统模块划分如下:

软件设计应当表现出层次结构,它应巧妙的利用各个软件部件之间的控制关系。

设计应当模块化的,即该软件应当从逻辑上被划分为多个部件,分别实现各种特定功能和子功能。

设计应当给出具体的模块,这些模块具有独立的功能特性。

应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设计。

1. 用户登录模块

提供用户登录界面,输入用户名,密码进行登录。 2. 学生信息管理模块

学生信息管理模块,用于管理学生的基本信息,所包括的字段有:学号、姓名、性别、年龄、班级,提供对学生信息的录入、查询、修改和删除的操作。 3. 课程信息管理模块

课程信息管理模块用于管理课程的信息,所包含的字段有:课程号、课程号、先行课和学分,提供对课程信息的录入、查询、修改和删除的操作。 4. 选课成绩管理模块

选课成绩管理模块用于管理学生的选课与成绩,所包含的字段有:学号、课程号和成绩,提供对选课成绩信息的录入、查询、修改和删除的操作。 5. 用户管理模块

用户管理模块用于用户账号和密码的管理,其功能包括添加用户,注销用户和修改密码。 4.接口设计

4.1 用户接口

用户可以根据学号和姓名进行查询这学期的课程信息、选课以及查询自己的选课信息。

4.2 外部接口

软件接口:通过ODBC与数据库之间进行连接。 硬件接口:鼠标、键盘。

4.3 内部接口

模块之间采取数据耦合方式,通过参数表传递数据,交换信息。

5.1逻辑结构设计

5.1.1.数据库E-R图

5.1.2 数据字典

5.1.3 主要查询功能的SQL语句:

查询学生信息

SELECT * FROM student WHERE 学号=’Sno’;(按学号查询) SELECT * FROM student WHERE 姓名=’Sname’;(按姓名查询) 删除学生信息

DELETE FROM student WHERE 姓名=’Sname’; 添加学生记录

INSERT INTO student VALUES (‘Sno’,’Sname’,’Ssex’,Sage,’Sdept’); 修改学生记录

UPDATE student SET 姓名=’Sname’ ,性别=’Ssex’, 年龄=Sage, 所在系=’Sdept WHERE 学号=’Sno’; 查询课程信息

SELECT * FROM course WHERE 课程号=’Cno’;(按课程号查询) SELECT * FROM course WHERE 课程名=’Cname’;(按课程名查询) 删除课程信息

DELETE FROM course WHERE 课程号=’Cname’; 添加课程记录

INSERT INTO course VALUES (‘Cno’,’Cname’,’Cpno’,Ccredit); 修改课程记录

UPDATE course SET 课程名=’Cname’, 先行课=’Cpno’, 学分=Ccredit WHERE 课程号=’Cno’;

5.2 物理结构设计

A.存取位置选择

根据常用部分与不常用部分可以将数据存储在两个磁盘上面,系统中的课程信息经常需要增加、修改、删除以及查询,故该存放在一起,而选课信息只是在选课阶段采用,所以课程表,选课信息表应该另存放在外一个磁盘上面。

B.存取路径设计

对选课信息、课程信息两个子系统的各个关系最经常的操作是查找,假设现有n个信息,如果采用顺序查找,平均查找n/2次;建立B+树索引,则平均查找次数为B+树的层数log(n+1)。

6.运行设计

6.1 运行模块组合

通过主应用程序组合,模块均可独立操作存储文件。

6.2 运行控制

用户只需要通过鼠标以及键盘就可以实现查询、选课等本系统所包含的一切操作。

6.3 运行时间

查询时间<2s;选课时间<2s;登录系统时间<30 minutes。

7.安全保密设计

系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或操作。系统安全保密性能高。

8.维护设计

在一些数据连接的程序中,由于经常出现连接不成功的情况,故应该进行标记,当出现类似的情况的时候方便进行维护。

因篇幅问题不能全部显示,请点此查看更多更全内容