基于SSH框架的云计算建筑项目管理系统研究

时间:2022-05-02 02:27:23

基于SSH框架的云计算建筑项目管理系统研究

摘 要: 针对建筑项目管理的常见问题,借助当前流行的云计算技术解决,具有重大的现实意义。该系统采用多租户的设计模式,建筑企业通过注册、租用管理系统搭建自己独立的建筑项目管理系统,在新建工程项目开始时避免再次购买项目管理软件。同时,系统采用Openstack云平台提供基础设施即服务,管理员可以根据租户的数量变化弹性分配基础设施,可以将投入的基础设施最大程度的利用,避免传统一次性硬件投入造成的太多浪费,太少不够用的问题。项目基于目前流行的Web应用程序开源集成框架SSH进行开发,利用该框架构建灵活、易于扩展的特性,能够适应项目未来的需求变化,也有利于项目的后期维护。

关键词: 云计算; Openstack; 建筑项目管理系统; 多租户; SSH框架

中图分类号: TN911?34; TM417 文献标识码: A 文章编号: 1004?373X(2016)19?0120?05

Abstract: It is a great practical significance to solve the common architecture project management problems in virtue of the current popular cloud computing technology. This system adopts the multi?tenant design pattern. The independent architecture project management system is constructed by the architecture companies by means of registering and renting the management system, which can avoid buying the project management software again at the beginning of a new project. The Openstack cloud platform is used to provide the infrastructure and services in the system. The administrator allocates the infrastructure elastically according to the quantity change of tenants, which can utilize the input infrastructure to the maximum extent, and avoid the waste and insufficient problems caused by the traditional one?time hardware input. The project is developed based on the popular open?source integrated framework SSH of Web application program, takes advantage of the characteristics of the flexible and extensible framework, can adapt to the future requirement change of the project, and is beneficial to later project maintenance.

Keywords: cloud computing; Openstack; architecture project management system; multi?tenant; SSH framework

0 引 言

目前,各行各业都争相使用云计算技术以达到自己的产业优势,也逐渐出现了基于云平台的各种应用。但针对建筑项目的云计算应用却很少。建筑项目管理软件能够为建筑业自身的专业化需求提供专业化的管理服务,以达到提高管理信息化水平、节约管理成本、减少资源浪费、提高生产效率的目的,通过利用云计算技术人们可以租用远程计算资源,企业再也不用为了购买硬件、构建数据中心做大量的前期投入,也不用为软件安装、系统维护投入人力、物力[1]。这种计算模式是一种创新,对于无论多大的计算能力和各种各样的信息服务用户都可通过互联网获得;同时它也是对商业模式的一种创新,对于计算和服务,用户可以取用自由、按量付费[2]。

1 系统需求分析

1.1 可行性分析

在经济方面,项目开发完成后需要的云平台有两台IBMx3650服务器;开发使用Eclipse作为IDE,使用TortoiseSVN进行代码管理,使用Java语言进行开发,所以开发中基本不存在软件方面的成本;OpenStack是个开源的项目,部署云平台时可以充分利用开源优势,免费使用OpenStack项目。在技术方面,基于云计算平台的建筑项目管理系统的云平台采用OpenStack开源项目搭建;整个项目开发采用SSH框架,而SSH在企业级开发中的应用已经比较成熟。综上,从经济上考虑成本是可以接受的,从技术上考虑,使用的技术比较成熟能够完成项目开发[3]。

1.2 功能性需求分析

基于云平台的建筑项目管理系统面向的是所有参与建筑项目的用户,做为一个多租户的系统要保证租户的数据安全,要有很好的数据隔离性,项目投入使用后要求项目在软件上也能够扩展[4]。

(1) 管理员

具有建筑项目管理系统的最高权限,具体体现在能够对用户、企业、项目进行管理,以及负责整个项目的运维。管理员用户包括的功能模块为:首页管理、系统管理、账号管理、业务功能模块、移动端管理、规范管理。管理员用例图如图1所示。

