版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
=学生宿舍管理系统的设计与实现TOC\o"1-3"\h\u323131.引言 140481.1研究背景 1249721.2研究现状 1321301.3研究内容 2184442.系统开发采用技术 2223602.1JSP技术 2159132.2MVC设计模式 2264442.3MySQL数据库 2163992.4B/S结构 3129122.5Maven技术 3147822.6Spring框架 3192512.7Mybatis框架 363163.需求分析 47443.1可行性分析 4295623.2流程分析 4290793.3性能需求分析 5228483.4功能需求分析 5230973.5用例分析 6200384.数据库设计 745294.1数据库E-R图设计 7244004.2数据库设计表 9280335.系统的实现 11250055.1登录功能模块的实现 11238365.2个人信息功能模块的实现 12110335.3院系班级功能模块的实现 13101985.4宿舍信息功能模块的实现 13102275.5宿管信息功能模块的实现 1418535.6学生信息功能模块的实现 14275195.7报修信息功能模块的实现 15280825.8缴费信息功能模块的实现 16249116.系统的测试与维护 17191856.1测试方案 1715286.2测试用例 1814806.3测试结果和分析 19270356.4系统维护 19293247.结语 2024555参考文献 20PAGEPAGE22PAGEPAGE21摘要:随着科技的不断发展,人们生活的各个方面都与互联网密切相关。电子信息技术的应用让人们感受到了更多便利,互联网技术蔓延到了我们日常生活的每一个角落,让我们感受到信息化时代的美好。所以,建立基于新型化的联机化信息互通的学生宿舍管理系统,对于管理学生住宿情况非常重要。本系统采用模块化设计,实现了查询所在学生的信息以及相关的信息添加、管理等基本操作。系统采用软件组件开发模式,根据管理员和学生的需要进行架构。分层系统,业务和执行的分离,逻辑和数据的分离。并且提供了一个可用性很高的UI界面,使用web界面进行交互实现,让使用者实现简单的使用。关键词:学生宿舍管理系统MVCSSMMySQL引言1.1研究背景当下信息化时代飞速发展,我们的生活中充满了信息化进程,我们也逐步迈进到了信息化时代,所以以管理大学生在住宿时的个人信息实现了一个管理系统,以满足日常生活中的实用性。因为现在大学生的数量日益上升,对进行管理的系统的查询量任务量也有着很大要求,考虑查询的时效性、准确性,设计了本文中系统进行信息管理。这些年以来,随着中国大学生的快速扩张,投入在高等教育上的资金开销不断扩大,大学的办学体积也提升很大,学校可利用的资源也大幅增加。对大学生的宿舍信息管理的调查显示,随着现在大学生的飞速扩张,想要管理学生在住宿时的信息情况也变得愈发困难,出现了很多问题包括个人的信息管理问题,宿舍的情况很多问题。人工管理的大学生住宿情况很难完成现有的工作,会造成很多误差,因为学生的个人住宿情况复杂,所以要改善现有的人工管理的情况,转变为信息模式。将信息管理系统进行进一步的信息化,会减少一些因为现有制度的缺点产生许多的漏洞,所以拥有一个好用的学生宿舍管理系统尤为重要。1.2研究现状到目前为止,大学生宿舍信息的管理通常是以文字、表格等纸质材料的手工处理为主,宿管手工完成对学校宿舍和学生信息的统计和检查。学校的宿舍信息和学生信息的统计和核对通常是以手工方式进行。现有的大学的就寝情况都是由宿管人员手写和计算完成的,由于信息条目大,在处理数据上总是会造成或多或少的错误,并且还有可能造成一些很难发现的一些小差错,比如一些信息的丢失很难被发现。总的来说,现如今缺少一个很有条理的对大学生的就寝情况进行管理的系统。所以就需要抓紧研发这样一个系统,来提高宿管人员的管理效率。随着互联网的飞速进展和信息化时代的开拓进展,我们更多的使用互联网去搜寻一些相关信息。在如今这个信息化社会下,交换信息和广播信息就成了重中之重,所以想要对这些大学生的情况进行梳理,就有必要建立一个合适的系统。一方面可以把学生的就寝情况做一个统计,可供人查看而不需要手工查找,这也能让宿管人员更好地拉近与学生的距离。1.3研究内容本系统完成了两个模块,包括一个管理宿舍的工作人员模块和一个住宿的大学生管理模块。使用了JSP和MYSQL数据库,使用B/S结构进行开发,满足了所需要求。2.系统开发技术简介2.1JSP技术这种技术可以响应客户端发送的请求,并依据请求的内容生成Web网页,最后再发送给客户端。JSP技术的优势在于多平台运行,一次部署可以多次执行,并兼容很多种的格式架构,架构者也可以扩展JSP标签,这就让很多平台开发者降低了一些完成网页设计时的难度,鲁棒性和兼容性优秀。同时可以把一些Java代码写入到页面中,以静态界面为基础动态的生成了其中的一部分内容。2.2MVC设计模式MVC是一种标准化设计模式,由三个模块组成,包括模型、视图和控制器,这三部分架构成一个程序,并把该程序的处理和输入和输出都强制性隔离,在这其中,数据管理由模型模块进行处理,视图模块则数据视图的体现,控制器则主要完成一部分交互上的响应。Model(模型端)该模块主要包含一些数据操作,在一个程序中,Model体现了这个程序的状态和对这个程序进行操作状态的函数,通过这些方法可以取得Model端的所有功能。View(视图端)视图端封装了数据源模型的显示。多个View可以存在于一个模型上,并且可以根据需要动态注册所需的视图。视图也可以嵌套和与不同的模型关联Controller(控制器端)这部分主要包含外部函数对模型的操作类型,这些操作进程会映射到模型上,使用其中若干个函数。所以说控制器端体现前两个端口之间的通信作用,处理用户在View上输入的请求,并转发给Model来更新其状态,这样降低了Model和View两者之间的耦合程度。2.3MySQL数据库作为当下全世界进程中最被广泛使用的关系型模型数据库,MYSQL也是web应用最好的数据库软件。他将数据存储在不同类型的Table中,避免了集中存放,增强其查询的速度和提高查询时的延展性。这个数据库有着多种优点,包括不需要额外支付其他费用,开源被用户使用,也可以使用SQL语言,可以跨平台多系统兼容,并且可以用多种代码进行开发,默许大小写混用。SQL语言是数据库中一种进行查询的语言,由六个语言类型组成,包括数据查询、操作、事物的控制、数据的控制和指针控制。这种语言可以在数据库生命周期内进行定义使用,完整全部活动,包含定义关系模式,建立数据表,增删改查等,可以说SQL语言提供了数据库开发的友好环境。2.4B/S结构B/S结构也完全被推开,web浏览器作为一种常见的查询入口,此模式可以将核心部分架构在Server上,从而提供更简单的搭建、维护和使用。客户端只需要浏览器便可以使用软件。这种结构有着成本相对低,有着更简单的管理方法,支持分布式架构,开发者的使用也更轻松,无需专门特殊的操作,这就使得整个系统的延伸性变强,有连着网络的电脑便可使用。但相对于C/S来说,B/S面向范围广,安全性比较低,也不能根据需求完成一些特殊的功能架构,反应的效率也变得更低。2.5Maven技术这是一款服务于java平台上的架构软件,可以架构java上的项目并进行现有的项目管理,优点在于可以使用pom.xml文件自动导入jar包,可以统一集中的管理好所有的依赖包,不需要用户自行搜索,可以使用中央仓库对依赖包进行加载;Maven可以自动解决重复和冲突问题;提供了公共的接口,方便与第三方的插件集成,从而便利了开发过程。2.6Spring框架这是一个免费的提供J2EE的应用架构。可以对实体类bean进行一个管理,是一个相对小型化的容器,有两个非常好用的功能包括控制反转和面向切面编程。IOC可以通过bean.xml文件来配置实体类的生命周期,免去了程序员手动创建以及后续销毁释放内存的操作,提高了工作效率;AOP主要应用于日志记录、事务管理、权限限制以及方法增强等方面,其中可以利用代理模式。代理模式可以把整个业务的逻辑部分进行一个间断性处理,让各部分能够有着相对浅的联系,提高程序的复用性以及开发人员的工作水平效率。2.7Mybatis框架这是隶属于Apache的一个免费项目组,是一个使用寿命持久的java架构,支持自定义SQL、可以把过程进行储存和反射。几乎所有的JDBC的底层架构和手动设置参数和结果都被避免了。一些普通的讲解和xml文件可以用来配置一些内部的设定,数据库的记录是由这些接口和bean构成的。其好处是是所占用的空间小,无三方依赖,易于理解;将SQL语句与程序代码断开。可以使用Dao层,把业务上的逻辑架构和数据查询进行分割,从而整个系统的工作人员维护起来会变得更加方便。3.需求分析3.1可行性分析3.1.1操作的可行性 本系统的登录页比较简单,使用了一些普通的登陆页面,本次系统的设计开发用了一些常见的开发手段与开发方法,并且随着受教育水平的提高,现在的宿舍管理人员也都拥有着很好的使用电脑的水平,所以这也是我们本次学生管理系统的立足点,这也保证了本次学生管理系统可以真正拥有立足点,有着使用的潜能与潜力。3.1.2发展可行性现如今,伴随着大学的学生扩招,招收了越来越多的大学生,海量的就寝信息与管理信息,这些超大的数据集成了管理诟病,所以此时更加需要我们搭建一个平台供大学生宿舍管理人员来进行统一的调配,这也是一种拉近与学生之间距离的方法。显然这是更有科学性的一种搭建平台。为了现在大学的良性发展,这也是一种提高学校的综合能力的一种方法,这对于学校的科研也是大有裨益的,所以我们本次毕设的选题是完全可行的。3.1.3技术可行性在技术上,我们都使用了现有最成熟的互联网技术,包括使用javaweb技术搭建前端界面以及mysql数据库的后端数据存储,这都是当下成熟的集成开发编译器,这些技术都属于入门课程,因此,从技术的角度来看也是可行的。而系统调试测试则是使用的Tomcat服务器,它支持对动态页面的调试,并且可以直观的返回错误原因,安装过程简单,使用时也相对容易,从这方面来讲,技术也是可行的。3.2流程分析在我们实际考察大学的管理情况之后,我们对当下大学生的管理做了具体化的流程分析,管理人员在使用时,必须要经过以下几个步骤包括:登录,在登陆时必须要键入正确的密码,模块完成了权限上的确认,判断用户的键入密码的正确性,所以我们构建了下面的流程图,如图1所示:图1登录流程图本学生宿舍管理系统开发流程图:3.3性能需求分析在对相关性能进行分析的过程当中,主要应当注意以下几点,第一是系统的安全性,如果想在系统中输入个人的信息之前,必须要履行相关的登录步骤,否则就不能在该系统中进行登录。第二,在进行分析的过程当中,应当注重系统是否具备可拓展性就必须搭建合适的可拓展性,所以信息化的系统进程发展。第三,系统的密码保护:在当下的使用过程中,很多管理系统都可能使用到涉密数据,一些小的疏忽可能就会击溃整个系统,甚至造成不可估量的损失,所以我们就要进行健康的密码系统保护工作以确定系统的安全。第四,系统的可靠性:这次的毕设系统应该杜绝一些bug、木马文件的产生,所以加载一些密码验证,搭建信息上的保护,这样才能让宿舍管理人员在使用时更加方便安心。第五,在进行系统设计之前应当明确设计该系统的目的,只有操作较为简单,才能够更好的满足人们的需要,因此在进行设计的过程当中,要注重工作的效率以及其自身具备的简单性。第六,在进行数据处理的过程当中,需要将相关的数据在系统中进行录入,如果一旦系统需要更新,那相关的数据也能够在其中进行改变,因此在这一过程当中应当保持前后具有一致性。第七,在日常生活中往往需要利用该系统进行相关的查询,因此该系统应当是具有高效且合理的,并且可能会出现一次性有大多数人用如该平台进行查询的情况,这就需要程序员保证其中的系统平台具有相当的稳定性,满足所有人的需要。第八,系统的正确性:模块中的每一个要求都要按照项目书的标准执行。第九,在当下我们所涉及的系统主要应用于学生宿舍层面,因此在数据库层面应当保证整个数据所具备的准确性,这样才能够更加的安全,保证学生的合法效益3.4功能需求分析在学生宿舍当中的管理中,主要有以下几个人员,其具体功能如下:管理员:在管理员中存在不同的信息,如个人的信息以及班级的的各类信息等,在各类信息中需要采取不同的措施对其进行分析。宿管员:宿管员登录后主要功能有:个人信息,学生信息,报修信息,缴费信息;存储者学生信息:在学生登陆以后有以下几个功能包括:个人信息,报修信息,缴费信息;根据分析,得出系统功能结构图,如图3所示:图3系统功能结构图3.5用例分析本学生宿舍管理系统主要满足3种类型用户的需求,这3种类型用户分别为管理员,宿管员和学生,其用例图如下。3.5.1管理员用例图宿舍管理人员使用时,包括以下几个功能如图4所示:图4管理员用例图3.5.2宿管用例图宿管员登录后主要功能有:个人信息以及报销方面的信息,主要与学生自身以及金钱方面的内容相关。具体的内容如图5所示:图5宿管用例图3.5.3学生用例图:图6学生用例图4.数据库设计在对整个内容进行开发之前,首先要满足数据库是较好的一个较为准确的数据库,才能够为之后的设计点名建设的基础,因此在本文的写作过程当中,尤其注意到程序开发的相关问题。在对整个数据库进行设计之前,将其与其他可以联系的数据进行及时的联系,并且花费了很多的时间对应当考虑的因素加以考量,满足整个设计的需要。4.1数据库E-R图设计在进行数据库的设计过程当中,不论采取哪种数据库都需要对相关的信息进行管理,因此在对数据库进行选择的时候,应当尽量选择更好进行管理的数据库,而且要注重其中所具备的工作效率问题,由于海量的学生信息,所以选择一个合适的数据库就显得尤为重要,所以需要一个分类清晰的数据库,当信息添加时,我们不能使用太多的无序的,利用下面的E-R图来具体表示。本系统的E-R图 实体 属性 关系图7E-R图图8管理员图9报修图10缴费图11缴费图12登录日志图13学生4.2数据库设计表系统的实现5.1登录功能模块的实现学工部管理员,宿管阿姨用户和学生都可以键入用户的id和密码进行键入,但是要选择不同的用户类型。图14登录功能界面5.2个人信息功能模块5.2.1登录日志图15登录日志界面5.2.2个人信息图16个人信息界面5.2.3修改密码图17修改密码界面5.3院系班级功能模块5.3.1学院信息界面管理员在学院信息界面提供所有信息的查看,并且支持增删改查功能,具体展示如图18所示:图18学院信息界面5.3.2班级信息界面管理员在班级信息界面可以使用班级、专业查看信息,并且同样支持增删改查,如图19所示:图19班级信息界面5.4宿舍信息功能模块的实现5.4.1宿舍楼信息界面宿管员可以对信息进行修改,信息含有:性别,位置,说明,其界面展示图如图20所示。图20宿舍楼信息界面5.4.2宿舍信息界面宿舍管理系统使用人员可以完成:对宿舍信息进行增删改查如图21所示:图21宿舍信息界面5.5宿管信息功能模块的实现管理员可以添加,对宿管信息进行增删改查如图22所示:图22宿管信息界面5.6学生信息功能模块的实现管理员享有一定的权利,主要为下图所示:图23学生信息界面5.7报修信息功能模块的实现5.7.1报修类型界面管理员可以增删改查报修类型信息,包括名称,描述,其界面如图24所示。图24报修类型界面5.7.2添加报修信息界面学生可以对保修信息进行增删改查,包括名称,类型,详情,其界面如图25所示。图25学生添加报修信息界面5.7.3报修回复界面宿管员可以对以下页面进行管理。图26报修回复5.8缴费信息功能模块的实现5.8.1缴费项目界面在这一页面当中,管理员可以对相关的项目及时的进行变更,主要内容如下图所示:图27缴费类型5.8.2缴费信息界面图28缴费信息6.系统的测试与维护6.1测试方案再进行测试的过程当中,应当明确其中需要的测试方案,而该测试方案实际上应当在整个测试计划中占据相当重要的位置,而且与最终理想的目标之间是相互的,这样就更能够找出在系统中可能存在的一些错误,并进而对相关问题进行解决。在此处,主要通过构造测试的形式对其进行应用构造测试与程序结构分析是类似的,可以通过对程序的观察而决定我们最终想要的内容,除此之外还具有性能测试,在程序运作的过程当中,可以经过一定的步骤进而被人所观察,但是通过对接性能进行测试可以得到最终的结果,是否是我们理想的信息。首先在模块测试方面就是对某个模块进行相关的测试,在测试的过程中应检测其最终的功能,能够在实际上得到应用,也就是说在此过程当中主要是对代码在运行过程当中可能出现的错误问题进行发现并进行弥补,如果能够成功的对相关错误进行纠正,那就证明该测试是成功的。其次关于集成测试方面在集成测试主要是对子系统进行相关的测试,在这一过程当中对其中所纳入的信息进行分析,如果其中存在问题的,对相关问题进行改正,集成测试与其他测试相比具有一定的优势,主要体现在利用该内容进行测试,会花费较少的时间成本和人力成本,而且一旦发生错误之后,也能够在极短的时间之内实行改正。第三是页面测试的相关内容,在页面测试的过程当中应当注重页面风格的统一性,同时注重该页面布局是否符合相关的要求,而且应当对其中存在的文字进行检查,最后则为性能测试,在这其中与压力以及各种强度具有密切联系:其一,首先需要对数据库进行测试,决定开展相关的内容,在这一过程中需要对数据的内容以及性能进行考量,在谨慎思考的情况下做出决定;其二,对数据的安全性能展开,在这其中首先要对该数据能否进行登录展开一定调查,然后检查在已有的内容是否存在有错误,是否可能带来这样或者那样的后果,如果发现在当下应用的措施不能满足实际的需要,那就需要注重研发,在这一过程中对相关的技术进行创新,进而满足自己的实际需要;其三,需要对相关内容化的兼容性进行测试,在这一过程中对数据的具体内容进行研究,明确相关的平台的具体的组合方式,在其中选择最为恰当的。6.2测试用例用例名称测试功能操作操作过程预期结果测试结果对用户的具体使用模块进行测试需要在其中输入相对正确的信息,并进行判断明确相关用户的信息内容需要明确相关的密码,并且检查在输入密码后能否进行登录根据预料跳转到预料的相关页面运行正常对用户的具体登录内容进行测试查看登录成功还是失败选择出较为正确的账户,并在这一过程中确定相关信息需要明确相关的密码,并且检查在输入密码后能否进行登录如果错误的话会收到相关提示。运行正常表10用户登录功能测试用例表宿舍信息添加功能测试,如下表11所示。用例名称测试功能操作操作过程预期结果测试结果宿舍信息添加模块测试。正确输入宿舍信息,完成宿舍的添加。宿舍的基本信息。管理员点击添加宿舍后根据提示填写宿舍信息,然后点击“提交”按钮。提示成功。运行正常宿舍添加模块测试。宿舍添加失败的情况。宿舍信息重复。管理员点击添加宿舍后填写重复的宿舍信息,然后点击“提交”按钮。提示“宿舍信息重复”。运行正常宿舍添加模块测试。宿舍添加失败的情况。宿舍信息不完整。管理员点击添加宿舍后填写的信息不完整,然后点击“提交按钮”。提示“信息不能为空”。运行正常表11宿舍信息添加功能测试用例表学生信息添加功能测试,如下表12所示。用例名称测试功能操作操作过程预期结果测试结果学生信息添加模块测试。正确输入学生信息,完成学生的添加。学生的基本信息。管理员点击学生界面添加按钮,根据提示输入正确的学生信息,然后点击“保存”按钮。保存成功。运行正常学生信息添加模块测试。学生信息保存失败情况。学生的登录账号重复。管理员点击学生界面的添加按钮,根据提示输入学生信息,登录账号输入已存在的账号,点击“保存”按钮。提示“用户名重复”。运行正常学生信息添加模块测试。学生入住失败情况。学生入住选择不符合性别的宿舍楼进行入住。管理员选择学生点击入住按钮,选择与学生性别不同的宿舍,点击“保存”按钮。提示“性别不符!”。运行正常表12学生信息添加功能测试用例表6.3测试结果和分析通过对相关的数据进行测试发现,在学生宿舍的相关管理系统中需要能够满足用户基本需求的系统,而在本文研究中的系统则可以被纳入这一系统的范畴之内。在当下,经过涉及,学生宿舍系统中需要的相关功能已经得到了实现,而且在一过程中的操作实际上并不复杂,而且能够满足用户的各类需求,基本上能够算的上是一个较为优秀的软件,是适应当下的发展趋势的。6.4系统维护在本文的研究中,凡是需要在学生宿舍管理系统中进行明确的内容已经在本文的系统中得到了明确,而且与以往的系统不同的是,本文的系统设计的更加合理,而且需要在设计的过程中的系统中出现的问题进行发现,并对相关错误进行弥补,但是也需要注意,无论怎么做都不可避免的存在一些不足之处,因此用户在第1次对软件进行登录之前,必须要对相关账号进行确定,这样才能够进行后续更好的操作,即便发生了错误也能够更好的进行弥补。后续还有一些问题需要继续去完善这个系统,对系统进行进一步的维护优化,使得系统可以实现更多使用的功能。总体来说,此软件可以通过初步测试。7.结语在本系统中,我对相关的内容有了基本的认识和了解,并且在老师的指导下对自己需要的内容进行了提取,进而逐步完成了个人的毕业设计,并且经过了反复修改最终定稿。实际上我认为,在当下的学习中毕业设计是最能够体现一个大学生实际水平的东西。一个人是否认真的对待了自己的大学生活,掌握了专业的知识,在毕业设计中能够得到淋漓尽致的体现。在本系统的设计与实现过程中,我有很多这样或那样的收获。我了解到了许多与编程相关的基本知识,并且还通过各种实验等提升了自己进行编程的基本能力。最后真诚的感谢老师对我的帮助,同学对我的鼓励以及父母对我的支持。
参考文献[1]王玉英.基于JSP的MySQL数据库访问技术[J].现代计算机:专业版,2010,19(14):63-66[2]陈MaydeneFisher,JonEllis,JonathanBruce著.\o"FreeeBook:JDBCAPITutorial
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园教师信息化教学工具选择偏好-基于2023年微课制作比赛作品技术统计
- 人教版(2024)七年级下册英语 Unit 2 No Rules,No Order【单元卷·测试卷】
- 工程进度款拨付节点审核确认流程规范
- 四川省2025年度评标专家续聘复审考试(水利类)自测试题及答案解析
- 安全生产事故报告和调查处理实施细则
- 广播电视编辑记者资格考试(广播电视业务)能力提高训练试题库(娄底2025年)
- 二级学院年度预算编制管理办法
- 2025年铜仁市玉屏永昇国有资产投资管理有限公司招聘真题
- 【北京】2025年高考北京卷英语高考真题文档版(含答案)
- 2025-2030年美妆护肤团购特惠企业制定与实施新质生产力战略分析研究报告
- 针灸科质量控制工作制度
- 气管切开患者全程护理指南
- 中国肺大疱诊断与治疗指南(2025年版)
- 泌尿外科结石患者的疼痛管理
- 专科中心神经疾病建设实施方案
- 研学活动合同范本
- DB15∕T 3000-2023 心理援助热线服务流程
- 2024~2025学年江苏省泰州市兴化市统编版六年级下册期末毕业考试语文试卷
- 门窗厂安全生产管理制度
- 2025年中国品牌在东南亚市场的崛起报告-增长机遇及对区域竞争者的影响-欧睿国际
- 河道治理工程质量管理制度
评论
0/150
提交评论