基于物联网和云技术的软件工程实验室架构设计

2018-02-25 02:39宋阳
电子技术与软件工程 2018年7期
关键词:云技术软件工程物联网

宋阳

摘要 各类院校针对软件工程课程的教学基本以理论口授结合片断工程案例的方式进行。由于软件工程本身具有很多非常抽象的内容,并且在工程实施的过程中往往都会有大量的“意外”情况发生,所以这种教学方式很难保证教学质量。学生只能在头脑中形成一些空洞的理论知识,导致参加工作后需要花费大量的时间和精力重新学习如何在一个软件项目中担当其相应的职责。因此院校投入资金建设专业的软件工程实验室改变教学现状是必需的。

【关键词】物联网 云技术 软件工程 USDM

1 软件工程专业机房建设的必然性和必要性

软件是新一代信息技术产业的灵魂,“软件定义”是信息革命的新标志和新特征。软件和信息技术服务业是引领科技创新、驱动经济社会转型发展的核心力量,是建设制造强国和网络强国的核心支撑。建设强大的软件和信息技术服务业,是我国构建全球竞争新优势、抢占新工业革命制高点的必然选择。“十二五”以来,我国软件和信息技术服务业持续快速发展,产业规模迅速扩大,技术创新和应用水平大幅提升,对经济社会发展的支撑和引领作用显著增强。“十三五”时期是我国全面建成小康社会决胜阶段,全球新一轮科技革命和产业变革持续深入,国内经济发展方式加快转变,软件和信息技术服务业迎来更大发展机遇。在这个背景下,凡是开设计算机类相关专业的高职院校更应该在软件开发类课程辅助教学上加大投入,辅助教学不只是软件方面还有硬件,那么建立先进实用的专业软件开发实验室就是必要的也是必然的。

目前高职院校缺少专业的软件开发实验室,教学手段单一、教学硬件环境匮乏、一些学校疏于对计算机专业实验室的软硬件投资,导致学生只能对软件开发的理论一知半解,甚至毫无兴趣。没有一个相对专业的软件开发环境去对所学理论知识进行实践,对学生的软件开发能力进行训练,学生的编程能力、编程思想和技术水平相对低下,毕业后推向社会不利于其在企业立足,这样就无法达到高职院校软件专业人才培养的目标。再者,缺少相关的专业实验室或者实验室软硬件设备陈旧、技术落后,学生缺乏实践训练环境,因为软件开发最重要的编程技术是需要这样的环境训练出来的,一个好的程序员是需要在一个code环境中写出上万行代码,不断熟练技术,不断积累经验的过程,因此学校建立这样的专业实验室是非常有必要的。

2 软件工程实验室架构概述

软件开发实验室是面对计算机软件专业辅助教学和学生自主学习实践的场所.在建设规划上要弹性考虑其先进性和实用性。因此会把云计算和物联网技术综合应用在实验室建设中。

2.1 云机房设计思想

2.1.1 实用的功能兼顾先进的技术

云机房的建设既要满足功能需求,又要兼顾以后的服务拓展和技术升级需求。尽量使用先进的技术、软硬件和新材料,以适应云机房的弹性需要,使其在使用期间内保持技术的先进性,并具有良好的可拓展潜力。

2.1.2 可靠的安全性

利用可靠性高的云平台管理系统去对机房中的硬件进行应用管理、软件部署、流程管理、数据保护、服务监控等功能,这个管理过程因其管理平台的高可靠性而安全性倍增。

2.1.3 灵活性与可扩展性

云机房可以使用虚拟化技術,用软件虚拟出很多硬件功能,具有很强的灵活性和可扩展性。

2.1.4 标准化与可管理性

云机房的总体架构设计要符合相关的国际或国家标准,具有智能化和可管理的特性。比如上文提到的智能监控系统,其服务器也是使用云服务,通过监测实现事件的集中管理和记录,以便故障寻迹、提高维护效率和保障运行性能。

2.2 软件工程实验室建设必要的软硬件和技术

2.2.1 使用物联网技术在专业机房中实现智能监控、门禁系统、环境监测等功能

物联网技术在机房的应用主要包括两方面:

(1)机房环境信息的采集,我们通过在机房安装一些高清摄像头、红外传感器、温度传感器、烟感装置、门禁控制装置、进水传感装置来实时的收集机房环境信息,包括图像信息、报警信息和数据信息,并将所有信息汇总上传到智能监控系统所在服务器上,以便我们观察和分析环境数据,及时发现和排除隐患、调整机房环境状态,更好的完成教学辅助。

(2)对机房内所有硬件的远程控制,当机房服务器或教学用计算机出现硬件异常、没有响应和宕机时,我们可以通过远程控制系统对其进行重启或者复位操作,此系统还包括对机房的供电系统、照明系统、门窗进行远程的控制开关,当然所有的操作都要依靠无线传感器和网络的硬件支持。远程控制系统是基于B/S架构开发的网络应用程序,使用浏览器即可使用系统。这样我们就可以在任何场景任何设备下对实验室中的硬件进行控制和信息接收,也就是说不仅仅只是使用计算机在学校范围内去监测和控制,各种移动设备包括pad和智能手机都可以使用,条件允许的话也可以开发一套相应的移动端App程序,利用智能手机这种自带无线网络的设备便可以随时随地远程的监测和控制,这也是云技术的一种体现。

