版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论1.1开发背景信息技术的飞速发展促进了社会的变革与进步。为了适应商业环境的变化并提高竞争力,企业和学校为各种用户提供更快,更高质量,更低成本和更个性化的服务。提出使用管理信息系统的解决方案。如今,随着计算机的普及,管理信息系统的应用越来越广泛。有用于公司和企业的人员管理系统,用于学校的图书馆管理系统和学生信息管理系统以及用于政府部门的文件管理系统。其中,文件管理是一个相对较旧的应用程序,人们一直使用传统的手动方法来管理档案,这给查找,更新和维护带来了很大的困难。随着计算机技术和通信技术的飞速发展,无纸化办公已成为社会发展的新热点。在这种发展的推动下,传统的文件管理方法已不再适应时代的发展。根据现代校园的发展而设计的基于ASP.NET的学生文件管理系统可以有效地管理所有学生。信息,实现在线检索学生信息,同时提高学生档案管理的效率,是学校科学,定期,自动化管理各类信息的重要条件。1.2校园管理信息系统的发展、现状和意义我们正处于计算机技术和计算机理论飞速发展的时代。计算机技术和计算机理论的发展促进了社会的进步。管理信息系统不是固定的东西,它随着时间的变化而不断变化,从最早的业务处理系统到流行的管理信息系统,从简单的部门信息管理系统到企业和园区的战略信息管理。可以感觉到管理信息系统的广泛应用。由于个人计算机和局域网的快速发展,并且它们的性能越来越高,人们已经开始使用计算机技术来完成琐碎而繁琐的文档管理,文档传输等任务,并将所有员工都置于办公室进入工作环境。共享网络中的资源,随着管理信息系统的发展,企业和学校的管理人员不再对使用计算机技术来处理那些常规操作感到满意,而是希望使用计算机来分析更复杂的决策问题。如今,随着互联网的出现,计算机技术在企业和校园中的作用越来越明显。计算机技术不再是一种管理方法,而是被视为确保企业和园区成功的战略资源。校园管理信息系统的优势越来越明显。它可以为用户提供足够的信息和快速的查询方法。它是教育部门必不可少的部分。这对于学校的决策者和管理者来说非常重要。使用计算机来管理学生信息具有与人工管理相比无法比拟的优势,例如:检索速度快,搜索方便,可靠性高,存储容量大,保密性好,寿命长,成本低等。1.3本文主要研究的内容本文主要研究学生档案管理系统的设计和开发过程。该系统主要包括对基本学生信息,学生状态变化信息,学生奖惩信息,学生成绩,学生团员文件,学生状态文件等信息的管理。该系统易于操作,适合于主要中学使用。本文的第二部分介绍了管理信息系统和动态网站开发技术ASP.NET和数据库语言SQLServer2000。第三部分讨论了学生档案管理系统的开发过程,包括需求分析,系统UML建模,系统过程分析,系统功能模块设计,数据库创建和数据连接等。第四部分介绍系统测试和维护,最后进行总结。1.4本系统开发的方法该系统基于软件工程的系统设计思想,并采用基于Internet的BS(浏览器/服务器-浏览器/服务器)体系结构。使用面向对象的软件开发模型,在.NETFramework的开发环境下,使用动态软件开发技术ASP.NET应用程序来设计和开发系统前端,使用编程语言C#结合数据库语言SQLServer2000实现后端开发。、2ASP.NET开发学生档案管理系统本章介绍与管理信息系统相关的基础知识,数据库原理和概念,数据库语言SQLServer2000,脚本语言C#和ASP.NET应用程序的开发方法和开发过程。2.1学生档案管理信息系统综述2.1.1MIS的概念及特征管理信息系统(ManagementInformationSystems,简称MIS),是由人员,计算机和其他外围设备组成的系统,可以收集,传输,存储,处理,维护和使用信息。这是一门新科学。其主要任务是最大限度地利用现代计算机和网络通信技术来加强企业和校园的信息管理。通过对企业拥有的人力,物力,财力,设备和技术资源的调查和了解,建立正确的数据,处理和汇编各种信息材料,并及时提供给管理者,以做出正确的决定并不断提高企业的管理水平和经济效益。下面介绍MIS的几个相关概念:信息:管理信息系统中涉及的对象是各种信息。信息是一个社会概念。它是社会共享的所有人类知识和学习以及客观事物产生的各种信息的总和。信息具有许多特征,包括共享,准确性,及时性,可存储性,可传递性,有序性,可再现性,适应性和其他特征。系统:管理信息系统实际上是一种系统。该系统是一个有机的整体,具有由许多相互作用和相互依存的组件或元素组合而成的特定功能。从系统结构的角度来看,系统可以分为五个基本要素,即输入,输出,处理,反馈和控制。信息系统:信息系统由一组相互关联的组件组成。它必须完成企业内部信息的收集,传输,处理,存储,使用和维护,并支持企业的计划,管理,决策,协调和控制。它主要用于管理所需的记录和处理记录的数据。其最终目的是使管理人员能够及时了解企业的现状并掌握未来的发展道路。MIS具有以下特征:具有统一计划的数据库是MIS成熟的重要标志,它象征着MIS是软件工程的产物。通过MIS实现信息增值,使用数学模型对数据进行统计分析,实现辅助决策。MIS不断发展变化,MIS具有生命周期。MIS的发展必须有一定的科学管理工作基础。2.1.2NETFramwork概述.NETFramwork是用于开发和运行软件的新环境。该环境提供了许多基于Web的服务,并且易于使用。它使多种语言之间以及网络上的群集之间的基于组件的交互式访问更加方便。.NETFramework的功能通过互联网标准集成松散集成的组件支持多种编程语言提高编程语言的效率全面的数据保护可用操作系统的服务.NETFramwork层次结构,如图2-1所示:VB.NETVB.NETC#C++JScript、、、、、CommonLanguageSpecificationASP.NET(WebForms&WebServices)WindowsForms们ADO.NET(Data&XML)ClassLibraryCommonLanguageRuntime图2-1.NETFramework的层次结构.NETFramework的组成:.NETFramework由CLR(公共语言运行时)、.NET类库(即.NETFramework类库),ADO.NET,ASP.NET和Windows窗体,CLS(公共语言规范)和其他重要技术组成。其中,CLR是.NETFramework的操作环境。.NET类库是.NET应用程序软件开发的基本类库,并且是.NET平台本身的实现基础。ADO.NET为.NET框架ASP提供了统一的数据访问技术。NET和Windows窗体是.NET框架的主要接口技术。CLS定义了在.NET框架上运行的一组语言功能。2.1.3B/S(Browser/Server)架构的优势B/S体系结构比C/S体系结构具有很大的优势。传统的MIS系统依赖于专门的操作环境,这意味着操作员的活动空间受到很大限制,而B/S体系结构不需要特殊的操作。MIS的操作环境可以在任何地方操作,只要您可以访问Internet。该系统的优缺点不言而喻。B/S的主要优点如下:B/S体系结构与不同的网络拓扑和各种网络传输媒体具有良好的兼容性。基于B/S体系结构的系统,用户端维护非常少,易于使用,并且只能在标准浏览器上正常运行。B/S结构具有集中管理的优势。B/S体系结构使用标准的网络WEB服务器来确保服务器具有较高的安全性。B/S体系结构具有远程访问的优势。2.1.4ASP.NET软件开发技术简介ASP.NET是Microsoft启动的基于通用语言的编程框架。它可用于在服务器端创建功能强大的网络程序,例如商业网站,聊天室,论坛等。它是用于编译公司网络程序的新一代平台。工作人员提供了全新的网络编程模型。ASP.NET的功能:ASP.NET基于.NET平台。开发人员可以使用任何.NET兼容语言,包括C#,VB.NET和Jscript。所有.NETFramework技术都可以在ASP.NET中使用。ASP.NET在设计过程中充分考虑了程序开发的效率。您可以使用WYSIWYGHTML编辑器或其他编程工具来开发ASP.NET程序,包括VisualStudio.NET版本。ASP.NET中有两种编程模型:Web窗体和Web服务,两者可以单独使用或组合使用。2.1.5C#语言简介C#是一种令人耳目一新的面向对象编程语言,它使开发人员可以在短时间内掌握它,并将其应用于实际的软件开发中。它在轻松创建复杂程序和语言平衡点方面找到了最佳方法。C#是从以前的语言演变而来的。它不仅为程序员提供了一种快速的开发方法,而且还保留了C和C++的基本特征,即强大的控制能力。因此,学习过C和C++的人将更容易学习C#。C#具有五个主要功能:简单和方便;灵活性和兼容性;面向对象更好的安全性和错误处理;版本控制技术。2.2数据库基础知识2.2.1数据库的基本原理及概念数据库(DataBase)是长时间存储在计算机中,统一组织和管理的相关数据的集合。它具有冗余小,数据之间的紧密连接以及数据独立性高的特点。它分为两类,一类是应用程序数据的集合,称为物理数据库,它是数据库的主体,另一类是对各种级别的数据结构的描述,称为描述数据库。数据库系统(数据库系统)是使用数据库技术的计算机系统。DBS是一种实用的系统,可以根据数据库方法存储,维护并为应用程序系统提供数据支持。它是数据库硬件,软件和数据库管理员的汇总。数据库管理系统(数据库管理系统)是位于用户和操作系统(OS)之间的一层数据管理软件。它为用户或应用程序提供了一种访问数据库的方法,包括数据库控件的建立,查询,更新和各种数据。DBMS始终基于特定的数据模型,该模型可分为分层,网格,关系和面向对象等,DBMS的工作模式如图2-2所示:应用程序应用程序DBMSDB数据请求数据(处理结果)低层指令数据(查询结果)图2-2DBMS的工作模式图2-2DBMS的工作模式数据库技术是一门软件课程,旨在研究数据库的结构,存储,设计,管理和使用。数据库技术是在操作系统的文件系统的基础上开发的,DBMS本身只能在操作系统的支持下工作,数据库与数据结构之间的联系也非常紧密。数据库技术的发展经历了四个阶段,即手动管理阶段,文件系统阶段,数据库阶段和高级数据库阶段。2.2.2关系数据库概述关系模型是一种数据模型,它使用二维表表示实体集,并使用关键代码进行数据导航。关系模型也称为基表。存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。关系是具有相同数量属性的元组的集合。在关系模型中,对关系施加了以下规范性限制:关系中的每个属性值都是不可分解的。关系中不允许有重复的元组(也就是说,不允许相同的元组)。由于关系是集合,因此不考虑元组之间的顺序,即不存在行顺序。从理论上说,元组中的属性也是无序的,但使用时要考虑列的顺序。为了方便用户,关系数据库管理系统为用户提供可以直接在数据库上操作的查询语句。这种查询语句可以通过对关系的一系列操作来实现,并且应该至少支持三种关系操作,即选择,投影和连接。选择是从二维表中选择符合条件的记录。从行的角度来看,这是对关系的操作。投影是从二维表中选择所需的列。从列的角度来看,这是对关系的操作。连接是同时包含两个二维表的操作。它是通过在给定属性上连接两个满足给定条件的记录而获得的新关系。关系数据库语言SQL:SQL(结构化查询语言)或“结构化查询语言”是关系数据库的标准语言。它在关系模型的开发和商业DBMS的开发中起着重要作用。它是关系代数和元组演算之间的交叉。SQL数据库的体系结构具有以下要点:SQL模式是一个命名的数据组,它由表,授权,规则,约束等组成。SQL表由一组行组成,一行是一列列,每列对应一个数据项。表共有三种类型:基本表,视图和导出表。一个基本表可以跨越一个或多个存储文件,一个存储文件也可以存储一个或多个基本表,并且每个存储文件都对应于外部存储上的一个物理文件。用户可以使用SQL语句查询基本表和视图以及其他操作。SQL用户可以是应用程序或最终用户。SQL的组成:数据定义语言(即SQLDDL)用于定义SQL模式,基本表,视图,索引等的结构。数据操作语言,即SQLDML,分为两种类型:数据查询和数据更新,其中数据更新分为三种操作:插入,删除和修改。规定使用嵌入式SQL语言。数据控制语言,即SQLDCL,这部分包括涉及嵌入在宿主语言程序中的SQL语句的规则。2.3ADO.NET数据库连接2.3.1ADO.NET基本概念ADO.NET是重要的应用程序级接口,在Microsoft.NET平台中用于提供数据访问服务。它包含一系列对象。这些功能强大的对象的使用可以轻松完成数据库上的复杂操作。ADO.NET提供对各种数据源的访问,包括MicrosoftSQLServer数据源以及通过OLEDB和XML公开的数据源。应用程序可以使用ADO.NET连接到这些数据源,并处理和更新数据。ADO.NET对象模型(如图2-3所示)ASP.NETASP.NET应用程序DataSetDataReaderDataAdapterCommand对象Connection对象图2-3ADO.NET的对象模型ASP.NET对象可以分为两部分:DataSet对象和.NETFramework数据提供程序,后者包括Connection,Command,DataReader和DataAdapter对象。DataSet对象是ASP.NET断开连接结构的核心对象。它旨在实现独立于数据源的数据访问。.NETFramework数据提供程序的设计目的是实现数据操纵和数据的快速读写,其中包括:连接对象:提供与数据源的连接。命令对象:描述用于访问和修改数据以及运行存储过程的数据库命令。DataReader或DataSet对象:用于插入数据,应将它们绑定到页面上的DataGrid或<div>标记数据源。DataAdapter对象:提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以将数据加载到DataSet中,并使DataSet中的数据与数据源保持一致。2.3.2ADO.NET数据库连接概述ADO.NET使用Connection对象连接到指定的数据源,其中:SQLServer.NETFramework数据提供程序的SqlConnection对象用于连接到MicrosoftSQLServer7.0版或更高版本。OLEDB.NETFramework数据提供程序的OleDbConnection对象用于连接到MicrosoftSQLServer6.x版及较早版本和使用SQLServer的OLEDB提供程序连接到OLEDB数据源。ODBC.NETFramework数据提供程序的OdbcConnection对象用于连接到ODBC数据源。Oracle.NETFramework数据提供程序的OracleConnection对象用于连接到Oracle数据源。以下主要是本系统所用与SQLServer2000有关的ADO.NET对象:使用Connection对象在ASP.NET中有一个Application一级的配置文件,叫作config.web,配置它可以解决数据库连接字符串问题例:<configuration><appSettings><addkey="dsn"value="DataSource=WLM;UID=sa;PWD=lzy;DATABASE=SMS"/></appSettings>在后台代码中可以获得连接字符串stringstrconn=ConfigurationSettings.AppSettings["dsn"];SqlConnectioncn=newSqlConnection(strconn); 使用Command对象和DataReader对象连接到数据源后,Command对象用于读取和修改数据源。使用DataReader对象的Read()方法从查询结果中获取数据行。您可以通过传递列名或序列号来获取每列的值。DataReader传递了一系列Get()函数,可以轻松访问各种数据类型的列值。使用DataSet对象和DataAdapter对象DataSet是数据的内存驻留表示形式。无论数据源是什么,它都将提供一致的关系编程模型。它旨在实现独立于数据源的数据访问,即获取数据库中的数据,然后使用它。更新数据库;DataAdapter对象代表一组数据命令和一个数据库连接,用于填充DataSet和更新数据库它使用Fill()方法将查询结果从数据源传输到DataSet,并使用Update()方法将DataSet()数据更新中的数据传输到数据源。例:strsql="select*fromstudent"; SqlDataAdapterda=newSqlDataAdapter(strsql,cn); DataSetds=newDataSet(); da.Fill(ds);2.4ADO.NET数据管理与数据控件ADO.NET数据管理需要使用数据绑定技术。它是一项崭新的技术,可以将Web表单中的控件与数据库中的数据相关联,并实现应用程序与数据库之间的交互。简而言之,当控件与数据库中的数据“绑定”之后,只要相应的数据发生更改,控件中的结果值也将相应地更改。数据绑定包括简单数据绑定和复杂数据绑定。简单的数据绑定使应用程序可以将控件属性绑定到数据库中的单个值,通常绑定到单个值控件。更复杂的数据绑定涉及使用控件与一组值相关联,并且通常绑定到多记录控件,例如Web服务器控件,例如DataGrid,Repeater和DataList。您可以更改这些绑定数据以在每次加载页面时显示不同的值。(1)DataGrid控件:DataGrid是具有编辑功能的完整列表,还具有分页功能。若要使用DataGrid显示数据,必须将DataGrid绑定到数据源。DataGrid通过其DataSource属性设置数据源。典型的数据源是数据集(DataSet)和该数据集的成员,然后调用DataGrid的DataBind方法进行绑定数据源指定的数据源。例:Dgd_student.DataSource=ds;(ds是一个DataSet集)Dgd_student.DataBind();(2)Repeater:控件只具有简单的只读输出,但是可以灵活的自定义显示样式。例:Rp_information.DataSource=dr;(dr是一个DataSet集) Rp_information.DataBind();(3)DataList:具有带编辑功能的列表输出和非表格格式的列表输出,但没有默认页面。应根据实际情况灵活选择三个控件使用其中一个或多个。
3学生档案管理系统设计分析3.1需求分析3.1.1功能需求这是一个学生文件管理系统。我们的目标是提高学生管理的效率。它具有学生个人信息,学生组文件,学生选择信息等的管理和维护,学生可以使用此系统执行个人信息和学生状态文件信息,考试结果,组文件信息查询等。系统开发的总体任务是实现学生档案管理的系统化,标准化和自动化。简而言之,学生档案管理的功能要求包括管理员的功能要求和学生的功能要求,如下所示:管理员对功能的要求:浏览学生信息,包括学生ID,姓名,性别,种族,入学时间,班级,系等,并添加,修改和删除基本学生信息。浏览学生联赛成员的文件信息,包括组文件号,学生姓名,性别,加入组的地点,加入组的时间以及组内外组织关系的转移。浏览学生的学校状态文件,包括学生的学校名称,注册时间,录取地点,毕业成绩,学校成绩,并添加,修改和删除学生的学校状态信息。浏览和统计学生成绩信息,您可以根据特定范围(例如部门,学院,班级等),根据班级编号,年份和统计内容进行统计。您还可以添加,删除和修改结果。查询,添加,编辑和删除学生状态更改。查询,添加,删除和修改学生的奖惩信息。可以回复学生的留言,清除留言等。学生对功能的需求:学生仅使用该系统查询与他们有关的信息,而无需关心其他内容。学生对功能的要求如下:学生登录后,修改个人信息。为了确保系统的安全性和学生的隐私,要求学生修改个人密码。您可以浏览个人信息,个人成就,学生状态的个人变化,奖惩,联盟成员文件,学生状态文件等。但是,学生文件信息的浏览受到限制。例如,只能浏览联赛成员文件信息和学生状态文件信息以查看组文件和学生状态文件是否存在,并且无法查看其中的信息。如果学生发现自己的信息有误,可以在留言板上留言,然后要求管理员进行验证或更正,从而实现学生与管理员,老师之间的沟通。3.1.2性能需求当轻松保证高系统配置和高网络带宽时,我们需要考虑的最重要的性能要求是系统安全性。在开发系统的每个阶段,都需要考虑相互认证和授权。要特别注意身份验证,身份验证只是确定谁是特定用户,根据安全源验证用户身份,然后根据用户身份对用户进行授权,以便能够使用系统的特定功能。是,需要一种方法来确定允许特定用户进行哪种操作。系统用例分析图:根据留言板管理模块和学生档案信息管理模块的基本特征和功能,用例图可以用来表达留言板管理模块的用例图,如图3-1所示,档案信息管理模块的用例图,如图3-2所示。回复回复留言审核教师管理员学生用户留言图3-1留言管理模块用例图增加学生的团档案及学籍档案增加学生的团档案及学籍档案登录查询所有个人信息学生所有信息的维护学生团档案及学籍档案的维护对所有输入信息的审查查询学生所有信息用户验证教师管理员录入学生成绩增加学生各类信息查询成绩查询档案是否存在学生图3-2学生档案信息管理模块用例图系统UML分析与设计:UML是一种建模语言,是系统开发的组成部分。开发过程本身的概念没有定义和符号。要开发软件系统,首先必须分析软件系统的需求。要做的工作是深入描述目标系统的功能和性能,确定软件设计的局限性以及软件与其他系统元素之间的接口详细信息,并定义软件的其他方面。有效性需求。系统静态建模在用例分析的基础上,可以根据需求建立系统的静态数据模型,即系统类图,以及相关的关系和方法。在分析系统时,系统的类对象被抽象为两个方面:学生文件信息管理和留言板管理。这两个部分可以分为以下相关类别:学生(学生),管理员(用户),学生信息(student_infor),学生档案信息(student_archive),小组档案(archive),学生状态更改信息Class(student_transfer)和学生奖惩信息类(student_reward)等。我们可以使用这些类之间的简单关联关系来进行简短表达。如图3-3为学生档案信息管理静态类图。useruserstudentstudent_inforarchivestudent_coursestudent_transferstudent_reward1…..n0…..n1…..n1…..n0…..nstudent_archive1…..n0…..n图3-3学生档案管理系统静态类图系统动态建模在系统的静态类图的基础上,进行系统的动态建模,如图3-4所示,是系统中学生成绩管理的状态图。delete_student():delete_student():newdo/edit()update_student():insertStudent():student_gradedo/edit()update_grade():insert_grade():delete_grade():gradenum>0search_grade():delete_grade():图3-4学生成绩管理状态图3.2系统框架3.2.1系统流程分析为了更清楚的说明系统框架对本系统有一个整体上的初步认识,给出了图3-5所示的系统框架图:图3-5系统流程图(部分模块流程)图3-5系统流程图(部分模块流程)用户接口default.aspxstudent.aspxstudent_archive.aspxstudent_transfer.aspxstudent_reward.aspxcontain.aspxquery.aspxupdatepwd.aspxentry_student.aspxgrade_query.aspxgrade_manager.aspxaddarchive.aspx管理员登录学生登录addgrade.aspxaddastudentreward.aspxentry_archive.aspx用户首先进入登录页面default.aspx。如果以管理员身份登录,系统将定向到学生信息维护页面。管理员可以在此功能页面中输入任何其他管理页面,并且输入的每个页面都与其他页面相关。您可以随意在页面之间切换;教师用户被引导到管理员页面,但教师仅具有查询和添加功能。如果您以学生身份登录,系统将引导您进入个人信息页面query.aspx,该页面主要显示已登录学生的个人信息。您可以通过该页面进入成绩查询页面grade_query.aspx和学生信息查询页面entry_archive.aspx。页面,每个页面之间可以相互切换。3.2.2系统功能模块分析学生档案管理系统的主要功能包括以下几个方面:用户管理(管理员与教师管理和学生管理)、学生学籍管理、成绩管理、团员档案管理、学籍变动管理、学生奖惩管理、留言板等。其功能结构图设计如图3-6所示:学生档案管理系统学生档案管理系统用户管理学生管理管理员管理团档案管理学籍管理成绩管理学籍变动管理学生奖惩管理留言板图3-6系统模块划分图教师用户管理1.用户管理模块该模块主要由两个子模块组成,即管理员和教师管理模块以及学生管理模块。主要负责管理员,教师和学生用户的管理功能。2.管理员和教师管理子模块该模块主要负责管理教师和系统管理员的信息。它将本学校中的教师权限设置为管理员,然后管理员添加新教师。每个老师都有一个唯一的号码。然后,可以将教师添加为管理员。它具有查询和添加学生各种信息和等级的功能,否则老师将没有任何功能。3.学生管理子模块该模块主要负责管理学校中所有注册学生的个人信息,并为学校中的学生实现学生信息的添加,删除,修改和搜索。每个学生都有一个唯一的号码。管理员添加新学生后,新学生可以在此处登录系统会浏览个人信息,默认情况下,登录该系统的用户名和密码是该学生的学生ID。4.会员档案管理模块该模块负责成员的文件管理,包括添加,删除和修改成员的基本信息,以及查询成员的文件信息。只有管理员才有权维护成员的文件信息。每个成员必须具有一个组文件。,普通教师只能添加文件信息,而不能删除或修改它们。学生用户只能查询其文件是否存在。5.学生档案管理模块该模块负责管理学生的学生状态文件。它基于学生基本信息管理模块中的学生信息。它可以管理学生的学生状态文件,包括查询学生的学生状态文件,删除学生的文件以及修改文件中的文件。信息等6.绩效管理模块显然,学生学习的每门课程都必须在最后获得分数。查询的内容包括课程名称,学分,成绩等。只有管理员才能输入每个课程的成绩并进行修改。学生只能查询自己的课程。您可以检查课程的成绩,还可以检查每学期课程的总学分,但前提是必须通过成绩,否则该课程将没有学分。7.学生状态变更管理模块该模块主要负责管理学生状态变更。当学生更换部门,学校或停学时,需要更改其学生身份信息。只有管理员可以输入学生的状态更改信息,而学生只能查询。8.奖惩管理模块该模块主要用于记录学生的奖惩情况。与学生状态更改模块相似,此模块对不同用户具有不同的操作权限。实现的功能主要是添加,删除和修改奖惩记录。学生用户浏览奖励和惩罚。情况记录。9.留言板主要实现师生之间的互动。学生浏览个人信息时,如果发现自己的信息有误,则可以留言。管理员看到后,将根据消息进行检查并回复学生。3.3数据库分析系统E-R图根据以上系统的需求分析和模块设计,可以列出满足用户需求及其关系的各种实体。该系统基于上述设计进行计划:学生,联赛成员档案,学生成绩,学生身份变化奖励和惩罚等基本实体之间的关系如图3-7所示:在设计详细的实体关系图时,除了基本实体(例如学生,学生状态文件,联赛成员文件,学生成绩,学生状态更改以及奖惩信息)外,还记录基本学生信息,学生状态文件信息,组文件信息,学生奖惩信息,除了学生状态更改信息外,为了方便系统管理员管理学生用户,还设计了一个用户实体来记录用户登录时的用户名,密码和权限系统,图3-7只是E-R图中系统基本元素的实体关系图。图3-7学生档案管理实体间关系E-R图图3-7学生档案管理实体间关系E-R图学生学生基本信息学籍变动信息团员档案信息包含包含包含包含学生成绩信息包含学生奖惩信息包含学籍档案信息3.4表/字段分析学生档案管理系统中有10个表,学生信息数据表(表3-1),用户信息数据表(表3-2),组文件信息数据表(表3-3),学生状态信息数据表(表3-4),学生状态变化信息数据表(表3-5),学生奖惩信息表(表3-6),消息信息表(表3-7)。以下是每个表中每个字段的数据类型,大小和简短描述。表3-1学生信息数据表(student)列名数据类型大小字段描述IDBigInt8记录序列号,自增量Student_idVarchar50记录学生的学号,设为主键Student_nameVarchar50记录学生姓名Student_sexChar10记录学生性别Student_nationChar10记录学生民族Student_birthdayDatetime8记录学生出生日期Student_timeDatetime8记录学生入学时间Student_classidVarchar50记录学生所在班级号Student_homeVarchar50记录学生生源地Student_departmentVarchar50记录学生所在系Student_elseVarchar50备注表3.2用户信息数据表(users)列名数据类型大小字段描述User_idVarchar50表示用户名,设为主键User_passwordVarchar50记录用户登录本系统时的用户密码User_powerInt4记录用户的权限,0-本校注册学生,1-管理员表3.3团档案信息数据表(archive)列名数据类型大小字段描述Archive_idVarchar50记录团员档案编号Student_nameVarchar50学生姓名Student_sexChar10记录学生的性别Archive_timeDatetime8记录学生入团的时间Archive_entry_schoolVarchar50记录学生入团的地点Archive_moneyChar10记录团费交纳情况Archive_now_schoolVarchar50记录团档案转入地表3.4学籍信息数据表(student_archive)列名数据类型大小字段描述student_arch_idVarchar50记录学生学籍档案号,设为主键Student_entry_timedatatime8记录学生入学时间student_entry_schoolVarchar50记录学生入学学校teacher_conatinVarchar200记录学籍档案中的教师评价student_over_timeDatatime8记录学生毕业时间Student_over_gradeSmallintNull记录学生学业成绩表3.5学籍变动信息数据表(student_transfer)列名数据类型大小字段描述IDBigInt8学籍变动记录的惟一ID号,设为主键UIDVarchar50记录学生学号transfer_timeDatetime8记录学生学籍变动时间transfer_reasonVarchar50记录学生学籍变动原因transfer_departmentVarchar50记录学生学籍变动后所在地transfer_descriVarchar50记录变动信息描述表3.6学生奖惩信息数据表(student_reward)列名数据类型大小字段描述IDBigInt8学生奖惩记录的惟一ID号,设为主键UIDVarchar50记录学生学号Student_timeDatetime8记录学生奖惩时间Student_rewardtypeVarchar50记录学生奖惩类型,0为奖励,1为惩处Student_rewardVarchar50记录学生奖惩内容Student_detailVarchar50记录奖惩描述表3.7留言信息数据表(bbs)列名数据类型大小字段描述IDBigInt8学生留言板记录的惟一ID号,设为主键CosmeticIDVarchar50记录用记登录时的用户名PostimeDatetime8记录留言时间ContentVarchar200记录学生留言的内容3.5数据库创建建立资料库在分析数据库之后,定义表和字段,让我们开始创建SMS数据库。下面列出了创建数据库的特定步骤:选择“开始”|“程序”|“MicrosoftSQLServer”|“企业管理器”命令以启动MicrosoftSQLServer企业管理器。右键单击控制台树中的“数据库”节点,然后从快捷菜单中选择“新建数据库”命令,以打开“数据库属性”对话框。输入数据库名称作为SMS,然后单击“确定”按钮以结束数据库创建操作。建立表格创建数据库SMS后,开始向数据库添加新表。下面列出了创建SMS系统用户表的步骤:在MicrosoftSQLServer企业管理器中,展开“数据库”和SMS节点。右键单击表节点,然后在快捷菜单中选择“新建表”命令。设计表的结构,包括设计表中每个字段的名称,类型和长度。在用于创建SMS的用户表中,我们选择User_id字段,右键单击弹出快捷菜单,然后选择“设置主键”命令将此字段设置为主键。主键字段不允许为空。单击工具栏上的“保存”按钮,然后在弹出对话框中输入表名users。单击“确定”按钮以返回表设计器。按照相同的方法在SMS中创建其他表。创建表后,如果要向表中添加记录,请单击“表”节点,右键单击以正确格式显示的对应表(例如用户表),然后从菜单中选择“打开表”子菜单。快捷菜单,然后选择“返回所有行”命令,然后在每个记录中输入每个字段的值。右侧列表列中有多个条目。类型“用户”的表是我们刚刚创建的SMS数据库中的表。创建一个存储过程构建数据库的表结构后,下一步是在表中创建与信息选择,添加,更新和删除有关的存储过程。尽管使用存储过程将优化系统,但该系统使用大量SQL语句过滤。使用太多存储过程很不方便,因此该系统使用10个存储过程。列出了两个存储过程,如下所示:insert_student_1存储过程通过此过程,向学生表添加基本的学生信息。每个学生都有一个唯一的号码。添加时,输入的学生编号必须唯一,否则系统将提示错误。以下代码表示此存储过程。CREATEPROCEDURE[insert_student_1] (@Student_id[varchar](50), @Student_name[varchar](50), @Student_sex[char](10), @Student_nation[char](10), @Student_birthday[datetime], @Student_time[datetime], @Student_classid[varchar](50),@Student_department[varchar](50), @Student_home[varchar](50), @Student_else[varchar](50))ASINSERTINTO[sms].[dbo].[student] ([Student_id], [Student_name], [Student_sex], [Student_nation], [Student_birthday], [Student_time], [Student_classid],[Student_department], [Student_home], [Student_else])VALUES (@Student_id, @Student_name, @Student_sex, @Student_nation, @Student_birthday, @Student_time, @Student_classid,@Student_department, @Student_home, @Student_else)update_student_transfer_2存储过程通过此存储过程更新学生状态更改信息。只有管理员可以拥有此权限。一个学生可以有多个学生状态更改记录,因此可以重复使用该学生ID。以下是此存储过程的内容:CREATEPROCEDUREupdate_student_transfer_2(@code[varchar](50),@time[datetime],@reason[varchar](50),@description[varchar](50),@department[varchar](50),@userid[bigint])ASUPDATEstudent_transfersetUID=@code,transfer_time=@time,transfer_reason=@reason,transfer_descri=@description,transfer_department=@departmentWHEREID=@userid3.6主要界面及部分源代码3.6.1所有页面列举该系统用于管理和维护学生的基本信息。经过详细的需求分析,主要实现以下接口:学生文件管理系统登录界面(default.aspx):这是学生文件管理系统的主页,具有自动导航功能。当不同的用户登录时,他们会根据自己的身份进入不同的系统功能页面。学生信息维护页面(student.aspx):用于查询,删除,编辑学生信息并链接到其他管理页面。学生信息添加页面(addstudent.aspx):用于添加学生信息。学生团员档案管理页面(archive.aspx):用于实现查询,添加,删除和修改团员文件的功能。学生联赛成员文件添加页面(addarchive.aspx):用于实现新学生团体档案的增加功能。学生档案管理页面(student_archive.aspx):用于查询,添加,删除和修改学生档案信息。添加学生档案页面(addstudent_archive.aspx):用于实现添加学生档案的功能。学生成绩管理页面(grade_manage.aspx):用于查询,删除和修改学生成绩。同时,还可以实现一定范围内学生成绩的统计,例如最高分,平均分,不及格数和优秀学生数。等统计。添加学生成绩页面(addgrade.aspx):实现学生成绩的输入功能。学生状态更改管理页面(student_transfer.aspx):实现对学生状态更改信息的管理,包括查询,删除和修改学生状态更改信息。添加学生状态更改信息页面(addstudenttransfer.aspx):实现添加学生状态更改信息的功能。学生奖惩信息管理页面(student_reward.aspx):查询,删除和修改学生奖惩信息。学生奖惩信息添加页面(addstudentreward.aspx):实现添加学生奖惩信息的功能。留言板(contain.aspx):对于管理员和同学之间的通信,实现信息检查以及发布意见和建议非常有用。学生个人信息检索页面(query.aspx):根据登录名中的用户名,可以检索已登录学生的基本信息。学生密码修改页面(updatepwd.aspx):默认情况下,学生的登录用户名和密码是注册的学生编号。为了确保用户信息的安全性,要求学生在首次登录时修改个人密码。该页面用于实现此功能。团体档案信息查询页面(entry_archive.aspx):用于实现有关学生联赛组织关系的出入,联赛档案中是否有信息的查询。学生状态文件查询页面(entyr_student.aspx):用于查询学生文件是否存在以及其他信息。成绩查询页面(grade_query.aspx):浏览注册学生所修课程的成绩,并计算必修和选修课程的总学分。学生状态更改信息浏览页面(transferquery.aspx):浏览已登录学生的所有学生状态更改信息。奖惩信息浏览页面(rewardquery.aspx):浏览所有已登录学生的奖惩信息。3.6.2学生档案管理系统登陆模块(default.aspx)该管理系统的登录界面如图3-4所示。Tbx_userpwdTbx_useridTbx_userpwdTbx_useridBtn_enterLbl_note图3-4系统登陆界面由于系统使用许多接口,并且源代码相对较长,因此在此不再一一列出。仅给出了三个主要接口的框架和核心源代码。是登录界面的核心代码:学生档案管理系统登录界面的后台代码如下:usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Configuration;//以上列出的本系统所要用到的命名空间namespacesms{publicclass_default:System.Web.UI.Page { protectedSystem.Web.UI.WebControls.TextBoxTbx_userid; protectedSystem.Web.UI.WebControls.TextBoxTbx_userpwd; protectedSystem.Web.UI.WebControls.LabelLbl_note; protectedSystem.Web.UI.HtmlControls.HtmlGenericControlP1; protectedSystem.Web.UI.WebControls.ButtonBtn_enter;//以上这五行是声明该页面所使用的控件 privatevoidPage_Load(objectsender,System.EventArgse) {//在此处放置用户代码以初始化页面} privatevoidBtn_enter_Click(objectsender,System.EventArgse) { stringstrconn=ConfigurationSettings.AppSettings["dsn"];//从Web.config中读取连接字符串 SqlConnectioncn=newSqlConnection(strconn); //实现数据库的连接操作; cn.Open();stringstrsql="select*fromuserswhereUser_id='"+Tbx_userid.Text+"'andUser_password='"+Tbx_userpwd.Text+"'";//构造SQL语句,该语句在users表中检查用户名和密码是否正确 SqlCommandcm=newSqlCommand(strsql,cn);//创建Command对象 SqlDataReaderdr=cm.ExecuteReader();//执行ExecuteReader()方法 if(dr.Read()) {Session["User_id"]=dr["User_id"]; Session["User_power"]=dr["User_power"];//使用会话对象保存当前用户名和密码 if((int)Session["User_power"]==0) { Response.Redirect("query.aspx"); }//进入学生个人信息浏览页面 else { Response.Redirect("student.aspx"); }//进入学生信息管理页面 } else {Lbl_note.Text="对不起,登陆失败!";} cn.Close(); } privatevoidTbx_userid_TextChanged(objectsender,System.EventArgse) {} }}3.6.3学生信息维护模块(student.aspx)学生信息维护页面如图3-5所示。该页面主要负责管理所有学生的个人信息以及指向其他页面的链接。该页面主要使用DataGrid控件的Dgd_student与DataSet数据集的绑定来返回所有学生信息,可以对其进行修改或删除。“查询学生”按钮的单击事件将Pnl_sort的Visible属性重置为true以显示输入查询。条件表,根据提示,用户输入查询条件,“确定”按钮的单击事件实现通过生成SQL语句的查询函数,结果将显示在DataGrid控件的Dgd_student中。在控件中设置“编辑”和“删除”列。提供数据修改和删除操作。在“显示所有信息”控件的Click事件Btn_all_Click中,完成DataGrid控件Dgd_student的数据绑定操作以显示所有信息。Dgd_studentLbtn_addDgd_studentLbtn_addBtn_allBtn_searchTbx_sortidBtn_ok图3-5学生信息维护页面学生信息维护页面后台核心代码如下:stringstrsql;privatevoidPage_Load(objectsender,System.EventArgse){stringstrconn=ConfigurationSettings.AppSettings["dsn"]; cn=newSqlConnection(strconn); if(!IsPostBack) Bindgrid();}//页面初始化时,读取Web.config中的连接字符串,对数据库进行连接privatevoidBtn_search_Click(objectsender,System.EventArgse){Pnl_sort.Visible=true;}//单击“查找学生”按钮时,Pnl_sort控件变为可见 privatevoidBtn_all_Click(objectsender,System.EventArgse) { Pnl_sort.Visible=false; Bindgrid();}//单击“显示所有”按钮时,Pnl_sort变为不可见,调用数据绑定函数Bindgrid(),显示所有学生信息publicvoidDataGrid_Page(objectsender,DataGridPageChangedEventArgse) { Dgd_student.CurrentPageIndex=e.NewPageIndex; Bindgrid(); }//响应DataGrid控件Dgd_student的分页显示换页事件publicvoidDataGrid_cancel(objectsender,DataGridCommandEventArgse) { Dgd_student.EditItemIndex=-1; Bindgrid(); }//当单击”编辑”列时,会出现”更新”和”取消”两个按钮,该函数用于取消对应行的编辑publicvoidDataGrid_edit(objectsender,DataGridCommandEventArgse) { Dgd_student.EditItemIndex=(int)e.Item.ItemIndex; Bindgrid();}//响应DataGrid控件Dgd_student的浏览状态向编辑状态的转换处理publicvoidDataGrid_update(objectsender,DataGridCommandEventArgse) {stringstrsql="updatestudentsetStudent_name=@Student_name,Student_sex=@Student_sex,Student_nation=@Student_nation,Student_birthday=@Student_birthday,Student_time=@Student_time,Student_classid=@Student_classid,Student_department=@Student_department,Student_home=@Student_home,Student_else=@Student_elsewhereStudent_id=@Student_id"; SqlCommandcm=newSqlCommand(strsql,cn); try{cm.Parameters.Add(newSqlParameter("@Student_name",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@Student_sex",SqlDbType.Char,10));cm.Parameters.Add(newSqlParameter("@Student_nation",SqlDbType.Char,10));cm.Parameters.Add(newSqlParameter("@Student_birthday",SqlDbType.DateTime,8));cm.Parameters.Add(newSqlParameter("@Student_time",SqlDbType.DateTime,8));cm.Parameters.Add(newSqlParameter("@Student_classid",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@Student_department",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@Student_home",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@Student_else",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@Student_id",SqlDbType.VarChar,50));stringcolvalue=((TextBox)e.Item.Cells[1].Controls[0]).Text;cm.Parameters["@Student_name"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[2].Controls[0]).Text;cm.Parameters["@Student_sex"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[3].Controls[0]).Text;cm.Parameters["@Student_nation"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[4].Controls[0]).Text;cm.Parameters["@Student_birthday"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[5].Controls[0]).Text;cm.Parameters["@Student_time"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[6].Controls[0]).Text;cm.Parameters["@Student_classid"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[7].Controls[0]).Text;cm.Parameters["@Student_department"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[8].Controls[0]).Text;cm.Parameters["@Student_home"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[9].Controls[0]).Text;cm.Parameters["@Student_else"].Value=colvalue; cm.Parameters["@Student_id"].Value=Dgd_student.DataKeys[(int)e.Item.ItemIndex];cm.Connection.Open(); cm.ExecuteNonQuery();Lbl_note.Text="编辑成功";Dgd_student.EditItemIndex=-1;}catch{Lbl_note.Text="编辑失败,请检查输入!";Lbl_note.Style["color"]="red";}cm.Connection.Close(); Bindgrid();}//响应DataGrid控件Dgd_student的数据更新提交事件,实现对数据库表student相应记录的更新操作publicvoidDataGrid_delete(objectsender,DataGridCommandEventArgse){stringstrsql="deletefromstudentwhereStudent_id=@userid";SqlCommandcm=newSqlCommand(strsql,cn);cm.Parameters.Add(newSqlParameter("@userid",SqlDbType.VarChar,50));cm.Parameters["@userid"].Value=Dgd_student.DataKeys[(int)e.Item.ItemIndex];cm.Connection.Open();try {cm.ExecuteNonQuery(); Lbl_note.Text="删除成功"; } catch(SqlException) {Lbl_note.Text="删除失败"; Lbl_note.Style["color"]="red"; } cm.Connection.Close(); Bindgrid(); }//响应DataGrid控件Dgd_student的删除事件publicvoidBindgrid() {strsql="select*fromstudent"; SqlDataAdapterda=newSqlDataAdapter(strsql,cn); DataSetds=newDataSet(); da.Fill(ds); Dgd_student.DataSource=ds; Dgd_student.DataBind();}//完成DataGrid控件Dgd_student的数据绑定,通过连接数据库,从student表中取出所有的注册学生信息在Dgd_student上显示privatevoidBtn_ok_Click(objectsender,System.EventArgse) {strsql="select*fromstudentwhereStudent_id='"+Tbx_sortid.Text+"'orStudent_name='"+Tbx_name.Text+"'"; SqlDataAdapterda=newSqlDataAdapter(strsql,cn); DataSetds=newDataSet(); da.Fill(ds); Dgd_student.DataSource=ds;if(Dgd_student.CurrentPageIndex>0){Dgd_student.CurrentPageIndex=0;} Dgd_student.DataBind();}//通过DataGrid控件Dgd_student的数据绑定,取出符合条件的信息,显示在Dgd_student上privatevoidLbtn_course_Click(objectsender,System.EventArgse) { Response.Redirect("course.aspx");}//单击“课程管理”按钮时,转向网页course.aspx(课程信息管理页面) }}3.6.4学生信息浏览页面(query.aspx)学生信息浏览页面如图3-6所示。它主要用于浏览学生的个人信息以及指向其他信息浏览页面的链接。该页面用于根据登录界面的用户名和密码确定用户是否具有访问权限。Btn_containBtn_personnerBtn_inforRp_informationBtn_containBtn_personnerBtn_inforRp_information图3-6学生信息浏览页面该页面主要使用Repeater控件的Rp_information绑定来返回已登录学生的个人信息。单击“注销”按钮以返回登录界面。上图左行中的按钮可以链接到相应的个人信息浏览页面。点击“课程信息”按钮进入整个学校的浏览页面,点击“选择课程”进入学生的课程选择页面,实现学生的个别课程选择操作,点击“留言板”按钮输入信息板。学生个人信息浏览页面后台核心代码如下:privatevoidPage_Load(objectsender,System.EventArgse) { stringstrconn=ConfigurationSettings.AppSettings["dsn"]; SqlConnectioncn=newSqlConnection(strconn); stringstrsql="select*fromstudentwhereStudent_id=@id"; SqlCommandcm=newSqlCommand(strsql,cn);cm.Parameters.Add(newSqlParameter("@id",SqlDbType.VarChar,50)); cm.Parameters["@id"].Value=Session["user_id"].ToString();//本界面用到了登陆界面的登陆用户名,该用户名通过Session对象传递 cn.Open(); SqlDataReaderdr=cm.ExecuteReader(); Rp_information.DataSource=dr; Rp_information.DataBind(); cn.Close(); }privatevoidBtn_personnel_Click(objectsender,System.EventArgse) { Response.Redirect("updatepwd.aspx"); }//单击“修改密码”按钮时,转向网页updatepwd.aspx(学生个人密码修改页面)privatevoidBtn_contain_Click(objectsender,System.EventArgse) { Response.Redirect("contain.aspx"); }//单击“留言板”按钮时,转向网页contain.aspx(留言板页面)
4学生档案管理系统的测试与维护尽管软件质量保证是贯穿软件开发整个过程的一项活动,但最关键的步骤是软件测试。软件测试是为了发现程序中的错误。软件测试的过程实际上是程序运行的过程。测试只能找出程序。该程序不能保证没有错误。在测试过程中,如果发现测试结果与预期结果不同,则通常会出现程序错误。这时,使用故障排除技术来定位错误并进行纠正。故障排除是一个不可预测的过程,有时诊断一个小错误会花费很长时间。4.1管理系统的测试4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外科现场实验考试题及答案
- 社区治理三基三严考试题库及答案
- 179公司例会部门会议模板
- 钻机工岗位责任制培训课件
- 慢性阻塞性肺疾病稳定期呼吸康复与自我管理全流程指南
- DYJ900运架一体机安全管理制度培训
- 2026年广州体育职业技术学院单招综合素质考试题库附答案详解(完整版)
- 2026年广东茂名农林科技职业学院单招综合素质考试题库带答案详解
- 2026年广西培贤国际职业学院单招职业适应性考试题库含答案详解(夺分金卷)
- 财务部主任安全职责培训课件
- 《竞选三好学生》课件
- 近三年内未发生重大事故的安全生产承诺范本
- 岳阳职业技术学院单招职业技能测试参考试题库(含答案)
- 量子密码学与后量子密码学
- 部编版四年级下册语文写字表生字加拼音组词
- 威斯特年产10000吨纳米铜盐系列产品、6000吨叔丁基过氧化氢精馏及3000吨糊状过氧化二苯甲酰项目环境影响报告
- 广西-黄邵华-向量的数量积
- 1.2 国内外网络空间安全发展战略
- 2023年湖南省长沙县初中学生学科核心素养竞赛物理试题(含答案)
- 东北大学最优化方法全部课件
- 人教新课标六年级数学下册全册大单元教学设计(表格式)
评论
0/150
提交评论