大学生学习资源共享平台的设计与实现.docx

上传人:太** 文档编号:91198370 上传时间:2023-05-23 格式:DOCX 页数:60 大小:587.37KB
返回 下载 相关 举报
大学生学习资源共享平台的设计与实现.docx_第1页
第1页 / 共60页
大学生学习资源共享平台的设计与实现.docx_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《大学生学习资源共享平台的设计与实现.docx》由会员分享,可在线阅读,更多相关《大学生学习资源共享平台的设计与实现.docx(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、大学生学习资源共享平台的设计与实现摘要当今社会日新月异,许多产业都发生了翻天覆地的变化,随着中国互联网的飞速发 展,许多的传统项目都部署到了互联网上,让用户不断的加入到他们当中。此次的大学 生学习资源共享平台同样是一个互联网项目,意在为大学生提供高效的学习环境,让学 生们可以在平台中方便快捷的获取所需知识。这次项目的构建采用前后端分离架构,采用了大量的第三方框架技术,以此来降低 前期开发和后期维护的成本。此次项目的核心思想基于 Spring MVC,在后端的构建上 基于 SpringBoot,数据库持久层的技术选型为 MySQL 和 SpringData JPA,后端代码层 次分明。前端采用的

2、是 Spring Boot默认的模板引擎 Thymeleaf,页面的搭建采用 Bootstrap 框架和后端数据利用模板引擎整合而成。整个项目的在视觉呈现上趋于简洁 清爽,利于浏览使用。通过本系统,大学生可以浏览到自己目前所需要的学习资源,并且获得的资源准确 高效。同时基础知识薄弱的大学生也可以在本系统平台找到相应的学习方向和指导。大 学生可以在系统平台的使用过成中快速进步。关键词:学习资源共享;Thymeleaf;Spring Boot;Spring MVC;MySQLSQL 映射。3.Spring 的 Web 模块Web 模块是 context模块的拓展和应用,同时也提供了一些面向服务支持

3、。同时,该模块中的 Web Work等也是 Spring中的重要应用。4.Spring 的 MVC 框架Spring的 MVC 框架用来帮助构建 Web 应用,并使用 IOC 对其内容进行了 完全的分离,使使用更加方便,操作更加简洁,更清晰明了。除此之外,Spring 的 MVC 还有一些其他的应用。5.Spring 的 MVC 框架Spring 为构建 Web 应用提供了一个功能全面的 MVC 框架。虽然 Spring 可 以很容易地与其它 MVC 框架集成,例如 Struts,但 Spring的 MVC 框架使用 IoC 对控制逻辑和业务对象提供了完全的分离,也允许你声明性地将请求参数绑定

4、到 你的业务对象中,此外,Spring 的MVC 框架还可以利用 Spring的任何其它服 务,例如国际化信息与验证。SpringMVC 是 Spring中的一个组件,目前在互联网公司用的很多,是必需 学习的一门框架技术!SpringMVC 用于 Web 层,相当于 controller(等价于传统 的 servlet 和 struts 的action,或者 hendler),用来处理用户请求。举个例子,用 户在地址栏输入 http:网站域名/login,那么 Spring MVC 就会拦截到这个请求,并且调用 controller 层中相应的方法,(中间可能包含验证用户名和密码的业务逻 辑,

5、以及查询数据库操作,但这些都不是 SpringMVC 的职责),最终把结果返回 给用户,并且返回相应的页面(当然也可以只返回 json/xml 等格式数据)。Spring MVC 就是做前面和后面过程的活,与用户打交道。SpringMVC 需要有 Spring 的 jar包作为支撑才能跑起来。Spring MVC 属于表现层的框架,它是 Spring框架的 一部分。10其中 Spring最重要并且需要理解的部分便是 Spring中 Bean 的生命周期,这 个过程将Bean 添加到 Spring容器中,如图 2-1所示。Bean isready to useContainer isshutdo

6、wn2.2.2 Spring BootSpring Boot是为了更加便捷明了的使用 Spring的应用程序和服务而产生的 一个项目。SpringBoot为 Spring生态系统提供了一种固定的、便于实用配置的 框架。使 Spring的应用和服务使用更加简便。随着 Spring版本的不断跟新,开始的 Spring在使用过程中在向容器中添加 组件的方式是根据配置文件来添加,但是其XML的文档语法在实际开发中仍然 有一定的繁琐,于是在 Spring3.0 之后出现了 Spring 的注解开发,将用 Java 注解 的方式来配置 Spring中的组件Spring Boot 的目标是使应用需要的配置进

7、行简化即可,即化了应用开发模 式更加简化。即 Spring Boot只是提供了一种快速使用 Spring的方式。2.2.3 ing Boot 的特性:提供使 Spring的更加方便快捷的方式;开箱即用,不需要复杂繁琐的配置。可以修改默认值满足特定的需求;提供了嵌入式服务器等功能等。2.2.4 ing Boot 的特性:基于 Spring的开发提供更快的入门体验;开箱即用,没有代的码生成,无需 XML的配置。可以修改默认值满足特定的需求;提供了一些大型项目中常见的11非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。2.2.5 SpringData JPASpringData 是一

8、个数据访问及操作的 Java 操作数据库的工具,封装了很多 的数据,4.Populate BeanNameAwarefsInstantiate 7 properties setBeanName()Pre-initialization InitializingBeanBeanPostProcessors/afterPropertiesSet()7/Call custominit-methodPost-initialization/Bean PostprocessorsBeanFactoryAwaressetBeanFactory()icationContextAwarefssetApplicat

9、ionContext()DisposableBeans Call customdestroy()destroy-method源的操作能力,包含对关系数据库、非关系数据库、云数据服务访问支持、jdbc、Redis、MongoDB 等。JPA 是在 Java JDK5 之后提出来的一种思想,他的出现是因为 Java EE的开 发中对数据库持久层的操作并不是很灵活,同时 Sun 公司也希望将 0rm思想进 行实例化,用新的思想将 Java 代码和数据库表映射,并实际运行从而实现用 Java 中面向对象的思想来操作持久层。Spring Data JPA 是 Spring基于 orm 思想而开发出的一款

10、框架,最核心的是 它符合JPA 规范,在 Spring项目中使用 Spring Data JPA 的过程中需要将这个框 架与 Spring框架进行整合。首先加入框架运行所需要的 jar 包依赖,在与 Spring 的整合中可以通过修改对应的配置文件的方式结合自己开发环境的实际情况将 SpringData JPA 框架配置好,在数据库设计的方面,不同于之前 JDBC 的思想从 数据库的角度来考虑,然后通过对应的框架通过操作 sql语句来操作数据库的表。此时开发人员只需要关系自己所开发的过程中锁要操作的实体,通过 0rm的思 想将实体和对应的数据库表联系起来,在运行的过程中框架会自动的创建出 Ja

11、va 实体中所对应的表结构。在数据库的操作层面,开发人员只需要继承框架中定义 好的接口便可以实现对数据库的基本查询,同时在框架本身与 SpringBoot整合 后开发人员可以根据 Java 中方法的名称即可实现对象的实体类的操作。与以往 JDBC 的操作思想和操作方式相比,少了很多的繁琐逻辑代码。让开发人员的精 力放在了最重要的代码逻辑上。2.2.6 BootstrapBootstrap是一种 Web 前端开发框架,它基于多种前端所用到的语言,通过 该框架使得 Web 开发尤其是在前端页面的构建上更为快捷。Bootstrap 中包含非 常多的可以自定义的前端 Web 页面组件,将 CSS 设置

12、进行了扩展将他们以像 Javajar 包的方式提供给用户,还包含了非常多的可自定义的 JavaScript 插件。通 过对这些组件与插件的自定义与放置可以像搭积木一样快速的搭建一个网站。其 操作方式上只要从开发文档上找到自己所需要的样式,然后复制文档中的代码即12可。如图 2-2所示。情境类为列表中的条目添加情境类,默认样式或链接列表都可以。还可以为列表中的条目设置.active状态。实例:Dapibus ac facilisis inCras sit amet nibh liberoPorta ac consectetur ac Vestibulum at erosDapibus ac fa

13、cilisis inCras sit amet nibh liberoPorta ac consectetur acVestibulum at eros图 2-2 Bootstrap 开发文档2.2.7 OSS 对象存储 OSS 是用于存储对象的一个容器,本系统中运用的是阿里云的 OSS 用于存储系统的资料内容。OSS 主要结构分为 Bucket:OSS 的存储区域的名称、EndPoint:大区域的名称、Bucket 域名:bucket 的域名。将需要的对象单位存入 OSS 后,在获取的时候只要将链接展示出来便可以下载对应的内容。其中本系统中所运用 的阿里云对象存储如图 2-3所示。对欧存储C

14、L览Buckets我的访问路径电十 更源翘管理又慢存Ml/Bixket列/(J开蜡使月婀里云OSSBucket列表仅庆计当前Bucket合计数场平均砥迟1-2小时.不作为计事物R,仅作参考.不同存联中的存储用率计费定M请参考常即文档Bucket名称Q区域7的类里vV O湾区域鱼制常用工具数据与入京用服终接存Bucket区域学他出冗余樊SI沆?当月访何次数怵港驾存储侬git费存储归档计费存储多版本传violet 1驷(1陈)SO4.7S MBOByte0SO4.75 MBOByteOByte新启开启姐2.3主要开发工具的详细介绍 IntelliJ IDEAIDEA 全名为 TntelliJTDF

15、A,是一个 Java 开发的集成环境,编译软件。IDEA 因为在智能代码助手(例如可以自动完成代码、对代码可进行自动检测等)、对 JUnit、重构、XML、JSP、EJB、版本控制的支持等方面的功能十分便捷,以及 界面十分简洁明了,所以受到程序员的喜爱。Idea 的强大之处在于它的插件很对,本次开发中大面积的运用了他的插件,加快了自己的开发速率。13按钮式下拉菜单输入框组导航导航条路径导航分页迎巨幕页头缩略图警告框进度条媒体对象列表组基本实例暧链凄Dapibus ac facilisis inCras sit amet nibh liberoPorta ac consectetur acVes

16、tibulum at eros2.3.1 MySQLMySQL是一个关系型数据库管理系统,MySQL是当下最流行的关系型数据 库管理系统,在 WEB 等应用方面,MySQL 是最好的 RDBMS(Relational Database ManagementSystem)oMySQL 将数据保存在不同的表中,不是将所有数据放在一个大仓库内增加 了速度并使灵活性得到了提高。MySQL 使用 SQL 语言,改语言是访问数据库最 常用标准化语言。MySQL 因为体积小、速度快、成本低、开放源码等优点,被 一般中小型网站开发时所选择。MySQL,是关系型数据库管理系统,在目前十分流行,多被一般中小型网站

17、 开发时所选择。MySQL 将数据保存在不同的表中,与其他将所有数据放在一起的数据库相 比,速度更加快捷,且灵活度也有所提升。本系统中所运用 MySQL过程中采用的为可视化 IDE工具 Navicat其对 MySQL 的操作界面如图 2-4o本章主要对系统平台从可行性、功能需求和系统业务方面进行需求定义与分 析。3.1 引言在软件开发的过成中,需求分析非常的重要。因为他的存在是关乎软件开发,整个项目开发的成败的关键点。当今项目开发过程中,出现很多不合理的地方从 而倒是项目的返工,不断的改进使其在开发过程中这些开销占了很大的比例,甚 至直接导致了项目的失败,这些都是因为在需求分析过程中没有足够的

18、投入。需 求分析要对项目的任务,过程,与方法进行分析,分析出变更的问题以及要怎么 样分析出保证质量的措施。一个软件项目在开发过程中大概分为五个部分:需求分析阶段,软件设计阶 段,编码阶段,测试阶段,和软件项目的维护阶段,需求分析作为这个过程中的 第一个阶段他是整个生命周期中最重要的一个阶段,他的存在让要求和需求变得 合理。使得项目开发中的需要的功能,需要的需求,需求的可行性变得清晰。使 得以后的开发过程更加的轻松,这是一个科学的必要的过程。S eesy idint1105 eesy mybatisnianjivarchar2550s information schemapasswordvarc

19、har2550S 11 mybatisroleint110 my blog dbusernamevarchar25508 mysql5 performance schemaS springdatazhuanyevarchar25500口口0口14】mySql又寸象 霹user bishe(mySql)-表 S bisheg皿叩昌保存 M添加字段t插入字段te删除字段 户主键 个上移下移2cms字段索引外键触发器选项注释SQL预览S day23名类型长度 小数点 不是null键 注释图 2-4 Navicat 界面3.2 可行性分析项目可行性主要从经济可行性、技术可行性、社会可行性、操作可行性这

20、四 个方面来说明该项目是否可行。如下对这四个方面的阐述。3.2.1经济可行性项目中用到的 ide 工具为现在主流开发工具 idea,idea 对学生有学生认证可 以免费使用,项目的部署容器为 Apache Tomcat,是 Apache 推出的开源免费的一 款轻量级容器,最终项目运行在阿里云,阿里云服务器的费用也会使用学生优惠。持久层数据库选用的是 MySQL,MySQL 作为一款免费的数据库其稳定性与维护 经济成本也符合项目的构建。项目中用到的技术包括 Spring,Spring Boot 等都为 Spring社区的开源框架,不会有费用问题。项目在后期运行中会根据人数与热度 适量接周边校园广

21、告获取项目维护的成本。项目的成功部署与后期运行维护都意 在与为学生提供更好的服务,让其成为大学生学习资料共享,让大学生学习效率 倍增的共享平台。3.2.2技术可行性这次项目选择的基本框架为 Spring Boot,项目在此基础上搭建。Spring Boot15通过不断地迭代,在 2.x版本已经处于一个非常稳定的版本。SpringBoot构建项 目其最大的有点在于其对 Spring 社区自身的技术的整合和对第三方框架技术的 整合上,提供了非常方便快捷的整合方案和配置方案。例如 SpringMVC,Tomcat。这次在数据库操作上选择了 SpringData JPA 方案,项目基于 Java 语言

22、,jpa 规范 的面向对象原则非常符合项目数据库模块。其灵活的语法与高效的开发让项目在 运行与维护升级上都留有很大的空间。持久成数据库选用了市面上中小型公司流 行的 MySQL,MySQL同样经过不断的迭代使其在稳定性与后期维护上都利于项 目的进行。3.2.3社会可行性项目中运用的各种框架与技术都是开源或者免费的,不存在侵权行为。面对 大学生的共享平台很多,但是都是杂乱资源的整合,很难对学生进行对症下药。本系统意义在于为特定院校的学生提供针对性的服务,做到与学生的学习情况同 步。本项目的重点在于对资料的完善与收集,资料的发表经过思考后决定由管理 员来发表。确保了资料的合法性,不会触碰侵权行为。

23、本项目的成功部署一定会 成为学生喜欢的平台并且不断的加入进来,让平台无论是用户还是资源上变得丰 富起来。3.2.4操作可行性分析该系统部署运行上其页面采用当下流行的简介风格,美观的同时也方便学生 的操作,并且很多设计的地方在学生与系统的交互上做出了很多地方的人性化调 整。其中页面中也加入了很多如“看板娘”等流行元素,让学生在浏览过程中也 不会无聊。其技术与后期交互上都是以大学生为核心真正为大学生进行服务。3.3 功能模块需求分析系统的功能主要从普通用户和管理员两个方面来阐述,项目的功能图如图 3-1 所不。16直接查找查看自己所需资料根据自己的年级查找用户vr、根据自己的专业查找,发表自己的评

24、论与要求提升用户权限 用户管理Qz-删除用户发表资料资料菅理ez 删除资料图 3-1系统功能的需求分析图3.3.1 管理员功能模块大学生资源共享平台的管理员功能主要有用户管理功能和资料管路功能,详 细可以分为对用户的删除功能,对用户权限的升级功能,对资料的发表功能,对 资料的删除功能,如图3-2所示。1.用户管理1.1.删除用户:管理员在用户管理界面可以看到所有的用户,可以通过用 户的信息删除一些违规用户或者不合法用户保证系统运行期间的内容稳定;1.2 提升用户权限:本系统的重点资料的发表将会由管理员统一接管,所以 管理员可以在用户管理界面通过对用户权限的提升让普通用户成为管理员参与 系统的运

25、行与维护;2.资料管理2.1资料的发表:管理员可以通过资料管理页面来进行资料的添加,由管理 员负责保证资料的可行性与稳定性;2.2资料的删除:管理员可以通过资料管理页面来进行资料的删除,由管 理员负责将一些过时的、有错误的资料即使删除避免其对学生产生错误的引导。3.3.2 用户端功能模块本系统的用户主要有注册登录功能,对资料的查看功能,对当前存在的问题 或者意见的发表的功能,如图 3-3所示。1.登录注册功能:17大学生学习资源共享平台大学生学习资源共享平台管理员用户可以通过注册登录成为本系统平台的用户参与进来成为平台的一部分。2.用户资料查看:用户可以在主页通过直接找或者搜索功能来找到自己所

26、需要的资料。3.用户评论发表:用户可以通过自己对系统内容看法提出一些评价。3.4 系统业务分析本系统的角色大体上分为普通用户和管理员两个,而用户可以分为普通用户 和游客(游客只可以查看资料大概无法查看内容和发表自己的评论)。管理员的 功能是对用户和资料的管理,具体分为对资料的发表删除与对用户的删除和修改。让不同的角色拥有不同的功能。系统的功能需求,用例图如图 3-4。图 3-4系统用例图大学生学习资料共享平台的设计与实现,在功能上主要分为管理员的功能和 用户的功能。管理员和用户的功能主要以用例图的形式展示管理员的功能包括用户管理和资料管理,用户管理分为对用户的删除和对用 户权限的提升;资料管理

27、分为对资料的发表和对资料的删除。管理员端的用例图如 3-5o18删除用户用户端的功能主要分为登录后对资源的查找查看和对资料的评论发表。用户端用 例图如图3-6o游客19Design and Implementation of College StudentsLearning Resources Sharing PlatformAbstractWith the rapid development of Chinas Internet,many traditional projects have been deployed to theInternet,so that users can cont

28、inuously join them.The sharing platform for college students learningresources is also an Internet project,which aims to provide an efficient learning environment for collegestudents so that they can acquire the required knowledge conveniently and quickly on the platform.The project was built with a

29、 front-end and back-end separation architecture and a large number ofthird-partyframeworktechnologies,soastoreducethecostofearlydevelopmentandlatermaintenance.The core idea of this project is based on Spring MVC,based on Spring Boot in the back-endconstruction,and the technology selection of databas

30、e persistence layer is MySQL and SpringData JPA,with distinct back-end code hierarchy.The front-end adopts Thymeleaf,the default template engine of SpringBoot,and the page is built with Bootstrap framework and back-end data through the integration of thetemplate engine.The visual presentation of the

31、 whole project tends to be concise and clean,which isconducive to browsing.Through this system,college students can browse the current learning resources they need,and theresources obtained are accurate and efficient.At the same time,college students with weak basic knowledgecan also find the corres

32、ponding learning direction and guidance on this system platform.College studentscan make rapid progress in the use of the system platform.Key words:resource sharing;Java;Spring Boot;For Spring MVC;Software development3.5 本章小结本章对自己项目所需要完成的内容从技术可行性,经济可行性,社会可行性,操纵可行性对项目经行了分析。并根据系统所要完成的功能与平台存在的意义对 项目进行了

33、分析,完成了不同模块的需求分析。并且绘制出了功能图,最后根据 功能图绘制出了用例图,之后系统进入概要设计阶段。204概要设计概要设计是软件开发过程中比较重要的一个环节,他的存在为系统的开发进 行了有效的划分,例如功能的分配、模块的划分、接口的设计、数据库的详细设 计、对出错情况的设计、程序的输入输出接口的设计。为之后详细设计提供服务。4.1 系统体系结构设计大学生资源共享平台基于 B/S 的模式进行设计,即浏览器与服务器的交互模 式。用户通过浏览器来访问本系统,后台用 Tomcat 作为 Java 容器负责项目的初 始化与运行处理数据和用户的操作逻辑。本次系统在数据库的选型上选择了 MySQL

34、,MySQL 这种关系型数据库对本 次项目的实体映射可以有非常优秀的表现。并且在该系统的后期运行上有着不错 的性能表现。但是本次项目的重点在于对学习资源的存储和展示,所以资源实体 在数据库层面作为信息管理非常重要。数据库的设计必须以项目的实际需要为基 础,不能做出降低数据库性能的不合理逻辑。同时在项目中在数据库的操作逻辑 上将采用 Java 的 JPA 规范,将对数据库表和数据的操作转为对 Java 中实体的操 作,将开发思想上的代码与数据库数据进行逻辑上的解耦,贯彻 Java 中面向对 象的思想原则。合理的设计数据库是本次项目的重点,性能过差将导致数据库与 依赖数据库的项目直接失败。4.2

35、系统功能模块的结构设计大学生学习资源共享平台分为两个子系统,两个子系统分别为用户子系统和 管理员子系统,用户子系统负责普通用户的功能与实现,管理员子系统负责管理 员的功能与实现。不同的子系统又分为不同的模块在此基础上构建出项目,用户 子系统有着用户用例所具有的功能与行为,同样管理员也有着属于自身的功能与 行为。系统平台的功能模块如图 4-1所示。21大学生学习资料共享平台用户子系统管理子系统用登资用用用页 面户录料户户户的注验的发管料访册证查表理管问模模找评模理块块论块模块1.用户注册模块:用户可以在登录页面跳转到用户的注册界面,注册账号成 为本系统中的用户。在用户注册时,需要完善用户的一些信

36、息,例如用户的用户 名密码,用户的年级和专业。当注册成功后便可以登录入系统。2.登录验证模块:用户登录的时候系统会自动判断用户的身份,从而将用户 带入不同的页面。3.资料的发表:本系统中资料的发表有管理员操作,管理员需要在后台向系 统中添加对应的资料内容。4.资料的查找:用户可以通过特定的条件对自己所要的资料进行查找。5.用户管理模块:管理员可以对用户的权限进行升级。6.用户的评论:用户可以在页面额评论区对系统本身或者对自己的需要发表22自己的评论。这些评论管理员可以看到从而做出对系统的调整。7.3接口设计本次项目采用的是前后端分离发开,后台向前端页面返回数据,前端页面接 收数据后将数据展示给

37、用户。本次项目后端运用 SpringMVC 框架基础,前端运 用了 Spring Boot 推荐使用的 Thymeleaf 模板引擎完成页面与后端数据的结合和 展示。前端页面的搭建上选用了Bootstrap 来构建页面的基本框架结合 js 和 css 将页面美化同时使用 Thymeleaf 将后端数据用th:的语法提取并且嵌入页面当 初同时也完成了用户在使用过程中在交互上的页面重定向跳转等逻辑,是项目的 用户体验上更加完美。项目后端运用 Spring MVC 时候会预留大量的接口并且结合设计模式,对与 数据库操作的实体类上采用充血模型,对实体类预留大量的可操作空间,在项目 初期构建的时候运用

38、Swagger-UI 技术来不断调试。最后生成后端与前端的接口 API 文档,做到前后端的分离开发,后期在对前端页面的不断完善。8.4数据库设计对数据库设计的目的是:从软件工程软件开发的一个步骤,是改进行进图设 计,即每个单元运算的详细设计和所需的当地结构。在微观设计阶段,主要通过 需求分析结果和软件系统产品设计以满足用户需要。用户拥有编号、身份、名称、年级、专业等属性,资料拥有编号、专业、年 级、名称、描述、内容等属性,管理员拥有编号、身份、名称等属性。在项目中 用户有查看资料的功能,且两者的关系是多对多的关系。拥有管理员的作用是管 理用户和管理系统中的资料,并且管理员和用户与资料的关系也是

39、多对多的关系。在用户层面还可以在系统中发表评论,发表的评论也将作为数据库的一张表进行 持久化存储,评论拥有编号、评论时间、评论者名称、评论内容,评论的父评论 编号等属性,一个用户可以发布多条评论,而一条评论只能属于一个用户,二者 是一对多的关系。这样设计数据库中存储对象让表与表之间,对应到系统中实体 和实体之间在数据层的交互与操作将会更加的灵活,更加的具有可扩张性,后期 可以根据需求非常自由灵活的增加查询或者增改操作。23全局 E-R 图如 4-2所示。本次系统在设计时,在数据库与 Java 实体类的对应上采用 orm 思想。这样 的思想让关系型数据库和 Java 对象之间有一个映射,在编码过

40、成中将面向对象 的程序语言自动持久化到数据库中,其本质也是将数据从 Java 语言转变为数据 库语言。并且在操作数据库的框架上选择了 SpringDataJPA 规范,这样在项目的 开发过成中就不需要再去和复杂的 sql 语句去打交道,对 Java 对象实体的操作就 相当于对数据库对应表的操作。在此次的数据库表的设计上为了提升对数据库 dao 交互层的性能提升,遵行 了阿里开发规范,尽量不会设计多表操作一表一用。最终结合项目需求制定了 3 张表。如下表 4-1所示。24数据库表名中文名文字说明User用户表用来将用户的信息持久 化Ziliao资料内容表用来将资料的内容持久 化Spit评论表用来

41、将用户的评论信息 持久化表 4-1系统表项编号数据项名称数据 项 含义存储结构备注用户表D1-1UserID用户 IDInt(11)主键(自 增1)D1-2UserName用户名Varchar(255)D1-3Password密码Varchar(255)D1-4Status角 色权限Int(ll)表 4-2-1用户表中字段25数据项编号数据项名称数据 项 含义存储结构备注评论表D3-1Id评论 IDInt(ll)自增 1D3-2Content评论 的 内容Char(255)D3-3Nickname用 户名称Varchar(255)D3-4Parented父idInt(11)D3-5Publis

42、hed发 表时间Datetime(8)D3-6userid用户 idChar(255)表 4-2-2评论表中字段数据项编号数据项名 称数 据项含义存储结构备注资料表D2-1Id资料 IDInt(ll)自 增 1D2-2Zhuanye用 户专业Varchar(255)D2-3Nianji用 户年级Varchar(255)D2-4Dec资 料描述Varchar(255)D2-5Data资 料内容Varchar(200)D2-6Kecheng课程名称Varchar(255)表 4-2-3资料表中字段表的数据结构如下表 4-3所示。表 4-3数据结构表数据结构名称数据结构含义组成User用户Dl-1,

43、Dl-2,Dl-3,D1-4,ZiliaoD2-1,D2-2,D2-3,D2-4,D2-5,D2-6Spit图片D3-1,D3-2,D3-3,D3-4,D3-5,D3-6数据库 3 张表相互独立不存在外键约束,这样让系统与数据库交互的时候效 率更高。数据库中的表在项目中进行操作的过程中,在数据库表层面不存在项目 制约,表之间的关系由后端系统中的代码来维护。9.5本章小结本章节对本次要实现的大学生学习资源共享平台进行了系统设计,大概分为 了概要设计和详细设计,在本次的概要设计中,主要分析出了本次项目开发过程 中的环境问题与技术选型架构选型,同时明确了在基于这些技术上功能的任务和 角色的任务,使本

44、次项目的总体设计上更加清楚明朗,将项目有效的切割为不同 的模块,使得开发过程中更加合理且有调理,同时也为后期的维护上提供了便捷 之处。详细设计上确定了用例与数据库之间的关系,明确了本次系统的实体与数 据库的关系,同时也根据之前分析的内容设计出了数据库的表结构,并且明确了 持久层与业务层的分工。本次的整体分析上也将项目的前后端任务彻底分离让项 目的进行清晰合理。完成系统分析后,毕业设计(大学生学习资源共享平台)将 进入编码阶段,来完成上述的设计理念。275详细设计与系统实现本章将进入详细设计与系统实现阶段,对系统平台的前端和后端进行编码实 现。5.1.环境搭建本次平台系统的开发,在开发的时候在

45、Java jdk 版本选择了 Java8 版本,Tomcat 选择了 Spring Boot 中默认整合的版本,让自己的开发变得方便快捷高效,开发的 ide 工具选择了idea 开发工具。在后端技术主要采用的是 Spring框架,在 数据库交互上选择的是 SpringDataJPA,在 Web 层上的技术选型上采用了 Spring MVC,项目的构建基于 Spring Boot,其自动装配功能使得项目在开发上大大简 化高效,同时对项目的依赖管理上选择的是 maven,同时 maven对后期的项目打 包部署提供了非常重要的作用。l.idea,Java jdk,Tomcat 的安装idea 的安装

46、:去 idea 的官网下载社区版本,下载好后用学生认证注册 idea 的 通行认证便可以使用 idea 开发了。2.Javajdk的安装:去开源社区将 jdk8下载好后安装,安装完成后在本地电 脑配置环境变量。通过 Java-version 的命令测试成功后 jdk 的安装完成。3.Tomcat 选择 Spring Boot2.x默认的容器负责项目的初始化。4.maven 的安装maven 是一个项目的构建工具,同时也是一个项目的管理工具,他的主要作 用就是用于 Java 平台的项目构建和依赖管理。它包含一个项目对象模型,一组 标准集合,一个项目生命周期,一个依赖管理系统以及一个用于在阶段(阶

47、段)生命周期(插件)中定义的运行插件。逻辑。使用 Maven 时,可以使用定义明确 的项目对象模型来描述您的项目,然后Maven可以从一组共享(或自定义)插 件中应用横向逻辑。去官网下载对应的版本并解压。配置环境变量,JAVA_HOME 要与 JDK 的保持一致。通过 maven 的配置文件配置 jdk 的版本和 jar 包下载的地址配置为从阿里服 务器下载nexus-aliyuncentralNexusaliyun28http:/ 通过 idea 整合 maven,在 idea 的配置路径中将 maven 仓库的路径配置好。项目的构建,用 idea 创建一个 Spring Boot 项目。将

48、项目用 maven 的结构将前端分为 Controller 层、数据交互层 dao 层、数据 模型层 pojo层、业务层 service 层与项目构建过程中需要的通用代码 utils 层。在 Spring Boot对项目的构建时可以通过选择需要导入的模块完成对项目所 需框架与技术的快速整合。如图经过对项目的需求分许和系统设计,将系统平台分为如上图的模块,数 据交互层dao,模型层 pojo,网络层 controller,业务层 service。其中 dao 层负责与数据库的基本交互,实现对数据库中对表数据的增删查改 等基本操作,然后将作为依赖注入 service 层中,通过业务层对业务的分析,

49、将 业务逻辑完整的表达出来,然后将作为依赖注入网络 Web 层中 controller负责对 业务逻辑的调用,结合对前端页面的跳转,并对前端页面提供所需要的实时数据。本次系统的后期运行环境选择的是阿里云上部署,从而让用户可以随时 访问本网站平台。阿里云是阿里巴巴在 2009 年创建的的一家全球领先的云计算的公司,阿里云的云计算以及人工智能等多项技术让我们可以将系统部署后同时获 得安全可靠的计算能力和数据的分析读取与写入能力,阿里云业务设计到互 联网的很多方面,其丰富的功能非常适合本次系统的部署环境。首先登入阿里云官网,用学生优惠购买阿里云服务器。在拥有阿里云后选择合适的镜像系统,本次选择的是

50、Linux系统。因为 Linux系统更加适合作为项目部署,可以长期稳定的运行。在为阿里云服务 器装好系统后,通过Linux系统的命令行下载上述系统开发中需要的 JDK、Tomcat 等环境并对他们的环境变量进行配置。后续将系统的功能实现完成后 便可以将系统部署到阿里云经行运行。这样可以为用户提供不间断的服务。同时本系统为了在之后的运行中接收用户反馈并做出改动例如会增加对用 户的手机号注册功能,同时在阿里云上开通了短信服务功能,这样可以让用 户的来源更加稳定。同时用户可能会上传一些比较大的文件或者文件夹,但 是系统本省并不支持。因此在开发初期预留了阿里云对象存储引擎的接口。29摘要 IVAbst

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