其中,基于云平台的建筑项目管理系统首页经常更新,将本产品的最新消息显示在页面上,公告列表要能够添加、编辑、查找、删除公告。默认PMC列表的企业会显示在页面上,方便客户了解现有的PMC合作单位。管理员应该能够添加、删除PMC合作单位,当PMC单位较多时要能够通过公司名称查询对应的单位。页面上显示的PMC合作单位的顺序有时要调整,在PMC列表中管理员要通过上移、下移操作调整PMC合作单位的顺序。产品介绍在产品介绍标签页中能够编辑产品介绍信息、更改产品的使用价格,保存编辑内容,确保再次打开首页能够看到编辑过的信息。

(2) 甲方用户

甲方用户根据岗位不同对应的权限也会不同,图2为甲方拥有最高权限岗位的用户对应的用例。甲方用户登录账号后会进入我的工作门户页面,在该页面能够显示我的本周任务、负责项目的概况、接收的资料、共享的资料。报批报建是工程项目所在地的报批报建流程,用户可以查看工程项目的报批情况[5]。资金管理用来管理各个阶段资金的使用情况及资金计划。进度管理用来查看工程各部分的进度情况。资料管理分为分类管理、我的资料、共享资料三个部分。

(3) PMC用户

PMC用户的权限和甲方用户的权限是基本一样的,只是PMC不负责项目的报批报建,所以也就没有报批报建模块。PMC用户资金管理分为资金计划和资金支付,资金计划模块管理项目资金的使用计划并向甲方提出申请,资金支付查看甲方资金的支付情况。PMC负责工程的施工,进度管理是PMC管理的重点,分为进度计划、本周任务、形象进度、分析汇报。进度计划用来对整个工程进行计划,可以编制计划;本周任务显示本周的任务;形象进度可以新增、删除形象进度,并对已有的形象进度进行修改;分析汇报分析整个项目的进展情况,向甲方、协作方做汇报,以掌握整个项目的进度。PMC用户用例图如图3所示。

(4) 协作方用户

协作方包括进度管理、资料管理、后台管理三个功能模块。进度管理模块协作方主要负责监督工程的进度,并能够编制进度计划;资料管理可以查看工程相关的资料文档[6]。

2 系统设计

系统云平台是在三台IBMSystemx3550M4(7914I01)上运行OpenStack云平台实现的,OpenStack云平台在IBM服务器上搭建成功后,可以享用云平台提供的IaaS,本系统要用到的四类服务器都运行在OpenStack云平台提供的云主机上,租户访问系统时首先会通过Nginx服务器,在系统中使用Nginx服务器做负载均衡。系统使用Squid作为缓存服务器,Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理下载的数据,Web 服务器使用 Jboss。

系统的软件架构分层包括实体层、DAO层、服务层、Web层。首先是实体层,根据系统各模块需要的表编写实体并通过hibernate注解创建持久对象,由于实体层是在系统开始创建的且不需要经常变化,将实体层打成jar包,系统开发过程中只需引用包中的持久化对象。其次是DAO层对数据库表的操作基本上是增、删、改、查,将对数据库表各表的操作抽象出来,通过一个CommonDao类实现对底层数据库的访问。第三层是服务层,服务层通过对DAO的操作实现系统业务逻辑[7]。第四层是Web层,后台通过编写Action类的方法处理页面和业务的交互,并对数据进行必要的处理;velocity页面对业务数据进行呈现,并对用户的非法操作进行适当的控制[8]。

3 系统详细设计及实现

3.1 多租户系统登录

作为一个多租户系统,所有的用户都从首页的登录窗口进入系统,为了保证用户的数据安全,要在后台对用户进行过滤,以区分不同用户的权限。

