威马汽车项目管理平台
项目建设目标
项目背景
随着互联网的普及、信息流通的速度、强度和便捷度的加强,一方面人们享受到了前所未有的方便和迅捷,但另一方面也承受着信息爆炸所带来的压力。对于企业而言,信息化让电子文档、纸质文档、CAD图纸、多媒体、ISO文控文件成为了他们智慧资产的主要载体。而知识管理成为了现代企业发展的关键,但企业在知识管理上却存在着巨大的问题。包括:日常工作浪费时间在无效的文档管理;协同工作时,花费大量时间在沟通上,且过程缺乏记录;散落在各系统及个人办公电脑上混乱的多版本文档影响着工作效率及质量;因此需要一套完整严谨的ISO文控管理系统,改善企业状况、提升工作效率、节省人工成本;
项目目标
构建企业中长期非结构化内容管理平台,满足现有及未来三至五年业务增长需求;
梳理规范研发技术文件形成管理标准,进行文件的全生命周期管理;
完善的审批流程在线对文件的发布及发放过程进行管控,形成完善的审计;
基于质量阀Checklist清单关联清单任务,直观展示任务完成情况;
基于各专业部门(采购、研发、制造、市?。┑慕桓段锝屑泄芾砝?;
技术方案
设计原则
(1)可靠性
用软件系统规模越做越大越复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越高,软件系统的可靠性也直接关系到设计自身的声誉和生存发展竞争能力。软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。软件可靠性和硬件可靠性本质区别在于:后者为物理机理的衰变和老化所致,而前者是由于设计和实现的错误所致。故软件的可靠性必须在设计阶段就确定,在生产和测试阶段再考虑就困难了。
(2)健壮性
健壮性又称鲁棒性,是指软件对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。软件健壮性是一个比较模糊的概念,但是却是非常重要的软件外部量度标准。软件设计的健壮与否直接反应了分析设计和编码人员的水平。
(3)可修改性
要求以科学的方法设计软件,使之有良好的结构和完备的文档,系统性能易于调整。
(4)容易理解
软件的可理解性是其可靠性和可修改性的前提。它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。
(5)程序简便
(6)可测试性
可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。
(7)效率性
软件的效率性一般用程序的执行时间和所占用的内存容量来度量。在达到原理要求功能指标的前提下,程序运行所需时间愈短和占用存储容量愈小,则效率愈高。
(8)标准化原则
在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。
(9)先进性
满足客户需求,系统性能可靠,易于维护。
(10)可扩展性
软件设计完要留有升级接口和升级空间。对扩展开放,对修改关闭。
系统架构
物理架构
逻辑架构
系统功能??橥?/span>
开发技术说明
J2EE技术
J2EE是Java2平台的企业版(Java 2 Platform Enterprise Edition),J2EE技术提供了一个基于组件的方法来设计、开发、装配和部署企业级应用程序的标准。是为企业级应用开发提供安全、可靠的、多层结构的分布式事务处理应用平台,解决过去企业后端各系统之间无法兼容的问题。
J2EE只是一组技术规范与指南。包括很多方面的规范,除了EJB,还有JNDI,JDBC,JMS,JTA,JavaMAIL和JTS,RMI等等,其中Servlet和JSP也是J2EE的组成部分。
J2EE提供了一个独立于平台的基于组件的解决方案。不再受任何提供商的产品和应用程序编程界面的限制。提供商和用户都可以自己选择最合适于他们的商业应用和所需技术的产品和组件。最主流的实现产品有jboss、weblogic、websphere,他们都实现了j2EE标准规范。J2EE已经成为企业级开发的工业标准和首选平台。
J2EE的优越性
基于JAVA?技术,和系统平台无关,可移植性高;
开放的标准,许多大型公司已经实现了对该规范支持的应用服务器。如BEA,IBM,ORACLE等。
提供相当专业的通用软件服务。
提供了一个优秀的企业级应用程序框架,对快速高质量开发打下基础,J2EE允许把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
J2EE组成了一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。
J2EE容器包括:
Web容器 服务器端容器,包括两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。Web容器中的组件可使用EJB容器中的组件完成复杂的商务逻辑。
EJB容器 服务器端容器,包含的组件为EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用于服务器端的商业逻辑的实现。EJB规范定义了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。
Applet容器 客户端容器,包含的组件为Applet。Applet是嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用Web页面无法充分地表现数据或应用界面的时候,才使用它。Applet是一种替代Web页面的手段,我们仅能够使用J2SE开发Applet,Applet无法使用J2EE的各种Service和API,这是为了安全性的考虑。
Application Client容器 客户端容器,包含的组件为Application Client。Application Client相对Applet而言是一种较重量级的客户端,它能够使用J2EE的大多数Service和API。
通过这四个容器,J2EE能够灵活地实现前面描述的企业级应用的架构。
MVC开发模式
MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑, "View" 是应用的表示面,"Controller" 是提供应用的处理过程控制,通过这种设计模型实现数据访问、处理过程和显示逻辑的分离。Web应用时经常提到的Model 2就是基于MVC模式的框架。
Model,即模型,表示业务逻辑和业务规则等(通过JavaBean,EJB组件实现),在MVC的三个部件中拥有最多的处理任务。它可以用JavaBean和EJB等组件技术来处理数据库的访问。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
View,即视图,是屏幕上的显示(最初由JSP页面产生)。模型操作之后的结果就是通过视图来显示的。在视图中不再有真正的处理过程,只是作为一种输出数据并允许用户操作的方式。
Controller,即控制器,用于管理用户与视图发生的交互(一般是一个Servlet)。一旦用户想对模型进行处理时,它不能直接去执行模型,而是通过控制器来间接地实现??刂破髂艽邮油贾腥≈?,然后将相应的值传给模型进行处理。
MVC模式在本质只是一种解决耦合系统问题的方法,并不是Java语言、也不是Web应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范。MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。遵循MVC设计模式所提倡的一些原则,开发的软件将在健壮性、代码重用和系统结构等方面上一个新的台阶。
MVC并不是一个实际的应用框架,采用MVC实现Web应用时,最好是选用现成的已实现的框架,从而取得事半功倍的效果。现在有很多可供使用的MVC框架,如Struts、 JSF、SpringMVC。