5系统详细实现5.1 管理员模块的实现5.1.1 用户信息管理社区智慧养老监护管理平台的系统管理员可以对用户信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。图5.1 用户信息管理界面5.1.2 老人信息管理系统管理员可以查看对老人信息进行添加修改删除以及查询操作。具体界面如图5.2所示。图5.2 老人信息管理界面5.1.3 食药记录管理系统管理员可以查看对食药记录进行添加修改删除以及查询操作。具体界面如图5.2所示。图5.3 食药记录信息管理界面2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等非常适用于Web站点或者其他应用软件的数据库后端的开发工作。此外用户可利用许多语言编写访问MySQL数据库的程序。作为开放源代码运动的产物之一MySQL关系数据库管理系统越来越受到人们的青睐应用范围也越来越广。速度和易用性使MySQL特别适用于Web站点或应用软件的数据库后端的开发工作。MYSQL数据库具有以下特点1、C和C 中使用和测试以确保源代码的编译器的便携性和灵活性。2、支持多种操作系统AIX的FreeBSD下HP-UXLinux和Mac OS中Novell公司的NetwareOpenBSD系统OS/2裹时SolarisWindows等。3、提供了用于不同的编程语言的API。编程语言如C,, C Python和Java的的PerlPHP埃菲尔铁塔Ruby和Tcl的。4、以及使用的CPU资源来支持多线程。5、算法优化查询SQL切实提高搜索速度。6、网络上的客户端和服务器可以用来编程任何独立的编程环境也有中国GB2312BIG5日文写作一般基金用于支持多国语言并且可以嵌入在数据表和其他软件shift_jis访问柱可以用作的名称。7、TCP / IPODBC和JDBC数据库并提供连接到其他。8、管理工具的管理控制和优化数据库的操作。9、可以数以千万计的记录在一个大的数据库。2.2B/S结构B/S架构是一种基于互联网系统的软件系统开发架构是现如今在软件系统开发中采用非常大量的一种软件系统结构。现如今B/S架构已经被大量使用打破了C/S结构的结构给基于网络结构的软件系统提供了良好的支持。B/S架构伴随着计算机网络技术发展而逐步的发展和更新。伴随着互联网的进一步发展就要求大多数的管理系统要求不仅仅可以在一台电脑上使用同时可以在接入互联网的其他电脑也可以使用对系统进行操作和使用。在这样的背景下基于B/S架构的软件系统设计方法得到了越来越大量的使用基础部分也在不断的更新。B/S架构是利用操作系统中的浏览器来进行使用的不是一种窗体软件系统不需要在使用系统的电脑上进行安装。B/S架构的运行方式是在远程的服务器上把开发的软件系统部署在远程的服务器上在部署好软件系统之后就可以实现在任何接入互联网的电脑上访问部署好的软件系统。B/S架构给使用管理系统的用户带来极大的便利。在三层体系结构的B/SBrowser/Server浏览器/服务器结构系统中用户可以通过浏览器向分布在网络上的众多服务器发出请求。B/S系统极大地简化了客户机的工作量客户机上只需要安装、配置少量的客户端运行软件即可服务器将担负大量的工作对数据库的访问以及应用程序的执行都将由服务器来完成。B/S架构的不断成熟主要使用WWW浏览器技术结合多种浏览器脚本语言用通用浏览器需要实现原本复杂的专有软件来实现的强大功能并节约了开发成本是一种新的软件架构。B/S系统包括表示逻辑层控制逻辑层数据展现层三层是相对独立又相互关联。2.3SSM框架简介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.4 JSP技术JSP是由Sun微系统公司于1999年6月推出的一项技术是基于JavaServlet以及整个Java体系的Web开发技术利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。与微软公司的ASP技术相比JSP具有如下优点(1) 开放的技术JSP技术基于平台和服务器的相互独立技术支持来自广泛的、专门的、各种工具包有服务器的组件和数据库产品开发商提供。相比之下ASP技术主要依赖MICROSOFT支持。(2) 平台和服务器的独立性JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。(3) 开放的开发过程开放的源码自1995年以来SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。(4) JSP标记可扩充性JSP技术能够为开发者扩展JSP标记充分利用与XML兼容的标记技术强大的功能大大减少对脚本语言的依赖。(5)JSP跨平台的可重用性JSP组件EJBJavaBean或定制的JSP标记都是跨平台可重用的。2.5 VUE框架Vue (读音 /vjuː/类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 与其它大型框架不同的是Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层不仅易于上手还便于与第三方库或既有项目整合。另一方面当与现代化的工具链以及各种支持类库结合使用时Vue 也完全能够为复杂的单页应用SPA提供驱动。Vue 介绍AngularJS是Vue早期开发的灵感来源。然而AngularJS 中存在的许多问题在 Vue 中已经得到解决。Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层并且非常容易学习非常容易与其它库或已有项目整合。另一方面Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习非常容易与其它库或已有项目整合。另一方面在与相关工具和支持库一起使用时 Vue.js 也能地驱动复杂的单页应用。特点编辑易用在有HTMLCSSJavaScript的基础上快速上手。灵活简单小巧的核心渐进式技术栈足以应付任何规模的应用。性能20kb mingzip 运行大小、超快虚拟 DOM 、最省心的优化。2.6Java语言介绍Java语言是简单的Java语言的语法与C语言和C语言很接近使得大多数程序员很容易学习和使用。另一方面Java丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性如操作符重载、多继承、自动的强制类型转换。特别地Java语言不使用指针而是引用。并提供了自动分配和回收内存空间使得程序员不必为内存管理而担忧。Java语言是面向对象的Java语言提供类、接口和继承等面向对象的特性为了简单起见只支持类之间的单继承但支持接口之间的多继承并支持类与接口之间的实现机制关键字为implements。Java语言全面支持动态绑定而C语言只对虚函数使用动态绑定。总之Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的Java语言支持Internet应用的开发在基本的Java应用编程接口中有一个网络应用编程接口java net它提供了用于网络应用编程的类库包括URL、URLConnection、Socket、ServerSocket等。Java的RMI远程方法激活机制也是开发分布式应用的重要手段。Java语言是健壮的Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言是安全的Java通常被用在网络环境中为此Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外Java对通过网络下载的类具有一个安全防范机制类ClassLoader如分配不同的名字空间以防替代本地的同名类、字节代码检查并提供安全管理机制类SecurityManager让Java应用设置安全哨兵。Java语言是体系结构中立的Java程序后缀为java的文件在Java平台上被编译为体系结构中立的字节码格式后缀为class的文件然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的这种可移植性来源于体系结构中立性另外Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性Java编译器是用Java实现的Java的运行环境是用ANSI C实现的。Java语言是解释型的如前所述Java程序在Java平台上被编译为字节码格式然后可以在实现这个Java平台的任何系统中运行。在运行时Java平台中的Java解释器对这些字节码进行解释执行执行过程中需要的类在联接阶段被载入到运行环境中。Java是高性能的与那些解释型的高级脚本语言相比Java的确是高性能的。事实上Java的运行速度随着JIT(Just-In-Time编译器技术的发展越来越接近于C。Java语言是多线程的在Java语言中线程是一种特殊的对象它必须由Thread类或其子孙类来创建。通常有两种方法来创建线程其一使用型构为Thread(Runnable)的构造子类将一个实现了Runnable接口的对象包装成一个线程其二从Thread类派生出子类并重写run方法使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口因此任何一个线程均有它的run方法而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行并提供多线程之间的同步机制关键字为synchronized。Java语言是动态的Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境也可以通过网络来载入所需要的类。这也有利于软件的升级。另外Java中的类有一个运行时刻的表示能进行运行时刻的类型检查。3系统分析3.1可行性分析通过对本社区智慧养老监护管理平台实行的目的初步调查和分析提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本社区智慧养老监护管理平台采用SSM框架JAVA作为开发语言是基于WEB平台的B/S架构系统。1Java提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及服务。整个系统帮用户做了大部分不重要的琐碎的工作。2基于B/S模式的系统的开发已发展日趋成熟。3众所周知Java是面向对象的开发语言。程序开发员可以在Eclipse平台上面方便的使用一些已知的解决方案。因此社区智慧养老监护管理平台在开发技术上具有很高可行性且开发人员掌握了一定的开发技术所以此系统的开发技术具有可行性。3.1.2经济可行性本社区智慧养老监护管理平台采用的软件都是开源的这样能够削减很多的精力和资源降低开发成本。同时对计算机的配置要求也极低即使是淘汰下来的计算机也能够满足需要因此本系统在经济上是完全具有可行性的所以在经济上是十分可行的。3.1.3操作可行性本社区智慧养老监护管理平台的界面简单易操作用户只要平时有在用过电脑都能进行访问和操作。本系统具有易操作、易管理、交互性好的特点在操作上是非常简单的因此在操作上具有很高的可行性。综上所述此系统开发目标已明确在技术、经济和操作方面都具有很高的可行性并且投入少、功能完善、管理方便因此系统的开发是完全可行的。3.2系统性能分析3.2.1 系统安全性此社区智慧养老监护管理平台要严格控制管理权限具体要求如下1要想对社区智慧养老监护管理平台进行管理首先要依靠用户名和密码在系统中登陆无权限的用户不可以通过任何方式登录系统和对系统的任何信息和数据进行查看这样可以保证系统的安全可靠性和准确性。2在具体实现中对不同的权限进行设定不同权限的用户在系统中登陆后不可以越级操作。3.2.2 数据完整性1所有记录信息要保持全面信息记录内容不可以是空。2各种数据间相互联系要保持正确。3相同数据在不同记录中要保持一致。3.3系统界面分析目前界面设计已经成为对软件质量进行评价的一条关键指标一个好的用户界面可以使用户使用系统的信心和兴趣增加从而使工作效率提高JSP技术是将JAVA语言作为脚本语言的JSP网页给整个服务器端的JAVA库单元提供了一个接口用来服务HTTP的应用程序。创建动态页面比较方便。客户界面是指软件系统与用户交互的接口往往涵盖输出、输入、人机对话的界面格式等。1.输出设计输出是由电脑对输入的基本信息进行解决生成高质量的有效信息并使之具有一定的格式提供给管理者使用这是输出设计的主要责任和目标。系统开发的过程与实施过程相反并不是从输入设计到输出设计而是从输出设计到输入设计。这是由于输出表格与使用者直接相联系设计的目的应当是确保使用者可以很方便的使用输出表格并且可以将各部门的有用信息及时的反映出来。输出设计的准绳是既要整体琢磨不同管理层的所有需要又要简洁不要提供给用户不需要的信息。2.输入设计输入数据的收集和录入是比较麻烦的需要非常多的人力和一定设备而且经常出错。一旦输入系统的数据不正确那么处理后的输出就会扩大这些错误因此输入的数据的准确性对整个系统的性能起着决定性意义。输入设计有以下几点原则1输入量应尽量保持在能够满足处理要求的最低限度。输入量越少错误率就会越少数据的准备时间也越少。2应尽可能的使输入的准备以及输入的过程进行时比较方便这样使错误的发生率降低。3应尽量早检查输入数据尽量接近原数据发生点,以便使错误更正比较及时。4输入数据尽早地记录成其处理所需的形式以防止数据由一种介质转移到另一种介质时需要转录而可能发生的错误。3.4系统流程和逻辑图3-3登录流程图图3-4修改密码流程图