——以校园微活动管理为例
摘 要
校园活动是校园生活中不可缺少的组成部分,通过活动,参与的学生既可以获得乐趣,也可以锻炼能力。但是,目前的校园活动存在着知情范围小,宣传不到位,事后无法获取评论信息等问题,因此,有必要构建一套基于网络的管理系统,提供活动管理效率。
针对目前在校园活动中存在的问题,通过对相关业务流程和参与者的调研分析,充分利用网络的信息传播优势,以及移动智能终端的便捷性优势,基于Android平台设计开发了一套校园移动化的微活动管理系统。针对校园活动宣传力度小,参与人员相对固定,拓展困难等问题,采用微发布技术和自动推送技术,构建校园活动推荐功能模块,根据学生的个人属性,结合其兴趣爱好,主动推送活动信息,一方面扩大活动信息的传播范围,另一方面,也为学生提供了更为广泛的活动信息渠道;针对校园活动的组织需要经过学校管理部门的审批,相关材料准备繁琐,效率低下的问题,采用工作流技术,结合移动终端信息处理,实现活动申请的在线提交、审批,有效地提高了处理速度,同时,审批人员可以通过该功能发送相关注意事项,使申请人可以及时获取相关信息;针对目前校园活动结束以后,很多参与者的意见无法较好收集,无法对活动进行较好总结的问题,设计开发了活动评价功能,采用打分与评价相结合的方式,通过大量的参与者的评分信息,对活动举办是否成功进行评估,并为下一次活动的组织提供指导;针对目前校园活动的参与者有限的问题,采用网络微直播技术,通过照片、视频等方式,对活动的现场进行直播,使更多的学生可以通过网络平台或者移动智能终端,获取现场的活动信息。
本文基于需求分析,对校园微活动管理平台进行了系统架构设计,并对系统中的主要功能模块进行详细设计。在具体的实现过程中,移动终端采用Android技术,后台采用Java Web进行开发,在交互上,通过JSON实现数据信息的表示。通过测试,在无线网络环境下,移动终端资源占用量少,运行稳定,同时后台可以较好地应对大规模的并行访问。
校园微活动管理平台改变了目前校园活动的组织模式,充分利用了网络平台和移动智能终端的优势,不但能够丰富活动内容,提高活动组织效率,而且有效地提高了学生对于参加活动的积极性,因此,具有较好的实用价值。
关键词:Android校园信息管理;校园微活动管理;校园数字化;Java技术
Abstract
Campus activities are an integral part of campus life, through the activities, participate in the students can have fun, can also exercise ability. The current campus activities, however, there is knowledge of small, propaganda does not reach the designated position, later can't comment on information, therefore, it is necessary to build a set of management system based on network, provide the activity management efficiency.
Aiming at the existing problems in campus activities, through the investigation and analysis of the related business process and the analysis, make full use of the advantages of network dissemination of information, the convenience and advantages of mobile intelligent terminal Android platform, designed and developed a set of campus mobile micro activity management system based on. For the campus propaganda activities involved in small, relatively fixed, the problem is difficult to expand, using micro release technology and automatic push technology, the construction of campus activities recommendation module, according to the personal attributes of students, with their hobbies, take the initiative to push information, on the one hand expand the scope of the dissemination of information, on the other hand, it provides students with more information on campus wide channels; the activities of the organization must be approved by the administration, related materials preparation is tedious, the problem of low efficiency, using workflow technology, combined with the mobile terminal information processing, online submission and approval activities, effectively improve the processing speed, at the same time. The examination and approval personnel can through the function of sending related matters needing attention, the applicant can timely access to relevant information for the purpose; After the end of campus activities, many participants can collect opinions, to better summarize the problem of design and development activities, activity evaluation function, the scoring and evaluation of the combination of the way, through a large number of participants score information, evaluate the success of activities, and provide guidance for the next event in view of the current campus organization; the activities of the participants is limited, the micro network broadcast technology, through photos, video, the activities of the scene to live, so that more students can through the network platform or mobile intelligent terminal, to obtain the information on the activities.
The paper designed system architecture of campus micro activity management platform based on the demand analysis, and designed the main function modules of the system in detail. In the specific implementation process, the mobile terminal using Android technology, the background using Web Java development, interaction, through the JSON to achieve data representation. By
testing, in the wireless network environment, the mobile terminal resources occupy less, stable operation, while the background can better deal with large-scale parallel access.
Campus micro activity management platform to change the current campus activities organization mode, make full use of the network platform and the advantages of mobile intelligent terminal can not only enriched the contents of the activity and improve the efficiency of activities organization, and effectively improve the enthusiasm of the students to participate in the activity, therefore, has good practical value.
Key words: campus information management base on Android; campus micro activity management; campus digitalization; Java Technology
目 录
摘 要 .................................................................................................................................................... Abstract .................................................................................................................................................. 目 录 .................................................................................................................................................... 第1章 绪论 ..........................................................................................................................................
1.1 研究背景和意义 ..................................................................................................................... 1.2 国内外研究现状 ..................................................................................................................... 1.3 主要研究内容及章节安排 ..................................................................................................... 第2章 理论基础与关键技术 ..............................................................................................................
2.1 管理信息系统理论 ................................................................................................................. 2.2 Android系统概述....................................................................................................................
2.2.1 Android系统框架......................................................................................................... 2.2.2 Android应用框架......................................................................................................... 2.3 JSON ........................................................................................................................................ 2.4 本章小结 ................................................................................................................................. 第3章 校园微活动管理平台需求分析 ..............................................................................................
3.1 主要业务流程分析 .................................................................................................................
3.1.1 活动申请业务流程分析 .............................................................................................. 3.1.2 校园活动信息发布业务流程分析 .............................................................................. 3.1.3 校园活动现场报道业务流程分析 .............................................................................. 3.1.4 校园活动反馈信息业务流程分析 .............................................................................. 3.2 系统功能需求分析 .................................................................................................................
3.2.1 系统参与者分析 .......................................................................................................... 3.2.2 系统主要用例分析 ...................................................................................................... 3.3 系统性能需求分析 ................................................................................................................. 3.4 本章小结 ................................................................................................................................. 第4章 校园微活动管理平台的设计 ..................................................................................................
4.1 系统设计目标 ......................................................................................................................... 4.2 系统总体设计方案 .................................................................................................................
4.2.1 系统功能架构设计 ...................................................................................................... 4.2.2 系统逻辑架构设计 ...................................................................................................... 4.2.3 系统物理架构设计 ......................................................................................................
4.2.4 系统数据架构设计 ...................................................................................................... 4.3 虚拟资源调度算法的设计 .....................................................................................................
4.3.1 预处理环节的设计 ...................................................................................................... 4.3.2 执行环节的设计 .......................................................................................................... 4.4 本章小结 ................................................................................................................................. 第5章 校园微活动管理平台的实现 ..................................................................................................
5.1 系统的开发环境配置 ............................................................................................................. 5.2 系统功能的实现 .....................................................................................................................
5.2.1 活动申请功能的实现 .................................................................................................. 5.2.2 信息发布功能的实现 .................................................................................................. 5.2.3 现场转播功能的实现 .................................................................................................. 5.3 本章小结 ................................................................................................................................. 第6章 总结与展望 .............................................................................................................................. 致 谢 .................................................................................................................................................... 参考文献 ................................................................................................................................................
第1章 绪论
学校教育就是全方位发展模式,而作为高校教育的重要组成部分,各种丰富多彩的校园活动越来越受到各方面的重视。校园活动可以拓展学生的眼界,培养锻炼组织者与参与者的能力,提高学校的影响力,因此,有必要对校园活动进行研究,建立高校的管理机制,并研发相应的管理系统,以提高校园活动的管理效率。
1.1 研究背景和意义
加强和发展教育事业向来是我国的基本国策,特别是近年来,素质教育改革对各级学校都提出了较高的要求,特别是在高等教育院校中,各类学生组织的活动团体,利用课余时间举办各类活动,极大地丰富了学生的校园生活[1]。同时,学校根据实际的需求,不定期地举办学术讲座、参观见学等活动,也拓展了学生的视野,取得了较好的效果。但是,随着高校学生数量的不断增加,而教学及活动资源相对有限,目前在活动组织管理方面暴露出来的问题越来越多,主要包括:
1、校园活动数量越来越多,规模越来越大,学校目前的管理模式显得力不从心[2]。校园活动需要占用学校的相关资源,如灯光球场、多功能厅、礼堂等,而这些资源大多是独占性的,目前的管理模式无法及时地更新资源的占用情况,导致不同的校园活动之间相互冲突。同时,学校管理层也没有一套有力的管理平台,实现对众多校园活动的统一管理。
2、校园活动的组织流程较为繁琐,大多数学校采用的是线下申请的方式,组织者需要填写相关的申请材料,提交给学校管理部门审批通过后,才可以进行下一步的活动准备工作。这一方式效率低下,耗费时间较长[3]。
3、校园活动的影响面有限。目前对于校园活动信息的发布主要是基于宣传栏或者发放宣传单的方式,受众面较少,无法有效扩展活动的影响力。有的学校利用校园网的BBS功能,对相关的活动信息进行发布,但也存在着受众目标不明确,效果不佳等问题。
4、校园活动的参与人员范围有限,更多想参与的学生无法参加。某些讲座活动较为热门,但场地的容纳能力有限,仅有部分学生能够参与,更多的学生则无法参加,使活动的资源无法得到充分地利用。
5、校园活动缺乏反馈途径。校园活动在完成以后,对于学生对活动的评价没有有效的路径进行搜集,而从校园网论坛上获取到的反馈信息常常是片面的,不完整的,导致学校无法根据学生的反馈对校园活动进行客观的评估[4]。
校园微活动管理平台能够较好地解决上述问题。平台利用网络的信息共享及交互优势,结合校园微活动的特点,设计开发相应的功能,能够有效地提高学校对校园活动的管理能力,
简化活动审批流程,拓展校园活动的影响力,能够使更多的学生能够参与到校园活动中,并提高互动性。同时,系统利用数据分析处理等技术,能够提高校园活动管理的智能化水平,为用户提供更好的使用体验。校园微活动管理平台的设计与开发具有重要的实用价值。
1.2 国内外研究现状
校园微活动管理平台属于开放式平台,校园内的师生以及管理者都可以登录平台使用其功能,与之类似的平台包括BBS平台等,但两者功能不同,面向的群体也不同[5]。国外对于开发平台的建设和发展较为成熟,以Facebook为代表的开放式平台已经得到了普及,成为网络上主流的交流平台,而国外其他的IT行业巨头,如谷歌、微软等,也相继开发了基于开放平台的产品,并制订和实施了相关战略,从而顺应互联网信息科技的发展趋势[6]。谷歌公司的社交应用平台名为OpenSocial,该平台能够为用户提供日常所需要的主要功能,基于该平台用户可以建立起自身的社交网络,分享文字、照片等内容,并可获取其所需要的信息内容
[7]
。此后不久,微软公司基于Web平台推出了一系列的开放平台应用, 更为重要的是,微软
开入了其旗下主流产品的API,如MSN Search等,并研究发布了相关的开发工具,使更多的开发人员可以基于微软提供的平台,根据自身的应用需求,设计开发出更好地开放平台系统。此外,Flickr,Youtube等互联网企业也纷纷效仿,开放平台的构建逐渐成为互联网的发展趋势[8]。
我国在互联网开放平台的研究和应用方面主要是受到了国外发展的刺激和启示,很多互联网公司利用其在国内互联网领域的资源优势,构建自身的应用平台[9]。其中,新浪公司对其旗舰产品新浪微博进行了升级,增强了产品的功能,使产品更贴近于用户的使用习惯,特别是其对在智能移动终端上应用体验的改进,使新浪微博迅速成为国内互联网博客类信息的主要发布平台[10]。百度公司顺应开放平台的发展趋势,相继开发了众多的应用产品,如百度文库、百度地图、百度导航、百度阅读等,并收购了著名的团购网站糯米网,构建了百度糯米,基于互联网建立起各个领域的开放平台,占据了大量的市场份额。腾讯公司近年来推出了大量的开放平台产品,如腾讯微博、QQ团购等,并开放了部分产品的API,有效地提高了其产品的市场占有率,特别是腾讯公司推出的微信产品,基于移动互联网建立起了一个功能强大的交流平台,满足了用户社交应用的需求,目前微信成为了智能手机终端的标配,用户达到了数亿[11]。其他的互联网企业也推出了其自身的品牌,如人人网开放了其API,构建了开放平台测试版本,受到了用户的欢迎,同时也受到了第三方软件开发商的欢迎,锐易通公司设计了多款微游戏,嵌入到人人网平台,不仅使自身产品的用户数量剧增,而且为人人网也吸引了大量的用户[12]。
在国外,美国学者华勒最早关注“校园活动”这个概念,1932年,出版《教育社会学》,书中第一次提出了“学校\"这个概念,并把它定义为“学校中形成的特别\"[13]。国外的校园活动管理已经比较成熟,一些西方发达国家都建立了具有自己本国特色的校园活动管理,美国
高校校园活动管理的特点有:更加尊重学生校园活动的主体地位、更加注重大学多元的交叉与融合及更加强调和重视对学生创新和实践能力的培养[14]。国外的高校校园形成了一种高校特有的现象,从上个世纪90年代 始成为了一种融合了管理、道德、人文与科技的综合性。国外的高校校园既是国外社会教育变革在高校的折射,同时又具有相对独立性,并影响其所在国家社会的发展[15]。
我国的高校缺乏对校园活动管理的理论研究和系统规划。虽然有部分高校出台了校园活动项目化管理的相关实施办法,但是我国大部分的高校对高校校园活动的管理的认识和研讨不够[16]。加上高校对校园建设由于缺少必要的设计和总体规划。使校园建设在目标、任务、方向、措施、相关人员培训、效果等方面表现出盲目性、临时性、应付性[17]。国内校园活动的研究者对于把项目化管理引入高校校园活动的管理中来,已经并始形成一个研究方向,但是最终还是多半形成在文字上,应该把项目化管理落实到高等院校的校园活动管理中去,形成校园活动管理的一个具体的可操作性模式。
1.3 主要研究内容及章节安排
校园微活动管理平台的构建主要是解决目前校园活动组织难度大,管理不到位,影响力不够,反馈机制不健全等问题。论文主要的研究内容包括:
1、针对目前在校园活动中存在的问题,通过对相关业务流程和参与者的调研分析,充分利用网络的信息传播优势,以及移动智能终端的便捷性优势,基于Android移动平台,设计开发了一套移动化的校园微活动管理平台。
2、针对校园活动宣传力度小,参与人员相对固定,拓展困难等问题,采用微发布技术和自动推送技术,构建校园活动推荐功能模块,根据学生的个人属性,结合其兴趣爱好,主动推送活动信息,一方面扩大活动信息的传播范围,另一方面,也为学生提供了更为广泛的活动信息渠道;
3、针对校园活动的组织需要经过学校管理部门的审批,相关材料准备繁琐,效率低下的问题,采用工作流技术,结合移动终端信息处理,实现活动申请的在线提交、审批,有效地提高了处理速度,同时,审批人员可以通过该功能发送相关注意事项,使申请人可以及时获取相关信息;
4、针对目前校园活动结束以后,很多参与者的意见无法较好收集,无法对活动进行较好总结的问题,设计开发了活动评价功能,采用打分与评价相结合的方式,通过大量的参与者的评分信息,对活动举办是否成功进行评估,并为下一次活动的组织提供指导;
5、针对目前校园活动的参与者有限的问题,采用网络微直播技术,通过照片、视频等方式,对活动的现场进行直播,使更多的学生可以通过网络平台或者移动智能终端,获取现场的活动信息。
6、本文基于需求分析,对校园微活动管理平台进行了系统架构设计,并对系统中的主要
功能模块进行详细设计。在具体的实现过程中,移动终端采用Android技术,后台采用Java Web进行开发,在交互上,通过JSON实现数据信息的表示。通过测试,在无线网络环境下,移动终端资源占用量少,运行稳定,同时后台可以较好地应对大规模的并行访问。
论文的章节安排如下:
第1章为绪论,主要讨论校园微活动管理平台研究的背景和意义,分析了目前在活动管理方面存在的问题,讨论了国内外在开放平台研究建设方面的发展情况,阐述了主要研究内容。
第2章为理论基础和关键技术,主要讨论了校园微活动管理平台设计开发所涉及到的理论和技术,包括管理信息系统理论、Android相关技术等。
第3章为平台系统需求分析,主要是根据软件工程的相关理论和技术的要求,对微活动管理平台的功能和性能指标进行分析。
第4章为平台系统的设计,首先确定系统的设计目标,然后从功能架构、逻辑架构、部署架构等方面进行方案设计,并详细设计了系统的主要功能模块。
第5章为平台系统的实现,利用高级编程语言,结合所选择采用的系统构建技术,详细阐述功能的实现过程,并通过测试用例,验证系统能够在实际应用中发挥良好的作用。
第6章为总结和展望,对课题的研究工作进行总结,分析目前平台系统存在的问题,并指出下一步的研究方向。
第2章 理论基础与关键技术
本课题所研究的校园微活动管理平台主要是在管理信息系统理论的指导下,基于Android平台进行设计开发,后台采用Java EE技术实现校园微活动的服务管理,同时,为了实现移动终端和后台系统的有效交互,在通信中采用JSON表示数据。
2.1 管理信息系统理论
校园微活动管理系统是属于管理信息系统,而管理信息系统是目前在计算机应用领域最为常见的一种方式。管理信息系统中包括操作者、计算机、以及其他的一些外围设备,其主要的作用是以信息作为研究的对象,通过对信息的各类处理,实现系统的主要功能[18]。
管理信息系统的产生是为了解决人们在生产生活过程中出现的各类问题,所以信息系统与社会之间都能够建立起对应的关系。在此过程中,计算机技术是支撑平台,也是信息系统发展的推动力,它在系统的领域,以软件的观点对社会中的关系和对象进行了抽象的表达[19]。社会中的各个对象与管理信息系统中的各个节点相对应,而社会中各对象之间的关联以及交互,则是与管理信息系统中的数据和消息相对应。管理信息系统的作用是利用自动化处理技术提升事务处理效率。
管理信息系统包括很多的内容,在不同的领域有着不同的展现形式,其中较为常用的包括辅助决策系统、工业领域的自动化控制系统、用于机关和企事业单位的办公自动化系统等,同时,作为管理信息系统的支撑,各类模型、方法 、算法等也都是属于管理信息系统的范畴,计算机信息技术自身的发展也给管理信息系统的发展起到了十分重要的促进作用,特别是网络的发展,使管理信息系统在数据交互、资源共享等方面有了更大的拓展[20]。
管理信息系统无论以什么样的形式存在,都需要考虑四个方面的因素,一是信息需求,要求有明确的需求规划,也就是要知道干什么事情;二是信息的可处理性,也就是处理的信息对象要能够被采集和加工;三是能够为操作者提供其所需要的内容,这涉及到了信息反馈的问题;四是可以通过各类方法对系统中的信息数据进行管理。管理信息系统的基础是数据库管理系统,几乎所有的管理信息系统都涉及到对数据的处理,数据库系统负责对数据的持久化操作,而基于数据,可以利用智能的数据挖掘算法等,实现隐藏数据的挖掘处理。
管理信息系统的设计与开发虽然在各个不同的生产、生活应用领域有所不同,但从大体上看,都需要经过以下几个方面[21]:一是对目前的工作流程进行讨论分析,发现目前存在的主要问题,提出基于信息化技术的解决方案;二是制定相关的规章制度,运用科学的方法进行管理;三是对系统不断地进行评估和改进,使其能够更好地满足使用需求。
管理信息系统的设计与开发具有一定的原则,首先是要有创新性,要能够在一些关键点
有所突破;二是要注重整体性,应该根据信息的处理流程,结合各个处理环节,使其能够形成全力;三是超前意识,要综合技术的成熟度和创新性,对系统的功能进行构建;四是经济方面,要贴近工作实际,解决实际的问题[22]。
2.2 Android系统概述
Android是一种基于Linux平台的、开源的、智能移动终端的操作系统,主要使用于便携设备,Android操作系统最初由Andy Rubin开发,主要支持手机设备[36]。2005年由Google收购注资,并召集多家制造商组成“开放手机联盟”对其进行开发改良,并逐渐扩展到平板电脑及其他领域,近年来逐渐成为主流的移动终端操作系统之一。 2.2.1 Android系统框架
Android 是执行于Linux内核之上、一种自由及开放源代码的操作系统。在体系结构上,分为四层,分别是应用层(Application)、应用框架层(Application Framework)、系统运行库层(Libraries)和Linux内核层(Linux Kernel),具体如图2.1所示。
图2.1 Android系统框架
(1)应用层(Applications)
应用层(Applications)是指运行于Android虚拟机上的程序,也就是开发者们平时开发的“手机应用”。在系统应用层里,我们可以通过Android提供的组件和API进行开发,从而编写出形形色色、丰富多彩的移动软件和游戏。
(2)应用框架层(Application Framework)
应用框架层(Application Framework)是Android应用开发的核心,为开发者开发应用时提供基础的API框架。当然,Android本身的很多核心应用也是在这层的基础上开发的。
(3)系统类库层(Libraries)
为了支持上层应用的运行,Android会通过系统类库层(Libraries)中的一些比较底层的C和C++库来支持我们所使用的各个组件或者模块。以下列举一些比较重要的类库的功能,这个部分大家了解即可。
Surface Manager:负责管理显示与存储之间的互动,以及对2D绘图和3D绘图进行显示上的合成。Android中的图形系统实际上采用的是C/S结构,Client端就是应用程序,而Server端是Surface Flinger,Client端通过Binder向Server端的Surface Flinger传输图像数据,最终由Surface Flinger合成到Frame Buffer中,然后在屏幕上显示出来。
Media Framework:Android的多媒体库,该库支持多种常见格式的音频和视频的播放、录制等各种操作,比如JPG、PNG、MPEG4、MP3、AAC、AMR等。
SQLite:Android自带的关系数据库,可用于存储复杂数据。 OpenGL/ES:3D效果库,主要用于3D游戏开发。
FreeType:支持位图、矢量、字体等。
WebKit:Android的Web浏览器内核(和iOS一样)。 SGL:2D图形引擎库。 SSL:安全数据通信支持。
Libc:也就是Bionic系统C库,当前支持ARM和x86指令集。该库非常小巧,主要用于系统底层调用,在NDK中经常会使用到。
(4)系统内核层(Linux Kernel)
Android内核具有和标准的Linux内核一样的功能,主要实现了内存管理、进程调度、进程间通信等功能。就最新的Android内核源码树的根目录结构来看,Android 内核源码与标准 Linux 内核并无不同;但是,经过与标准 Linux 内核源代码进行详细对比,可以发现Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在着不同。当然,了解它们之间的区别对进一步了解Android系统是有很大帮助的,下面我们从几个方面来分析两者之间的异同。
文件系统:不同于桌面系统与服务器,移动设备采用的大多不是硬盘而是 Flash 作为存储介质。因此,Android 内核中增加了标准 Linux 专用于 Flash 的文件系统 YAFFS2[37]。YAFFS2 是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外断电对文件系统一致性和完整性的影响。经过测试证明,YAFFS2 性能比支持 NOR 型闪存的 JFFS2 文件系统更加优秀。YAFFS2对Nand-Flash芯片也有着良好的支持。
进程间通信机制:Android 增加了一种进程间的通信机制 IPC Binder。Binder 通过守护进程 Service Manager 管理系统中的服务,负责进程间的数据交换。各进程通过 Binder 访问同一块共享内存,以达到数据通信的机制。从应用层的角度看,进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需要交互数据的应用程序。
内存管理:在内存管理模块上,Android 内核采用了一种不同于标准 Linux 内核的低内存管理策略。Android 系统采用的是一种叫作 LMK(Low Memory Killer) 的机制,这种机制将进程按照重要性进行分级、分组,内存不足时,将处于最低级别组的进程关闭,保证系统是稳定运行的。同时,Android 新增加了一种内存共享的处理方式 Ashmem(Anonymous Shared Memory,匿名共享内存)[38]。通过Ashmem,进程间可以匿名自由共享具名的内存块,这种共享方式在标准 Linux 当中也是不被支持的。
电源管理:由于 Android 主要用于移动设备,电源管理就显得尤为重要。不同于标准Linux内核,Android 采用的是一种较为简单的电源管理策略,通过开关屏幕、开关屏幕背光、开关键盘背光、开关按钮背光和调整屏幕亮度来实现电源管理,并没有实现休眠和待机功能。目前有三种途径判断调整电源管理策略:RPC调用、电池状态改变和电源设置。系统通过广播 Intent 或直接调用 API 的方式来与其他模块进行联系。电源管理策略同时还有自动关机机制,当电力低于最低可接受程度时,系统将自动关机。另外,Android 的电源管理模块还
会根据用户行为自动调整屏幕亮度。
驱动及其他:相对于标准内核,Android 内核还添加了字符输出设备、图像显示设备、键盘输入设备、RTC 设备、USB Device 设备等相关设备驱动,增加了日志(Logger)系统,使应用程序可以访问日志消息,使开发人员获得更大的自由。 2.2.2 Android应用框架
Android的应用框架是一个庞大的体系,一般来说,Android应用框架中包含四个核心要
点,即活动(Activity)、消息(Intent)、视图(View)和任务(Task)[39]。在这四个要点中,Activity是基础,Intent是关键,View是必要工具,而Task则是开发的脉络。对于开发者来说,只有掌握了Activity、Intent、View和Task这几个核心要素之后,才能够做出多种多样的应用程序。
(1)活动
活动(Activity)是Android应用框架最基础、最核心的内容和元素,每个Android应用
都是由一个或者若干个Activity构成的。在Android应用系统中,Activity的概念类似于界面,而Activity对象我们通常称之为“界面控制器”(从MVC的角度来说)。从另一个角度来理解,Activity的概念比较类似于网站(Web)开发中“网页”的概念。此外,当Android应用运行的时候,每个Activity都会有自己独立的生命周期。
其实,在Android系统内部有专门的Activity堆栈(Stack)空间,用于存储多个Activity的运行状态。一般来说,系统会保证某一时刻只有最顶端的那个Activity是处于前端的活动(foreground)状态。
(2)消息
在Android应用系统中,我们常常把Intent称为消息,实际上,Intent本身还是一个对象,
里面包含的是构成消息的内容和属性,主要属性有:组件名称(ComponentName)、动作(Action)、数据(Data)、类别(Category)、附加信息(Extras)、标志(Flags)。在Android应用中,消息(Intent)的使用方式通常有两种,一是显式消息(Explicit Intent),另一个则是隐式消息(Implicit Intent)。显式消息的使用比较简单,只需要在Intent中指定目标组件名称(也就是前面提到的ComponentName属性)即可,一般用于目标Activity比较明确的情形。而隐式消息则比较复杂一点,它需要通过消息过滤器(IntentFilter)来处理,一般用于目的性不是那么明确的情形,比如应用中的某个功能需要往目的地发送消息,但是却不确定要使用短信发送还是微博发送,那么这个时候就应该使用隐性消息来处理了。
(3)视图
视图(View)系统主管Android应用的界面外观显示,因此也称作Android UI系统,是
Android应用框架中最重要的组成部分之一。Android应用框架的View System包含View和ViewGroup两类基础组件。
(4)任务
简单来说,当在手机的应用列表(Application Launcher)中点击某个应用图标的时候,
一个新的Task就启动了,后面的操作可能会涉及多个应用中不同Activity的界面,而这些Activity的运行状态都会被存储到Task的Activity堆栈(Activity Stack)中去。
2.3 JSON
XML技术作为Web环境下客户端与服务器间数据交换有效负载的数据格式,几乎已经成了Web services的同义词,其主要作用是格式化数据内容。我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据。然而,由于Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object Notation(JSON)。
JSON 作为一种更轻、更友好的数据表示载体或技术,使得读写更加容易易于机器的解析和生成,是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析,这些特性使JSON成为理想的数据交换语言。JSON采用完全独立于语言的文本格式,但是,在实际应用中,JSON支持多语言,包括:ActionScript、C、 C#、ColdFusion、E、Java、JavaScript、ML、Objective CAML、Perl、PHP、Python、Rebol、Ruby和Lua等。
在数据表示上,JSON支持两种数据结构:其一是由key——value对组成的数据结构;其二是有序集合,这种数据结构在不同语言中可能有List、Vector、数组和序列等实现。
2.4 本章小结
本章主要讨论了校园微活动管理平台设计与开发的理论基础和关键技术。管理信息系统理论是系统构建的理论指导,同时介绍了微活动管理的客户端实现技术Android技术和后台服务实现的Java Web技术等,以及客户端和后台服务器交互的数据载体JSON技术。
第3章 校园微活动管理平台需求分析
需求分析是软件系统设计开发的第一个步骤,需求分析首先要对现有的工作业务流程进行分析,找到存在的问题,然后确定系统的参与者,再从系统参与者的角度分析系统所应具备的功能和性能指标。校园微活动管理平台主要是对校园活动进行管理,因此,首先要对目前的管理流程进行分析,然后再对系统的功能和性能需求进行分析。
3.1 主要业务流程分析
校园活动管理主要是根据学校及各类学生团体的活动安排需要,对其流程、内容、参与者等进行管理,其主要的业务流程分析如下。 3.1.1 活动申请业务流程分析
校园活动申请业务流程,主要是由活动的发起者,根据活动的安排情况,向学校的相关部门提出申请的过程。校园活动的举办首先需要场地,如运动场、礼堂等,同时,需要确定参加人员的范围,以及活动举办的时间,上述信息都需要向学校的管理部门进行申报。在目前的管理模式中,活动举办者首先要以书面的形式填写相关的活动举办要素,再提交给学校的管理部门,由管理部门根据活动的规模,以及所需要占用的资源,确定审批的权限,经过审批以后,将结果反馈给活动的举办者。
上述业务流程是目前各个学校举办活动的主要流程,这一流程中存在着较多的问题。一是校园资源占用情况不透明,易导致多个活动之间相互冲突,由于举行活动的校园资源往往具有独占性的特点,而活动的举办者事先并不知道资源是否已经被其他活动占用,造成申请无法被批复;二是申请流程较为复杂,需要填写相关的文档资料,再向管理部门提交,在此过程中,经常会出现材料不齐全,要素填写不明等问题,造成时间上的浪费;三是审批效率低下,学校管理层需要综合考虑各个活动的安排情况,确定不同的审批权限,如果出现相关管理人员不在位等情况,则审批流程会出现停滞。
解决上述问题的有效途径是构建基于网络平台的校园微活动管理平台。基于网络的资源信息共享功能,活动的申请人员可以获取当前校园资源的占用情况,避免出现相互冲突,提高申请的成功率;基于网络平台或者移动终端,填写相关的活动申请材料,由平台系统自动检查材料和填写要素的完备性,正确性,及时出告警提示信息,便于申请者补充修改,有效提高申请效率;基于工作流实现对活动申请的审批,根据活动申请的审批权限,自动向审批者进行发送,学校管理人员可以基于移动办公平台,随时随地完成审批工作,有效提高工作
效率。
3.1.2 校园活动信息发布业务流程分析
校园活动信息发布业务是在活动的举办者获得了活动审批后,将相关的消息在校园内发布,扩大活动知情范围,吸引更多的人参与到活动中。目前对于活动信息的发布主要采用的是集体通知与张榜公布相结合的方式,一方面通过教师、辅导员等向学生传达相关活动的信息,另一方面在学校的公告栏中以海报的形式进行张贴,说明活动的时间、地点、内容等。随着校园网的发展,校园活动信息的发布还可以依托于学校的BBS,使更多的学生能够得到这一信息。
上述业务流程存在的主要问题包括:一是宣传效果不明显,较多的情况下,校内的学生无法及时获取到活动的信息,导致有兴趣参与的学生错过机会;二是没有针对性,采用全覆盖式的宣传方式,对于没有兴趣参与的学生造成一定的困扰;三是宣传的内容形式单一,一般采用平面静态的方式进行宣传,较难吸引学生参加。
为了解决上述问题,可以基于校园微活动管理平台,构建校园活动发布平台,一是可以制作丰富多彩的宣传内容,采用声音、视频等形式,对活动进行深入的介绍,从而吸引更多的学生参与;二是利用数据挖掘技术,基于对学生专业、性别、兴趣爱好,以及参与相关活动的历史数据,进行数据分析处理,从而挖掘出潜在的活动参与者,有针对性地进行活动宣传,从而达到更好的宣传效果;三是可以将多个活动进行集中展示,找提供分类搜索功能,使学生可以根据自身的情况,对所参与的活动进行取舍。 3.1.3 校园活动现场报道业务流程分析
校园活动在举办的过程中,对于活动现场情报的报告也是活动管理中的重要组成部分。目前采用的方式是传统的新闻报道类的报告方式,通常是对活动现场进行摄像、摄影,并通过文字稿件的方式,对现场的情况进行反映。由于传统模式下缺乏有效的现场记录和发布手段,很多参与活动的学生利用微信、微博等方式记录现场的状态,并基于移动互联网进行发布。
上述业务流程存在的问题主要包括:一是对于活动现场的报告具有滞后性,照片、录像、文字材料等一般是在活动结束以后才进行发布,没有参与活动的学生无法及时地获取信息;二是受众的局限性,基于社交软件发布的现场信息仅能够被与发布者相关的人员所获取;三是交互性差,有的讲座等活动,可以通过视频系统进行转播,使更多的学生进行参与,但单向的交流方式,使学生无法及时地对相关的内容发表自己的意见,用户体验不佳。
为了解决上述问题,在校园微活动管理平台中可以构建活动现场实时转播功能。对于较为热门的活动,由于受到校园资源的限制,可能大多数的学生都无法现场参与,而通过实时
转播功能,基于网络平台建立起现场与学生的联系,学生可以通过网络终端或者智能手机终端获取活动的现场情况,并可以及时地发表自己的意见,加强活动现场的互动性。同时,每一个参与者都可以通过手机等对现场情况进行记录,并以各种形式在校园微活动管理平台上展现,其他学生只需要通过该平台就可以获取各个不同视角的活动信息,有效提高参与者的积极性。
3.1.4 校园活动反馈信息业务流程分析
校园活动举办后,学校管理层以及活动的举办者都希望能够及时获取到对于活动效果的反馈信息,这些相关信息主要来自于参与活动的学生,以及关注该活动的学生。管理层和举办者获取相关信息的目的是为了对活动的效果进行评估,掌握存在的问题,为更好地举办类似的活动积累经验。目前校园活动反馈信息的获取主要是问卷调查的方式,定期或者不定期地组织相关学生填写问卷调查表,从而获取相关的反馈内容。基于校园网的BBS功能,也可以收集到相关的意见建议。
目前校园活动反馈信息业务流程存在的问题主要包括:一是反馈信息获取具有片面性,调查问卷的方式自身就具有一定的选择性,如果调查的群体选择不当,会对调查结果产生较大的影响;二是问卷调查具有滞后性,某些情况下无法真实反映实际的情况;三是基于BBS的意见反馈数据较为杂乱,不利于收集整理。
解决上述问题的有效方案是在校园微活动管理系统中设计开发活动反馈信息功能,针对于某一项活动,参与者可以及时地发表自己的感受观点,甚至在活动的进行过程中,也可以对活动进行评价,反馈信息更为准确、深入。同时,可以发起评分活动,以数值的方式量化活动效果的评定,使学校的管理层以及活动的组织者更好地获取真实的反馈意见信息。
3.2 系统功能需求分析
以上对校园活动的主要业务流程进行了讨论,分析了目前存在的问题,提出了解决方案,本节将从系统参与者的角度,对系统进行功能需求分析。 3.2.1 系统参与者分析
在软件工程中,系统的参与者被定义为位于系统边界之外的,与系统之间存在着数据交换与操作指令交互关系的对象。通过分析,确定校园微活动管理平台的参与者包括:活动举办者参与者、学生参与者、学校管理层参与者、系统管理员参与者。详细分析如下。
1、活动举办者参与者分析
校园活动的举办者包括学校相关部门的人员,也包括各类学生团体组织的负责人,其主
要工作是负责活动举办各方面的协调、联络、组织等。活动举办者参与者主要是利用系统实现对自身所组织活动的管理,利用平台系统的功能提高活动的管理效率。该类参与者希望系统能够提供校园资源状态查询功能,可以将学校内礼堂、球场、音乐厅等资源的占用情况以及占用计划进行数据共享,从而在活动申报之前就能够获知相关情况;希望系统能够提供活动申请的在线填写与提交功能,能够基于网络平台提交相关材料,系统应能够对提交的材料和主要的要素进行检查,及时发现问题,发出警告信息;希望系统能够提供活动信息发布功能,能够在线发布活动的宣传资料,在平台提供的活动展板中建立活动条目;希望系统能够提供数据分析和挖掘功能,基于学生的静态信息,以及其所参加相关活动的历史动态信息,分析学生的兴趣域,有针对性地将活动信息发送给学生,提高活动宣传的准确性;希望系统能够提供活动反馈信息的搜集和分析功能,能够自动地对参与者的评分进行统计计算,能够对反馈中的关键词进行统计分析。
活动举办者参与者的用例图如图3.1所示:
图 3.1 活动举办者参与者用例图
2、校园活动参加者参与者分析
校园活动的参加者也是平台系统的主要参与者,该类参与者包括学校内的学生,也包括教职员工。该类参与者主要是利用系统实现对相关活动信息的获取,并在活动举办时及举办后发表相关的内容。该类参与者希望系统能够提供用户注册和登录功能,注册时能够填写相关的个人信息,包括年龄、专业、性别等,以利于系统对其基本资料的分析,更准确地推送活动宣传信息;希望系统能够提供活动查询参与查询的信息记录及处理功能,根据用户参与活动的历史数据,参与数据挖掘操作;系统应能够提供活动信息的分类展现功能,根据不同类型的活动内容,对活动的信息进行分类展现,以利于参与者的查看;系统应能够提供活动的查询功能,可以通过组合条件查询的方式,准确查找到用户所希望获取的结果;希望系统能够根据参与者的静态属性信息,以及活动参与的历史信息,提供智能化的活动推荐功能,将用户有可能感兴趣的活动以推荐信息的方式进行推送,提高用户的使用体验;希望系统能够提供活动过程中记录功能,能够利用智能移动设备,通过小视频、照片等形式对活动现场的情况进行发布,所有的参与者发布的信息都将在平台系统中归类到该活动条目中;希望通过系统可以实现对活动效果的评分和评价功能,并在平台中发布。
校园活动参与者的用例图如图3.2所示:
图 3.2 校园活动参与者用例图
3、学校管理层参与者分析
学校管理层参与者主要是指学校中与审批管理活动相关的人员,一般是由教务部门的相教师担任,其主要工作是对校园活动进行审批,同时,对活动的效果进行评估。该类参与者希望系统能够提供在线申请审批功能,用户可以在线获取申请资料,按照活动的审批权限,自动选择审批流程,并按照工作流节点的定义,自动进行审批申请材料的流转;系统能够对审批的结果信息进行处理,如果同意,则转入下一个处理节点,如果不同意,则将审批结果
直接返回给用户;希望系统能够提供活动反馈信息的统计汇总功能,既可以对某个活动进行信息汇总分析,也可以对多个活动的情况进行对比分析,并提供排序等功能;希望系统能够提供活动的总体管理功能,以列表的形式展现待审批的活动,以及已审批的活动,显示活动当前的状态;希望系统能够提供辅助决策功能,对于资源和时间上冲突的活动,具备自动调整功能,并向管理人员提出建议。
学校管理层参与者的用例图如图3.3所示:
图 3.3 学校管理层参与者用例图
4、系统管理员参与者分析
系统管理员参与者是指对校园微活动管理平台进行配置、维护、管理等操作的人员,该类参与者主要是希望系统能够提供一套系统管理功能,以提高参与者的工作效率。系统管理员参与者希望系统能够提供系统运行状态信息的获取功能,能够及时地反映目前的在线人数、服务器的压力、网络吞吐量等信息,当数值超过阈值时,自动发出报警提示,以便于管理员及时处理;希望系统能够提供基于角色的用户权限管理功能,能够自定义用户角色,并对角色赋予不同的权限组合,再将每一个用户划归到不同的角色组中,角色中的用户自动获取该角色所拥有的权限;希望系统能够提供系统配置功能,能够对平台系统中的各类参数进行配置,特别是对数据分析处理算法的配置;希望系统提供对数据库的管理功能,能够进行备份、恢复数据库操作,以维护数据的安全。
系统管理员参与者的用例图如图3.4所示:
图 3.4 系统管理员参与者用例图
3.2.2 系统主要用例分析
以上分析了校园微活动管理平台的主要参与者,对于不于角色的参与者分析了其主要的用例。用例是参与者利用系统完成某项工作的动作序列组合,对于用例的分析可以明确系统的主要功能应用步骤,可以更好地对系统功能的设计开发进行指导。本节将对校园微活动管理平台中的主要用例进行详细讨论。
1)活动申请业务用例分析 用例名称:校园微活动申请用例 主要参与者:校园微活动组织人员
用例目的:参与者通过该用例,完成微活动的申请,取得举办的资格 前置条件:用户登录系统
后置条件:用户获取到微活动举办的审批信息 用例过程:
1、用户通过用户名和密码登录系统,系统给出微活动管理主页面; 2、用户点击进入微活动申请功能,系统返回申请信息填写界面;
3、用户点击查看近期的校园活动安排,系统以列表的形式返回活动的信息,包括活动的时间、地点、组织者、面向的对象等。
4、用户根据目前的校园活动安排情况,对所申请的校园活动进行调整,从而保证与其他活动不发生冲突,并将相关的申请信息以及申请材料的电子文档,通过系统进行填写和提交,系统接收到用户提供的信息后,对照校园活动申请的各要素进行检查,如果出现问题则及时地发出报警信息。
5、用户根据系统所返回的信息对上报的材料进行修改,直到系统通过初步的材料完备性审核,系统将相关的信息保存到数据库,并进入到校园活动审批流程中。
6、校园活动审批完成以后,系统将相关的结果信息返回给用户。
校园活动申请用例的业务流程中可知,微活动的组织者在提出相关的申请之前,需要对校园内的活动基础资源情况进行了解和掌握,以避免出现冲突等情况,因此,在系统中必须要设计相关的资源监控模块,对于一些独占性的资源使用情况进行记录。
2)发布活动信息用例分析 用例名称:发布校园活动信息用例 主要参与者:校园活动的组织者
用例目的:校园活动的组织者通过该用例实现校园活动信息的公开发布以及有针对性的推送。
前置条件:用户登录系统
后置条件:用户完成校园微活动信息的发布 用例流程:
1、校园活动的组织者登录系统,系统根据用户的登录身份返回其页面;
2、用户点击校园微活动发布功能,系统返回活动发布信息界面,该界面中以统一的格式设计了微活动的发布模板;
3、用户从下接列表框中选择已经获得批准的校园微活动项目,系统自动对活动的相关信息进行读取,并填写到信息发布模板中;
4、用户对剩余的模板信息进行填充,包括设置活动的类型,主题词,目标参与人群等,同时,勾选实施智能推荐的复选框,点击确定,系统保存用户录入的信息以及相关的设置信息。
5、系统根据用户的设置将活动的内容在系统中进行发布,同时,根据用户的设置情况,对活动的主题、关键词等进行处理,采用相关的智能推荐算法,向有可能感兴趣的学生进行活动信息推送。
从以上校园活动发布用例的分析可知,在活动信息发布的过程中,应可以采用文字、图片、视频等多种发布形式,以提高信息的立体感和丰富性。此外,不同的学生对于不同内容和主题的活动兴趣度也不同,根据其以往参与过的活动主题,结合本次活动的主题及内容设置,进行快速高效的匹配,可以有针对性地对信息进行推送。
3)现场报道数用例分析 用例名称:活动现场报道用例 主要参与者:校园活动的参与者
用例目的:参与者通过该用例实现对活动现场相关情况的发布 前置条件:参与者通过移动终端登录系统平台 后置条件:参与者完成活动现场相关情况的网络发布 用例流程:
1、参与者通过智能终端登录系统,系统根据登录用户的身份返回相关的功能页面 2、参与者点击活动查找,系统自动列出当前本校园内正在进行的校园活动,以及未来姨段时间内的校园活动,按照时间由近到远的顺序进行排列。
3、参与者选择目前其自身所参加的校园活动,系统返回活动情况界面,在该界面中,可包括活动现场的实况转播,同时发布其他相关活动参与人员所发布的信息。
4、用户点击发布活动信息,系统进入到活动现场信息发布界面。
5、用户可以选择利用文字、图片、视频等多种方式进行现场情况的发布,完成后提交给系统,系统接受用户提交的信息,保存到数据库的同时,在系统平台上进行发布。
活动现场情况发布用例中可知,校园微活动管理平台需要构建智能移动设备端的应用平台,并可以实现在线的流媒体发布,流媒体发布功能可应用于活动现场视频的转播,也可应用于用户视频数据流的发布。
4)在线提交反馈信息用例分析 用例名称:在线提交反馈信息 主要参与者:校园活动的参与者
用例目的:参与者希望通过该用例实现对校园活动的总体评价 前置条件:参与者登录校园微活动管理平台 后置条件:参与者完成对校园活动的评价 主要流程:
1、用户登录系统,系统返回校园活动参与者的应用界面; 2、用户选择校园活动评价功能,系统给出校园活动的所有列表;
3、用户填写校园活动的关键词,点击搜索,系统在数据库中进行查询,返回所有满足条件的搜索结果。
4、用户选择需要进行评价的校园活动,采用评分、投票、评论等方式对某次校园活动进行评价,并点击提交,系统对用户提交的信息进行保存,写入到数据库,并在系统平台上进行发布。
在线提交反馈信息用例的分析过程可知,系统应开发具有投票、星级评定、评分、评价等功能的软件构件,同时,需要建立基于文字的关键词搜索统计功能,从而可以从用户提交的评论中获取、分析数据,对活动的举办情况进行客观的评估。
3.3 系统性能需求分析
系统需求分析包括功能和性能两个方面。性能需求分析主要考虑系统功能在运行过程中能够达到指标,对于一个完备的系统而言,性能需求分析十分重要。
1、易用性指标分析。校园微活动管理平台设计与开发的目的是为了提高校园活动的管理效率,为不同的参与者用户提供实用的功能,所以系统必须贴近实际的应用流程,尽量符合用户的操作习惯,真正做到帮助用户提高活动参与和管理效率。同时还应该考虑到不同操作者的计算机水平不同,在系统的设计时要注重易用性,使大多数的使用者都可以较好地使用系统。
2、可扩展性指标分析。校园微活动管理平台目前的设计是以当前需求为目标的,但是由于校园活动管理的相关规定、内容、形式等都在不断地发生变化,以适应活动管理的要求,为了更好地对活动进行管理,必须要考虑到系统的扩展性问题,要达到增加新功能模块时不会对原有系统架构和功能模块造成太大影响的目标,同时又能够根据实际需求的变化对系统的功能进行扩展。
3、系统健壮性指标分析。系统的健壮性也包括系统的稳定性,功能强大的系统如果在运行的过程中时常出现问题,也会对用户造成较大的困扰,所以必须要提高系统的稳定性。同时,用户在对系统进行操作时,由于各种原因会进行误操作,或者输入错误的数据等,系统应能够对这些情况进行处理,系统应保证个别模块出现问题不会对其他模块造成影响。
4、系统安全性指标分析。由于校园微活动管理系统中存储着大量学生的个人信息数据,以及相关的活动参与情况数据等,所以系统必须建立完备的安全机制,保证操作用户身份的合法性,杜绝越权操作情况的出现。同时,计算机病毒以及黑客等都会对系统中数据的安全性造成影响,系统必须有针对性地采取措施,提高系统的安全性,使其能够应对大多数的病毒和网络攻击。
3.4 本章小结
本章主要讨论了校园微活动管理平台的需求分析。首先对校园活动管理的业务流程进行了分析,重点是分析目前流程中存在的问题,并结合信息化技术提出解决的方案。然后从系统参与者的角度进行分析,给出了不同参与者的用例图,为了更好地对系统的功能进行规划,对于主要的用例进行了详细的分析。最后,按照实用的标准,对系统的主要性能指标进行了讨论。
第4章 校园微活动管理平台的设计
校园微活动管理平台的设计是基于上一章的系统需求分析,系统的主要功能和关键性能确定了系统的总体架构方案,以及功能模块的划分。本章首先分析系统设计的主要目标,然后对系统的总体架构进行设计,最后对系统实现过程中的关键技术进行分析和设计。
4.1 系统设计目标
校园微活动管理平台设计和构建的主要目的是为校园活动的管理提供一套实用的软件工具,使参与校园活动的不同人员可以基于该平台提高工作效率,使校园活动能够更好地举行,同时,校园活动的参与者可以更好地与活动进行互动,提高用户的关注度。校园微活动管理平台的设计目标如下所示:
1、构建一套功能齐全、结构清晰的活动管理平台。系统应能够根据实际的使用需求将功能划分为不同的子系统,每一个子系统包括一组相关的功能模块,不同的功能模块之间应有联系,协同完成活动管理中某一方面或领域的工作。系统功能流程的设计应与工作流程的规范相一致,以提高系统的实用性。校园微活动管理平台将原本需要人工处理的业务流程利用计算网络、数据库技术、智能处理技术等进行管理,从而提高整体的效率
2、构建一套性能优良的校园活动管理平台。校园活动管理平台应具备较高的可靠性,能够长时间正常工作,能够应对和处理短时间内高并发量的业务请求和数据存取操作;应具备较强的可扩展性,保证用户可以根据实际的需求对数据集节点等进行灵活的添加和配置;应具备较强的健壮性,系统中某些节点的失效和故障不应对整个系统的正常使用产生影响。由于校园微活动管理平台需要对全校的活动进行管理,用户并发访访问量比较大,对于平台服务器处理系统的处理能力有较高的要求,而且,根据下一步的研究发展规划,计划对系统进行扩充,使其能够对多所高校的校园管理活动进行管理,这就要求管理平台的性能方面达到更高的标准。
3、构建一套具备一定智能化程度的校园活动管理平台。校园活动管理平台中存在着大量的数据,对于这些数据的处理和挖掘,可以得到有用的信息,从而提高系统的智能化程度。校园活动管理平台的智能化表现在:一是利用个性化技术,针对于不同登录者的身份,返回其所常用的功能;二是根据用户的校园活动历史参与数据,向其自动推送校园活动的宣传信息,使推荐更具有针对性;三是通过评估模型对活动参与者的反馈意见进行处理,从而对活动举办得是否成功有客观的评价。
4、构建一套安全的校园活动管理平台。校园活动管理平台的安全性应表现在多个方面,首先是使用权限的控制,系统能够根据用户的身份向其开放系统的使用功能,保证系统不被
越权使用;第二是操作系统的安全性,应安装相关的杀毒软件和防火墙;第三是保证数据的安全性,这也是最为重要的一个方面,数据是校园微活动管理平台中最重要的资源,系统应能够提供针对活动管理特点的安全方案。
4.2 系统总体设计方案
基于系统的需求分析,并以系统的设计目标为指导,对校园微活动管理平台总体设计方案进行讨论。该系统的总体设计方案包括三个不同的角度,分别从平台所提供的功能,平台的开发架构,以及平台的部署方案,对系统的总体方案进行设计。 4.2.1 系统功能架构设计
校园微活动管理平台为四种不同角色类型的用户提供了其所需要的功能,分别是校园活动的组织者、活动参与者、学校管理部门、系统管理员,针对不同的参与者,活动管理平台分别构建了功能使用模块,分别是组织管理模块、活动参与模块、审批管理模块、系统管理模块,如图4.1所示:
图 4.1 系统功能架构设计图
如上图所示,校园微活动管理平台的四个模块为不同的参与者提供了其所需要的各类功能。组织管理模块主要是为活动的组织者提供活动从申请到评估的所有功能,该模块中的主要功能包括:活动申请功能,用于活动的组织者向学校管理部门提出活动举办的申请,在申请过程中,组织者可以通过系统查看到活动所需相关资源当前的被占用情况,以及其他活动的计划安排情况,并可在线填写活动相关信息,提交所需要的申请材料,系统自动对资料进行初步审核,并提交给相关管理人员进行审批;活动宣传功能,用于活动的组织者基于系统,通过文字、图片、视频等多种形式对活动的信息进行在线发布,同时,利用智能推荐算法,将活动信息推送给有可能感兴趣的学生邮箱;反馈信息获取功能,用于活动组织者从系统中获取活动参与者对于该次活动的评价信息,意见建议等,使组织人员可以更好地对活动进行完善和改进。活动参与模块主要是为活动的参与者提供相关的操作功能,使参与者可以通过平台获取所需要的信息,并发布活动的现场信息,最后对活动进行评价,该模块的主要功能包括:注册登录功能,用于参与者注册个人信息,其主要的目的是通过注册信息获取参与者的个人静态属性信息,如所在的专业、个人的兴趣爱好等,为活动信息的推荐提供数据分析的基础;查询活动信息功能,用于活动参与者根据自身的兴趣爱好,基于系统获取到相关活动的举办情况信息;获取推荐信息功能,用于根据学生的静态信息以及以往所参与过的活动信息,获取系统自动推送的校园活动宣传信息;报名功能,用于活动参与者以最简便的方式向活动的组织者提出报名请求;活动现场报道功能,用于活动参与者在本次活动的专栏中以不同的形式发布活动现场的情况,并交流讨论;活动反馈功能,用于活动的参与者根据在活
动进行的过程中或者结束后,发表自身的建议意见。审批管理模块,主要是为学校管理部门的相关人员提供对活动审批、评估等业务流程进行管理的工具,主要包括:在线审批功能,用于对活动组织者提交的活动申请材料进行审核和审批;获取活动状态功能,用于对校园内所有已进行的,正在进行的,计划进行的校园活动进行总体管理;获取校园活动评价功能,采用投票、评分等功能,收集反馈信息,用以对校园活动进行客观的评价;活动自动安排功能,用于由系统提供的活动编排算法,根据提出申请活动的需求,结合目前学校资源的占用情况,给出活动安排的初步方案。系统管理功能模块主要是为系统管理员提供的操作平台,主要包括:配置系统运行参数,例如配置系统应用服务器的连接地址,数据服务器的连接字符串等;用户管理,增加、删除、更新用户信息,对用户的权限进行设置;数据库维护管理,对数据进行备份、恢复等操作。 4.2.2 系统逻辑架构设计
校园微活动管理平台采用分层的逻辑架构模式,不同粒度的构件被划分到不同的层中,达到相互之间解耦合的目的。采用分层逻辑架构的目的是为了达到性能需求分析中的可扩展性和可维护性指标,具体的设计方案如所示:
图 4.2 系统业务逻辑图
如图4.2所示,系统分为界面层、控制层、业务逻辑层、数据访问层。界面层主要是系统和用户之间的操作接口,负责用户数据和操作的输入,并将系统处理的结果返回给用户,该层包括系统功能架构中所设计各子系统的用户界面;控制层是界面层和业务逻辑层之间的接口层,其主要作用是根据配置文件的信息,将用户的请求发送给业务逻辑层的处理构件,并将业务逻辑模块处理的结果在指定的界面中显示;业务逻辑层中包括了多个业务逻辑功能模块,实现活动管理系统的各个功能,该层又包括多个子层,采用面向服务的架构模式,将业务逻辑功能的实现模块部署在应用服务器上,并向外发布统一的访问地址,控制层根据用户的操作,调用服务地址接口并传输相关的参数,最后接收返回的结果,在业务逻辑层的Web服务实现中,还需要调用粒度更小,通用性更强的软件,为业务逻辑功能的实现提供支撑;数据访问层主要实现对底层数据库中数据的存取、查询等功能,它向业务逻辑层提供了数据访问的功能接口,业务逻辑层在运行过程中根据需要,调用这些功能接口实现对数据的操作。
校园微活动管理平台的界面层包括基于电脑操作的系统界面,以及基于智能移动终端的界面。分层架构的模式将界面层与其他业务逻辑层分开,通过指令和数据进行关联交互,而在界面层可以根据不同平台的特点构建界面应用程序,在电脑端,可以于浏览器构建系统,而在智能移动终端上,则通过app的方式进行开发。这也体现出了分层逻辑架构方法灵活的特点。
4.2.3 系统物理架构设计
系统部署架构设计是从物理部署的角度对系统的总体框架进行分析,培训机构培训平台为了能够为地理上离散的多个参与者提供相关的服务,在部署架构的设计上采用的是分布式的架构模式,具体设计方案如所示:
图 4.3 系统部署架构图
校园微活动管理系统部署于相对独立的一个内部网络中,系统逻辑架构设计中业务逻辑层的各类功能软件构件大多被部署于应用服务器中,由主功能服务器实现对其的调用;数据库服务器中存储着各类系统所需要的数据,通过部署于应用服务器中的数据库统一访问构件实现对数据的管理;校园微活动管理系统功能服务器主要以Web的方式发布系统的主要功能操界面,具体实现系统逻辑架构中的用户接口层;其他管理系统服务器也连接与校园微活动管理系统网络中,用以为校园微活动管理系统提供数据支撑,或者从本系统中获取所需要的数据。内部网络中的管理员实现对培训机构网络培训系统各功能的配置工作。为确保内部资源的安全性,通过防火墙与校园网隔离。校园微活动管理系统的各类用户均可以通过互联网络对系统的功能进行访问和操作,由于系统采用的是基于浏览器/服务器的开发与部署方式,因此,任何一台安装了Web浏览器的可上网电脑均可以实现对系统功能的正常使用。此外,考虑到当前平板电脑、大屏幕智能手机等智能终端的应用越来越广泛,系统还支持通过无线网络的接入访问,进一步方便用户的使用。
关系数据库管理系统采用的是MySQL数据库管理系统,利用关系数据表的构建,实现对规范化数据的存储。关系型数据库具有数据存取简单,查询效率高等特点,并可以利用SQL语言进行深入应用,或为数据挖掘提供数据基础。而利用XML文档进行关结构化数据的存储是目前较为常用的一种数据持久化方式,利用XML文档可实现自我描述的特点,以及可自定义标签的优势,构建与被存储数据相同的存储结构,从而保证数据交换的高效性。由于XML数据的读取和写入涉及到对文件的输入输出操作,所以从性能角度考虑,不适合用于存储大量的,需要频繁读写的数据, 4.2.4 系统数据架构设计
校园微活动管理系统中包括很多数据,这些数据被存储到数据库中,并为系统功能的完成提供支撑。系统的数据库表主要包括:活动信息数据库表、参与学生数据库表、反馈信息数据库表等,具体设计如下:
1、活动信息数据库表设计
校园活动信息数据库表中主要记录活动的基本情况信息,从而为活动的申请、宣传等功能的实现提供数据支撑。数据表结构设计如所示:
表 4.1 活动信息数据库表
名称 编号 活动名称 描述 费用 类别 地点 主要内容 组织单位 时间
字段 ID Name Descript Fee Type Adress Point Corp Time 类型 int varchar longtext int varchar varchar varchar varchar date 大小 8 20 1000 8 20 100 20 20 可否为空 否 否 否 否 否 否 否 否 否 是否主/外键 主键 外键 2、活动参与者数据库表设计
活动参与者主要是指参与活动的学生,该数据表用于对其基本信息进行记录,以利于相
表 4.2 活动参与者数据库表结构
关的活动信息能够更好更准确地进行推送。具体的数据表结构设计如所示:
名称 编号 姓名 身份证号码 性别 电话 专业 评价 历史参与 计划参与 兴趣爱好 时间 字段 ID Name Sex Phone Descript History Book Interest Time 类型 int varchar varchar varchar longtext varchar int varchar dateTime 大小 8 20 20 4 20 20 1000 100 8 200 8 可否为空 否 否 是 否 否 否 是 否 否 是 否 是否主/外键 主键 外键 IDNumber varchar Profession varchar 在活动参与者信息表中,历史参与信息中记录着该客户曾经的校园活动参与记录,如果有多次参与记录,则在数据录入时以分号隔开。本次计划参与字段中记录着目前用户计划参与的活动ID。这两个字段中都记录着活动信息表中记录的主键ID,所以是用户信息表的外键。在兴趣爱好中,记录着用户在注册时所选择的兴趣类型,在具体的实现过程中,采用复选框的形式,提高数据的规范性。根据用户信息表中提供的信息,可以对其进行智能化数据处理。
3、反馈信息数据表设计
反馈信息数据库中主要记录的是活动的参与者对于某次活动的反馈和评价信息,用于活
动的组织者和管理者及时对活动的反馈信息进行处理。反馈信息数据表设计如所示:
表 4.3 反馈信息数据表结构
名称 记录编号 发布者ID 活动ID 星级 评分 评价 时间
字段 ID PublishID ActiveID Class Score Remark Time 类型 int int int varchar varchar varchar dateTime 大小 8 8 8 10 20 200 8 可否为空 否 否 否 否 否 否 否 是否主/外键 主键 外键 外键 反馈信息数据表中记录着活动参与者对于活动的相关评价信息,该表中一个主键和两个
外键,主键是反馈信息的 编号,外键是该条反馈信息针对的发布者ID和活动ID,以便于统计分析功能的实现。
4.3 虚拟资源调度算法的设计
校园微活动管理系统的一个重要功能是实现了对活动现场的视频转播功能,使无法参加活动的人员可以通过系统的转换功能获取活动现场的信息。为了提高性能,基于Linux系统构建了虚拟资源调试平台,并通过算法的设计,对资源进行合理分配,实现该功能。
对于虚拟资源的调度,主要是根据用户对活动现场点播的需求情况和当前系统的运行负载情况,合理地对虚拟资源进行分配,以达到为更多的用户提供高质量视频点播服务的目的。系统中对于各类活动现场视频资源的点播统计信息都被存储在关系型数据库中,在具体处理时,可以通过SQL语言实现对所需要数据的实时提取。在算法构建过程中,需要对物理计算机节点的中央处理器CPU和虚拟机的中央处理器vCPU进行控制,总的调度流程共分为三个操作环节,包括预处理环节、执行环节、收尾处理环节。
预处理环节:该环节的工作主要包括三个部分,一是对当前活动视频点播的请求量统计,计算所需要的资源,可通过对数据库记录的实时读取得到;二是对当前虚拟集群中的节点资源的使用情况以及系统的整体负载情况进行监视,可通过系统资源调度模块中的系统资源监视功能得到;三是基于上述数据,通过所构建的预测模型,计算虚拟中央处理器在未来一段时间内的使用情况,以及对视频资源的请求趋势。
执行环节:该环节具体执行虚拟资源调度分配工作。首先将上一环节预测的结果与系统测定的阈值进行比对,然后决定是否启动虚拟资源调度流程,实现对重点活动现场转播服务的支持,同时维持整个系统的负载平衡。该环节执行过程中,其预测结果信息以及系统测定的阈值信息都将被保存到校园网络电视系统数据库中,以利于相关人员回溯和分析。
收尾环节:完成对虚拟资源的调度和分配工作,向系统中其他的组件发送相关的结束信号,各组件接收到信号后启动复位流程,并进入到下一个处理周期。
基于预测的资源动态调度算法流程如所示:
表 4. 4
图 4.4资源动态调度流程图
4.3.1 预处理环节的设计
预处理环节需要考虑的问题如何获取当前视频转播的数据信息、系统运行负载信息,以及如何构建资源使用的预测模型。同时,从性能角度,还需要考虑数据获取的速度、预测算法的执行速度,以及预测流程与执行环节之间的时间间隔问题。在校园活动视频转播的过程中,用户对于视频资源的各类操作数据都将被保存到系统数据库中。同时,由于系统运行负载的数据实时变化较快,所以在系统的设计过程中,引入了内存文件的技术,用以记录快速变化的资源负载信息,以提高存取的效率。课题在预处理环节的设计中,主要实现了数据获取模块、数据处理模块、预测执行模块。其流程如所示:
图 4.4 预处理环节流程图
如上图所示,数据获取模块通过部署于各个客户端主机上的Agent程序收集当前实现的资源消耗情况,然后在数据处理模块对获取的数据进行统一处理,转换为被预测算法接受的度量数据值,最后由预测执行模块实现对输入数据的处理,给出预测结果。
1、数据获取环节
数据获取模块采集的信息主要是各物理服务器节点上的实时动态数据,主要有中央处理器的负载情况、节点内存使用情况、网络带宽数据等。为了对数据进行采集,构建了三类采集Agent,分别部署于各服务器节点、接入节点、数据服务器节点。服务器节点Agent对服务器中的各类指标进行周期性的定量采集,得到各要素的数值;接入节点Agent采集用户的视频点播请求信息,包括点播时间、服务号、点播视频ID、提供服务的虚拟机信息等,这些数据是对用户操作进行预测的基础。数据获取模块的结构如所示:
图 4.5 数据获取模块结构图
2、预测模块
基于Linux虚拟技术的流媒体视频服务部署于各虚拟机上,由虚拟机资源实现视频数据的分发,因而虚拟中央处理器vCPU的使用情况是影响到服务质量的一个重要因素。同时,虚拟机承载于物理服务器节点上,而目前的处理服务器节点处理器基本上都具有多核多线程处理能力,所以还需要考虑到其并行运行的指标。在视频服务运行的过程中,并不是所有的视频资源都被平均地调用,很多情况下,大多数的点播集中于小部分的视频文件,所以,在服务资源有限的情况下,如果将大多数的资源分配给较为密集的服务请求,则会从总体上提高服务的效率。基于上述三点的分析,构建资源需求的预测模型,主要包括两个部分。
(1)对未来一段时间内vCPU利用率的预测
记虚拟中央处理器在t时刻的利用率为Uvcpu(t),则根据中央处理器的时间片组成,考虑系统模式下的中央处理器消耗时间ts,用户模式下的中央处理器消耗时间tu,输入输出数据交换过程中的等待时间tio,外来中断的处理时间tirq,系统内部的软中断处理时间tsi,系统空闲的时间tidle,则可以得到等式4.1:
Uvcpu(t)tutstiotirqtsittotal1tidle 式4.1 ttotal利用数学中的拼贴定理,以及数值计算中的分开插值方法对上式进行分析和处理,可以得到一般的预测模型如式4.2所示:
Uvcpu(t)t1i1wi(L) 式4.2
其中的wi是利用统计学原理得到的仿射变换,而L值为时间轴上之前所有监测数据值的集合。
除了考虑中央处理器自身的工作状态以外,由于操作系统对于任务的调度是基于进程队列的,所以还要考虑到进程状态的变化问题,特别是在对小时间间隔内的资源数据计量统计时更是如此。为了消除这一影响,对于虚拟中央处理器占用率的计算需要通过加权平均的方式进行处理,如式4.3所示:
Uvcpu(t)(1)Uvcpu(t1)Uvcpu(t) 式4.3
式中的是权值,其取值范围为[0,1],用于控制历史虚拟中央处理器占用率数值在当前占用率预测中所占的比重。的值根据实际需求的不同可以动态调整。
虚拟节点在运行时需要将虚拟中央处理器的任务分配到实际物理中央处理器的各个线程上去运行,也就是虚拟中央处理器需要得到物理中央处理器的支持,因此,对物理中央处理器利用率的预测也是重要因素之一,利用中央处理器的并行度对此进行度量。设Qcpu为物理中央处理器的并行度,则有如下等式:
Qcpulvq/nvcpu 式4.4
式4.4给出了单个物理中央处理器并行度的计算方法,其中lvq为所有虚拟节点中央处理器中当前所有进程的总长度,而nvcpu为当前所有的虚拟中央处理器个数。
(2)虚拟节点对点播次数高视频资源发出请求的概率预测
通过数据库Agent可以得到点播次数最高视频文件的统计数据和排名,而在某个时间段内对于这些视频资源发出请求的虚拟节点即为重点节点,在资源有限的情况下,需要优先对这些虚拟节点提供支持,以保证整个过程系统的服务质量。以齐次离散马尔科夫链对该过程进行建模和分析,基于虚拟节点的历史数据,利用统计学方法得到相邻两个周期内虚拟节点对于某一视频文件发出请求转移概率记为pij,(i,jE),据此可得第k步转移率,该值可用矩阵PkP1(k)来表示。由此,某一用户对于某个视频在未来k个时间间隔里进行点击的概率向量为:
(k)P(tk)P(t)PkP(t)P 式4.5 1通过对初始概率向量的设置,以及对历史用户点播数据的分析,可以得到对未来t时刻用户点播行为状态的公式,如式4.6所示
P(t){P(Xtx1)W1,P(Xtx2)W2,...,P(Xtxn)Wn}(2)n{PP(t1)W,PP(t2)W,...,P11121P(tn)Wn} 式4.6
式4.6中的Pi表示的是转移概率矩阵,Wi为权值,与被点播频率较高的视频文件相关,且满足式4.7:
nWi1i1 式4.7
对于虚拟节点请求概率矩阵P(t)而言,矩阵中的每一个维度都代表虚拟节点下一步有可能出现的状态,而概率值最大的状态即是最有可能出现的状态。 4.3.2 执行环节的设计
系统中的资源调度与分配过程主要包括对虚拟节点的资源调整以及虚拟资源的迁移过程。在本方案的设计中,对虚拟节点的资源分配主要是考虑中央处理器节点,具体采用的方法是对物理内存页和vCPU的在线分配。
1、对虚拟节点资源的调整过程
在预处理环节中得到的不同虚拟节点在未来一段时间内对资源的需求预测,与系统设置的阈值进行对比,以决定是否需要对当前资源分配状态进行调整。如果系统发出了调整指令,则虚拟集群采用两种方式进行资源的重新分配:一是基于物理页的调整,该方法可以实现细粒度的调整方案,可以将某一物理中央处理器资源的一部分分配给某一虚拟节点,从而提高硬件资源的利用率;二是基于物理中央处理器的在线插拔机制,其特点是调整响应速度快,调整的效果明显。
具体调整步骤如下:
Step 1:判断是否达到调整阈值,如果达到,则发起调整指令
Step 2:根据资源调整的要求,对物理中央处理器的状态进行设置,其状态主要包括其运行的级别,具体操作任务,调整目标的ID等。
Step 3:采用快增慢减的方式对资源进行调整。由于视频点播需要中央处理器进行大量操作,当需要增加资源时,通过中央处理器在线插拔的方式快速增加处理能力,而在减少资源处理时,则采用基于物理页的操作方式,使资源逐步得到释放,从而使整个系统的中央处理器节点尽量处于平衡的工作状态。
其流程图如所示:
图 4.6 资源调整步骤流程图
2、虚拟节点在线迁移过程
虚拟机的迁移是实现虚拟集群资源动态调度的基础。迁移的过程是实现将虚拟机从A物理计算机节点转移到B节点,在此过程中,要求虚拟机自身的各个虚拟设备不受到影响,同时对其上部署的视频点播服务也不应受到影响。虚拟机迁移过程如图4.8所示:
图 4.7虚拟节点在线迁移过程
上图中所描绘的迁移过程可详细描述如下:
Step 1:确定目标主机,并对目标主机的软硬件环境根据被迁移虚拟机的要求进行设置,以保证迁移能够顺利完成,如果发现目标主机无法构建被迁移虚拟机运行所需的环境,虚拟机将仍然在源物理节点上运行;
Step 2:拷贝物理页。虚拟机将自身的物理页从节点A发送到节点B,在首次进行发送时Step 3:暂停虚拟机,并将相关网络资源重定位到节点B;
Step 4:当节点B完成了对虚拟机资源的拷贝以后,通知节点A释放虚拟机A的资源。 Step 5:虚拟机在节点B上激活并运行
将发送所有的物理页内容,而在后继的过程,则只发送更新过的物理页;
4.4 本章小结
本章主要讨论了校园微活动管理平台的设计问题,首先分析了系统的设计目标,然后对系统的总体设计方案进行了详细的分析和阐述,重点是对校园活动现场视频转播中使用到的虚拟资源动态调配算法进行了分析和设计。
第5章 校园微活动管理平台的实现
上一章对校园微活动管理平台进行了设计,本章将具体实现其主要的功能。首先配置系统的实现环境,然后对系统的主要功能讨论实现的过程。
5.1 系统的开发环境配置
由于进行 Android 的程序开发都是基于Java语言,所以在进行 Android 程序开发之前必须将Java的执行环境搭建好。具体开发环境配置步骤如下:
(1)配置JDK环境变量
运行 JAVA 语言程序必须搭建 JDK 环境,本文所要求的 Android 开发必须基于 JDK6及以上开发环境,而所运用的开发平台为Eclipse 集成开发平台。在下载完 JDK 和 Eclipse 安装程序之后,然后对系统环境变量进行配置,具体包括Java_Home、Path、ClassPath。
(2)配置Eclipse 的 J2EE 开发环境
包括支持Java Web开发的Eclipse的下载,以及Java Web应用程序运行的服务器的下载,比如Tomcat或Jboss的下载等,下载完成后进行安装,并进行测试。
(3)Android开发环境的搭建
Android系统基于Linux+Java这个架构,主要的编程都是通过Java语言进行的,除了上面的配置之外,还需要Eclipse的开发插件ADT(Android Development Tools),以及Android程序开发包Android SDK(Software Development Kit);所有这些软件都可以通过Google公司提供网站上进行下载。通过ADT可以进行集成幵发,包括代码的自动生成、调试、编译、打包、拖曳式界面生成等功能,本系统通过下载ADT插件包进行手动配置。安装完Android SDK、Eclipse、JDK以及ADT,并配置完成,Android的开发环境以及Java Web的开发环境搭建完成。
5.2 系统功能的实现
根据系统功能设计的结果,本节将对系统中的活动申请功能、信息发布功能、现场转播功能进行实现。
5.2.1 活动申请功能的实现
活动申请功能是活动的举办者基于系统实现活动的在线申请,包括填写相关的活动信息,
上传相关文件材料等,活动申请功能的具体实现中,定义了一个抽象类Manager,该类中具有一个SetSuperior函数,用于对上一级的审批领导进行设置,此外,对于RequesDeal函数,具体处理Request请求,也就是活动申请者提出的活动审批申请。根据申请的类型和所申请活动的级别,如果当前的审批人员可以处理,则进行审批,如果无法处理,则交给上一级审批领导进行处理。该功能的程序流程图如图5.1所示:
图 5.1在线申请活动举办流程图
首先实例化直接审批者和上级审批者,然后将直接审批者的上级设置为上级审批者,以便于在直接审批者无法处理的情况下,将请求交给上级审批者进行处理。这一方式的好处是可以灵活地处理申请者提交的不同请求,请求可以沿着职责链传递到具有处理权限的对象处。它可以简化对象之间的相互连接关系,对于客户端的调用而言也是非常简洁有效。
代码如下:
public class Request{
public string Type { get; set; } public int DayCount { get; set; } }
public abstract class Manager{ protected Manager superior; protected string Name; public Manager(string name) { Name = name; }
public void SetSuperior(Manager superior) { this.superior = superior; }
public abstract void RequestDeal(Request request); }
public class DirectLeader : Manager{
public DirectLeader(string name) : base(name) {} public override void RequestDeal(Request request) {
if (request.Type==\"活动举办申请\" && request.Level<2) { //将请求发送到当前的领导处 } else{
if (this.superior!=null) {
如果不在该领导审批权限内,则较给更高级别的领导审批 }}}}
public class SuperLeader : Manager{
public SuperLeader(string name): base(name) {} public override void RequestDeal(Request request) { if (request.Type==\"活动举办申请\" || request.Level>2) { //将请求发送到当前的审批人员处} else{
if (this.superior!=null) {
如果不在该领导审批权限内,则较给更高级别的领导审批}}}} 在客户端,可以以下的方式进行调用
Manager directleader = new DirectLeader(\"直接领导\"); Manager superleader = new SuperLeader(\"上级领导\"); public Client(){
directleader.SetSuperior(superleader); } public void HolidayRequest(Request request) { directleader.RequestDeal(request); }
5.2.2 信息发布功能的实现
校园活动的发布宣传功能是基于设计模式的系统的高级功能。该功能中的特点是通过分析客户的静态资料和动态信息,掌握客户的需求变化,并将最为符合用户需求的校园活动信息推送到用户邮箱或者手机中,提高校园活动的宣传力度和针对性。
由于信息发布功能需要多个步骤配合完成,所以采用了GoF设计模式中的命令模式对其软件的实现性能进行改进。
首先定义命令接口IMyCommand
public interface IMyCommand { void execute(); }
然后定义两个命令实现该命令接口,分别为CheckClientCommand和LogRecorderCommand,具体代码如下:
class CheckClientCommand implements IMyCommand { private CheckClient checkClient;
public CheckClientCommand(CheckClient checkClient) { this.checkClient = checkClient; }
public void execute() { checkClient.Actions(); } }
class LogRecorderCommand implements IMyCommand { private LogRecorder logRecorder;
public LogRecorderCommand(LogRecorder logRecorder) { this.logRecorder = logRecorder; }
public void Execute() { logRecorder.Actions(); } }
上述代码中的CheckClient类和LogRecorder类分别是学生信息处理和日志处理类,代码
如下:
public class CheckClient { public void Actions(); }
public class LogRecorder { public void Actions(); }
最后定义命令的激活与执行类Invoker,代码如下:
public class Invoker {
List public void Del(IMyCommand command) { commands.Remove(command); } public void ExcuteCommand() { foreach (IMyCommand command in commands) { command.Execute(); } } } 在完成了所有类的定义后,在客户端可按照校园活动发布宣传功能的流程和步骤进行处理。校园活动管理系统中信息宣传功能的程序流程图如图5.2所示: 图 5.2信息发布功能的实现 客户端的代码如下: public static void main(String [] args) { Invoker i = new Inoker(); CheckClientCommand checkClientCommand = new CheckClientCommand(new CheckClient()); LogRecorderCommand logRecorderCommand = new LogRecorderCommand(new LogRecorder()); i.ExcuteCommand(); } 如以上代码所示,客户端实例化了一人命令发起者对象i,然后实例化了两个命令对象,并将命令的执行者对象以参数的形式传递给命令对象,再将命令添加到发起者对象的命令列表中。命令列表中的元素类型为Command,因此可以接受所有以该类为父类的具体命令对象。在发起者的ExcuteCommand操作中,实现对命令列表中所有具体命令对象ExeCute操作的调用,从而调用命令具体执行者的Action方法。 5.2.3 现场转播功能的实现 活动现场视频转播功能的实现主要是用户在界面上发出点播指令,界面端根据用户的操作调用服务器端的方法实现对特定视频流的播放,而客户端需要通过流媒体视频播放器实现视频内容的展现。在播放的过程中,用户通过对界面上进度条、音量调节控制等的操作,实现对播放进度的控制,以播放为例,其交互过程如图5.3所示: 图 5.3流媒体播放交互过程 界面层提供了一个控件元素MediaElement,该控制本身就具备对流媒体的播放功能,但在实际的使用过程中,需要对其属性进行设置,才能实现对视频的平滑播放。加载并显示MediaElement控制的代码如下: MediaElement会自动处理数据并播放。代码如下: //获取当前浏览位置定位(含网页文件名称),如: //形成服务器视频文件的位置信息 ideoname=uri.Substring(0,uri.LastIndexOf(\"/\")+1)+\"video/video1.wmv\"; //设置视频播放控件的视频源 e,UriKind.RelativeOrAbsolute); //LastIndexOf(\"/\"):搜寻定位中右边最后1个\"/\"的位置,其左侧是不含网页文件的定位 5.3 界面展示 5.3.1 系统登录界面 用户通过账号和密码就可以登录系统,在登录时也可以设置“自动登录”或“记住密码”,以便下次使用时可以快速地登录到系统中。系统登录界面如图5.4所示。 图5.4 用户登录界面 5.3.2 系统主页 用户登录进来后,就可以看到系统提供的主要功能,比如日程安排、我的课表、考试安排、活动管理等具体功能模块。系统主页如图5.5所示。 图5.5 系统首页 5.3.3 系统新闻列表页面 用户点击新闻通知可以查看校园内最近最新的重大新闻,新闻信息以图文列表的方式显示,具体如图5.6所示。 图5.6 新闻列表界面 5.3.4 校园活动管理界面 校园活动管理显示校园活动、学生社团以及社团纳新等信息,具体界面如图5.7所示。 图5.7 校园活动管理界面 5.4 本章小结 本章主要讨论了校园微活动管理平台的实现,首先讨论了系统的实现环境,然后分析并实现了系统的主要功能。 第6章 总结与展望 校园活动是校园生活中不可缺少的组成部分,通过活动,参与的学生既可以获得乐趣,也可以锻炼能力。但是,目前的校园活动存在着知情范围小,宣传不到位,事后无法获取评论信息等问题,因此,有必要构建一套基于网络的管理系统,提供活动管理效率。 本文所做的主要工作包括: 1、针对目前在校园活动中存在的问题,通过对相关业务流程和参与者的调研分析,充分利用网络的信息传播优势,以及移动智能终端的便捷性优势,基于Linux操作系统,设计开发了一套校园微活动管理平台。 2、针对校园活动宣传力度小,参与人员相对固定,拓展困难等问题,采用微发布技术和自动推送技术,构建校园活动推荐功能模块,根据学生的个人属性,结合其兴趣爱好,主动推送活动信息,一方面扩大活动信息的传播范围,另一方面,也为学生提供了更为广泛的活动信息渠道; 3、针对校园活动的组织需要经过学校管理部门的审批,相关材料准备繁琐,效率低下的问题,采用工作流技术,结合移动终端信息处理,实现活动申请的在线提交、审批,有效地提高了处理速度,同时,审批人员可以通过该功能发送相关注意事项,使申请人可以及时获取相关信息; 4、针对目前校园活动结束以后,很多参与者的意见无法较好收集,无法对活动进行较好总结的问题,设计开发了活动评价功能,采用打分与评价相结合的方式,通过大量的参与者的评分信息,对活动举办是否成功进行评估,并为下一次活动的组织提供指导; 5、针对目前校园活动的参与者有限的问题,采用网络微直播技术,通过照片、视频等方式,对活动的现场进行直播,使更多的学生可以通过网络平台或者移动智能终端,获取现场的活动信息。 6、本文基于需求分析,对校园微活动管理平台进行了系统架构设计,并对系统中的主要功能模块进行详细设计。在具体的实现过程中,主要采用了LAMP框架结构,操作系统选用Linux系统,系统的应用服务器为Apache服务器,数据库管理系统采用的是MySQL,界面的开发语言采用的是PHP脚本开发语言,采用Java语言实现系统的具体功能,该系统架构体系资源占用量少,运行稳定,可以较好地应对大规模的并行访问,有利于提高系统的性能。 下一步,将针对系统中还存在的问题进行进一步的修改和完善。 因篇幅问题不能全部显示,请点此查看更多更全内容