基于WEB的学生综合测评系统的设计与实现

news2024/11/15 17:30:54

第1章 绪 论

1.1 系统开发背景

随着计算机技术的不断发展,在现代化社会中,信息的处理越来越依赖计算机来完成。在没有测评系统之前,所有的信息记录都是由人工记录维护,不但不方便,还经常出错,有了测评系统就可以方便的对各种信息进行维护了。近年来各种规模校园网的成功构建,使依托网络平台开发基于WEB的学生综合测评系统成为可能。根据一套科学、合理、公平、客观的指标体系,开发出一款基于WEB的学生综合测评系统,对测评数据进行收集、分析、研究,实现学生综合测评管理的科学化、合理化,为教育工作设立行之有效的测评管理机制,促进学校长远战略目标的实现,这已成为各种类型院校的共同追求。作为一名计算机专业的学生,有义务通过计算机实现对这些信息的科学化管理,故本次毕业设计本人选择学生综合测评系统的开发,通过本次系统的开发使综合测评网络化、信息化、科学化,另外通过本次系统开发也能锻炼自己独立开发能力。

根据对部分高校综合测评的客观情况的调查与研究,总结出了学校综合测评存在的问题如下:

1.虽然各高校都有计算机,但是还没充分发挥其作用。

2.学生综合素质测评管理缺乏规范。

3.综合测评手工处理环节偏多,工作量大,出错率较高,经常给教育工作带来麻烦。

4.班主任或辅导员对学生综合素质手工测评较多,这样可能会使人为因素偏多,不能准确反映学生综合素质,影响教学质量的提高。

1.2 系统开发意义

    1.重要性

学生综合测评是每所学校每年必须要做的工作,它的内容对于学校的决策者和管理者来说都至关重要,所以学生综合测评系统应该能够为用户提供充足的信息、快捷的查询手段和方便的计算功能。但一直以来学校都使用人工的方式管理学生综合测评成绩,这种管理方式存在着许多缺点,如:效率低、保密性差。另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护来说都有不少困难。

    2.必要性

目前我国普通高校综合测评的管理大多还停留在纸质的基础上,这已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理方法必然被以计算机为基础的信息管理所取代。

基于WEB的学生综合测评系统与人工相比较,具有如下3点优势:

⑴从经济性来说,克服了原有由人力来完成表格设计、指标确定、印发、填写、统计等一系列过程,节省了人力、物力、财力、时间,所有的工作基于网络,由计算机根据既定规则完成,降低了测评的经济成本。

⑵从科学性来说,测评数据的收集和统计结果用统一的数据库进行管理,为不断提高测评的信度和效度,提供了强大的数据支撑。基于网络的测评能随时检测信度和效度,确保测评数据的科学性与准确性。

⑶从实效性来说,测评后的效果可以由计算机处理后直接呈现,缩短了测评结果的反馈周期。

1.3 本文结构

本文共分为7章,各部分的主要工作如下:

第1章为绪论部分,主要对系统开发背景、系统开发意义做了论述。

第2章对系统开发的环境进行详细介绍,本系统是在B/S软件体系结构下,依托ASP.NET技术及SQL Server 2008开发平台,对综合测评系统进行开发。

第3章进行系统分析,主要包括可行性研究、需求分析、数据流程分析及系统流程分析。

第4章对系统进行总体设计,具体包括系统设计的目标、系统功能分析、系统功能模块。

第5章进行数据库设计,数据库设计又可分为概念结构设计、实体E-R图、关系E-R图、逻辑结构设计、数据库表设计。

第6章进行系统详细设计与实现,详细设计与实现包括首页面的设计与实现、管理员功能模块的设计与实现、普通教师功能模块的设计与实现、班主任辅导员功能模块的设计与实现、学生功能模块的设计与实现、信息反馈功能模块的设计与实现及综合测评功能的设计与实现。

第7章进行软件测试,软件测试包括软件测试概述、软件测试的方法、软件测试的步骤、软件测试测试用例。

最后本文将对本次系统开发作简短的总结,主要总结本系所存在的问题,另外还将会对本系统的后续改进作简单的规划。


第2章 系统开发环境介绍

目前在应用开发领域中,主要分成两大编程体系,一种是基于浏览器的B/S(Brower/Server)的结构,另一种是基于客户端的C/S(Client/Server)结构。在本次开发设计中,选择基于B/S结构的体系,采用ASP.NET技术,使用SQL Server 2008数据库来完成本系统的开发。

2.1 B/S结构简介

B/S软件体系结构,是随着Internet技术的兴起,对C/S体系结构的一种变化或者改进的结构。在B/S体系结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,维护和升级也比较方便、快捷、高效,B/S结构如图2.1所示。

图2.1  B/S结构图

B/S结构的优点:

1.具有分布性特点,可以随时随地进行查询、浏览等业务处理。

2.业务扩展简单方便,通过增加网页即可增加服务器功能。

