普适计算时代背景下的系统分析与设计能力培养

2018-07-20 01:40于千城
电脑知识与技术 2018年13期

于千城

摘要:该文从系统需求分析、架构特征、软件工程方法和软件开发思想等四个方面分析讨论了普适计算时代背景下应用软件系统的特点,提出了普适计算时代背景下进行计算机专业本科学生的系统分析与设计能力培养应该着眼于学生跨学科综合思维能力的培养,并以教学实践中所采用的教学案例为抓手阐述了践行这一理念的思考和经验总结

关键词: 普适计算; 系统分析与设计; 跨学科综合思维能力; 软件生态;共享单车应用;ATM终端系统

中图分类号:TP312 文献标识码:A 文章编号:1009-3044(2018)13-0154-03

System Analysis and Design Ability Training under the Background of Pervasive Computing Era

YU Qian-cheng

(College of Computer, Beifang University of Nationalities, Yinchuan 750021, China)

Abstract: In this paper, the characteristics of the application software system in the era of pervasive computing are discussed from four aspects such as system requirement analysis, architecture features, software engineering methods and software development ideas. The system analysis and design ability training for computer majors should be focused on students in the context of pervasive computing era. The training of interdisciplinary comprehensive thinking ability and taking the teaching cases adopted in teaching practice as the starting point, elaborated the practice and experience of implementing this concept.

Key words:pervasive computing; system analysis and design; interdisciplinary comprehensive thinking ability; software ecology; sharing bicycle application; ATM end system

1 引言

随着计算机软硬件技术的快速发展,云计算、大数据、移动互联网、物联网、城市计算、智慧医疗、O2O、社会感知计算、人工智能等IT应用方兴未艾,各种各样具有计算能力的设备已经广泛存在于普通大众的日常生活和工作环境中,这些“无所不在的计算”无声无息地为人们提供着服务,已经融入并改变着人们的生活,人类社会已经进入了普适计算时代。

普适计算模式的到来不仅引起了社会各个领域的巨大变化,也深刻改变了应用软件系统生命周期各个环节的思想和技术生态,因此,在普适计算时代背景下如何进行计算机专业本科学生的系统分析与设计能力培养是一个非常重要的问题,值得我们深入研究、思考和践行。

普适计算最基本的特征在于计算无所不在,人们可以随时随地获得计算资源并且无需关注这些计算资源由谁提供。因此,采用普适计算模式的应用系统,通常是基于云计算环境或者是采用自组网方式的动态网络环境,网络上不仅可以提供各种丰富的内容和资源、并且连接着各种类型的计算设备,连接着物理世界中的物品,甚至是将来自地球不同角落的人们连接在一起;应用系统不仅管理数据,还能够智能地处理信息并且提供知识和服务给用户,并且允许人们利用这些知识反馈和控制应用系统。

2 普适计算时代背景下应用软件系统的特点

一个普适计算模式的应用系统,通常可以划分出四个重要的组成部分:感知层、互联层、管知层、控制层[1],感知层主要由各种各样的传感器组成,负责获取输入数据,在社会感知计算环境下,每一个互联网用户都可以被看作是一个移动着的传感器,他们随时随地分享到网络上的动态、微博、说说,以及通过智能手机或者无人机发布的照片、音视频都可以帮助我们感知到当时当地的情景和状态;互联层主要提供网络环境,让各种传感器和计算设备互联互通,实现数据的传输,网络环境可以是Internet、移动网络、电话网络、车联网、有线电视网、物联网等,可以是有线网络,也可以是无线网络;管知层主要负责数据的管理和加工,各种使用各种数据挖掘、人工智能、大数据处理算法将数据转换成知识;控制层实现了人们利用知识对物理世界进行反馈和控制。

一个普适计算模式的应用系统,已经不再是一个封闭的、单纯的软件系统,而是一个包含硬件设备、通信网络、控制反馈装置和软件在内的一个开放的、复杂的闭环系统,有些应用系统甚至将人也作为系统的组成部分纳入其中,因此,这样一个复杂应用系统所具有的特点,已经远远不同于我们所熟悉的管理信息系统和企业应用系统所具有的特点,传统的以管理信息系统作为对象的系统分析与设计思想和方法也就不再适用。我们需要研究普适计算时代背景下应用软件系统的特点,需要思考普适计算時代背景下如何培养学生的系统分析与设计能力。以下将从系统需求分析、架构特征、软件工程方法和软件开发思想等四个方面分析讨论普适计算时代背景下应用软件系统的特点,进而提出普适计算时代背景下进行计算机专业本科学生的系统分析与设计能力培养应该着眼于学生跨学科综合思维能力的培养。

2.1 普适计算时代背景下应用软件系统的系统需求分析

