张志得,冷自洋,苏亚辉
(1.安徽大学 电气工程与自动化学院,合肥 230601;2.安徽大学 电子信息工程学院,合肥 230601)
进入21世纪,随着居民对住房需求的不断加大,发地产开发行业的宏观环境也发生了巨大的变化。我国的建筑行业在房地产业的带动下也在不断的发展,加快建设信息化大都市,随着越来越多的施工项目逐一落地,现有的管理模式已经满足不了飞速发展的施工管理需求,施工企业在承建工程项目中所面临的工程量十分繁多,具有遍及范围广,施工周期漫长等难点。而手工的多项目管理方法效率比较低下、资源配置不够合理、沟通不及时,从而造成了时间、金钱和人力的过度浪费。但现有比较成熟的建筑施工项目信息化管理系统未侧重于计划进度管理,不能够对项目中快延期的工期节点进行智能化预警,不能够起到全局管理的功能[1~3]。为了解决这一难题,设计了建筑施工智能化监测预警管理系统,通过提前对工期节点进行不同程度级别的预警,解决了管理者亲临现场进行监督和办公不便,同时还可以进行跨地域办公,通过该平台将各项工作任务通过现代信息技术,合理科学的进行流程化管理和组织,使工程管理的效率和可靠性得到了大大的提高,保证了任务按时完成。为企业建立了一个全面共享、高度统一的信息共享平台。避免了各级人员不能及时沟通、资源配置不合理,造成物力以及人力的损失[4]。
通过对需求方所提功能的需求分析,从而制定了一个可行的方案。其中,软件开发的起始阶段是对项目需求进行分析,作为软件生命周期中的一个至关重要的组成部分,对后续的软件设计阶段提供良好的铺垫。
建筑施工智能化监测预警管理系统所采用的技术,应紧跟信息科技发展的步伐。同时,应尽可能减少项目投资发生失误的概率,确保顺利完成开发的工作,以牺牲最少的时间成本来解决最多的问题是系统设计的基本要求意义所在。
1.1.1 技术性
作为开发人员所考虑的是采用的硬软件和技术能否满足系统开发的要求。当前系统采用的是目前主流的B/S模式,采用的框架开发技术为SpringMVC+SpringBoot+Hibernate4+EasyUI+SpringJDBC+Jquery,开发语言为Java,数据库使用的MySQL。
1.1.2 适用性原则
充分考虑到建筑施工智能化监测预警管理系统相关业务逻辑所带来的复杂性,所采用的技术选型和架构应具备良好的可扩展性以及可配置性,通过灵活的配置业务的处理逻辑和业务处理流程,达到工程项目智能化管理系统的业务要求。
1.1.3 易使用
考虑到基层管理人员计算机技能水平的相差不一,为了使管理人员使用简单、易于操作、便于维护。在系统设计时应充分考虑到所有用户在使用本系统可能发生的操作不便捷所有情况,因此应设计出具有良好的人机交互性界面、清晰明了的业务流程、通俗易懂的操作,满足用户对系统的管理模式和内容的要求。
根据建筑施工的实际情况,同时结合信息化的特点,制定出建筑施工智能化监测预警整体业务流程,如图1所示。
1.3.1 面向对象的信息系统开发技术—B/S模式
针对建筑施工管理的开发要求,本系统采用了基于B/S(Browser/Server)模型的3层结构开发[5]。由客户端、Web服务器和数据库服务器三部分组成。通过客户端打开网页浏览器输入请求信息,Web服务器接收来自客户端的HTTP请求,连接后台的数据库对请求进行处理,将处理后的结果返回Web服务器最返回到客户端呈现结果给用户[6]。
B/S结构的优点
1)适用面比较广。
2)开发简单、维护简单方便,共享性强。
3)系统的升级和维护都相对比较容易,业务扩展方便。
1.3.2 MVC架构
MVC(Model-View-Controller)最早由名叫Trygve Reenskaug所提出来的,首先是被应用到了SmallTalk-80[7]系统中。MVC编程是三向分解的应用,对于表示层和数据层的相互分离MVC模式很好地体现了自身的价值,适合用于开发与图形用户界面相关的应用程序[8]。
1)控制器(Controller)
控制器首先接收来自客户端的请求,然后对请求进行相应的解析工作,并调用相对应的模型和视图,从而将结果呈现在浏览器上返回给用户,以满足用户的需求。
2)模型(Model)
模型层包含业务逻辑和业务数据两个部分,是应用程序的主要核心。
3)视图层(View)
视图就是一组所谓的Html/JSP文件。这些HTML/JS不包含业务逻辑和模型信息,只有标签,其中一个模型可以对应一个试图也可以对应多个视图。如图2所示。
图1 建筑施工智能化监测预警业务流程图
图2 MVC处理过程
建筑施工智能化监测预警管理系统采用MVC架构的集成开发模式,基于JeeSite开发平台,前端UI基于jQuery+Bootstrap实现,后台基于主流的SpringBoot+Spri ngMVC+MyBatis+ApacheShiro+Ehcache的稳定框架[9,10]。采用面向对象的Java语言进行开发。根据建筑施工管理的实际需求和Java EE的技术特点,系统采用目前主流B/S结构开发模式,利用MySQL作为后端数据库的管理平台,实现了添加数据、删除数据、查询数据和修改数据的一体化操作,并利用目前最为主流的数据库持久层Mybatis封装JDBC,达到与MySQL的高效连接,组成系统的数据库管理层,同时利用具有模型-视图-控制器(MVC)模型的Web应用框架降低了各层之间的耦合性。Web服务器通过提供对外的专门接口供Android客户端以及浏览器客户端访问,具体使用HTTP协议传送的Json格式的数据[11,12]。系统整体架构如图3所示。
图3 系统整体架构图
根据业务需求分析和建筑施工管理的流程,将系统划分为5大功能模块。其中5大功能模块又包含了多个子模块,具体功能模块如图4所示。
图4 系统模块划分
采购管理主要负责由施工部门采购施工所需的物资,对各类物品进行采购申请、采购订货、物资校验、物资入库、在线的录入和分类化管理。同时包含了对各类供货商供货能力进行了等级评分,保证了货物的质量和货源的充足,实现企业完善的物资供应管理信息。
合同管理模块主要负责整个合同管理的生命周期,包含合同起草审批、在线签署、以及在线检索和文档归类均可通过合同管理模块在线完成。同时,用户登录系统后,会看到各自待审核的处理任务,有效的提高的合同管理的效率。
任务管理模块主要包含工期节点信息表和任务预警两个子模块,其中工期节点信息表录入工程项目在不同时间段应完成的任务节点,包括了节点名称、所属部门、开始时间和结束时间等字段信息。任务预警模块则负责对工期节点信息表中的各个节点的起始和结束时间与当今时间进行实时对比,根据任务完成度百分比的不同进行不同程度的预警。
财务管理模块主要用来负责对资金计划的申请再到各个部门的审批。同时对资金使用的过程中进行严格的控制,对于超计划的资金支付进行预警和拒付的功能。确保资金使用的合法性和安全性。
系统管理模块主要包含用户管理和权限管理两个子模块,其中用户管理由管理员录入负责管理工期节点的个人信息。权限管理则用来通过给角色赋予不同的菜单链接,通过由管理员给用户分配不同的角色,同时一个用户可以拥有不同的角色,不同的角色又拥有不同权限,因此具有较好的灵活性。用户登录系统后所看到的界面是基于该用户所赋予的角色来进行访问的[13]。
通过建筑预警管理系统功能的实现,我们可以对快要延期的工期节点进行不同程度的预警进行实时监测。在图5中我们可以看到全部的任务节点级别、任务名称、开始时间和结束时间以及工期等信息。在图6中,我们可以看到全部一级任务节点的工期时间分布和一级任务节点所对应的二级任务节点的时间分布。通过对全部任务节点的汇总,起到了全局的把控效果。而任务预警管理则负责对工期节点信息表中的各个节点的起始和结束时间与当今时间进行实时对比,根据任务完成度百分比的不同进行不同颜色程度的预警。分为轻度预警、一般预警、中度预警、高度预警,方便管理者对工期节点制定出相应的调整计划,确保任务顺利完成。如图7所示。
图5 工期节点的录入
图6 工期节点的时间分布
图7 工期节点预警
本文设计了一种建筑施工智能化监测预警管理系统。该系统通过对工期包含的全部任务节点进行实时动态监测,有效的解决了当前房地产开发商首先通过进行公开土地招标到项目施工再到楼盘验收等一系列过程中,对于每一阶段个别任务的延期超时对下一个任务节点能否顺利按时完成的难题。体现了监管的便捷性、预警的时效性、管理的分级性。对于同类型的工程项目信息管理,只需稍加修改就可复制使用,可以大大节约企业开发成本和人力物力,具有广泛的应用性。