3.维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

4.开发简单,共享性强。

由于B/S架构管理软件只安装在服务器端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,需要备有数据库存储服务器,以防万一。

2.2 SQL Server 2008简介

SQL Server 2008是一个重大的产品版本,它推出了许多新特性、改进了很多关键功能。Microsoft SQL Server 2008系统提供了两种类型的数据库:系统数据库和用户数据库。并且其较之前的版本增加了6点新特性: 简单的数据加密、外键管理、增强了审查、改进了数据库镜像、加强了可支持性及热添加CPU 。

SQL Server 2008的优点如下:

1.具有数据压缩功能

数据仓库中的数据容量随着操作系统数目的快速增加而在持续增长。内嵌在SQL Server 2008中的数据压缩使得用户可以更有效的存储数据,同时还提高了性能,因为降低了I/O 要求。

2.具有备份压缩功能

保持一直在线做基于磁盘的备份是花费很昂贵的,并且很耗时。有了SQL Server 2008的备份压缩,保持在线备份所需的存储降低了,并且备份速度明显变快了,因为所需要的磁盘I/O 减少了。

3.具有分区表并行功能

分割使用户能够更有效的管理大型的、不断增长的数据表,只要简单的将它们分割为易管理的数据块。SQL Server 2008是在SQL Server 2005中的分割的优势之上建立的,它改进了对大型的分区表的操作性能。

4.具有星型联接查询优化器

SQL Server 2008为普通的数据仓库场景提供了改进的查询性能。星型联接查询优化器通过辨别数据仓库连接模式降低了查询响应时间。

5.具有资源监控器

SQL Server 2008随着资源监控器的推出,使服务器可以给终端用户提供一致的和可预测的响应。资源监控器使服务器可以为不同的工作负载定义资源限制和优先权,这使得并发工作负载可以提供稳定的性能。

6.具有分组设置功能

分组设置Grouping Sets)是对Group By 条件语句的扩展,它使得用户可以在同一个查询中定义多个分组。分组设置生成一个单独的结果集,这个结果集相当于对不同分组的行进行了Union All 的操作,这使得聚合查询和报表更加简单和快速。

7.具有捕获变更数据功能

有了捕获变更数据功能,变更会被捕获并被放在变更表中。它捕获变更的完整内容,维护交叉表的一致性,甚至是对交叉的Schema变更也起作用。这使得公司可以将最新的信息集成到数据仓库中。

8.支持Merge  SQL语句

有了Merge SQL 语句,开发人员可以更有效地处理数据仓库的场景,例如检查一行数据是否存在然后执行插入或更新。

9.具有可扩展的集成服务

集成服务的可扩展性方面的两个关键优势是:

 ⑴ SQL Server集成服务 (SQL Server Integration Services,SSIS)管道改进,数据集成包现在可以更有效地扩展、使用有效的资源和管理最大的企业级的工作负载。这个新的设计将运行时间的可扩展性提高到多个处理器中。
    ⑵ SSIS持久查找,执行查找是最常见的抽取、转换和加载(ETL)操作。这在数据仓库中尤为普遍,当实际记录必须使用查找来转换业务键到它们相应的替代中去时。SSIS 增强了查找的性能以支持大型表。

2.3 ASP.NET简介

ASP.NET是Microsoft .NET Framework的一部分,是一种可以在高速分布的Internet环境中简化应用程序开发的计算环境。它提供了为建立和部署企业级Web应用程序必须的服务。同时,ASP.NET为能够面向任何浏览器或设备的更安全性、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础架构。

ASP.NET具有强大的优势如下:

1.简单性和易学性

ASP.NET使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.NET页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。

2.强大性和适应性

因为ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET。

3.世界级的工具支持

ASP.NET构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.NET强大化软件支持的一小部分。

4.执行效率大幅提高

ASP.NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。

5.高效可管理性

ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。

2.4 本章小结

本章主要是对本系统开发的环境平台作简单的介绍,本系统采用ASP.NET作为开发工具,采用SQL Server 2008作为数据库服务器,之所以选择以上两种工具作为开发环境,是因为两者都具有强大的功能,其中一些功能是其他开发环境所不具备的。


第3章 系统分析

系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。它侧重于从业务全过程的角度进行分析。分析的主要内容是:业务和数据的流程是否通畅、是否合理;数据、业务过程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的实现是否具有可行性等等。系统分析的目的是将用户的需求及其解决方法确定下来,这些需要确定的结果包括:开发者关于现有组织管理状况的了解、用户对信息系统功能的需求、数据和业务流程、管理功能和管理数据指标体系、新系统拟改动和新增的管理模型等等。系统分析所确定的内容是今后系统设计、系统实现的基础。

3.1 可行性研究

可行性研究是在制定某一建设或科研项目之前,对该项目实施的可能性、有效性、技术方案及技术政策进行具体、深入、细致的技术论证和经济评价,以求确定一个在技术上合理、经济上合算的最优方案和最佳时机。