一个普适计算模式的应用系统,与其进行交互的外部实体已经不再局限于单纯的操作用户,,还有可能是一个硬件设备,更多的情况下是多个应用系统如何相互协作相互支持共同实现特定服务功能。而且,由于用户群体是一个开放群体,相互协作的系统可能是运行在不同的平台下,因而在描述系统的需求分析时不仅要考虑系统提供给操作者的功能需求,还要考虑提供给某个硬件设备或者是其他应用系统的操作功能,更重要的是需要考虑更多复杂的非功能性需求,使得应用系统与上下文环境中的外部实体能够实现无缝集成和互联互通。

例如:共享单车是一种典型的物联网应用[2],一个共享单车运营管理平台由基础数据维护子系统、单车管理子系统、账户管理子系统、租车还车管理子系统、营销活动管理子系统、地域维护管理子系统、数据分析子系统等组成,每个子系统会有对应的操作管理员,系统应当提供如下相应的操作功能:

1) 基础数据维护子系统主要对行政区域划分信息、电子地图数据、支付渠道数据、地域维护合作方数据等基本数据进行管理;

2) 单车管理子系统提供的功能包括为新车进行编号、故障车管理、丢失车登记、单车报废处理、更新单车状态、记录单车位置等;

3) 账户管理子系统主要管理储在运营管理平台的租车人账户信息,提供的功能包括:账户注册,登录验证、充押金、充余额、购买或领取优惠卡/券、保存充值/退费记录、保存行程记录、保存消费记录、保证当前时刻只有一辆单车被该账号租用或者预约;

4) 租车还车管理子系统:租车人用App扫描租车,运营管理平台负责检查单车状态、检查账户是否满足开锁要求,发送开锁指令给智能锁(或App),开始当前行程的记录和计费,租车人锁车后,运营管理平台更改单车状态,归档行程记录和消费记录。

5) 營销活动管理子系统:共享单车在使用过程中,需要实行优惠活动吸引用户,运营管理平台需要发布营销活动,并在账户管理、租车、计费等功能上支持营销活动的实施。

6) 数据分析子系统对各种历史数据进行分析挖掘和可视化展示,为共享单车运营提供决策支持,比如一个城市应该在哪些地方设置投放点,投放多少单车可以获得最佳收益,一个城市的居民出行有什么样的规律等等。

7) 地域维护管理子系统:共享单车运营中,需要有地面维护人员批量收拢单车,对故障车进行维修,地域维护管理子系统提供功能对地面维护人员的维护工作进行记录和管理。

除了上述这些功能需求,还需要考虑的是运营管理平台如何与电子地图应用、电子支付应用、电信网络管理平台、地理位置定位应用等第三方应用进行协作,还有就是运营管理平台与数以万计的自动锁进行交互。普适计算应用没有固定的计算环境,每一类计算设备都是面向特定的用户群,设备在计算能力方面差异较大,需要的通信带宽大小不一,每种设备的操作系统,芯片以及用户接口都因应用场景而异,这种情况下,其非功能需求的描述就显得格外复杂,格外重要。

2.2 普适计算时代背景下应用软件系统的架构特征

一个普适计算模式的应用系统,其架构会涉及对上述复杂非功能需求的支撑,因此变得更加复杂,因此传统的软件架构设计范式往往需要进行各种方向上的扩展,比如传统的B/S、C/S架构将会扩展成基于云的架构[3],传统的点对点架构将会扩展成基于协商的架构[4],因此架构元素会变得更丰富,架构关系也会变得更多维。

比如:共享单车应用的架构如下图所示[2],其中,运营管理平台、手机移动端、智能锁、通信网络、电子地图和定位技术起到了核心作用。

为了实现对非功能需求的支撑,必须采用基于云的架构,为了能够为全国范围内不同规模的城市提供服务,需要建立分布在不同地域的数据中心;系统各组件采用ESB(企业服务总线)的方式集成在一起;租车人可以使用手机App,也可以使用微信公众号或者小程序来访问运营管理平台,运营管理平台与移动端可以采用GSM通信,也可以采用WIFI通信;运营管理平台与智能锁可以采用GSM或NB-IOT通信,运营管理平台通过GPS或北斗导航进行单车定位;租车人可以使用一个账户实现全国租车,因此账户信息应该能够被多个数据中心同步访问。

2.3普适计算时代背景下应用软件系统的软件开发思想

