"学生管理系统数据库期末设计作业-系统概要介绍和研发背景目的意义"

需积分: 5 1 下载量 134 浏览量 更新于2024-03-22 收藏 898KB DOC 举报
学生管理系统是一个用于管理学校内学生信息、课程信息、成绩信息等内容的数据库系统。在“学生管理系统-数据库期末综合设计作业.doc”中详细介绍了该系统的设计及实现方案。系统研发的背景是为了提高学校对学生信息的管理效率和准确性,使学校能够更好地进行学生管理工作。系统研发的目的是为了实现学生信息的在线管理,方便学校管理者能够随时随地查阅和更新学生信息。系统的研发意义在于帮助学校提高管理水平,提升学生信息管理的便捷性和准确性。 在系统概要介绍部分,系统的研发背景、目的和意义得到了详细阐述。通过对学生管理系统的需求分析和功能设计,系统实现了学生信息的录入、查询、修改和删除等基本功能,同时也设计了课程信息和成绩信息的管理功能。系统利用数据库技术来存储和管理各种信息,通过前端界面与用户进行交互,实现了一个方便实用的学生信息管理系统。 在系统设计部分,详细介绍了系统的架构和各个模块的设计。系统采用了MySQL数据库作为数据存储的基础,通过设计数据库表来存储学生、课程和成绩等信息。系统的前端界面采用了web技术,通过HTML、CSS和JavaScript等技术实现了用户友好的操作界面。系统的后端采用了Java语言,通过Servlet和JSP技术实现了与数据库的连接和数据交互。通过系统设计的各个模块的详细设计,系统能够实现学生信息的录入、查询、修改和删除等功能,同时也能够对课程信息和成绩信息进行管理。 在系统实施部分,介绍了系统的部署和测试情况。系统的部署需要在服务器上安装好MySQL数据库和Tomcat服务器,并将系统的代码部署到服务器上。系统的测试包括功能测试和性能测试,确保系统能够正常运行和稳定性能。通过实施部署和测试,系统能够满足学校管理者对学生信息管理的需求,并提高管理效率和准确性。 学生管理系统的设计和实现,为学校提供了一个便捷高效的学生信息管理工具。通过系统的功能设计和系统架构设计,系统能够有效地实现对学生信息的管理和查询,提高了学校管理者对学生信息的管理水平和管理效率。系统的实施和测试保证了系统的稳定性和健壮性,使得系统能够长期稳定运行,为学校提供持续的管理支持。 综上所述,学生管理系统是一个重要的学校信息管理工具,通过该系统的设计和实现,学校能够更好地管理学生信息和提高管理效率。系统的研发背景、目的和意义明确,系统的设计和实现符合需求和要求,系统的部署和测试保证了系统的稳定性和可靠性。通过学生管理系统的使用,学校能够更好地进行学生信息管理工作,提高了学校管理水平和服务质量。
2023-01-08 上传
数据库设计 题目 思文学生管理系统 姓 名 班 级 指导教师 学 期 2015年 12 月 21 日 目录 1.需求分析 3 1.2根据需求确定工作环境 6 2.概念结构设计 7 2.1 概念结构设计的原则 7 2.2 将用户需求模块化 9 3 数据库设计 11 3.1根据数据信息构建表结构 13 4. 系统功能设计 14 5系统的测试 18 1. 基本需求 学生信息管理系统软件,满足以下条件: (1)能完成学生的学籍注册 (2)学生若不喜欢此时的专业,他们可以自动调剂专业 (3)学生可以选课,并查看个人信息及日常表现情况。 (4)对学生信息、课程信息进行记录。 (5) 管理员可以对学生学籍信息的查询,添加,修改,删除;学生信息及成绩的录入,修 改,删除。修改密码等功能。 (6) 管理员拥有最高的权限。允许添加教师信息和课程信息等。 学校需要的就是能满足以上需求的软件。需求就是一套软件的终极目标,但并不 是每一个需求都能达到的,分析人员还要根据开发环境一条条地分析这些需求。 1. 该软件的主要功能 (1)对学生信息的管理 (2)对教师信息的管理 (3)对课程信息的管理 (4)对选课信息的管理 (5) 对成绩的管理 (6) 对学生的日常表现情况 2. 根据需求确定工作环境 1. 软件环境 除了要安装学生管理系统外,还必须具备相应的软件环境,才能更好地运行。 (1)应采用统一的软件操作系统(win 7),这是为了更好地管理。 (2)服务器上安装数据库系统(SQL Server 2005),从而实现信息资源安全化管理。 (3)安装防病毒软件,病毒防火墙等。因为所有的机器都是互连的,一旦有病毒侵 入,容易造成整个系统的瘫痪。 2.概念结构设计 1. 2. 1. 概念结构设计 概念结构设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行 大致的设计。概要设计要坚持以下几个原则: (1)细分原则:软件系统都是由很多不同的模块组成,当设计一套软件时,要先将 所有的功能分解。解决复杂问题的方法是将其分解成几个小问题,一个个来解决。 (2)提高代码重用性:在面向对象设计中,首先考虑的就是代码的重用,一个好的 设计,将来在升级换代时不需要太大的改动,节省了人力物力。 (3)从上而下层层分析:概要设计要从整体出发,逐个剖析软件的功能,从上而下 ,先分析系统总的功能,然后一步步细分,直到最小的功能模块。 (4)一致性原则:概要设计要求所有功能模块在定义时使用统一的规范。 (5)提高独立性,减少耦合:各个模块与模块之间尽量减少关联,否则修改一个地 方就会引起其他多处的变动,不符合面向对象的原则。一般情况下,对类封装后,只允 许对类进行扩展,而不能修改,而封装的类必须具有单一职责,即理论情况下不允许两 个类共同完成一个功能。 2. 将用户需求模块化 1. 确定系统最终模块 概要设计中最重要的就是确定此项目包括哪些模块。根据上两节讲述的设计原则和模 块特征,将用户需求转化为下面的模块。 (1)管理员模块:是本系统的核心模块,该模块又包括对学生管理和课程管理2个子 模块,功能如下: 学生管理子模块:实现对学生信息的添加、修改、删除操作,还可以输入查询条件 进行查询操作。 图3-1 学生管理子模块 课程管理子模块:实现对课程的添加,实现对课程的修改、删除,查看某个课程的 详细信息等。 图3-2 课程管理子模块 (2)教师模块:实现查看自己所教授的课程、课程有哪些学生选修,以及利用本系 统提交学生的成绩。 图3-3 教师管理模块 (3)学生模块:实现学生的选课,查看、修改自己的选课信息及查看自己日常的表 现情况。 图3-4 学生模块 数据库设计 在前面已经罗列出了用户的需求,这也正是数据库信息的来源。根据列表内容,可 以提炼出以下数据信息。 (1)需要管理学生信息:学生表。 (2)需要管理教师信息:教师表。 (3)需要管理课程信息:课程表。 (4)需要管理管理员信息:管理员表。 实体属性表: "实体 "属性 " "教师 "教师ID,教师姓名,登录密码 " "课程 "课程号,课程名称,教师ID " "管理员 "管理员ID,管理员姓名、登录密码 " "学生 "学号,姓名,性别,密码,身份证号,地址、专业 " 数据库E-R图设计: 3.1根据数据信息构建表结构 对于如何提取数据表字段,要遵守3个原则。 (1)每个字段都是不可再分的最小数据单位。 (2)非主键字段必须完全依赖于主键 (3)如果两个表存在关联,必须有字段作为外键进行连接。 3.2.1 数据库表的设计 "1)用户信息表T_UserInfo " "UserID "UserID "Int "主键 " "用户编号 "LoginName "Varchar(50) "唯一 " "用户名称 "UserNam