系统首页将一个友好的界面呈现给用户,对该系统进行介绍,公告等。最重要的功能性作用是提供用户登录系统的接口,用户点击首页左上角的登录按钮弹出登录框,输入账号、密码即可登录系统,如若忘记密码还可以通过验证找回密码。在首页登录时首先判断用户是否是管理员用户,如果是管理员就会进入广联达运营平台,在该页面管理员负责整个系统的运行,能够对使用建筑项目管理系统的企业、项目、账号、移动端的产品进行管理。当非管理员用户登录时就会根据用户管理的业务进行判断,如果用户没有管理项目就会根据是否是企业管理员直接进入普通用户管理页面和企业管理员管理页面。当用户有管辖的项目时,如果只有一个管理的项目就会进入对应项目的岗位门户,如果有多个管理的项目就会进入工程项目选择页面。

3.2 管理员

管理员具有对整个系统最高权限的操作,负责管理的功能模块也最多,考虑篇幅问题,下面选择几个功能模块展示管理员页面的实现。

(1) 企业管理

管理员登录后界面如图4所示。页面头部统一显示欢迎信息和glodoncloud图标,左侧部分为功能栏,点击左侧功能栏选项,右侧显示对应的功能模块,登录后默认显示企业管理模块。在切换功能模块过程中页面头部和左侧保持不变只有右侧功能模块发生变化。

(2) 项目管理

管理员通过项目管理模块进行项目管理,首先管理员可以通过查询找到自己想要管理的项目,也可新增项目;其次对要管理的项目,管理员可以分配用户对项目的权限、岗位管理、协作企业;最后管理员可以编辑、删除项目。

(3) 公告管理

公告管理用于编辑、管理、显示在首页的公告,首先管理员可以通过公告标题、时间查询要管理的公告,还可以新添加公告;其次管理员可以对公告进行编辑、批量删除选定的公告。公告管理界面如图5所示。

3.3 甲方用户

(1) 我的工作门户

当普通用户第一次登陆系统时,无论是甲方用户、PMC用户,第一次登陆后都会进入如图6所示的我的项目页面,以后再登陆时就会默认进入用户上次管理的项目页面。在我的项目页面分两列显示我的项目,主负责项目列显示甲方、PMC角色管理的项目,协作项目显示以协作方角色管理的项目。当用户点击管理的项目时就会进入对应的项目管理页面。甲方可最多拥有的功能模块有:我的工作门户、报批报建、资金管理、进度管理、资料管理、后台管理。我的工作门户显示我的本周任务、项目概况、接收资料、共享资料,让用户进入项目后能够直接了解自己的工作、项目进行情况及要查看的资料。

(2) 报批报建

报批报建是甲方用户独有的功能模块,在该模块能够显示工程项目所在地区的报批报建流程图,当点击流程图中的节点时能够对该审批步骤进行编辑,当该节点完成时节点显示为蓝色,当节点工作正在进行中时显示为红色,当节点工作还未进行时显示为白色,灰色的节点不能进行操作。

(3) 资金管理

甲方的资金管理页面只有资金计划页面,在该页面甲方对PMC用户提交的资金计划进行审批,同意资金计划点击确认本月计划,否则取消确认。

(4) 资料管理

资料管理用来管理自己的工程资料,还可通过共享、分发等方式传递给他人查看以实现项目相关人员间的资料信息的传递。资料管理有三个标签页,分类管理页对分类进行添加、删除、编辑;我的资料页显示已的文档、已接收的文档、我的文档,可对文件进行下载、查看、分发、共享等操作;在共享资料页面,如果文件是本人共享的,可以对文件执行下载、查看、更新、删除操作,如果不是本人共享的文件则只能下载、查看。

(5) 后台管理

如果用户是企业管理员,后台管理页面有6个页签:在个人资料页签,显示、修改个人基本资料,更改密码以及设置密保问题;在企业基本信息页签,显示修改企业的基本信息、联系人信息等;在账号添加页签,为本企业添加用户账号;在账号维护页签,维护本企业的账号分配,可以编辑、删除账号;在项目维护页签,对项目执行分配权限,岗位管理,选择协作企业,编辑项目;在协作项目页签,对协作的项目进行管理。如果用户不是企业管理员则只有个人资料页签。