2.2.2 使用云技术搭建应用服务器、资源服务器、Web服务器等

实现教学软件在学生机端的应用、学生学习资源的上传保存、B/S架构软件的开发的实验环境。一般情况下,需要搭建四种服务器:

(1)教学应用服务器,基于国内环境使用Windows系统平台,安装相关教学软件、软件开发环境和工具软件、软件测试类软件,学生机端计算机不配置硬盘存储器,通过云技术和网络共享使用教学应用服务器上安装的相关软件,这样既节省硬件成本,又降低了安全成本,还可以使学生端计算机轻量化运行和处理数据,避免了计算机高负载和硬件资源浪费。

(2) Linux服务器,基于Linux企业服务器的网站开发及网络应用开发。有一些程序语言是基于umx这个环境开发的,而Linux系统是Unix系统的开源表现,支持很多程序语言的函数库和架构,不需要安装编译器便可以编译,比如Java语言、PHP脚本语言、python语言等。Linux系统本身的安全性是非常可靠的,要优于Windows Serve系统,所以在企业级的服务器上应用比较普遍。

(3) Windows服务器,NET程序开发及ASP.NET网站开发。由于国内计算机环境,不管是企业还是事业单位所使用的计算机操作系统多为Windows,一些中小企业级服务器也会选择使用Windows Server系统,相关的应用软件也都是基于Windows系统开发,因此在Windows环境下的软件开发教学和编程训练是必不可少的,那么就需要学生熟练掌握和使用.Net框架下的程序设计语言(c#)和IDE (VS)开发环境。

(4)文件资源服务器,Linux+ Samba,用于学生们上传保存自己的程序代码和项目文档等。

服务器和学生机之间的交互我们可以通过云桌面解决方案来完成。云桌面是一种融合了网络系统平台、软件、服务器、存储和以实现数据中心服务交付自动化的解决方案,它提供了统一的管理界面,可以快速设计、配置并优化应用基础设施,打造一个整合的池化资源。云桌面有现成的产品可以拿来使用,比如微软云的的管理平台systemcenter2012、惠普的刀片矩阵等,如果不想使用现成的云桌面产品,我们还可以使用Windows Server平台下的Hyper-v及远程桌面服务来创建虚拟桌面集合以实现云桌面的功能。

2.2.3 软件开发相关的软硬件设备

硬件方面包括服务器级计算机、教学用计算机、网络和网络交换机、扫描仪和打印机辅助设备、投影和无线扩音教学设备等。软件方面包括Windows和Linux服务器系统平台,mySql、SQLServer和Orcle数据库系统,Java和NET开发环境和相关的IDE开发工具,LoadRunner、WinRunner等常用软件测试工具,项目管理工具MS Project,Ms Office办公系统工具等。

3 软件工程实验室教学平台-USDM

USDM指的是集成化软件工程管理平台,是学生学习软件工程项目开发的环境平台。它可以对开发的项目进行产品的结构配置,并通过项目团队的组建、成员角色的划分、权限、配置管理、缺陷跟踪和管理、建模工具、内外部邮件系统、工作流程、团队开发等对产品的组成结构进行管理和维护。管理范围覆盖生产过程的各个生命周期;它们包括业务阶段、需求阶段、设计阶段、编码阶段、测试阶段和发布阶段,其它支撑环节包括项目管理+配置管理+生产环境。通过这个平台学生可以对“项目准备”、“集成项目管理”、“配置管理”、“客户需求调研及分析”、“软件设计”、“实施”、“测试”、“发布”、“度量分析”、“知识管理与组件复用”、“CMMI与软件公司资质评估”(或是其它标准)等多个真实的情境进行真实的体验,学会如何规范地按照软件工程的方法进行软件设计、开发和管理,而不再是像以往一样只是学习了一大堆枯燥的软件工程理论和文档样本。通过引入企业环境,让学生与企业“零距离”接触,课程开始具有鲜明的“以工作过程为导向、以实际项目为载体”的工学结合特色。

4 结语

软件工程实验室的架构设计是非常复杂的过程,涉及到主机、网络、存储、应用的方方面面,我们既要考虑功能上的实用性又要兼顾技术上的先进性,弹性的可升级的去设计其架构,总之要保证实验室朝着监控智能化、软硬件集中化的方向发展,未来随着新技术的出现,我们也可以对其调优和升级。

参考文献

[1]赵琦,谈教育云机房建设过程中总体架构的设计[J],计算机光盘软件与应用,2013,15 (03).

[2]中国电子报.软件和信息技术服务业发展规划(2016-2020年),2017,20 (01).

[3]中国电子报,做强软件和信息技术服务业抢占新工业革命制高点,工信部信息化和软件服务业,2017,20(01).

[4]李梅,基于级联神經网络组合模型的软件可靠性预测研究[J].自动化与仪器仪表,2017,25 (07).

猜你喜欢
云技术软件工程物联网
云技术在士官职业教育中的应用研究与探索
国际图书出版市场现状及趋势分析
关于如何创新和完善计算机软件工程管理的探讨
中国或成“物联网”领军者