版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院毕业设计说明书基于JAVAEE的高考备考加油站的开发与设计 学生姓名:张学通学号:1606014115系别:计算机系专业:计算机科学与技术指导老师:郭宇职称:助教指导老师:崔高翔职称:高级工程师2020年5月15日原创性说明本人郑重声明:所呈交的毕业设计说明书/毕业论文,是本人在指导教师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本文不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。作者签名: 日期:使用授权说明本人完全了解中北大学信息商务学院有关保管、使用毕业设计说明书/毕业论文的规定,其中包括:①学院有权保管、并向有关部门送交毕业设计说明书/毕业论文的原件与复印件;②学院可以采用影印、缩印或其它复制手段复制并保存毕业设计说明书/毕业论文;③学院可允许毕业设计说明书/毕业论文被查阅或借阅;④学院可以学术交流为目的,复制赠送和交换毕业设计说明书/毕业论文;⑤学院可以公布毕业设计说明书/毕业论文的全部或部分内容。作者签名: 日期:导师签名: 日期:中北大学信息商务学院2020届毕业设计说明书绪论课题开发背景与意义该高考备考加油站的实现灵感是源于“古老的”博客论坛。而作为加油站类的论坛体系鼻祖——博客论坛,则不得不多一番介绍了,关于博客论坛,必不可少的是要介绍它的英文缩写——BBS,BBS意义其实就是BulletinBoardSystem,其译义为“电子布告栏系统”。它是风靡于21世纪初的、在Internet上开展的一种交互性极强的、网友们都喜闻乐见的赞不绝口的电子信息服务系统,其特点是操作简单易学、通讯信息方便迅捷且效率极高,仅仅只需要为大众搭建一块共享的电子性质的白板,就可以使每一个已经完成注册想要使用该系统进行交流的用户得以在上面书写自己的想法,发布自己想要传达的消息和信息亦或对人对事不同的看法,以便与其他与之相同的,已完成该系统注册的用户进行基于平台的交流和讨论[1]。随着信息时代的到来,互联网的发展速度愈发的迅猛,人们逐渐开始接受BBS博客论坛的存在,并且使之成为他们获取信息的主要手段,甚至把他当作了一个日常交流信息的主要平台。BBS博客论坛系统具有访问吞吐量大,对性能要求高的特点,在数据库Web应用中这样的系统具有一定的代表性[2]。我们高考备考加油站系统诞生的前提同样继承了BBS系统诞生的条件,现实生活中的学生老师与家长在交流上或多或少的存在着时间和空间上的局限性,交流人群范围狭小,而且交流往往是间断的,这样就很难保证信息的准确性和可取性[3]。因此,用户需要通过网上博客论坛的交流扩大交流面,我们的高考备考加油站系统就应运而生了,使得学生老师和家长在学习工作的同时可以及时获得自己所需要的信息或者发布自己关于学习和备战高考的一些需求。高考备考加油站系统存在的目的在于为分散于各自家中的学生们提供一个共同交流、学习、倾吐心声的平台,用以缓和高考所带来的紧张压力,并且更加轻松快捷足不出户的找到可能适合自己的学习方法,从其他的同学或者老师身上学习到可供自己参考的学习思路和学术知识,实现快速有效的提高学习成绩备战高考的作用,同样地,在学生获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交圈,并且方便老师和家长们实时对自己的学生或是孩子进行学业水平的了解和学习状态的监督,达到良好有效的鞭策作用。如今很多网站都有了自己的学习交流系统,使得以学生为单位的互联网用户更为方便、快捷地通过网络的平台进行学习信息的交流。网络化的发展使高考备考加油站系统的功能得到了很充足的借鉴并在之基础上得以充分的扩充。现如今各种学习平台已经通过网络走向大家的视野,与之相同的,我们高考备考加油站的实现正值疫情当头大规模休学的前提下互联网交流管理的大规模应用势不可挡,广大师生正是时候可以通过高考备考加油站系统来获取他人讨论的学习经验,实现与时俱进的学习方式,备战即将到来的高考[4]。高考,一直是一个历年来的热点话题,每年的4-6月份,高考相关的信息随处可见,大量的考生以及考生家长对于高考前的学习,更是十分看重,但目前缺乏一种能够为各大考生以及考生家长进行沟通交流的平台。这,也是我创建高考备考加油站的初衷之一。研究现状关于高考备考加油站论坛类平台的未来:创办了博客中国(blogchina)的“博客教父”——方兴东曾为此接受过很多记者于媒体的专访。在对他的采访中,他认为,论坛博客系统这一类事物在中国的发展大致经过以下的三个阶段:第一阶段:2002年至2003年,在这期间,只有少数的人对博客论坛系统有所了解并且运用这类平台写博;第二阶段:2003年至2005年,在这个阶段,对一些对计算机感兴趣的人才渐渐的成为了博客的爱好者,并且开始关注此类论坛系统,逐渐的也加入了写博发博与人实现平台交流的行列;第三阶段:2005年至2006年和接下来的两年,在这3年的时间里,博客论坛类系统日趋完善成型,加上经济发展导致的人们生活质量的普遍提高,信息化普及,使得博客论坛类题材项目开始渐渐地、大规模的进入大众的视野,论坛平台化的公众交流方式进入了大众化前期。“如果说第一阶段和第二阶段博客的发展还是理想主义和浪漫主义的话,那从第三阶段开始,博客已经向现实主义转变。再过两年,即将进入大众化晚期,也就是说,那些网络保守主义者也将加入到博客大军中来”[5]。在我国,博客网站呈现40%的年增长进度,着实让国人刮目相看。因此,博客经济引起了专家学者和行业官员的普遍关注。博客现象,能给中国带来什么?网络博客,能成为每个网民的网络生活方式吗?从互联网的兴起到现在,网民由上网浏览网络文章和查找资料以及上博客论坛发帖子,发展到建网站、建个人网站博客论坛主页,再发展成现在的建博客,一路走来,网民在网络一直打拼着、建造着一个属于自己的地盘,不知从何时起,建博客、写博客成为了众多网民网络生活的重要组成部分,与网络聊天成了并驾齐驱的热点,共同成为网民上网最关心的事情[6]。论文组织结构本次论文的机构,整体划分为7大章节,每章节体现不同的内容,阐述了设计全过程的内容。第一章节:绪论-绪论是论文的源头。在这一章节阐述了“背景是什么,意义是什么,现状怎么样”几个层面,对选题进行一个引述,引出进行该项开发的原因。第二章节:技术与工具概述-对系统实现过程中将会使用到的软硬件工具、技术等进行说明与介绍。第三章节:系统分析-对系统进行全面的分析,包括系统的需求功能分析、经济可行性分析以及技术可行性分析。第四章节:系统设计-系统设计是对拟实现的系统进行全面的设计,包括系统整体架构设计、系统的功能模块设计、系统的整体工作流程设计等。第五章节:系统实现-系统实现是对系统实现的功能以及原理做详细的描述,通过对系统的描述让读者明白该系统能够做什么。第六章节:系统测试-系统测试是根据软件工程的思想,在系统交付之前需要对系统进行一系列的测试从而让程序更加完善。在本章中介绍了系统测试的相关概念,给出了相关测试用例,并得出测试结论。第七章节:论文的总结与展望-论文的总结与展望是笔者自身对在软件开发过程以及论文撰写过程中的相关经验总结,阐述了笔者在开发设计的过程中的收获以及对未来的展望。2相关技术与工具概述2.1Eclipse集成开发工具Eclipse没有大家可以使用的源代码就不能加密吗?他的软件本身只是属于框架和服务的一套。这些是通过插件组件构建的开发环境。幸运的是,Eclipse有一套标准的插件。其中包含了很多关于Java开发的工具。Eclipse最初是由OTI和IBM的IDE产品开发团队于1999年4月制作的。IBM提供包括Plaatform、JDT、PDE的初始Eclipse代码库。目前IBM领导的Eclipse项目正在发展为围绕Eclipse项目的大型股权联合会,包括Borland、RationalSoftware、RedHat、Syboss在内150多家软件公司参加了Eclipse项目[7]。Eclipse是开发原代码项目,实际上是VisualAgeforJava的替代品。这个接口和以前的VisualAgeforJava相似,但是因为使用了开放源,所以谁都可以免费得到它,自己开发。人们越来越受到关注。最近,包括Oracle在内的很多大型企业也参加了这个项目,Eclipse主张将来可以成为语言开发的所有IDE的所有者,用户只需要下载各种语言的插件就可以了[8]。2.2Tomcat服务器Tomcat服务器是免费的开放源Web应用服务器,是轻量级的应用服务器,在中小系统和同时利用者中广泛使用。它的功能已经扩展到Apache服务器,实际上来说吧,它是自己来运行的,所以呢用Tomcat的时候实际上和Apache是不同的过程。Tomcat8.0版本特色与优势[9];web开发可以用于web程序的开发和调试使用便捷提供简单高效的操作方式,更加人性化占用更少对电脑内存占用更小,体验出色性能稳定更加稳定的性能,更加完善的体验Tomcat的关键目录以及作用[9]:/bin-启动,关闭和其他脚本。这些
*.sh文件(对于Unix系统)是这些*.bat文件的功能副本(对于Windows系统)。由于Win32命令行缺少某些功能,因此此处包含一些其他文件。/conf-配置文件和相关的DTD。这里最重要的文件是server.xml。它是容器的主要配置文件。/logs-日志文件默认位于此处。/webapps-这是发布的webapp所在的位置。2.3MySQL数据库2.3.1MySQL基本介绍MySQL当前属于OracleCorporation,MySQL称之为关系数据库和MicrosoftSQLServer[3]。MySQL数据库可以支持在包括Solaris,MacOS,FreeBSD和Windows在内的各种操作系统上运行,并且全部支持Linux。关键功能是处理数据,为数据存储提供空间是主要功能之一[10]。数据库通常不面向数据存储,而是使用表/索引之类的对象进行存储。MySQL数据库是一个C/S模型(客户端和服务器模型)。客户端通过帐户和密码连接到服务器。成功连接(CRUD:添加,删除,更改,查找)后,您才能操作数据库。MySQLServer使用IO复用+可扩展的连接池[10]实现了经典的网络并发模型。2.3.2MySQL的语句类别划分MySQL的语句主要分类DDL(DataDefinitionLanguage,数据库定义语言)、DML(DataManipulationLanguage,数据操控语言)、DCL(DataControlLanguage,数据控制语言)三大类,各类语句类别基本定义如下:(1)DDL(DataDefinitionLanguage,数据库定义语言):定义了不同的数据库、数据库表、列、索引等数据库对象的定义。常用的SQL:create(创建)、drop(删除)、update(更新)和select(查询)。(2)DML(DataManipulationLanguage,数据操控语言):用于添加、删除、变更和查询数据库记录。常用的SQL:insert(添加)、delete(删除)、update(更新)和select(查询)。(3)DCL(DataControlLanguage,数据控制语言):控制不同数据库段直接访问和访问级别的语句。常用SQL语句:grant、remove[10]。2.3.3MySQL名词解释实体:在现实世界中客观存在的,并且可以被区别的事物。属性:是指实体所具有的某一特性。属性是个逻辑概念。比如说“公”或者“母”就是“狗”的一个属性。而在关系数据库中,说白了就是“表的一列”,然后它的属性呢,其实说来是一个物理性质的概念吧.元组:表中的一行就是一个元组。分量:元组的某个属性值。码(键):表中可以唯一确定一个元组的某个属性(或者属性组)。全码:如果一个码包含了所有属性,这个码就是全码。主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。非主属性:没有在任何候选码中出现过的属性就是非主属性。外码:其实说来就是一个属性,它不是码,但是它是别的表的码,说白了,他就是个外码[11]。2.4SSH介绍SSH是Struts2+Spring+Hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架。SSH不是一个框架,而是把多个框架(Struts、Spring以及Hibernate)紧密的结合在一起,用于构建灵活、易于扩展的多层Web应用程序[5]。2.4.1Spring介绍Spring是一款功能强大的框架,J2EE的一些问题,它都处理的了。Springle对象管理方法一致,提倡接口编程,不是编程类,使大部分的那些程序员编程的灵活性并且便捷了编程时的实际操作。基于JavaBean属性使用的控制反转容器是Spring体系结构的基础。Spring容器包含TransactionTemplate。交易模板封装了复杂的业务功能,例如用于交易处理的所有功能(例如,异常时回滚交易,并在操作成功时提交数据)。综上所述,Spring容器所带来的管理能力,大大地减少了程序员需要手动书写的代码量,于此同时,也使得程序员对事务有管理控制愈发的得心应手[4]。当然,Hibernate还具有事务管理功能,除了Hibernate通过会话创建和通过SessionFactory接口维护会话来实现事务管理功能。Spring的SessionFactory配置的集成反映在通过hibernate.cfg.xml配置SessionaFactory的需求中。这样一来就可以很好将Spring对事务管理的强大功能利用起来。每次操作数据时,您都不需要获取Session实例即可开始事务/提交/回滚事务和麻烦的Try/Catch操作。这些是Spring的AOP(面向方面编程)机制的良好应用。一方面逻辑更清晰、专业分工更容易。另一方面,SpirngAOP大大减少了耦合,因此它在不同应用能改善代码重用。2.4.2Hibernate介绍Hibernate框架是一个对象关系映射框架,其代码开源,并且对JDBC进行了对象封装,其封装属轻量级,却恰好使得Java程序员可以随心所欲的通过使用对象变成思维的惯用方法来操作数据库。Hibernate
框架的优点之一便是可以在任何使用JDBC的场合得以应用,既可以在Java的客户端程序中使用,也可以在Servlet/JSP的Web应用中使用。会话接口:负责对持久对象执行CRUD操作(CRUD与许多常见的SQL语句一起使用,但是会话对象不是线程安全的。会话加工接口(SessionFactory接口):他的职责是把Hibernate给进行一个初始化操作。配置界面的接口(Configuration接口):Hibernate配置和启动,SessionFactory对象创建。交易界面的接口(Transaction接口):负责与交易有关的任务。查询基本数据的接口(Query和Criteria接口):负责执行各种数据库查询。2.4.3Struts介绍Struts是开源软件。Struts能减少开发Web应用程序的时间。如果您要构建一个结合了Servlet和JSP优点的可伸缩应用程序,则Struts是一个不错的选择。1.进程:服务器启动时,它将根据web.xml加载ActionServlet,并将struts-config.xml文件的内容读取到内存中。2.体系结构:Struts提供了用于模型,视图和控制器的组件。此类ActionServlet是Struts的核心控制器,用于拦截用户请求。模型部分:由JavaBean组成,ActionForm用于封装用户的请求参数,用户的请求参数封装在ActionForm对象中,然后由ActionServlet传递给Action,然后从ActionFrom请求参数因此,该动作被处理。控制器组件:控制器组件有两个组件:系统核心控制器和业务逻辑控制器。Struts与许多Apache项目相同,是一款全面开源面向大众程序员的软件,这是它最明显且受众最多的一大优秀之处。开源代码的存在能够使开发者得以更深入层次的了解其内部功能的实现原理机制。除此之外,Struts的优秀之处还不止于这一点:Taglib和页面导航就是其可圈可点的两个优秀之处。其中,Taglib是Struts的标记库,其灵活的功能可以大大提高用户项目开发过程中的代码编译效率。另外,除了使用JSP随附的通用标签之外,很少有JSP开发人员目前开发自己的标签,这使得Struts软件成为非常有用的初始点。3系统分析3.1可行性分析3.1.1经济可行性经济可行性是分析系统开发需要的成本已经后期能获得的经历利益。本次拟设计开发的高考加油站论坛系统,使用到的软件及硬件均为免费或已有,无需另外购买,因此在软硬件这方面无法额外的经济支出,而人力成本方面,目前实现的功能,由个人即可独立完成,因此也无需花费额外的费用与人力方面。3.1.2技术可行性本系统基于使用的是Java语言及Eclipse工具,不说其他,单论Eclipse编译工具来说,这是一款功能齐全,操作简易高效的编译工具,便于程序员对项目代码的编译开发和查缺补漏,大大提高了使用者对于开发代码编译时的容错率,降低了代码开发的难度,在此基础上,又由于Java语言是一款十分方便强大的语言,而且Tomcat和MySQL数据库进行软件开发时的特点是灵活易维护,其事务的原子性、一致性、隔离性、持久性可以得到良好的实现,所以在最大程度上保证了高考备考加油站系统项目的实用性和稳定性,再加上目前几个工具的广泛实际应用使得我们对这几个工具的运用也渐入佳境,及时遇到一般的困难也可以轻松化解,因此使用Eclipse、Java语言、Tomcat和MySQL进行软件系统的开发是一个可行性极高的技术方案。3.2系统功能需求分析本次拟设计的是一款高考备考加油站系统,主要为了现役备考的学生们实现对于高考冲刺的经验交流于共享。该系统是以博客并融合论坛及贴吧的形式实现,其中主要的,就是包括了两个子系统,分别为客户端系统与管理端系统,在客户端应届考生、往届考生或考生家长可以进行主题分类发帖,并将帖子发布到客户端,这是该加油站系统功能设计中的一块核心功能,使其能够最大程度的可以便利与有需求的使用者,用以交流学生学习方面遇到的瓶颈和困难,或者家长监管方面的经验教训和注意事项,能够丰富考生家长和学生的知识和技能积淀,给予备考考生一种“会者不难”的心里暗示,从而达到加油打气的最终目标。在论坛中的实际操作是,其他用户注册登录后,可以查看帖子,并对帖子进行查看与评论,如上所述,分享各自的考前冲刺经验或家长对于自己孩子考前的心理疏导等的经验分享。同样的,为了便于高考备考加油站系统的管理者对于系统功能以及参与系统的成员进行监督和管理,在此专门设计了管理端用户这一模块。管理端用户登录系统后,可以对系统的注册用户进行管理,可以对系统的板块进行管理,可以对系统的主题分类进行管理,并且可以修改登录账号的密码信息。这一模块的设计,使得整个系统的实用性得以有所保证,可以确保系统可以实现以各班、各年级、各学校进行以班主任、年级主任、校长等领导人为系统管理员的单位划分,老师方面能够更加清晰的了解学生情况,学生方面也能够享有一定的约束力,从而不以系统为娱乐媒介保证系统整体的学习氛围。除此之外,本高考备考加油站系统还特意设计了书籍推荐功能模块,方便学生或学生家长购置一些有利于学习的书籍,由管理员(老师)发布的统一书籍购买任务能够及时准确的通过加油站系统下达到每一位学生用户,大大的提高了学习效率。恰逢疫情,现如今网络教育平台,大规模的进入群众视野,高考备考加油站系统也应运而生,以此类种种功能实现的加油站,能很大程度上方便广大的师生朋友。正因如此,高考备考加油站系统,是一款建立在面对紧张高考的高考备考考生和家长及其监管老师的强烈需求下创建的交流平台,其功能实用性恰如其分的满足了广大师生朋友的需求。3.3非功能性需求分析1、系统的稳定性:在程序运行期间,需考虑系统的用户并发量问题,要确保当有多个用户同时对系统进行访问时,系统能够承受压力,而不出现较大问题。2、系统的实用性:系统的用户体验设计需要符合人性化设计,尽可能让用户在使用过程中更加顺畅,更加方便。3、可扩展性:由于系统的业务可能会变更或叠加,因此系统的内容会随着时间的推移逐渐增多,因此对系统的功能拓展就成了一个必经之路,因此需确保系统的可扩展性良好。4、系统环境需求:开发工具:EclipseNeon2;服务器:Tomcat集成服务器;数据库:MySQL数据库4系统设计系统设计阶段主要的工作内容是对系统拟使用的技术架构、功能点等进行设计的一个阶段,在该阶段,确定了系统整体的技术架构,并对系统的整体功能进行一个设计归结,设计阶段,是为实现阶段制定了一个大的开发方向。也就是说,在该阶段,确定了系统“用什么做”,“做什么”的阐述。4.1系统功能模块设计本次设计的是一款基于SSH框架的高考加油站论坛系统,该系统包含两种用户角色,一种为前台普通用户,一种为管理用户,不同的用户权限,可以通过该系统进行不同的系统操作,前台普通用户及游客用户可以访问前台数据包页面,主要功能包括用户注册、用户登录、高考加油首页、书籍推荐区、自由讨论区、演讲专区等。管理员用户登录系统后,可以进行注册用户信息管理、板块管理、主题分类管理、修改管理员密码等功能。图4.1功能结构图普通用户:账号注册:游客用户可进行账号注册操作;登录登出:可以进行账号的登录与登出操作;高考加油首页:展示了博客论坛的各类内容;书籍推荐区:展示了与高考书籍推荐相关帖子记录;自由讨论区:展示了考生自由讨论的博客论坛帖子记录;演讲专区:展示了高考演讲相关的博客论坛帖子记录。关于上述这个普通用户模块儿设计的总结:总的来说吧,这个普通用户的模块儿,在设计之处,我的目的就很明确,其一定要实现的效果就是可以给已经注册的用户在进入前端页面的时候有一目了然的感觉,毕竟他们的考试给他们带来的压力是很大的,在学习之余,是没有时间和精力来研究你一个高考备考加油站系统的,如果第一眼不能够牢牢的吸引住学什么的眼球,抓住他们的学习欲望,让他们感觉到系统可能对他们带来的帮助和本系统最基本的具备的实用性和必要性。这才能让我们的系统在这个信息化时代快节奏的生活中具备基本的存活的条件。“言简意赅”的特点首当其冲,必须要一览无余,“麻雀虽小五脏俱全”的基本设计要素,是一定要贯穿始终的。而且在进入页面时,一定要彰显我高考备考加油站系统的主题以最直接的方式隐约的、侧面的面向我们广大用户学生朋友们给予一个最稳定的,最有学习归属感的心里暗示。让大家在开始之初就对本高考备考加油站系统有最好的第一印象,从而能够给本系统进行用户心里评估上的加分。这体现了我们身为程序员,理应具备的,最基本的对用户心理活动和心理需求暗示的揣测和捉摸,只有牢牢的把我住面向需求的用户群众的心理需求和意愿,并加以最直接和简明的体现,才能最稳定的保证接下来自己开发和设计的系统或者项目不偏离它的主题。紧扣它的中心思想。管理员用户:登录登出:可以进行账号的登录与登出操作;用户管理:可对注册用户的用户信息进行管理;板块管理:可以对客户端的板块信息进行管理;主题分类管理:可以对各个板块的记录主题分类进行管理;话题帖子管理:可以对系统的各类话题帖子进行管理;修改密码:可以对登录用户的账号密码进行修改;注销:可以退出当前账号。关于上述这个管理员用户模块儿设计的总结:我个人就觉得,这个加油站模块的设计从开始寻找灵感的阶段就进行的挺顺利的,很顺利的就从BBS博客论坛系统的功能实现方式上得到了借鉴。整个功能模块的设计和布局上来讲吧,我个人觉得非常的有“言简意赅”的意思,功能项目一眼望去尽收眼底,非常明确。但是,别看麻雀虽小五脏俱全,我们完全可以通过这些简要却一点也不简单的功能来实现自己对系统功能的期许,最终打到开发与设计本加油站系统的终极目的。逐个的来讲,大模块儿上来讲,管理员用户的存在和普通用户的的存在并加以区分的设计,可以很好的是本高考备考加油站系统在实际使用的时候,进行区域化(分年级、分班级、分班级小组)的使用,并且方便在该区域内的领导人(年级主任、班主任、小组长或家长们)进行学生们交流环境上的监督和学习内容的查缺补漏与指点以及学习状态的实时关注。这非常符合我们程序员实现代码功能使得基本理念——用最少、最简要的代码,实现最有用,最实用且够用的功能,JAVA也是一门语言,这样的“点到为止”的做法,可以很好的保证我们加油站系统在核心代码开发这个步骤当中的正确率,降低BUG出现的概率,这么一来吧,即使用户们在使用时可以感觉到流畅,又可以使管理者们在监管的时候省心省力,还有最重要的莫过于从我们程序员本身的角度出发,更是大大的减轻的我们移除BUG进行后期的系统运维时的工作量。4.2数据库设计4.2.1数据库概念设计根据对全面的分析,该系统主要实体对象包括:用户、管理员、板块、主题分类、帖子、回复几大实体,各实体间的关系如下图所示:图4.2系统整体实体关系图4.2.2数据库逻辑设计本系统数据库中包括:用户、管理员、板块、主题分类、帖子、回复几个实体表。各表数据结构如下:表4.1管理员用户表字段名称数据类型主键是否空说明Idint(4)YN唯一标识IDUsernameVarchar(255)NN用户名称PasswordVarchar(255)NN用户密码表4.2板块信息表字段名称数据类型主键是否空说明Idint(4)YN唯一标识IDNameVarchar(255)NN板块名称表4.3帖子表字段名称数据类型主键是否空说明Idint(11)YN唯一标识IDTitleVarchar(255)NN帖子标题ContenttextNN内容View_countVarchar(255)NN查看数量User_idint(11)NN用户idSystimedatatimeNN系统时间Topic_idint(11)NN板块id表4.4回复表字段名称数据类型主键是否空说明Idint(11)YN唯一标识IDContentVarchar(255)NN内容SystimedatatimeNN系统时间Post_idint(11)NN帖子idUser_idint(11)NN用户id表4.5用户表字段名称数据类型主键是否空说明Idint(11)YN唯一标识IDUsernameVarchar(255)NN用户名PasswordVarchar(255)NN用户密码NicknameVarchar(255)NN用户昵称Scoreint(11)NN用户积分本模块儿的小总结:这个数据库模块儿的开发与设计,在我看来吧,最重要的其实不是其内容开发的过程,因为从某种意义上来说,我们系统功能的良好设计习惯已经给本模块儿做出了很好的一些铺垫,“麻雀虽小五脏俱全”的设计理念让我在弄这个数据库的时候,感觉非常轻松,因为系统功能的限制,我们的数据库建设他本身在未诞生的时候就已经初具了规模了,大致的内容因有限而变得简单。但是在我看来,它最重要的意义并不在于他本身的作用,而是在于我在创建它的时候,它为我理清了数据传递的路径,从侧面给我理清的开发和设计本高考备考加油站的实现与运行的思路。这一点很重要。因为我觉的,我们程序员在程序的世界里就相当于造物主的存在,我们对自己创造的世界了解越深入,那么代表着我们自己的代码水平,在本系统中所体现出来的水平就越高。这样一来,我们在开展工作的时候,无疑就变得更轻松了。
5系统实现5.1数据库设计实现5.1.1用户表设计实现用户表包含字段用户id、用户登录名称、用户登录密码、用户昵称、用户积分等字段,表创建代码如下:。执行上图所示的建表语句后,可得到如下图5.1所示的实体表:图5.1用户表注:在这个名为“users”的数据库表的建表的过程之中,我主要做的就是将实体包中的用户名(username)、密码(password)、昵称(nickname)、积分(score)几个实体对象,进行了建表,实现了JAVA代码与数据库在技术实现层面和意义上的数据交互。5.1.2帖子表设计实现话题帖子表设计字段包含id、标题、内容、查看总数、回复总数、系统时间、用户id、主题分类id等,表创建代码如下:执行上图所示的建表语句后,可得到如下图5.2所示的实体表:图5.2话题帖子表注:同样的,在这段名为“post”的表所对应建表语句中,我主要做的事情就是将entity这实体包中的各个类对象的属性与表中的各个列一一对应起来,这样的话才能使之前使用JAVA语言编写的实体对象代码与数据库实现交互过程,能够使我们最初设想和设计的程序不再只是一纸空谈,不再仅仅的限于思想层面,而是确确实实的能够运行起来,实现自我设想的一个个功能,当然,这些功能无疑是建立在我们实体属性对象创建的基础上的。5.2高考加油站论坛系统功能模块实现5.2.1管理系统注册登录访问系统主页后,点击页面右上角的“登录”链接入口,可前往登录模块进行登录操作,在登录模块用户可以输入用户名以及密码,完成以上操作后,点击“提交”按钮,系统会将用户名以及密码传到后台,进行账号校验,若用户名或密码校验失败,则会给用户相应的提示,并返回登录页面,清空用户名和密码输入框;若用户名及密码校验成功,则根据登录时的账号权限,进入指定用户的系统界面。若用户为游客用户,暂无账号登录,则可以点击“用户注册”按钮进行账号注册操作,在用户注册界面用户需要输入用户名、用户密码、确认密码以及网站昵称后,方可进行用户注册操作。前台用户登录功能界面如下图5.3所示,后台用户登录功能界面如图5.4所示:图5.3前台用户登录功能其核心代码如下:<divclass="wp"id="wp"> <divclass="ptmwpcl"id="ct"> <divclass="mn"> <divid="main_message"class="bm"> <divid="main_hnav"class="bm_hbbs"> <h3class="xs2"id="layer_reginfo_t">用户登录</h3> </div> <formaction="login.action"method="post"> <divclass="bm_c"id="layer_reg"> <divclass="mtw"> <divid="reginfo_a"> <divclass="rfm"> <table> <tbody> <tr> <th><spanclass="rq">*</span><labelfor="username">用户名:</label></th> <td><inputtype="text"maxlength="15"size="25"class="px"name="user.username"id="username"required="required"></td> </tr> </tbody> </table> </div> <divclass="rfm"> <table> <tbody> <tr> <th><spanclass="rq">*</span><labelfor="password">密码:</label></th> <td><inputtype="password"class="px"size="25"name="user.password"id="password"required="required"></td> </tr> </tbody> </table> </div> </div> </div> </div> <divid="layer_reginfo_b"> <divclass="rfmmbwbw0"> <table> <tbody> <tr> <th> </th> <td> <spanid="reginfo_a_btn"> <em> </em> <buttontype="submit"class="pnpnc"><strong>提交</strong></button> <buttontype="reset"class="pnpnc"><strong>重置</strong></button> </span> <spanstyle="color:red;">${msg}</span> </td> </tr> </tbody> </table> </div> </div> </form> </div> </div> </div> </div>本段一个的小总结:我之所以特意Copy这段代码到我的论文里来,实际上是为了自己的一己私欲,具体来说怎么讲呢?实际上原因就是我在弄这个整体核心代码块儿的时候,这一段代码写完之后整体的结构很让我感到舒服,感到很有成就感,因为这段代码显得很陇长,而且梯式的排列自然而然的诞生,当局者迷时不知,但写完之后再回顾的时候,让我深深的感受到了本该冰冷的代码不再冰冷,仿佛具备了生命和温度,一种跃然纸上的感觉油然而生,尤其是其形式的艺术感,使我被代码自身潜藏的魅力所深深的感染。这对于我的意义,我个人而言,觉得是非常深刻的,真的是能够让我对自己的劳动成果对自己的专业的兴趣感到有了很大的提升。图5.4后台用户登录功能核心代码如下:<divclass="container"> <formclass="form-signin"action="login.action"method="post"> <h2class="text-center">备考加油站后台管理</h2> <inputtype="text"name="admin.username"value="admin"class="form-control"placeholder="用户"requiredautofocus> <inputtype="password"name="admin.password"value="admin"class="form-control"placeholder="密码"required> <buttonclass="btnbtn-lgbtn-successbtn-block"type="submit">登录</button> </form> <pstyle="color:red;">${msg}</p> </div>关于本段代码的小总结:这段代码也是我位数不到的引用代码入文的几处地方之一,为什么呢?如果说上面的一段陇长代码着重体现的代码自身的艺术性话,那么我觉的这段代码方正工整的外观来看大家也应该心照不宣的知道我Copy他的意义了,很简单,简单但却常见的模式和实现功能,很标准的体现了代码的专业性和通用程度。不论是对于系统本身的肯定角度而言还是对于自身在为日后工作培养信心而言,都有重大而深刻的意义。5.2.2博客论坛首页功能普通用户访问系统后,将会进入到系统首页,首页展示了生活趣事、技术积累、工作点滴几个主题分类的帖子,用户可以通过点击某一个板块下的某一个主题分类进入到主题分类详情页面。下图5.5就是客户端首页功能界面:图5.5客户端首页功能界面5.2.3帖子查看及回复功能用户登录系统网址,访问系统首页后,可以通过顶部导航栏进入某一个板块,再从板块中选择一个主题分类,进入主题分类后,可以进行已发布帖子的查看,用户可以点击某一个主题分类,进入到该主题分类的帖子列表页面,在帖子列表页面,用户可以进行快速发帖,也可以通过点击某一个帖子,进入到帖子详细页面,进行帖子内容的查看以及回帖等功能操作。该帖子查看及回复功能界面如下图5.6所示:关于图5.6的设计小总结:首先,这是一个客户端页面,他最最首要的宗旨是什么?无非就是一定要简明扼要。一定要让系统的用户在客户端页面上一眼就知道本高考备考加油站的实现功能。不需要繁琐的操作指导说明书也能够流畅而顺利的操作。这体现了我们身为一个程序开发者最基本的专业素质与专业思维素养,也是我们为使用者书写代码开发程序和一些通用的项目的初衷。很真实的体现了本高考备考加油站系统面向大众编程的最基本的原则。如果连着最基本的一点都做不到的话,我个人觉得,这个程序员是不称职的,同样,这样的代码也是不具有实用性的,他并没有很高的存在意义。图5.6帖子查看及回复功能界面5.2.4用户管理功能管理员用户登录后天管理系统后,可以点击页面上方功能导航栏中的“用户管理”进入到用户管理界面,在该界面以列表的形式展示了目前系统已有的所有注册用户的基本信息,管理员用户掌握着对本高考备考加油站的“生杀夺取大权”,能够点击数据列表后方的“修改”按钮,对指定的、已完成注册用户的信息进行修改,在需要删除个别已完成注册的用户时点击数据列表后方的“删除”按钮,对指定的、已完成注册的用户信息进行有必要的删除;若需要进行用户新增,可点击数据列表上方的“添加用户”按钮进行用户新增操作。用户管理功能界面如下图5.7所示:图5.7用户管理功能5.2.5主题分类管理功能主题分类管理功能,是系统的一个关键模块,该模块是对系统展示的主题分类信息进行管理的模块,管理员用户可以进行主题分类信息的新增、修改、删除等操作,需要进行主题分类新增,则用户通过点击数据列表上方的“添加主题分类”按钮,进入添加页面后,输入指定的信息后,点击后方的“添加”按钮完成新数据的录入操作;若需要对主题分类信息进行修改,则通过点击系统已有主题分类数据后方的“修改”按钮,激活该条数据的文本框,进行主题分类信息编辑之后,点击后方的“提交”按钮完成主题分类信息的修改操作;若需要进行数据删除,则点击指定数据后方的“删除”按钮,即可完成对指定数据的删除操作。主题分类信息管理功能界面如下图5.8所示:图5.8主题分类管理功能5.2.6话题帖子管理功能管理员可通过话题帖子管理模块,对前台用户(学生、老师、家长)发布的帖子信息进行一些必要管理,可以在必要的时候和需求下查看用户所发帖子的基本内容、帖子下的评论信息、并在有必要的前提下删除帖子信息等以达到管理高考备考加油站系统大环境正向发展的目的。帖子管理功能界面如下图5.9所示:图5.9话题帖子管理功能关于上述几个功能的总体陈述与小总结:怎么说呢?如果说上面的客户端首页布局着重强调的是这个系统的面向大众的通用性的话,那么这几个小功能更着重体现的,我觉得就是本高考备考加油站的“五脏俱全”的特点了,因为我们在开发与设计该系统的时候最原本的初衷是要实现帮助面向高考的众多高考学生们的时候,能够帮助他们通过有效的、快捷的学业学术交流来学生们自身能够有效的提高自己的学习成绩,并且提升自己在高考是的发挥和分数,帮助他们跨出人生的第一步。分科分类的交流,能让学生们更好的更具体的实现学习成绩上的提高,是加油站系统的核心功能也是必备的“系统素养”。这同样也是在紧张学习过程中最实际最有效的提高手段,有一句话说的是“三人行,必有我师”这不正好就是我们系统核心功能的设计宗旨么?让学生们在使用高考备考加油站的时候,在讨论探讨中进步,在交流中学习和提高。另外的,大家都知道,好记性不如烂笔头这个道理对吧?这不来了么?我们的高考备考书籍推荐功能模块儿专栏,恰如其分的就是实现了这个从好记性向烂笔头转变的过程。为学生们提供了一个很好的交流学习用书的平台和便捷通道,有效的避开了现在繁杂社会给学生们带来的繁杂的书籍选择,要知道,选不对一本好的练习册,跟选错了老师是同样在学习道路上致命性严重的问题,这在某种程度上来讲,直接就决定了学生们在高考考场上的发挥和本身学习成绩提高速度。6系统测试6.1测试的目的与目标软件测试,对于软件的整个生命周期而言,是一个十分重要且必不可少的阶段,该阶段是建立在软件功能已经基本实现的前提上进行的,对整个软件的性能、功能、体验等多方面进行测试的一个过程,通过软件测试,可以在软件正式发布前尽可能的发现系统中存在的问题,并及时的进行修复,以避免正式上线后出现问题而造成更大的损失。6.2测试用例由于本高考备考加油站的功能模块比较多,再加上测试的内容阐述所需求的篇幅会较长,所以在本论文中我只介绍一些有关于系统部分功能的测试,表6.1是本高考备考加油站系统关于用户登入的测试表,从测试后的结果来看与期望结果完全相同。表6.1登录系统测试用例功能特性用户登录验证测试目的验证是否输入合法的信息测试数据用户名:admin密码:admin/用户名:harden密码:123456测试内容操作描述数据期望结果实际结果测试状态1输入正确用户账号,不输入用户密码,按“登录”按钮。用户名:admin,密码为空弹窗给出错误提示信息“请输入密码”弹窗给出错误提示信息“请输入密码”达到期望状态,通过测试2不输入用户账号,输入正确用户密码,按“登录”按钮。用户名为空,密码:admin弹窗给出错误提示信息“请输入用户!”弹窗给出错误提示信息“请输入用户!”达到期望状态,通过测试3输入正确用户账号和正确用户密码,按“登录”按钮。用户名:admin,密码:admin登录成功,进入管理员权限系统操作页面,可进行相关操作。登录成功,进入管理员权限系统操作页面,可进行相关操作。达到期望状态,通过测试4输入正确用户账号和正确用户密码,按“登录”按钮。用户名:harden,密码:123456登录成功,进入普通用户系统操作页面,可进行相关操作。登录成功,进入普通用户系统操作页面,可进行相关操作。达到期望状态,通过测试6.3测试结论经过对各功能的测试,发现如下问题:1、用户登录时,用户名或密码错误以及身份选择错误时无提示,用户体验极不友好。经修改,用户名及密码错误或身份选择错误将会给出相应错误提示;经过此次测试,系统已趋于完善,对于各功能的操作逻辑已基本调整清晰,用户可以正常使用系统。顾本次测试任务圆满成功。我对测试的态度也是尤为认真的,因为在我看来,读完卷书怎么说呢?是永远比不过行万里路的对不对?是骡子是马咱们拉出来溜溜嘛。如果没有一个程序员没有勇气和认真的态度去在最后对自己开发和设计的系统进行测试面对可能出现的错误,那么就相当于一个父亲没有勇气和责任心面对自己的孩子。所以,这关乎我们的职业素养甚至人品,理应我们广大程序员用心对待。
7总结与展望由于我所做的这个项目是一个基于JAVA语言实现的高考备考加油站系统,所以我的思维点在一开始就锁定了系统的祖宗、鼻祖也就BBS博客论坛系统的设计与开发模式进行了参考与借鉴,这个正确的思维出发点对于我实现这个项目,并对之往后的开发有了很明确的目标和规划。让我在一开始,就有了在思维层面行运流水般的思考路径。这在项目开发与设计的过程中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博白租房合同
- 委托项目管理合同
- DB12 445-2011 天津市城市道路交通指引标志设置规范
- 不出资 合伙协议书
- 回购协议书市场包括
- 房屋验收协议书
- 婚姻分居协议书
- 房屋所有权转让协议书
- 2025年中级政工师考试题及答案
- (2025年)广西河池农村党务(村务)工作者公开招聘考试参考题库及答案
- 八大特殊作业(八大危险作业)安全管理知识与规范培训课件
- 生物硫磺课件
- 论语名著导读课件
- 《罗织经》全文及翻译
- ISO 31000-2018 风险管理标准-中文版
- 提高安装永久起搏器患者术后24h下床活动率品管圈
- 偏振光实验报告(物理系)
- JJF1208-2008沥青针入度仪校准规范-(高清现行)
- 商贸物流产业园销售百问
- 外包商准入退出管理制度
- 《汽车发动机电控系统维修》试卷A及答案
评论
0/150
提交评论