相关技术介绍 J2EE技术
人可以掌握多门外语,而一个计算机科学家精通的大多是编程语言,它不是人类的自然语言,比如C语言、Java、Perl等等。由于不同的公司开发出的“中间件”不够规范,所以Sun公司推出J2EE,用这个标准来解决弊病。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便。
MVVM模式
MVVM模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。
视图(View)代表用户交互界面,一个 Web 应用就可能有很多的界面,在 MVVM模式中,视图仅仅处理的只有数据采集、处理,还有用户的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理。
模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的,它就像黑箱子,在接受视图请求的数据之后,然后返回最终的处理结果。MVVM最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架。
控制器()可以理解为接收用户的请求,然后视图和模型匹配在一起,一起再完成用户请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成用户的什么样的请求。控制层不做所有的数据处理,比如说:用户点击一个连接,控制层接受到请求之后,并不处理业务信息,它只是向模型传递用户的信息,同时告诉模型做什么,然后选择符合需求的视图返回给用户。
B/S结构
B/S(/)比前身架构更为省事的架构。它借助Web 完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
boot框架
框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB()模型的补充,甚至是替补。框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。框架具有面向切面编程(AOP)框架,框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。框架的AOP框架仅提供基本的AOP特性,虽无法与框架相比,但通过与的集成,也可以满足基本需求。框架下的事务管理、远程访问等功能均可以通过使用技术实现。的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/、、Java数据对象(JDO)、和等所有流行的数据访问框架中提供支持,同时还可以与的事务管理一起使用,为数据访问提供了灵活的抽象。框架最初是没有打算构建一个自己的框架,其开发人员在开发过程中认为现有的框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了。
系统分析 可行性分析
技术性方面,采用当前主流的框架进行系统主体框架的搭建,前台使用,ajax,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。
实用性方面,本次设计的主要任务是在在线问诊系统内科室管理、在线问诊、问诊信息、评价信息、病症类型、药物信息等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统在线问诊平台系统设计与功能,也更方便用户的体验,比较实用。
经济性方面,由于本课题中设计的在线问诊系统的主要目的是为了能够更加方便及快捷的进行信息的查询及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个在线问诊系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。
功能需求分析
在线问诊系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览医生信息并对选中的医生进行在线操作。后台系统管理员因职责的不同,分为医生和管理员,医生主要对问诊信息订单进行处理,而管理员主要对注册用户,健康资讯、科室管理、在线问诊、问诊信息、药物信息等进行管理。
管理员用例图如下所示。
图3-1 管理员用例图
用户用例图如下所示。
图3-1用户用例图
医生用例图如下所示。
图3-1医生用例图
前台用户功能
用户的功能如下:
注册账号:用户填写个人信息,并验证手机号码。
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
公告信息:用户可以浏览系统公告信息。
健康资讯:用户可以搜索浏览资讯新闻,可对健康资讯进行点赞或收藏。
在线问诊:用户可以在在线问诊页面搜索医生或科室信息,浏览医生的详细信息,
可对医生进行在线问诊、评价医生、点赞、收藏等操作。
药物信息:用户可以在药物信息页面搜索药物,了解相关药物的详细信息。
模块管理:用户可以查看自己的问诊信息和评价信息。
医生用户功能如下:
注册账号:用户填写个人信息,并验证手机号码。
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
问诊信息:医生可以查看患者的详细信息,查看患者的问诊信息,并在线回复。
评价信息:医生可以查看用户的评价信息。
后台管理员功能
管理员功能如下:
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
轮播图管理:管理员可以添加或删除轮播图。
公告信息管理:管理员可以添加或删除公告信息。
资源管理:管理员可以查询、添加或删除健康资讯,并进行资讯分类。
系统用户管理:管理员可以对普通管理员、患者用户、医生用户信息进行管理。
科室管理:对科室信息进行维护,添加、删除、修改信息。
问诊信息管理:管理员可以后台查看患者的问诊信息和医生的回复信息,并进行内容管理。
在线问诊管理:管理医生信息、科室信息、就职医院等信息进行管理。
评价信息管理:管理用户的评价信息内容。
病症类型管理:管理病症类型信息项。
药物信息管理:对药物的详细信息进行管理。
非功能需求分析
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对在线问诊系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。
安全性需求分析 系统的安全性
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于在线问诊系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
数据流程分析
对系统的数据流进行分析,系统的使用者分为二类在线问诊平台系统设计与功能,一般用户(患者、医生),管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
系统顶层数据流图如下图所示。
图3-2 顶层数据流图
要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。
系统底层数据流图如下图所示。
图3-3 底层数据流图
系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。