软件综合设计参考样本

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 绪论

1.1 本课题的研究意义及必要性

随着计算机的普及,计算机网络技术得到了飞速发展。Internet应用在全球范围内日益扩大,信息化社会的体现已经越来越明显。

从银行机房管理来说,机房的规模不断扩大,机房的设备现在已经达到三十多种,设备的管理已经变的有些困难,设备之间的关系也尤为复杂,如何梳理清楚这些复杂关系这才是机房资源管理软件的急切需要解决的难点。

该机房资源管理系统不仅对设备间的复杂关系进行很好的梳理,在操作效率上也有很好的提高。

1.2 设计思想

本系统是基于B/S体系结构,采用Struts2+Hibernate+Spring框架和MySQL数据库开发的典型的机房资源管理系统。该系统的主要目标是针对设备信息和设备之间的关联进行信息化、正规化管理,其次也提供了用户效率的功能。

本系统主要针对中小型机房管理,归纳起来具有以下优点:

(1)可以更方便的管理设备和设备之间的关联;

(2)可以及时准确的查到设备的连接信息;

(3)如果出现故障,可以更好地梳理关联信息。

2 系统分析

2.1 系统简要说明

本系统使用Struts2+Spring+Hibernate框架,数据库使用的MySQL,通过网页浏览器对服务器发送请求,Struts拦截请求提交到相应的Action,Action调用Service层方法进而调用Hibernate 提供的Dao层方法对数据进行处理和数据库进行操作,而Spring从中管理,从而实现机房资源管理系统的各项功能:菜单根据设备分类动态显示、机柜的机位管理、设备保存为型号、根据型号新增设备、设备的网络端口和电源端口的增删改、设备的批量删除、设备之间的复杂关系(网络链路、电源链路、安装关系)的增删改、设备新增安装安装关系时对机位的修改、日志查询等。。通过使用此机房资源管理系统不仅可以管理好设备,而且可以更好的梳理设备之间的复杂关系,从而减少管理方面的工作量,有效地提高机房设备管理的工作效率。

2.2 系统需求分析

此机房资源管理系统主要针对一般或者较大的机房而设计,帮助其更好的管理设备及设备之间的复杂关系,方便机房使用人员对机房资源的管理。对系统的需求分析如下。

(1)机房管理,包括数据中心、大楼、楼层、房间的录入、查看、修改、删除,房间还可以看到安装在该房间的设备。

(2)设备管理,包括设备菜单根据设备分类动态显示、机柜的机位管理、设备保存为型号、根据型号新增设备、设备的网络端口和电源端口的增删改查、设备的批量删除、设备之间的复杂关系(网络链路、电源链路、安装关系)的增删改查、设备新增安装安装关系时对机位的修改、设备的端口、链路的统计等。

(3)链路管理,链路分为三种链路,包括网络链路(即由网络端口的连接组成),电源链路(即由电源端口的连接组成),安装关系(由设备放在机柜的位置组成),分布实现三种链路的录入、查看、修改、删除。

(4)系统管理,包括设备的分类的增删改查,以及分支机构、部门、岗位、用户的增删改查,日志的查询等功能。

系统用例图如图2.1所示

图2.1 系统用例图

2.3 系统的可行性分析

该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。

开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。系统用的是Struts2+Spring+Hibernate框架开发,当前的计算机硬件配置也完全能满足开发的需求,因此综合各个方面系统是可行的。

3 总体设计

3.1 功能模块划分

根据该系统的实际需要,实现设计大致可分为以下几个方面:

(1)机房管理,包括数据中心、大楼、楼层、房间的增删改查,显示房间内的设备,房间的图形展示。

(2)设备管理,包括设备菜单根据设备分类动态显示、机柜的机位管理、设备保存为型号、根据型号新增设备、设备的网络端口和电源端口的增删改查、设备的批量删除、设备之间的复杂关系(网络链路、电源链路、安装关系)的增删改查、设备新增安装安装关系时对机位的修改、设备的端口、链路的统计等。

(3)链路管理,链路分为三种链路,包括网络链路(即由网络端口的连接组成),电源链路(即由电源端口的连接组成),安装关系(由设备放在机柜的位置组成),分布实现三种链路的录入、查看、修改、删除。

(4)系统管理,包括设备的分类的增删改查,以及分支机构、部门、岗位、用户的增删改查,日志的查询、登录日志查询等功能。

(5)导航栏提供显示桌面、修改密码和退出系统功能。

3.2 系统模块设计图

根据以上功能模块的划分,可得出系统的功能模块图,如图3.1所示。用户,即机房管理人员通过用户名和密码登录机房资源管理系统,进入主页面,可以进入机房管理,对数据中心、大楼、楼层、房间及房间放置的设备进行增删改查等,可以进入设备管理,新增机柜,并根据机柜拥有的机位数生成机位记录和可用机位等记录、将设备保存为型号、根据型号新增设备、设备的网络端口和电源端口的增删改查、设备的批量删除、设备之间的复杂关系(网络链路、电源链路、安装关系)的增删改查、设备新增安装安装关系时对机位的修改、删除安装关系时对机位的修改、设备的端口、链路的统计等。可以进入链路管理,对设备之间的复杂关系即三种链路关系进行增删改查。可以进入系统设置,设备的分类的增删改查,以及分支机构、部门、岗位、用户的增删改查,日志的查询等。

3.3 数据库设计

数据库表有24个,视图4个,ER图如图3.2所示:

图3.1 功能模块图

图3.2 ER图

3.4 相关技术介绍

3.4.1 MVC技术简介

MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提供应用的可扩展性及可维护性[1]。各个部分的实现技术可以总结如下:

(1)Model:JavaBean、EJB的EntityBean。

(2)View:JSP、Struts 的TagLib。

(3)Controller:Struts 的ActionServlet、 Action。

概括起来MVC的优点主要有一下方面:

a.多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。

b.模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如,使用JSP页面、Velocity模板或者直接产生Excel文档等。

c.应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。

d.控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。

e.MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。

3.4.2 Struts2技术简介

Struts2是一个实现MVC的实例。Struts2使用一个拦截器(FilterDispatcher)做为其中心处理器,这样做的一个好处就是将Action类和Servlet API进行了分离。

Struts2框架的大致处理流程如下[1]:

(1)浏览器发送请求,例如请求/mypage.action、/reports/myreport.pdf等。

(2)核心控制器FilterDispatcher根据请求决定调用合适的Action。

(3)WebWork的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation 或文件上传等功能。

(4)回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求。

(5)Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面,图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP、也支持Velocity、FreeMarker等模板技术。

Struts的原理如图3.3所示:

相关文档
最新文档