一个普适计算模式的应用系统,必须能够迅速适应不断变化的业务需求并具备高度可靠性与伸缩性,因此其基础设施中的很多组件都必须使用现有的成熟应用,而不是重新重复制造轮子,因此必须要具有软件生态的开发思想。所谓软件生态,最直观的理解就是大家一起玩并且大家能够玩到一起,也就是说各种应用能够很容易地集成到一起,很好地相互协作。想要达到这样的境界,类似服务级应用协议之类的标准就显得举足轻重,而且很多基础性组件,可能会出现在不同应用场景下,设定这样的调用标准是非常复杂的,比如电子地图应用、电子支付应用、电信网络管理平台、地理位置定位应用等。

生态与开发技术密切相关,每一种编程语言(如Python,Java,.NET)都有其独特生态环境,Python和Java的生态环境是开放的,类库和工具进行着优胜劣汰的竞争,只有付出更多努力、做得更好的软件,才会在竞争中胜出,从而建立了良好的竞争环境。.NET的发展壮大是由Microsoft来决定的,呈现出一家独大的姿态。在.NET的开源社区有这样的一种现象:你会发觉微软在重复着这样的事情——微软总是想用自己的工具软件替代已有的开源软件,这样就会大大阻碍了.NET的良性竞争。

因此,在普适计算时代背景下,必须要培养学生具有软件生态意识和基于生态的软件开发思想。

2.4 普适计算时代背景下应用软件系统的软件工程方法

基于普适计算模式的应用系统的上述特点,决定了传统的软件工程方法已经不能胜任普适计算时代背景下的应用系统设计与开发。敏捷软件开发方法作为一种轻量、灵活、能够快速应对变化的软件工程方法已经快速地在软件开发领域得到广泛应用,敏捷并不是一门具体的技术,而是一种理念或者说是一种思想,它能够提高项目进展的透明度,帮助用户非常早地预见产品的雏形并与开发团队进行交流,因此可以指导我们更加高效的开发。

然而在实践中人们发现现有的Scrum、XP等敏捷开发实践虽然可以比较容易的应用在小规模团队中并取得明显效果,但在大中型团队中组织环境更加复杂,面临的工程技术挑战更加艰巨。如何在这样的场景下还能让敏捷实践最好地发挥其威力是很多团队一直以来都在困惑的一个问题。团队需要更加结构化和成熟的框架为此提供指引。SoS、LeSS、Nexus、 SAFe(Scaled Agile Framework)[5]等大规模敏捷开发框架即为此目的而生,作为目前软件开发领域接受度最高的规模化敏捷开发框架,SAFe基于精益-敏捷思想,以Scrum框架的实践为基础,构建了完整的针对各组织层级的敏捷开发过程和活动的实践指南。和所有正常的开发流程一样,敏捷的终极目的是让开发过程可控,而不是失控,如何以SoS、LeSS、NexusSAFe框架为指导实现团队敏捷转型成为很多组织非常关心的话题。

3 教学实践总结

在教学实践中,为了让学生感受到基于普适计算模式的应用系统的所具有的独特性,我们在课程内容中加入了大量与普适计算时代背景下应用软件系统分析与设计相关的教學内容,比如应用系统感、联、知、控四个层面的划分以及各个层面涉及的专业背景知识;基于云的架构和基于协商的架构;基于软件生态的开发思想;大规模敏捷开发框架SAFe等内容,并且我们以共享单车运营管理平台、斑马网数据采集系统、ATM机终端系统等结合硬件设备、通信网络、控制反馈装置和软件在内的应用系统作为案例。

尽管限于教学条件,不能让学生真正参与设计开发一个结合硬件设备、通信网络、控制反馈装置和软件的应用系统,我们也让学生采用纯软件的方式模拟实现ATM机终端系统的主要功能,并且要求学生尝试描述ATM机的各个硬件部件的工作机理和协作机制,从而让学生深刻感受到一个普适计算模式的应用系统已经不再是一个封闭的、单纯的软件系统,必须要把不同学科的专业知识融合在一起,因此必须要培养学生跨学科综合思维能力。

参考文献:

[1] 郭龙江, 李建中, 李贵林.无线传感器网络环境下时-空查询处理方法[J] .软件学报, 2006 , 17(4):794-805

[2]中伟科计算机研究院.中伟科共享单车App定制开发[EB/OL]. http://www.shoujilab.com/index.php/Home

/Index/zhinenggx.html?danche

[3] G. C. Fox, S. Kamburugamuve, and R. D. Hartman . Architecture and measured characteristics of a cloud based internet of things [J]. In Collaboration Technologies and Systems (CTS), 2012 International Conference on, pages 6–12. IEEE, 2012.

[4] J. Kulik, W. R. Heinzelman, and H. Balakrishnan . Negotiation-based protocols for disseminating information in wireless sensor networks [J].Wireless Networks, 2002(8):169-185.

[5] (美)迪恩·莱芬韦尔. SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架[M]. 李建昊,等.译.北京:机械工业出版社,2017年04月.10-38