可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。为了结论的需要,往往还需要加上一些附件,如试验数据、论证材料、计算图表、附图等,以增强可行性报告的说服力。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,以及是否值得解决,在项目开发之前进行可行性论证是非常必要的。可行性研究实际上是要进行大大压缩简化了的系统分析和设计过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计过程,应从技术可行性、经济可行性和操作可行性等方面着手。

    1.技术可行性

技术上的可行性,主要考虑使用现有的技术,能否在预定的时间内实现该系统的功能。作为计算机科学与技术专业的本科毕业生,掌握了数据库原理,计算机编程语言等课程,对数据库的设计、应用、维护与程序的编写、调试有了一定的认识与实践能力,从一定程度上具备了开发该系统的能力。再通过老师对本系统的讲解与网络调研,熟悉系统的结构与要实现的基本功能。本系统采用SQL Server 2008进行数据库的操作、管理和维护,用ASP.NET开发语言C#进行前台界面设计、与数据库的接口、数据录入、查询、浏览等功能。由于SQL Server 2008和ASP.NET强大的开发功能,方便快捷的数据库接口设计,使用灵活,以及他们当前的广泛实际应用,充分说明本系统在技术方面可行。

    2.经济可行性

经济可行系主要从资源配置的角度衡量项目的价值,评价项目在实现区域经济发展目标、有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益。

本系统克服了原有由人力来完成表格设计、指标确定、印发、填写、统计的一系列过程,节省了人力、物力、财力、时间,所有的工作基于网络,由计算机根据既定要求完成,降低了测评的经济成本。

另外该系统规模小,耗费少。该系统开发的成本比较低,收益比较高,该系统给学校带来很高的经济效益,有了该系统可以减少很多纸制材料,以及人力物力财力,所以该系统在经济上具有可行性。

    3.操作可行性

操作可行性主要是分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。在网络正在快速发展的今天,越来越多的人开始注重科学技术,要求操作简洁与方便工作,随着科技的发展,知识量的增大,设计本系统代替了人工操作的不便与繁琐,因此系统在实践上具备了可行性。

该系统设计条理清晰,有良好的用户界面,操作简洁、方便,有并有提示信息,用户只要经过简单的培训就可使用,因此操作方面完全可行。

3.2 需求分析

需求分析的基本任务是准确回答“系统必须做什么”这个问题,也就是确定为了满足用户的需要系统必须做什么。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。需求分析阶段必须仔细分析系统的业务流程,对业务流程进行抽象,得到系统的数据流分析。数据流图是从数据流动和加工的角度描述了系统要处理的数据和对数据的处理,所以数据流图代表了系统的逻辑模型。数据流图只是抽象地描述了系统的概貌,还要用其它工具进行更详细的描述。数据字典、E-R图是详细描述系统中的数据元素、数据流、数据存储、处理和数据概念模型的好工具。通过业务流程图、数据流图、数据字典、E-R图等图形工具,可以准确、规范地描述系统的需求。

本系统是根据综合测评系统特点设计出来的,系统以用户管理、成绩管理、课程管理、反馈信息管理为核心,实现综合测评系统化管理。通过相关调研,该系统应具有以下几部分的功能:

1.对于管理员来说,其要对系统进行管理与维护,当管理员登录系统成功后,其要实现以下操作:⑴添加用户;⑵删除用户;⑶修改密码;⑷修改已录入成绩的学生的成绩;⑸查询学生成绩;⑹查看学生综合测评成绩;⑺删除学生成绩;⑻查看留言;⑼回复留言;⑽删除留言。

2.对于教师来说成功登录后,其要实现以下操作:⑴查询个人信息;⑵查询学生各科成绩;⑶查询学生综合测评成绩;⑷录入学生成绩;⑸加分审核;⑹修改个人密码;⑺综合测评。

3.对于学生来说 ,当其成功登录系统后,要实现以下操作:⑴查询个人信息;⑵查询个人各科成绩;⑶查询综合测评成绩;⑷加分申请;⑸修改个人密码。

3.3数据流程分析

数据流程分析,即把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。

现有的数据流程分析多是通过分层的数据流程图来实现。数据流图(Data Flow Diagram,简称DFD)是用一些规定的图标和符号来描述数据在系统中的流动和处理情况。数据流图一般要采用自上而下逐步求精的结构化表示方法。软件系统归根结底是一个信息处理系统,其最基本的功能是感受输入信息,对输入的信息按照规定的方法归类、处理以及存储,转变为所需要的信息,最后通过输出系统向用户输出所需求的信息。其中核心的部分就是信息(数据)处理,因此不同的数据也就决定了所需要的不同的处理方法和算法。数据流图也就是以图形的方式将系统中数据的传递、转化过程以直观的方式表述出来。