3.4 PMC用户

PMC用户的功能模块除了没有报批报建,其他功能模块和甲方功能模块基本项目相同,在此不再说明。但是PMC用户的进度管理模块有四个标签页,在进度计划标签页,可以查看、编制进度计划;在本周任务页签,可以查看本周的任务情况,包括本周共有任务、正常执行任务、等待执行任务、可能延误任务、按时完成任务、已延误任务;在形象进度标签页,可以新增、删除、编辑形象,在这部分新增的形象进度会显示在甲方和PMC的首页以及甲方的进度管理模块。

协作方用户的功能列只有进度管理、资料管理、后台管理三个模块。其中资料管理、后台管理模块和甲方、PMC用户的功能完全相同。进度管理模块只有进度计划、本周任务两个标签页,具有和PMC用户项相同的功能。

4 系统测试

4.1 功能测试

功能测试主要验证系统是否能够达到系统功能性需求分析中的要求。本节功能测试选择黑盒测试方法进行,测试内容包括登录、管理员功能模块、甲方用户功能模块、PMC用户功能模块、协作方用户的功能模块。由于系统功能多,模块功能也多,选取管理员的项目管理模块、普通用户的资料管理模块进行测试说明。

管理员的功能模块最多,选取管理员用户的项目管理模块进行测试说明。项目管理测试部分试用例如表1所示,经测试项目管理模块的各功能能够与需求分析相符合,达到系统目标。

甲方用户、PMC用户、协作方用户的功能模块非常相似,经测试资料管理模块和需求分析部分相符,能够达到系统的功能要求。

4.2 性能测试

测试中使用ApacheJMeter进行压力测试,由于性能测试依赖服务器的性能和当时的网络情况,为了保证测试结果的准确可靠,采用多次测量进行数据统计。在本次测试中,选择4个比较重要的具有代表性的页面进行测试,对这些页面发送400次并发请求,实验测试数据如表2所示。

以上测试数据表明,本系统能够响应高并发请求,并且平均访问时间没有超过5 s,能够满足用户基本的体验需求。

5 结 论

本文分析了当前国内建筑行业发展对建筑项目管理系统的强大需求。根据实际的建筑项目一般管理模式对系统进行业务需求分析、可行性分析,并在此基础上做了系统的总体设计、详细设计、数据库设计。以SSH框架为基础结合sitemesh框架、Velocity模板语言、Memcache缓存技术实现了大型的面向多租户的建筑项目管理系统,并通过图解方式展示了系统的部分主要功能模块,从展示中可以看出系统是一个强大的、功能完善的项目管理系统,同时保证了用户之间数据的安全。

参考文献

[1] 尹楠,陈操.基于B/S和C/S架构的学生信息管理系统的设计[J].信息工程,2012(7):65?67.

[2] 李欣琪.云计算中虚拟化管理方法研究[D].上海:复旦大学,2011.

[3] 王庆波.云计算宝典技术与实践[M].北京:电子工业出版社,2011:89?90.

[4] 杨梅,李宏波.浅谈云计算在企业IT架构的应用[J].科技风,2012(11):90.

[5] 李知杰,赵健飞.OpenStack 开源云计算平台[J].软件导刊,2012,11(12):10?11.

[6] 周婧.基于云服务平台的应用软件商店开发者社区研究与实现[D].成都:电子科技大学,2012.

[7] WU J Y, FU J Q, PING L D. Study on the P2P cloud storage system [J]. Acta electronica sinica, 2011, 39(5): 1100?1107.

[8] 李瑛,胡新炜.云计算关键技术分析研究[J].现代电子技术,2012,35(14):65?67.

上一篇:“小厕所”连着大市场体现大形象 下一篇:对装表接电作业中危险点的简要分析