您的当前位置:首页Dell备件分析报告

Dell备件分析报告

2022-01-13 来源:乌哈旅游
Dell备件技术分析报告

姓名: 范津

部门: 信息系统支持部 岗位: 工程师

1引言

1.1编写目的

Dell服务管理系统在过去5年的应用中,随着公司业务不断的拓展,对软件功能要求越来越多,性能要求也越来越高,在软件不断升级的过程中,由于IT技术的不断发展,再经过几个工程师的更新后,使得现在的Dell服务管理系统无论框架,技术都无法统一,致使出现了数据不准,响应缓慢,数据有误等问题,严重影响了员工的工作效率,影响了企业的办公效率.

所以目前的主要工作就是:分析Dell服务管理系统内部实现,找到问题所在,进行有效的升级,重新让企业高效的办公,员工高效的工作.

1.2项目背景

Dell服务管理系统:是中铁信公司使用的一套完整的服务管理加备件管理的系统.系统的总体任务是实现企业服务和设备备件管理的系统化、规范化和自动化,从而使整体成本降低,效率提高, 有效地管理和控制企业的整个供应链环节(服务—采购—仓储—出库—维修).

1.3参考资料

a. 系统流程图,数据流图,数据字典. b. Dell服务管理系统源代码.

2对现有系统的分析

2.1系统架构

硬件环境:windows2003 server 软件环境:JDK1.4

服务器:weblogic 数据库:oracle 9i

基础技术架构:模式一(JSP+Servlet)

辅助开源项目:spring, java Excel Api,Log4j

2.2 架构分析

Dell服务管理系统运用的模式一:使用jsp当视图层(view)展示用户所需数据,servlet充当控制层(control),控制业务的流向,自己创建Connection数据库连接,进行对数据的持久化操作, 通过整合Spring开源框架,让spring框架集成Log4j来记录日志,应用Spring的IOC机制来松耦合,通过spring得到数据库连接池,经过对 spring的配置,实现事务管理.

这样的架构适合小型系统的快速开发,如果将来不经常修改需求,数据库或逻辑的话,比较适合,但系统在业务快速发展的情况下,需要不断升级,此架构难于维护,不利于升级,扩展性差,所以在以后升级维护过程中,对其进行过多次不彻底的升级维护,使目前系统架构混乱,复杂.

架构的主要问题:

1. 历史原因:由于这个系统是5年前开发的,并且本身技术架构不适合经常修改需求,

所以在经历了5年的时间,由不同工程师维护,修改,升级后,使得现在无论框架,还是技术,都不统一,没有标准,所以现在出现了这样那样的问题.

2. 原始架构:目前系统模式一JSP+Servlet,由于业务小,只是入库,出库,调配管理,

查询一些模块,所以使用这个架构开发Jsp不仅充当了视图层,还充当了业务层,持久层;控制层servlet不仅充当控制层,连接业务,有时也充当了业务层;

3. 对持久化的连接没有进行彻底的封装,业务使用持久化连接混乱,用到两种自己封

装的连接, 一种开源封装的连接.,使事务处理的不统一,产生了潜在隐患.使系统出现了数据不准,响应缓慢的情况.

4. 没有好的遵循设计模式,开闭原则, 迪米特法则等设计思想,导致无谓的工作量大,

重复代码过多,系统中,各个组建耦合性高,不利于日后升级移植. 维护的主要问题:

1. 由于系统本身框架的局限性,架构的不统一, 不可移植性,以至于系统维护困难,升级

不便.

2.3问题

由于程序的原因可能导致备件管理的问题有: 1. 备件的事务管理

2. 对库存表的管理操作有风险:原因由22个JSP页面和2个类引起. 3. 对调配记录表管理操作有风险:原因由1个JSP页面引起. 4. 对调配记录明细表管理操作有风险:原因由1个JSP页面引起. 5. 对项目入库记录表管理操作有风险:原因由有4个Jsp页面引起.

2.4 处理流程

首先,备件管理系统需要备件管理员登录备件管理系统,由权限控制,跳转到含有相应功能的主页面,之后选择入库,出库,查询,通过Jsp页面,提交到Jsp或者servlet进行持久化操作.

3建议性的解决方案

1. 从根本上彻底升级系统.

a) 所建议的系统

i. 所建议的系统的架构

软件基本架构:struts2+spring+ iBatis+Freemarker+Ajax

软件环境:JDK1.5以上(使系统能够更加健壮,安全,稳定的运行) 服务器:websphere ii. 系统的架构说明:

使用的基本技术架构目前是主流的技术架构, 遵循MVC设计模式,使程序复用性高,维护性好,可扩展性强,方便软件升级和移植,性能更好,并且都是开源产品, 在技术支持这方面有很多可以利用的资源; Freemaker:

用Freemarker充当视图层,使图形设计同应用程序逻辑相分离,页面响应速度接近静态网页,响应速度更加快捷.

Struts2: 用struts2充当控制层,并且可以应用struts2的拦截器机制, validate框

架实现数据的有效性验证,使项目可以实现更加模块化的管理;struts2有着方便的插件集成方案,便于快速的开发系统;

Spring:

Spring是一个轻量级的分层构架,Spring框架注入业务,管理持久层连接,对事务进行统一管理,是业务层的枢纽;

Ibatis:

ibatis框架可以有效的控制sql发送的数目,提高数据层的执行效率;

Ajax: 运用Ajax技术来实现异步传输,使应用系统响应时间更加快速.

iii. 数据流程和处理流程

用户通过Freemarker模板,输入数据模型,经过struts2的拦截器进行验证,然后使用spring注入的业务模型,在struts2的控制下,应用iBatis进行数据库的持久化操作,然后通过struts2控制,跳转到下一个业务流程.

2. 重构代码:

因为架构比较混乱,维护工作量大,效率低,只有重构代码,从根本上统一,才能使错误避免.

3. 统一一个持久层,进行事务管理

因为持久层直接跟数据库持久化联系,所以要想数据准确,首先程序不能出错,统一持久层能避免数据库的持久化发生问题.

因篇幅问题不能全部显示,请点此查看更多更全内容