数据流图由四种基本的元素组成:数据流(Data Flow)、处理(Process)、数据存储和数据源(数据终点)。

1.数据流(Data Flow):为具有名称且有流向的数据,用标有名称的箭头表示。一个数据流可以是记录、组合项或基本项。

2.处理(Process):表示对数据多进行的加工和变换,在图中用圆形表示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理的输出数据.

3.数据存储:表示用文件方式或数据库形式所存储的数据,对其进行的存取分别以指向或离开数据存储的箭头表示。

4.数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是与系统有关的外部

事物或外部环境。其图形符号用平行四边形表示。

数据流图的基本图形符号如图3.1所示。

根据上面的分析我们可以对系统画出如图3.2所示的顶层数据流图。

图3.2 系统顶层数据流图

第1层数据流图是在顶层上的细分,从整体考虑综合测评系统出现的数据流动及流向,可画出如图3.3所示的第1层数据流图。

图3.3 系统第1层数据流图

3.4系统流程分析

系统流程图(System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。

系统流程图表达的是系统各部件的流动情况,而不是表示对信息进行加工处理的控制过程。 系统流程图的作用表现在以下几个方面:

  1.制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过

程,它是系统分析员做进一步分析的依据。

2.系统流程图是系统分析员、管理员、业务操作员相互交流的工具。

3.系统分析员可直接在系统流程图上画出可以有计算机处理的部分。

4.可利用系统流程图来分析业务流程的合理性。

本系统的基本操作流程如图3.4所示。

图3.4系统流程图

3.5 本章小结

        本章对系统研发的可行性、系统的需求分析、进行了详细的调查与研究,得出的结论是:本系统的研发是可行的、本系统的市场前景是广阔的;对数据流程进行了分析与研究,得出了顶层数据流图及第一层数据流图。本章还对系统的流程做了细致的研究,对系统的流程做了优化,画出了系统流程图。


第4章 系统总体设计

总体设计即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。总体设计是工程项目开发过程中的一个重要阶段,它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。软件功能分解属于软件开发中的总体设计阶段。

4.1 系统设计的目标

本系统针对综合测评的最基本的需求而开发,通过对用户、成绩、课程、信息反馈等各项活动实施全面管理,不仅能使管理工作人员准确高效地执行各项活动,减轻劳动强度,而且能够让学生及时了解本自己的学习情况,从而达到完善综合测评的目的。该系统具有科学、高效、实用等特点,能够达到较高的用户满意率。

一般来说,综合测评系统应满足以下几点基本要求:

    1.要求有良好的人机界面,操作简单;

  2.由于该系统的使用对象多,要求有较好的权限管理; 

3.原始数据修改简单方便,支持多条件修改;

4.方便的数据查询,支持多条件查询;

5.在相应的权限下,删除数据方便简单,数据稳定性好;

6.数据计算自动完成,尽量减少人工干预。

4.2 系统功能分析

根据综合测评系统的特点,可以将综合测评系统分为管理员模块、普通教师模块、班主任辅导员模块、学生模块、反馈信息模块五部分进行设计。管理员模块主要用于管理员对中各系统的管理与维护;普通教师模块主要用于普通教师对个人信息查询及修改、对学生成绩的查询及录入、对综合测评信息的查询;班主任、辅导员模块主要用于班主任或辅导员对个人信息查询及修改、对学生成绩的查询及录入、对综合测评信息的查询、对学生加减分申请的审核、对学生成绩的综合测评;学生模块主要用于学生对个人信息的查询及修改、对各科成绩的查询、对综合测评的查询、综合测评加分申请、信息反馈模块主要用于用户对系统使用情况的反馈及管理员的回复。

4.3 系统功能模块

4.3.1 管理员功能模块

系统管理员成功登陆系统,有权限进行如下操作:用户管理 、成绩管理、  课程管理及反馈信息管理。其中用户管理包括:新增学生用户、新增教师用户、查询及修改学生信息、查询及修改教师信息;成绩管理包括:查询及修改成绩、查询综合测评成绩;课程管理包括:课程信息的操作;反馈信息管理包括:回复留言、删除留言。管理员功能模块图如图4.1所示。

图4.1管理员功能模块图

4.3.2学生功能模块

学生可以成功登录系统,学生有权限进行如下操作:个人信息查询、各科成绩查询、综合测评查询、综合测评加分申请、修改个人密码。学生功能模块图如图4.2所示。        

4.3.3普通教师功能模块

普通教师登陆成功后,有权进行如下操作:个人信息查询、成绩查询及录入、综合测评查询、修改个人密码。普通教师功能模块图如图4.3所示。

图4.2学生功能模块图

图4.3普通教师功能模块图

4.3.4班主任辅导员功能模块

考虑到班主任、辅导员可能都需要参与综合测评,故本系统将班主任和辅导员的登陆界面设计为同一个。当班主任或辅导员登陆成功后,有权进行如下操作:修改个人密码、个人信息查询、成绩查询及录入、加分审核、综合测评、综合测评查询。班主任辅导员功能模块图如图4.4所示。

4.3.5反馈信息功能模块

所有用户进入信息反馈模块,有权进行留言,管理员有权进行留言管理。反馈信息功能模块图如图4.5所示。

图4.4班主任辅导员功能模块图

                       图4.5反馈信息功能模块图

4.3.6系统整体结构

由以上各子功能模块图可得图4.6所示的系统整体结构图。

图4.6系统整体结构图

4.4本章小结

本章对系统进行总体设计,具体包括系统设计的目标、系统功能分析、系统功能模块的设计。其中系统功能模块又分为管理员功能模块图、学生功能模块图、普通教师功能模块图、反馈信息功能模块图、班主任辅导员功能模块图,通过对以上内容的调查、分析、研究与设计,可以得出总体结构图,这对以后的详细设计与实现起到了奠基作用。


第5章 数据库设计

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。

数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

5.1 概念结构设计

在综合测评管理系统中,需要将每个学生的各项成绩进行保存,包括:德育成绩、智育成绩、体育成绩和能力分。还要保存用户的基本信息,包括:用户名、密码和用户类型。同时也要保存学生的基本信息,包括:学号、姓名、班级、班级号。以及各种类型用户使用该系统的操作关系:管理员可对学生成绩进行查看、修改和删除,可对用户进行添加和删除,教师可录入学生成绩、查看学生成绩以及修改自身密码;学生可查看成绩以及修改自身密码。

5.2实体E-R

    1.学生实体

对于学生而言,必须要有学号(主键)、姓名、班级、年级、智育成绩、德育成绩、体育成绩、能力分、综合测评总分等属性,对于籍贯、出生年月、年龄等其他属性因与综合测评关系不大,本文不一一列出。学生实体E-R图如图5.1所示。

2.综合测评实体

对于综合测评实体而言,必须要有智育成绩、德育成绩、体育成绩、能力分(各方面加减分)及学期等基本属性。图5.2为综合测评实体E-R图。

图5.1学生实体E-R图

图5.2综合测评成绩实体E-R图

    3.用户类型实体

用户类型包括管理员、普通教师、班主任辅导员及学生。其中普通教师与班主任、辅导员都是教师。图5.3为用户类型实体E-R图。

    4.德育成绩实体

德育成绩分为三部分:自评、辅导员测评、小组测评。图5.4为德育成绩实体E-R图。

图5.3用户类型实体E-R图

图5.4德育成绩实体E-R图

    5.能力分实体

    学生能力分包括基础积分、荣誉积分、减分项及其他积分。其中荣誉分包括学生干部积分、校级活动积分、院级活动积分、社会活动积分、考试证书积分等。5.5图为能力分实体E-R图。

图5.5能力分实体E-R图

    6.班级实体

班级实体包括班级号(主键)、班级名称两个属性。图5.6为班级实体E-R图。

    7.教师实体

教师实体主要包括教工号、教师名、密码、性别、出生年月、学院、联系方式等属性,其中教工号为主键。图5.7为教师实体E-R图。

    8.课程实体

课程实体主要包括课程号、课程名、上课时间、学时、上课教师工号、上课教师名等属性,其中课程号是主键。图5.8为课程实体E-R图。

    9.加分申请实体

加分申请实体主要包括学号、申请项目名称、申请加减分分值、加减分类型、申请状态、审核状态等基本属性。图5.9为加分申请实体E-R图。

图5.7为教师实体E-R图

图5.8课程实体E-R图

图5.9加分申请实体E-R图

5.3  逻辑结构设计

逻辑结构设计的主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。

    1.逻辑结构设计的步骤

目前DBMS产品一般支持关系、网状、层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。所以设计逻辑结构时一般要分为三个步骤:

    ⑴将概念结构转换为一般的关系、网状、层次模型;

    ⑵将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

    ⑶对数据模型进行优化。

根据以上步骤画出如图5.10所示逻辑结构设计步骤图。

图5.10逻辑结构设计的步骤图

    2.E-R图向关系模型转化的规则

E-R图向逻辑结构转换规则包括全局模式和各个外模式。由于现在普遍应用的是关系型数据库管理系统,所以要设计的数据库逻辑模式也就自然是指关系型的逻辑结构模式。

关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则:

⑴一个1:1联系可以转换为一个独立的关系模式,也可经与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。

⑵一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

⑶一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

⑷三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

⑸具有相同码的关系模式可合并。

    3.E-R图向关系模型转化的结果

部分E-R图向关系模型转化的结果如下:

        ⑴学生关系模型

学生(学号,姓名,性别,学院,专业,班级,入学年份,出生年月,联系方式,登录密码)

⑵综合测评关系模型

综合测评(学号,智育成绩,德育成绩,体育成绩,能力分,学期)

⑶用户类型关系模型

用户类型(用户号,管理员,教师,学生)

⑷班级关系模型

班级(班级号,班级名称)

    ⑸教师关系模型

教师(教工号,教师名,密码,性别,出生年月,学院,联系方式)

⑹课程关系模型

课程(课程号,课程名,上课时间,学时,上课教师工号,上课教师名)

⑺加分申请关系模型

加分申请(学号,申请项目,申请加减分分值,加减分类型,申请状态,审核状态)

5.4数据库表设计

    1.管理员、教师、学生登录信息表(admin)

不论是管理员、教师还是学生,要想进入系统,必须通过身份验证,这样管理员、教师及学生的登录信息必须储存在登录信息表中。当管理员、教师或学生登陆时,将其输入的信息与表中信息进行比较,匹配成功则可登录。登录信息表一般具有用户名、密码、及用户类型等基本属性。管理员、教师、学生登录信息表的具体内容见表5.1。

表5.1管理员、教师、学生登录信息表

列名

数据类型

长度

允许空

ID

int

4

UserName

nvarchar

20

Password

nvarchar

20

Type

int

4

2.学生表(student)

学生表是反映的是学生基本情况,一般包含学生的学号、姓名、性别、学院、专业、班级、入学年份、出生年月、联系方式、登录密码等基本信息,其中学号为主键。对学生基本信息的操作,其实就是对学生表中的内容进行操作。学生表具体信息见表5.2。              

表5.2学生表

列名

数据类型

长度

允许空

ID

int

4

Studentno

nvarchar

20

Pwd

nvarchar

20

Name

nvarchar

30

Class

nvarchar

20

Colleageyear

nvarchar

20

Department

nvarchar

50

Major

nvarchar

50

Birth

nvarchar

100

Sex

nvarchar

2

Tell

nvarchar

50

     3.课程表(course)

课程表主要用于课程的查询与管理,课程表包含课程号、课程名、上课时间、学时、上课教师工号、上课教师名等内容,其中课程号为主键。课程表的基本信息见表5.3。                       

表5.3课程表

列名

数据类型

长度

允许空

ID

int

4

Courseno

nvarchar

20

Coursename

nvarchar

50

Time

int

4

Studytime

float

4

Teacherno

nvarchar

20

Teachername

nvarchar

30

4.成绩表(score)

成绩表用于记录学生各科成绩,对学生成绩的基本操作需要用到成绩表,成绩表主要内容有学号、课程号、成绩、成绩类型,其中学号与为主键。成绩表的具体信息见表5.4。

表5.4成绩表

列名

数据类型

长度

允许空

ID

int

4

Courseno

nvarchar

20

Studentno

nvarchar

20

Score

float

4

Type

int

4

5.教师信息表(teacher)

教师信息表用于对教师基本信息的操作,其内容主要有教工号、教师名、密码、性别、出生年月、学院、联系方式等,其中教工号为主键。教师信息表的基本信息见表5.5。   

6.学生加分申请表(studentextra)

学生加分申请表是用于存储学生提交的加分申请信息的,班主任或辅导员以此信息为基础,进行加分审核。学生加分申请表包含学号、申请项目、申请加减分分值、加减分类型、申请状态、审核状态等内容,其中学号为主键。学生加分申请表的基本信息见表5.6。

表5.5教师信息表

列名

数据类型

长度

允许空

ID

int

4

Teacherno

nvarchar

20

Teachername

nvarchar

20

Pwd

nvarchar

20

Sex

nvarchar

2

Birth

nvarchar

100

Department

nvarchar

50

Tell

nvarchar

50

表5.6学生加分申请表

列名

数据类型

长度

允许空

ID

int

4

Studentno

nvarchar

20

Item

nvarchar

20

Sscore

float

4

Sflag

int

4

Tflag

int

4

Type

int

4

    7.用户信息反馈表(message)

用户信息反馈表用于对用户留言的存储与管理,其包含用户号、用户名、用户留言、留言时间等内容。用户信息反馈表的基本信息见表5.7。

表5.7用户信息反馈表

列名

数据类型

长度

允许空

ID

int

4

Userno

nvarchar

20

Username

nvarchar

20

Message

nvarchar

500

Showtime

datetime

20

5.6本章小结

本章主要对数据库进行了分析与设计,数据库设计可分为概念结构设计、逻辑结构设计、数据流程分析、实体E-R图、数据库表设计,其中数据库表设计有包括  管理员、教师、学生登录信息表、学生表、课程表、 成绩表、教师信息表、学生加分申请表、用户信息反馈表。


第6章 系统详细设计与实现

详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。

传统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有业务流图、程序流程图、PAD图、NS图。语言工具有伪码和PDL等。

6.1 首页面的设计与实现

 本系统首页不仅具有显示学校最新消息的功能,更是五大功能模块的入口,用户进入首页后,可以通过首页上的管理员登录、班主任辅导员登录、普通教师登录、信息反馈五个按钮进入不同的模块,除了信息反馈模块是对所有用户开放的外(即无需登录即可进入)其余四个模块均需身份验证。首页页面效果图见图6.1。

图6.1首页页面图

6.2管理员功能模块的设计与实现

    1.登录界面的设计与实现

进入管理员登录窗口后,输入验证信息,若验证成功后即可进入管理员信息管理系统;若验证不成功,则显示登录失败。管理员登录页面效果图见图6.2。

图6.2管理员登录页面图

    2.管理界面的设计与实现

进入管理员信息系统后,管理员可以对用户进行如下操作:⑴新增学生用户,⑵新增教师用户,⑶查询及修改学生成绩,⑷查询及修改教师信息;可以对成绩进行如下操作:⑴查询及修改成绩,⑵查询综合测评成绩;可以对课程进行如下操作:⑴查询,⑵修改,⑶删除;可以对信息反馈进行如下操作:⑴回复留言,⑵删除留言。管理员管理界面效果图见图6.3。

图6.3管理员管理界面图

3.用户管理的设计与实现

⑴新增学生用户

该功能是通过对学生表的操作,实现了学生用户的添加。具体界面效果图见图6.4。

图6.4新增学生用户界面图

⑵新增教师用户

该功能是通过对教师表的操作,实现了教师用户的添加。具体界面效果见图6.5。

图6.5新增教师用户界面图        图6.6查询及修改学生信息界面图

⑶查询及修改学生信息

当需要查询学生信息时,只要输入相应的信息即可查询,如果需要更该学生的信息只需点击该学生前的“编辑”按钮即可对其信息进行更改,如果需要删除学生信息,只需点击“删除”按钮即可删除。具体具体效果见图6.6。

⑷查询及修改教师信息

查询教工信息是按教工号查询的,如果需要查询某位教师的信息,只需知道该教师的教师号即可。更该教师信息时,只要点击教师前的“编辑”按钮即可对其信息进行更改,如果需要删除教师信息,只需点击“删除”按钮即可删除。具体界面效果见图6.7。

 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.net maui安卓开发中使用明文传输(一)

背景:最近在做一个pad上的项目,目的是执行每日点检功能(就是检查设备的各项保养指标);前期用HBuilder做了一个,但是现场的触摸屏选用的是TouchPie 安卓版本是6.0版本,上次开发的软件可以在安卓7.0上完美兼容,但由于触摸屏安卓版本太低不能兼容;询问厂商才知道这款触摸…

【Datawhale AI夏令营】从零上手CV竞赛Task1

【Datawhale AI夏令营】从零上手CV竞赛Task1 前言赛事官网学习任务TASK 1 前言 这个暑假我通过微信群关注到了【Datawhale AI夏令营】,并且记录我的代码学习以及调试的过程。 赛事官网 赛事官网:https://www.marsbigdata.com/competition/details?id…

RING总线(环形总线)Intel大小核的由来

想到Intel处理器,无一例外大家想到的就是现在的它具有大小核的结构,也就是性能核和效能核。这种结构的由来是由RING总线布局结构而诞生。ring总线(环形总线),这个名字经常出现在讨论普通消费级处理器的时候&#xff0c…

算法【Java】—— 二分查找

二分查找算法分析 二分查找算法其实也是对撞指针的另一种用法,左右两个指针分别指向数据的左右端点,然后双指针向中间移动。 朴素二分查找 上面这道题是朴素的二分查找算法,由于数据是有序的,我们可以从中间值入手 如果中间值大…

国货之光|暴雨机推出面向大模型训练的AI服务器

当前,“百模大战”带来了算力需求的爆发,尤其是以ChatGPT为代表的多模态AI大模型,‌其参数规模和训练数据量均达到了前所未有的规模。‌GPT-3.5、‌GPT-4等模型的参数规模突破了万亿级别,‌训练数据量达到了TB级别,‌这…

AI多模态模型架构之模态生成器:Modality Generator

〔探索AI的无限可能,微信关注“AIGCmagic”公众号,让AIGC科技点亮生活〕 本文作者:AIGCmagic社区 刘一手 前言 AI多模态大模型发展至今,每年都有非常优秀的工作产出,按照当前模型设计思路,多模态大模型的…

Ai+若依(定时任务):【01篇】

若依为定时任务功能提供方便友好的web界面,实现动态管理任务。 案例 每间隔5秒,控制台输出系统时间。 实现步骤: ①创建任务类 在服务 ==》ruoyi-quartz==》task==》MyTask package com.ruoyi.quartz.task;import org.springframework.stereotype.Component;@Component…

程序员修炼之道 10:并发

不记录,等于没读。 这里是我阅读《程序员修炼之道》这本书的记录和思考。 并发和并行代码曾经是很新奇的玩意,但现在已经是标配。 并发 :Concurrency,指的是两个或更多个代码段在执行过程中表现得像是在同时运行一样。 并行 &am…

AD的3D模型格式是什么

AD通常指的是Altium Designer,这是一款用于电子设计自动化的软件,主要用于电路板的设计。在Altium Designer中,3D模型主要用于PCB(印制电路板)设计中的可视化,以便设计师能够在三维空间中查看组件和板的布局…

21:【stm32】定时器二:输入捕获

输出捕获 1、输出捕获的简介2、输入捕获原理2.1、输入滤波2.2、信号选择2.3、CCx事件和CCx中断 3、标准库编程 1、输出捕获的简介 定时器通过通道捕获输入电平的变化,而通道有CH1~CH4,这4个通道。 我们设定对通道CH3的输入电平进行捕获。假如CH3突然捕获…

Java排序算法详解

在Java编程中,排序算法是数据处理和算法设计中的基础且重要的部分。它们广泛应用于各种场景,如数据库管理、数据分析、图形界面排序等。掌握几种常见的排序算法对于提升程序效率和优化性能至关重要。本文将详细解析几种经典的Java排序算法,包…

OpenGL笔记二十之深度检测概念

OpenGL笔记二十之深度检测概念 —— 2024-08-25 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记二十之深度检测概念1.课程PPT截图2.运行3.代码 1.课程PPT截图 2.运行 3.代码 关键部分 main.cpp #include <iostream>#include "glfra…

【逐行注释】三维EKF的MATLAB代码|附下载链接

文章目录 程序概况源代码与注释运行结果代码块解析 程序概况 基于MATLAB的EKF&#xff08;扩展卡尔曼滤波&#xff09;代码解析。状态转移和观测都是非线性的&#xff0c;也就是说会涉及到雅克比矩阵的求解。我尽量将模型设计复杂一点&#xff0c;便于拿到手以后改成自己想要的…

C++类和对象(2)——拷贝构造函数

拷贝构造函数的语法 拷贝构造函数是构造函数的重载&#xff0c; 用于这种情况&#xff1a;用已经构造好的对象去给另一个对象初始化。 int main() {Date d1(2024, 8, 1);Date d2(d1);//用d1初始化d2return 0; } 我们以Date类为例子讲解一下。 class Date { public://全缺省…

.NET周刊【8月第3期 2024-08-18】

国内文章 Roslyn 简单实现代码智能提示补全功能 https://www.cnblogs.com/lindexi/p/18365261 相信有很多伙伴热衷于编写 IDE 应用&#xff0c;在 dotnet 系下&#xff0c;通过 Roslyn 友好的 API 和强大的能力&#xff0c;实现一个代码智能提示是非常简单的事情。本文将和大…

【互动直播】支付能力视角与年龄的调节作用—推文分享—2024-08-25

【今天的关键词是&#xff1a;“interaction” AND “live commerce”】 第一篇&#xff1a;通过信息技术的可供性&#xff08;IT affordance&#xff09;视角&#xff0c;直播电商的实用、社交和享乐三个维度的IT可供性如何影响购买意愿&#xff1b; 第二篇&#xff1a;研究…

凭借着“16连射”造就一个游戏角色的诞生

一、高桥名人的冒险岛起源 大约在 1986 年&#xff0c;Hudson 的所有人都很喜欢一款名为《神奇男孩》的街机游戏&#xff0c;公司内部有人建议将其改编成 Famicom 游戏。因此&#xff0c;副总裁和高桥名人去查看角色和游戏的开发情况&#xff0c;当他们查看正在构建的角色时&am…

C++类和对象的基础介绍(1)

类的定义 C类的关键字是class&#xff0c;学过c的朋友们可能会觉得和结构体struct有点像。 在C中struct也可以定义类&#xff0c;但和class定义的有所区别。 我们还是推荐使用class。 类里面会有成员变量、成员函数的定义和声明、构造函数、拷贝构造函数、析构函数、运算符…

迈巴赫S480升级大柏林音响31个喇叭8个座椅震动加上后排按摩座椅更加舒适

迈巴赫 S480 改装大柏林音响的改装案例&#xff1a; 改装前的车辆音响系统&#xff1a; 迈巴赫 S480 原车配备了 15 个喇叭的小柏林音响系统。 改装方案&#xff1a; 1. 扬声器升级&#xff1a;将原车的小柏林音响全部拆下&#xff0c;更换为大柏林的扬声器。大柏林音响系统…

SCMsafe链四方参展2024第三届医药供应链创新大会

024年8月22日-24日&#xff0c;由智慧医药主办&#xff0c;多家行业协会、研究机构、生产、流通及供应链公司协办的2024第三届医药供应链创新大会在杭州召开。 会议以“正在遇见的革命”为主题&#xff0c;聚焦生产、流通及终端医药供应链热点、痛点政策和市场话题&#xff0c;…