国有资产管理信息系统需求分析2.国有资产管理信息系统需求分析
在深入分析国有资产管理流程的基础上,结合系统的功能需求,把系统划分为四大模块,[2]如图1所示。
图1系统模块图系统管理模块:对系统的单位信息、资产类型及计量单位进行初始化;用户
登陆管理。部门管理模块:对企业的部门的信息进行增加、删除、修改操作。
西南科技大学本科生毕业论文员工管理模块:对员工的信息进行增加、删除、修改操作,设置员工的权限,允许员工修改自己的密码。资产及单据管理模块:对资产的采购、新增、调配、维修、重估、报废进行企业管理,其中采购流程分为申请、审核、验收、审批、入账五个环节,而其余的流程分为申请、审批、入账三个环节;多功能
查询资产及单据(分为按编号查询和条件模糊查询);统计资产的最新状况(按照资产的状态、存放点、价值、入库时间以图表的形式统计)。
3.国有资产管理信息系统架构设计国有资产管理信息系统架构设计系统架构
在众多基于J2EE的
JavaWeb系统架构中,SSH是目前发展最为成熟、应用最为广泛的系统架构。SSH整合了Struts、Hibernate和Spring,为企业提供了一整套基于MVC的开发体系,使之更符合社会分工的特点,更加有利于团队开发。基于SSH的系统层次结构如图2[3]所示。图2系统架构层次图视图层是客户能直接看到的,其直观性、可操作性和用户体验是视图层设计的主要原则。本系统是基于J2EE的,因此视图层大多使用了Jsp和Servlet技术。除此之外,还利用了JFreeChart生成统计图表、使用DWR框架实现Ajax请求。控制层是BS结构的核心,称为“前端控制器”,主要负责对客户请求的转发和处理。这里,控制层采用了Struts框架——成熟的实现了MVC2模型的框架。因此,使得开发效果大大提高。业务逻辑层是对持久化层的二次封装,加入系统异常、日志管理等事物处理。业务逻辑层是连接控制层和持久化层的纽带,这里使用Spring框架来体现这个纽带。也就是,使用Spring管理控制层的Action和持久化层的DAO并把它们整合在一起。持久化层直接操纵数据库,由一些根据需求和相互协同的Dao组成的。为了便于开发,采用了Hibernate框架,使得开发者更加有时间注重业务逻辑的开发。数据库主要是一些大型的关系数据库,图中只给出了现流行的Oracle、My
sql和SQLServer三种关系数据库。系统与数据库是没有绑定的,也就是系统可以与任何一个关系数据库结合使用。
4.国有资产管理信息系统设计与实现模型层设计与实现
模型层与持久化层联系最为紧密,关系到数据的存取,特别是系统运用Hibernate框
西南科技大学本科生毕业论文架更应该为设计一个良好优雅的模型层下功夫。系统模型层的详细类图如图3所示图3系统模型层详细类图系统中的单据由Bill类维护,包括采购单据PurchaseBill、新增单据AppendBill、调配单据AdjustBill、维修单据MaintainBill、重估单据RevalueBill和报废单据ScrapBill。父类Bill持有对BillCategory类的引用,以区分不同的单据类型。AssetDetails类是为了描述单据中的资产明细情况,而不同的单据可能有不同的需求,因此AssetDetails拥有与Bill类相应的子类,负责对不同的单据进行资产明细描述。而Asset类只是替代了AssetDetails类在调配单据AdjustBill、维修单据MaintainBill、重估单据RevalueBill和报废单据ScrapBill中的运用,因为AssetDetails类已经不适合了(AssetDetails适合描述多个资产的情况,而不适合描述单个资产)。当然了,Asset类应该持有对Employee类的引用,以使其能更好地描述管理员的详细信息。
[4][3]
。
持久化层设计与实现
系统采用了Hibernate这种基于JDBC的ORM框架,使得我们不会过多地关注数据库的连接问题,而只关心实体类对象的存取过程。除此之外,Hibernate还带给我们一个好处——可以使系统与现行流行的大型关系数据库(Oracle、MSSQLServer、Mysql等)一起使[4][3]。用,而只修改Hibernate的配置文件即可。系统持久化层的总体设计类图如图4所示图4系统持久化层的总体设计类图SystemDaoHibernateImpl类实现了ISystemDao接口,主要负责完成系统管理模块、部门管理模块和员工管理模块的数据存取,涉及到对系统信息的初始化initialData(),部门、员工和权限实体间的增删改查操作。AssetDaoHibernateImpl类实现了IAssetDao接口,主要负责对资产的增删改查及查询统计。HibernateDaoSupport类是Spring提供的一个为了更好集成Hibernate的强大类。它完成了我们操作Hibernate的一些初始化
工作,利用Spring的IoC(控制反转)把SessionFactory优雅地注入到Dao类中,完成Hibernate的绑定,使我们更加注重业务逻辑的操作。