毕业设计(论文)-同学录系统的设计与实现.docx_第1页
毕业设计(论文)-同学录系统的设计与实现.docx_第2页
毕业设计(论文)-同学录系统的设计与实现.docx_第3页
毕业设计(论文)-同学录系统的设计与实现.docx_第4页
毕业设计(论文)-同学录系统的设计与实现.docx_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山西大学论文 论文题目 同学录系统的设计与实现姓 名 院系、专业 软件学院、软件工程 学习年限 2014 年 9 月至 2018 年 6 月指导教师 学位级别 2018年4月5日同学录系统的设计与实现内容提要随着社会的进步,互联网行业的发展,各行各业已经离不开互联网,此项目立志于解决同学之间相互相联系之间的难题,增进同窗之间的友谊,增加平时的互动和联系,扩展你的人脉,给你带来一个愉快的体验。 系统采用的是B/S架构,MVC的思想,采用的是现在所有编程语言中最为流行的一款,JAVA,很多企业使用它,因为它的稳定性是经过了多年的考验,使用了一些企业级开发常用的组件,以及开源的MYSQL数据库,采用最新的SPRINGBOOT框架。 整个项目采用模块化的思想,分为多个模块,登陆模块,用户管理模块,班级管理模块,管理员模块,用户模块,留言模块等等,提供了相当丰富的功能,同时,也严谨的考虑了安全性方面的问题,严格控制权限,为用户的安全提供了一套切实有效的方案。关键词: 同学录 交流 JAVA MYSQL HTML5 REDIS全套设计加扣 3012250582ABSTRACTWith the progress of the society and the development of the Internet industry, all walks of life can not be separated from the Internet. This project aims to solve the difficult problems between students, enhance the friendship between the classmates, increase the interaction and contact, expand your connections, and bring you a happy experience. 系统采用的是B/S架构,MVC的思想,采用的是现在所有编程语言中最为流行的一款,java,很多企业使用它,因为它的稳定性是经过了多年的考验,使用了一些企业级开发常用的组件,以及开源的mysql数据库,采用最新的springboot框架。The system uses the B/S architecture, the idea of MVC, the most popular one in all programming languages, Java, which many enterprises use, because its stability has been tested for many years, using some enterprise level development components, as well as open source MySQL databases, and using the latest springboot box Frame. 整个项目采用模块化的思想,分为多个模块,登陆模块,用户管理模块,班级管理模块,管理员模块,用户模块,留言模块等等,提供了相当丰富的功能,同时,也严谨的考虑了安全性方面的问题,严格控制权限,为用户的安全提供了一套切实有效的方案。The whole project uses modular idea, which is divided into multiple modules, landing module, user management module, class management module, administrator module, user module, message module and so on. A set of effective and effective solutions is provided.Key words: Student Record Exchange JAVA MySQL HTML5 Redis目 录第一章 绪论61.1系统开发背景6第二章 开发背景72.1课题的背景和意义72.2技术知识简介82.2.1 java82.2.2mysql82.2.3Redis82.2.4springboot82.2.5 mybatis92.3课题的研究目的92.4课题的主要内容9第三章 可行性和需求分析103.1可行性分析103.1.1 技术可行性分析103.1.2 经济可行性分析103.1.3 操作可行性分析103.1.4 法律可行性分析113.2系统需求分析11第四章 系统功能分析114.1 系统功能结构114.1.1前台功能114.1.2后台功能。124.2 流程分析12第五章 详细设计与实现125.1 系统开发工具及环境125.2 数据库设计135.3实体联系方法135.4 数据库表的设计14第六章 数据库系统实现18第七章 系统测试18第八章 总结18致谢20参考文献20第一章 绪论1.1系统开发背景在网络越来越发达的今天,互联网伴随着我们生活的方方面面。网络毫无疑问的是我们的生活的一部分,甚至是我的工作。在网络涉及的方方面面中,社交就是其中最重要的一部分,在社交领域中中,我们会扮演各式各样的角色,比如子女,学生,闺蜜,兄弟等等。而同学关系是我们生活中必然存在的一部分,而同学录则是记录友情以及同学之间联系的一个必要方式,一款好的同学录系统,不仅可以丰富同学之间的联系,更可以帮助老同学之间更好的联系,一些老朋友,可能长时间未联系,就会忘却联系方式等问题,有了这款同学录,不仅可以时时了解同学们的最新动态,其次,还可以与同学之间进行互动,留言,游戏等等,你还在为不知道怎么和同学开始联系保持一份紧张和害怕吗,有了这个同学录系统,让同学之间的交流和联系更加方便快捷,让聚会不再无聊,其中还有红包,真心话大冒险等等功能,丰富同学之间的联系方式,为连接最好的同学关系锦上添花。这款同学录基于企业开发中常用到的一些开源框架搭建,采用SPRINGBOOT微服务架构,其中分为很多模块,包含统计模块,消息通知模块,用户信息模块,娱乐模块,前后台交互模块等等,采用优秀的开源数据库MYSQL搭建,采用分库分表的方式,同时遵循数据库设计的三范式,并经过大量优化的SQL语句,保证性能同时还采用的了优秀的缓存数据库REDIS,并且采取的很多的安全措施在保证丰富功能的同时,保证了极其优秀的性能和极其强大的安全保证。此款软件,为我收集了一些真实的用户反馈和需求之后制作,在收集了很多的建议之后,保证了软件功能方面的丰富,同时,我采用了一些比较优秀的算法,保证了系统性能的稳定,其次,编写了大量的测试代码,对功能进行完整的测试,保证其可以稳定的运行。第二章 开发背景2.1课题的背景和意义本项目是基于WINDOWS 10环境开发,采用的开发工具为IDEA,这款开发工具是目前为止最强大的一款JAVA开发工具,数据库采用MYSQL 5.6.19,后端采用JAVA开发,基于JDK1.8,API采用RESTFUL API,服务器采用TOMCAT,使用SPRINGBOOT架构,这套搭配经常是现在企业中常用到的架构设计,拥有极高的性能,同时大大降低了代码配置的复杂度,是开发人员可以更加专注的融入到业务逻辑的开发之中,同时大大极低了代码的耦合性。本论文会论述一些关于以上知识点的相关基础知识及概念,着重强调一下里面所使用的高级技术,简单讲解其用法,并且说明如何将这些知识进行整合,以及这些技术常常使用的开发场景,以及一些小技巧,同时和实际的开发项目进行接轨,以企业级开发项目的要求严格要求自己和自己的项目。本次项目具体实现的是一个同学录管理系统,并实现了相关的一系列功能,比如登陆,查看用户信息,留言,修改用户信息,管理员管理管理用户,登录验证拦截等等,在安全,功能,交互上我都投入了大量的时间和精力。用户可以通过自己的账号和密码进行登录,系统会自动识别登录用户所具有的权限,并向用户展示相应的功能,用户可以查看学校所有班级的所有同学的基本信息,并且,可以对自己的个人信息进行修改,还可以给同学进行留言,交流等功能,增进同学友谊,了解对方的近况,也可以实现毕业生和在校生的一些交流,增强整个学校学生之间的凝聚力,给学校和学生都带来极大的好处,同时,系统采用MVC架构进行设计,这是目前为止最为流行的一款架构,系统根据SOA的思想,采用SPRINGBOOT进行开发整理,使代码看起来干净整洁,并且,代码具有极低的耦合性,同时,接口采用RESTFUL API,易于后人整理调试,同时,本系统具有易于扩展的优势,其他开发人员,可以在本系统之中,轻松完成功能的扩展,使此系统变得更加强大和完善。2.2技术知识简介2.2.1 javaJAVA是目前企业中用途最广泛的一款语言,不仅因为它的简单易学,更因为它在多年的累积中已经相当成熟,为很多企业,包括很多大型企业,解决了性能和业务上遇到的问题,同时,它能很好的支持高并发,多线程的任务,是一些较为复杂的项目的必选开发语言。2.2.2mysqlMYSQL是现在中小企业中最常用的一款数据库,因为这款数据库在免费的同时,提供了强大的功能,完全可以满足一些中小企业中常见的业务需求,为企业开发可以节省大量的成本,同时又简单易用稳定。2.2.3RedisREDIS是一个缓存数据库,我们都知道,在常见的企业开发中,数据库的使用是比较耗费资源的,于是,出现了缓存数据库,将数据存储于计算机的缓存之中,可以带来高效的资源调用,为企业级应用开发提供了一套优秀的解决方案。2.2.4springbootSPRINGBOOT是比较新的一款技术,它极大的简化了企业级开发中常常使用的一些组件的配置,并且极大简化了应用的启动方式,以往的企业级应用中,经常需要大量的配置,在维护代码方面,给开发人员带来极大的烦恼,而SPRINGBOOT通过集成了大量我们平时开发中常用到的一些框架,通过简化配置的方式,为我们代码减少了大量的开发工作,因此,在近几年中,越来越受到广大企业和开发者的热衷,几乎现在所有企业的新项目中,都会直接采用SPRINGBOOT进行开发,有了SPRINGBOOT,约定大于配置的思想,为广大开发者真正的带来了“春天”。2.2.5 mybatisMYBATIS是目前企业开发中最常用的一个ORM框架,所谓ORM框架,就是对象关系映射的意思,简单通俗的说,就是一款持久化框架,因为我们的系统中经常会用到数据,而数据我们经常是需要进行存储的,MYSQL是我们经常使用的的工具,而 MYBATIS,通过对SQL语句的简化,根据解耦的思想,使我们在进行数据库操作时,变得更加简单方便,同时又大大提高了我们代码开发的效率,以及MYSQL操作时的性能优化,相比较前几年流行的另一款ORM框架HIBERNATE,它又具有极强的灵活性,所以,目前,已经受到广大企业和开发者的热爱。2.3课题的研究目的 本课题研究目的旨在通过对同学录系统的设计与开发,研究同学录系统中所涉及的各方面的内容与难点问题,在设计过程中,不断巩固所学知识,了解JAVA语言的优点与,魅力,增强我们设计系统的能力,增强我自己我解决问题的能力,帮助公司解决问题,带自己队友解决问题,不断地提升了我们自身的技术和设计能力,同时,我们也掌握了更好的学习能力和解决问题的能力,通过在这样的不断磨砺下,我们正在变得越来越优秀,而我们所学专业正是需要我们具备这样优秀的能力,通过多设计项目,增强我们对本专业内容更加深入的理解,有利于我们走向社会后,更快更好的适应社会的需求,适应企业开发对我们的严格需求,增长大量的知识,这是本次课题的主要的研究目的。2.4课题的主要内容在学生信息管理系统页面,可以对班级信息进行一定的修改和整合,对学生消息进行一定过得整合,会享有不同的权限,比如用户,登录成功之后,可以查看所有的学生信息,但是仅仅可以修改自己的用户信息,又比如管理员,在享有学生权限的基础上,增加了管理本班学生的入口,可以方便的对本班学生进行管理,同时,系统管理员享有最高权限,在拥有管理权限的同时,还可以对班级进行管理。 前台部分主要涉及的内容有,学生信息的展示,学生信息的修改,班级信息的展示,班级信息的修改,通知模块的展示,以及滑动的横幅等等。后台部分首要触及数据库的一些操纵,好比,门生信息盘问,班级信息盘问,门生信息办理,班级信息办理,留言办理等等与数据库举行交互的一些操纵,除这些,另有一些,营业逻辑方面的工具,另有一些其他框架的利用,好比发短信,发送邮件,按时使命等等。第三章 可行性和需求分析3.1可行性分析3.1.1 技术可行性分析技术采用SPRINGBOOT,以及SSM框架,配合MYSQL数据库,这是目前企业开发中最常用的一套组件,多年的实践,足以证明其稳定性,并且,对于JAVA语言来说,可以实现很多相对来说比较底层的功能,所以,作为本课题的编程语言,完全可以胜任。3.1.2 经济可行性分析本系统采用的框架及工具,全部都是开源及免费的,并且从网上可以直接获取到,在开发方面将成本降到最低,同时,网站顶部设有横幅,以及网站内部含有一些广告组件,可以通过广告和流量从而带来一些收入,经济方面完全可行。3.1.3 操作可行性分析本产品前端采用BOOTSTRAP框架,这是目前最为流行的一套响应式框架,在操作简单的同时,可以为不用的用户带来最佳的体验感,同时,产品内部含有多种样式,完全模拟真实用户感受,可以给用户带来极其愉快的使用体验,操作性可行性方面完全可行。3.1.4 法律可行性分析在法律可行性方面,本系统采用的所有组件,以及提供的所有内容都是保证合理合法的,不会对用户的身心造成任何的伤害,也不存在任何不利于党和国家的利益的东西,并且引导用户走向一个积极乐观的生活状态,在法律可行性方面完全可行。3.2系统需求分析本同学录以SPRINGBOOT为基础架构,采用MVC思想,前端使用THYMELEAF模板引擎,后端采用SSM框架,整体设计为B/S架构,前端采用HTML+CSS+JAVASCRIPT+BOOTSTRAP,前后端交互采用AJAX,后端采用JAVA,用MYSQL数据库进行数据的存储和管理,并且可以在页面进行实时更新。同学里最重中之重的功能,就是可以和同学交互。第四章 系统功能分析4.1 系统功能结构1) 按照对同学录办理体系的营业逻辑阐发和营业流程的阐发清算,起头动手全部网站的架构计划,按照体系权限,首要分为两类,普通用户和办理员用户,普通用户登录乐成以后,可以检察各个班级的成员详细信息,也可以点窜个人信息,办理员用户登录乐成后,自动识别为办理员,可享有响应的权限,并办理响应的班级。4.1.1前台功能2) 用户登录:用户输入自己的学号和密码即可登录成功3) 用户信息检察与点窜:用户登录乐成后,可以检察本身的个人信息,可以检察别的全部班级的同窗信息,同时,可以检察和点窜本身的个人信息。4) 管理员信息查看与修改:管理员用户需要进行登录,验证完账号和密码之后方可登陆成功,然后用进行一些的列级操作5) 班级同学信息查看:所有用户登录成功之后,均可查看本班班级和其它班级学生信息。6) 班级查看:首页即为所有班级信息,用户可以点击相对应的头像,进入对应的班级详情页面。4.1.2后台功能。1) controller层:负责对外提供接口,同时返回对应的视图层,本系统采用前后端分离的思想,使用了thymeleaf模板引擎,对前端代码不会产生任何污染。2) service层:和传统的service层一样,进行一些业务逻辑的处理,和一些dao层的交互行为,从数据库读取信息,并进行整理。4.2 流程分析综合上面的需求分析,进行归纳整理,设计合适的技术选型,设计详细的系统架构,采集大量的数据,进行大量的问卷调查,考虑系统安全性和稳定性方面的问题,最后着手开发。第五章 详细设计与实现5.1 系统开发工具及环境1.JAVA2.MYSQL3.JAVA开发工具IDEA4.MYSQL数据库管理工具NAVICAT5.REDIS6.REDIS管理工具7.HTML+CSS+BOOTSTARP+BOOTSTRAP8.运行环境:WIN10 PC5.2 数据库设计数据库设计是本系统的重中之重,我们都知道,数据的设计是有很多原则需要去遵循的,比如数据库设计的三范式,是我们数据库设计中经常需要遵循的一条准则,在此系统数据库的设计中,我对自己设计的数据库进行严格把控,并且进行合理的分表,设计USER表,STUDENT表,ADMIN表等等。5.3实体联系方法实体-联系方式是一种最为闻名最为经常使用的概念模型的暗示方式,它是于1976年由P.P.S.CHEN提出的。该方式用E-R图暗示实际天下的概念模子,E-R方式也称为E-R模子。5.4 数据库表的设计数据表是数据库设计的核心部分,根据网站的功能模块设计了数据库ADDRESS_BOOK,其中共有6张表,管理员表ADMIN表、用户表USER表、学生表STUDENT表、留言板表MESSAGE BOARD表。管理员:此表用来存储管理员的账户信息,包罗账户ID、用户名、暗码、管理员权限等等。名称描述类型长度备注ID管理员账户IDINT11主键,自增USERNAME用户名VARCHAR255PASSWORD密码VARCHAR64PERMISSION管理员权限VARCHAR101) 用户表:此表用来存储详细的用户信息,用户ID,用户名,用户密码,是否是班长,管理的班级等等名称描述类型长度备注ID用户IDINT11主键,自增USERNAME用户名VARCHAR255PASSWORD密码VARCHAR64MONITOR是否是班长CHAR1CLASSES管理的班级VARCHAR202) 留言表:此张表使用来存储用户之间的留言信息。比如A用户给B同学进行留言,留言的数据应当是记录在这张表里面的。名称描述类型长度备注ID留言IDINT11主键,自增MESSAGE_CONTENT留言内容VARCHAR255SENDER留言的发送者VARCHAR64RECEIVER留言的对象VARCHAR10TIME留言的时间DATE3) 学生表:此表用来存储学生信息,包括学生id,学号,姓名,班级,爱好,家庭住址,手机号码,邮箱,QQ,最喜欢的名言,最喜欢的人物。名称描述类型长度备注ID留言IDINT11主键,自增SID用户名VARCHAR255主键NAME密码VARCHAR64CLASSES管理员权限VARCHAR10HOBBY爱好VARCHAR50PHONE手机号码VARCHAR12EMAIL邮件VARCHAR20FAVORITE_PEOPLE最喜欢的人物VARCHAR30QQQQVARCHAR20FAVORITE_SAYING最喜欢的名言VARCHAR255JOB职务VARCHAR30ADDRESS住址VARCHAR1004) 角色表:角色表是同学录里表中相对来说比较重要的一部分,它管理着同学的权限,是整个系统安全的喉咙。名称描述类型长度备注ID角色IDINT11主键,自增USER_ID用户的唯一IDVARCHAR255ROLE_ID角色的唯一IDVARCHAR64ROLE_S角色的职责VARCHAR10VA角色是否可用CHAR1DES角色描述信息VARCHAR115) 权限表:这张表主要用处是用来管理一些用户的限制方面的问题,不能让随便一个用户都可以登录进来,这样我们的系统就太假了,维护者系统的安全性。名称描述类型长度备注ID权限IDINT11主键,自增ROLE_ID角色的唯一IDINT11ROLE_PER角色享有的权限VARCHAR64VA权限是否可用VARCHAR10DES权限描述VARCHAR255这是目前的SQL架构,实现了完全的解耦,同时,此表的设计结构,是符合分布式的涉及规范的,在表中的数据达到一定量之后,可以对表进行垂直结构和水平结构的划分,这对以后的维护和新功能的增添,都是有极大的好处的。同时,mysql优越的性能尽数发挥出来。5.5具体代码实现5.5.1管理员详情5.5.2添加学生5.5.3更新学生信息5.5.4添加班级5.5.5获取所有班级5.5.6更新班级信息5.5.7删除班级信息5.5.8班级详情页面5.5.9学生详情页面第六章 数据库系统实现首先在WIN上INSTALL数据库SQL MYSQL5.5版本及以上,安装完毕后,可以用系统管理员窗口进行数据库连接,查看是否数据库安装成功,其次,安装数据库管理工具,NAVICAT,选择其中的MYSQL数据库连接,输入正确的数据库账号和密码,点击连接,即可连接成功,在代码中,数据库连接采用MYBATIS框架,是目前企业中使用最广泛的一款ORM框架,首先使用SPRING的IOC容器进行是SQLSESSION的管理,配置DATASOURCE数据源,同时使用阿里的DRUID数据库连接池,最后用SPRINGBOOT简化开发。第七章 系统测试(1)全站采用RESTFUL API的形式,采用POSTMAN的方式,安装在360浏览器中,采用进行测试,拿到返回结果。(2)前端采用THYMELEAF,SPRINGBOOT官方推介的,采用主流测试方法进行测试。(3)系统代码的审查工作与开发是同步进行的,测试结果可以帮助我们对系统作出及时的调整,从而能够保证系统代码的正确性,提高代码的可维护性。经由过程黑盒测试,本系统现已准确完成所需功效,并进入一个刚开始的阶段。可以正确的显示预期所希望出完过得的结果。本系统根基知足用户的需求,机能也根基到达请求,具备可用性和友爱性。但只举行了黑盒测试有必然的局限性,所测试的情况和现实的运行情况也存在着必然的差别,以是不克不及彻底地测试出网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论