ssm277基于java web的计算机office课程平台设计与实现+vue(文档+源码)_kaic
5 系统实现5.1学生信息管理管理员管理学生信息可以添加修改删除学生信息信息。下图就是学生信息管理页面。图5.1 学生信息管理页面5.2 教师信息管理管理员管理教师信息可以添加修改删除教师信息信息。下图就是教师信息管理页面。图5.2教师信息管理页面5.3 课程信息管理教师管理课程信息可以添加修改删除课程信息信息。下图就是课程信息管理页面。图5.3 课程信息管理页面2相关技术2.1SSM框架简介SSM框架是SpringSpring MVCMyBatis的缩写这个是继SSH之后目前比较主流的Java EE企业级框架适用于搭建各种大型的企业级应用系统。1.Spring简介Spring是一个开源框架Spring是于2003年兴起的一个轻量级的Java开发框架由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言任何Java应用都可以从Spring中受益。简单来说Spring是一个轻量级的控制反转IoC和面向切面AOP的容器框架。A.控制反转IOC是什么呢IOC:控制反转也叫依赖注入。利用了工厂模式将对象交给容器管理你只需要在spring配置文件总配置相应的bean以及设置相关的属性让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候spring会把你在配置文件中配置的bean都初始化好然后在你需要调用的时候就把它已经初始化好的那些bean分配给你需要调用这些bean的类假设这个类名是A分配的方法就是调用A的setter方法来注入而不需要你在A里面new这些bean了。B.面向切面(AOP)又是什么呢首先需要说明的一点AOP只是Spring的特性它就像OOP一样是一种编程思想并不是某一种技术,AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候OOP则显得无能为力。也就是说OOP允许你定义从上到下的关系但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中而与它所散布到的对象的核心功能毫无关系。在OOP设计中它导致了大量代码的重复而不利于各个模块的重用。将程序中的交叉业务逻辑比如安全日志事务等封装成一个切面然后注入到目标对象具体业务逻辑中去。实现AOP的技术主要分为两大类一是采用动态代理技术利用截取消息的方式对该消息进行装饰以取代原有对象行为的执行二是采用静态织入的方式引入特定的语法创建“方面”从而使得编译器可以在编译期间织入有关“方面”的代码。2.Spring MVC简介Spring MVC属于Spring Framework的后续产品已经融合在Spring Web Flow里面它原生支持的Spring特性让开发变得非常简单规范。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色这种分离让它们更容易进行定制。3.MyBatis简介MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access ObjectsDAOMyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射将接口和Java的POJOsPlain Old Java Objects普通的Java对象映射成数据库中的记录。可以这么理解MyBatis是一个用来帮你管理数据增删改查的框架。2.2 B/S架构介绍在早期的程序开发中使用得最多的莫过于C/S架构了现在的生活中软件在生活的各个方面落地使用了C/S架构开发出来的软件也是不在少数的比如企业日常办公使用到的微软的OFFICE软件我国自己研发的文档处理软件WPS还有娱乐软件腾讯的QQ腾讯的微信以及电脑上安装的杀毒软件金山杀毒软件瑞金杀毒软件等都是C/S架构。但是在Internet网络盛行之后鉴于大家对数据信息共享的需求在原来的C/S架构上进行了升级改进之后有了现在的主流架构B/S架构B/S架构就是在C/S架构上多了一个浏览器让原来的直接访问服务器的方式变成了通过浏览器去访问服务器。充分运用到了当下不断成熟的浏览器技术。也让软件的开发成本以及维护成本降低了。可以说B/S这种新型的架构模式让软件的开发变得便利化。2.3MySQL数据库介绍有了程序功能的操作也需要对程序操作的各个功能所产生的数据信息存放在一个固定的仓库里面这个所谓的仓库就是大家最熟悉的程序开发需要使用的数据库了数据库能够发展到至今的模样其实也是经历了很多的变化历程的在最开始由于数据信息处理的需要开始推出最低级的数据管理这个阶段也是数据库早期的人工管理的阶段后来也经历了文件管理的阶段这个阶段的数据管理因为信息不能够进行共享加上管理的数据对配套的程序产生了较强的依赖性在数据信息管理上也存在很多数据的重复记载造成数据冗余等问题。所以为了解决上述一系列文件管理阶段所产生的数据管理的问题对数据管理方式进行了全方位的升级改造也就让数据管理进入了一个全新的阶段——数据库系统的阶段。这个阶段也是数据库管理数据的一个全新的相当高级的阶段。说到数据库也不得不说数据库的模型数据库拥有的数据模型有网状还有层次以及关系型这三样数据库模型。网状的结构就是把记录的每条信息都比喻成一个点点跟点之间也有联系最终就形成了一个像网一样的结构就是所谓的网状数据模型。也有对数据记录使用树状结构的方式进行数据保存这个就是层次数据模型关系数据库模型运用在现在市面上常见的数据库当中了像本系统开发使用的MySQL数据库还有安装过程比较复杂的Sqlserver数据库也有一些比较小巧的关系型数据库像Access数据库FoxPro数据库等数据库。这样的关系型数据库将数据表里面的行还有列进行相互关联形成一个二维矩阵的方式来保存程序所产生的数据信息。本次之所以选择MySQL数据库来当程序数据存放的仓库则是因为此数据库安装不用费时也不需要各种百度信息去解决安装过程中出现的任何问题而且由于自己的电脑内存比较小才4个G为了更好的开发项目程序针对低配置的电脑选择MySQL数据库也是情理之中。2.4 JAVA语言介绍在1995年这一年的5月份著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导但是在后来由于各种原因让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。1.在电脑桌面程序的开发上面需要选择JavaME这个用得也比较多。2.企业也会根据工作以及业务需要开发各种软件那么就会选用JavcEE这个支持企业版软件的开发的Java平台JavcEE主攻运用在企业领域上面的web应用JavcEE也在javaSE的基础上获得了比如jsp技术 Servlet技术等程序开发技术的支持。3.现在生活中手机的普及化也使得手机端这样的移动设备的软件的兴起JavaME这个迷你版java平台就能运用于移动端的软件开发操作。3 系统分析3.1系统可行性分析需要使用大部分精力开发的计算机office课程平台为了充分降低开发风险特意在开发之前进行可行性分析这个验证系统开发是否可行的步骤。本文就会从技术角度经济角度还有用户使用的程序的运行角度进行综合阐述。3.1.1 技术可行性分析开发程序选择的是面向对象的功能强大的简单易用的Java程序设计语言数据库的开发工具使用到了MySQL数据库由于自己之前接触过一些简单的程序开发方面的设计作品所以对Eclipse工具的使用比较熟练对于数据库的操作技巧也有一定的积累。另外程序开发需要在自己电脑上安装的软件并不多在win7操作系统的大环境下能够完全搭建好程序开发的操作环境比如Eclipse工具MySQL数据库工具以及处理程序图片的Photoshop工具等都能安装在自己的电脑上。总的说来开发这个程序在技术上是可以实现的。3.1.2 经济可行性分析开发出来的程序并不是朝着商业程序的方向进行设计开发的它只是作为一个毕业设计项目进行开发主要用于检验学生在学校所学知识的一个检验也锻炼学生运用网络图书等工具进行自学的能力。所以开发这个程序软件并不会涉及到经济上面的开销在开发软件的选择上也不会额外付费安装软件在开发软件的官网上面就可以下载需要的软件并根据提示的安装步骤安装软件到自己的电脑上面。总的说来开发这个程序在经济上也不存在经费支出。3.1.3运行可行性分析因为这个程序软件从开始开发到开发截止都是根据用户的需求进行定制考虑到此程序软件是面向广大普通操作用户鉴于他们的知识文化水平特意开发出一个可操作性强的能够很容易让使用用户上手的具有可视化操作界面的一个程序软件。总的说来这个程序站在用户运行程序的角度上分析是不存在操作难的问题的。用户只要打开程序就可以免去专人培训进行程序功能操作。经过上面从技术的角度从经济的角度从程序运行的角度这三个角度分析现打算开发的程序可以得出该程序软件是可以进行开发操作的。3.2系统性能分析3.2.1 系统安全性程序在使用中是不允许其他访问者随意窃取程序里面的隐秘信息也不允许其他操作者越权操作其他管理用户操作的功能要真正杜绝这些现象就必须在程序开发之前把程序的安全性给考虑进去。比如现在很多程序都会把用户注册的功能给考虑进去让用户在注册页面功能区填写自己的个人信息这些数据信息涵盖了用户本人的姓名用户对程序登录设置的密码用户经常使用的邮箱用户的常用联系方式还有用户的所住地址等信息这些信息都是设计到用户本人的隐私那么这些信息在传输给程序后台时是需要进行管理并保存至对应的数据库文件里面。要是有人恶意窃取程序的数据信息也就会让那些注册了此程序软件的用户的个人隐秘信息都会遭到泄露。这些信息落入其他不法分子手里他们极有可能根据用户的隐私信息去骚扰用户并把这些信息用于各种商业用途谋取其他非法的利益。所以数据安全性是一个系统能不能使用的首要标准。3.2.2 数据完整性数据完整性是确保数据信息是否具有可靠性是否具有参考价值的一个重要因素数据信息只描述一部分或者必有的数据信息反而为空等现象都是代表着这个数据信息不完整有数据缺陷这是个很严肃的问题因为这样的数据信息跟垃圾信息没什么两样。说到数据完整性不得不提最常用的程序表单功能。这些表单主要就是提取广大用户的数据信息的需要广大用户根据表单上的要求填写自己的姓名信息以及自己的联系方式信息有些也会有额外的信息填写要求有必须要填的选项也有不需要必填的选项。假如广大用户为了保护自己的隐私或者不想受到其他人的骚扰不填写必填项等信息广大用户在最后提交此表单的时候往往都是提交不了的。数据完整性不仅仅限于登记的数据要完整它也需要程序里面的所有数据信息之间存在关联而且这种联系也是要求不能出差错的。由于数据表之间也会存在一定的联系所以同一个数据也会出现在另一个表格里面那么这两个表格记录的同一个数据应该是一样的。不能够是同样的数据信息在不同表中不一样。3.2.3系统可扩展性一切事物都是一直在发展程序员开发软件也需要带着发展的思维去进行软件开发操作这样的话开发出来的程序在应对管理所需时也会相对应的进行程序升级与更新。不论是功能完善还是数据库升级都能在原来的基础上对原有程序进行迭代升级。让开发出来的程序能够走得越来越远。这也是广大用户对程序软件的使用要求。3.3系统流程分析管理员假如要操作系统提供的功能那么管理员就要在系统的登录界面填写管理员登录的账号信息填写相应的密码信息管理员需要保证这两者能够验证身份的账号以及密码信息的正确性这样管理员就可以通过登录界面进入系统后台操作界面。图3.1就是开发的程序软件计算机office课程平台它的操作流程图。图3.1 系统操作流程图