以hive的角度检查语法: with cur_dim_comb as (SELECT DISTINCT t.dim_comb ,t.var_sub_class ,t.acc_value FROM gerp.cux_cst_data_alloc_his t WHERE t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id )) select tp.bd_code --事业部编码 ,tp.bd_name --事业部名称 ,hp.ou_code --OU名称 ,hp.ou_name --OU编码 ,op.main_class_desc --差异大类 ,op.acc_value --科目代码 ,op.acc_desc --科目名称 ,op.dim_comb --区分维度 ,op.begin_amount --期初余额 ,op.accrual_amount --本期发生 ,op.balance_diff_alloc_amount --期末差异结存 ,op.var_sub_class ,op.main_class_value ,op.org_id ,op.period_name ,op.job_ver_id from (select up.* ,q1.* from (SELECT DISTINCT maincl.* ,t.* FROM t inner join (SELECT fv.flex_value ,fv.description FROM fv inner join fs on fv.flex_value_set_id = fs.flex_value_set_id AND fs.flex_value_set_name = 'CUX_CST_VARIANCE_TYPE' AND fv.enabled_flag = 'Y' AND fv.hierarchy_level = '2' AND fv.flex_value LIKE '10%' ) maincl on t.var_main_class = maincl.flex_value inner join cur_dim_comb on cur_dim_comb.var_sub_class = t.var_sub_class and cur_dim_comb.acc_value = t.acc_value WHERE 1 = 1 AND t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id) ORDER BY maincl.description ,t.acc_value ,cur_dim_comb.dim_comb ) up inner join (SELECT t1.* ,SUM(t1.begin_amount) begin_amount ,SUM(t1.accrual_amount) accrual_amount ,SUM(t1.balance_diff_alloc_amount) balance_diff_alloc_amount FROM gerp.cux_cst_data_alloc_his t1 LEFT JOIN gerp.cux_cst_data_alloc_his t ON t1.top_var_type = '10' AND t1.var_sub_class = t.var_sub_class --p_var_sub_class AND t1.org_id = t.org_id --p_org_id AND t1.period_name = t.period_name --p_period_name AND t1.job_ver_id = t.job_ver_id --p_job_ver_id AND t1.acc_value = t.acc_value --p_acc_value WHERE t1.dim_comb in (select distinct dim_comb from cur_dim_comb) group by t1.org_id,t1.period_name,t1.job_ver_id,t1.var_sub_class,t1.acc_value ) q1 on q1.org_id = up.org_id --p_org_id AND q1.period_name = up.period_name --p_period_name AND q1.job_ver_id = up.job_ver_id --p_job_ver_id AND q1.var_sub_class = up.var_sub_class --p_var_sub_class AND q1.acc_value = up.acc_value --p_acc_value ) op

2023-05-26 上传