第一篇:论文过程材料
毕业设计过程材料
专业班级计算机科学与技术班
姓名
指导教师
所在学院 信息科技学院
2017年 5月
总 目 录一、二、三、四、五、任务书 文献综述 开题报告 外文翻译 工作指导记录
本科毕业设计
任 务 书
题 目移动学生会事务管理系统设计与实现 学 院 信息科技学院 专 业 班 级 学 号 学生姓名 指导教师)
发放日期 2016年10月
一、主要任务与目标
学生会事务管理的主体大多是在校大学生,服务的时间具有不确定性,移动应用非常适合这种场景,这样事务管理人员就可以不受时间和地点限制,在需要的时候完成工作。本课题将移动技术运用到高校学生会事务管理中,用移动设备代替人工,将人力从繁杂的劳动中解放出来,同时通过梳理管理流程,是该工作更加便捷、高效。
系统能够自动地收集、存储、加工处理、查询检索和统计相关数据,方便有效地提高学生工作办公自动化管理的水平,解决了日常繁杂的数据整理、、历史资料的统计处理的重复性劳动。使过去许多只能定性管理的项目变为定量管理,使传统的人工事务性管理模式转化为借助现代化技术和手段实现的科学化管理模式,不仅节省人力和物力、提高办公效率,而且使管理的方式从过程管理转变为目标管理,从数量管理转变为质量管理,有助于提高学生工作管理的水平和质量。
二、主要内容与基本要求
系统前端将采用移动互联技术,实现学生事务中的考勤管理、文件管理、活动管理、公告管理、通信管理等功能。后端使用J2EE技术,完成系统的后端管理工作。
要求系统设置严格的用户权限,系统管理员、学生会干部用户和教师用户根据权限不同,注册登陆系统后,各司其职。其中管理员用户只有一个,负责设置其他所有用户权限,对其他用户进行管理和审核。普通学生会干部注册后,可登录系统,由系统分配不同权限,从而对拥有权限的业务进行操作,所有的用户相互之间可以直接通过邮件通讯。
三、计划进度
第一阶段:2016年11-12月,根据《毕业设计(论文)任务书》的要求查阅有关文献,撰写文献综述和开题报告,参加开题答辩。
第二阶段:2016年12月-2017年1月,进行需求调研,完成需求分析。 第三阶段:2017年1-2月,对项目急性概要设计、详细设计和系统设计。 第四阶段:2017年2-4月,程序编写,实现各个模块的功能,同时完成单元测试。 第五阶段:2017年5月:整合各功能模块,进行系统测试,完成系统部署。 第六阶段:2017年5月:撰写、修改毕业论文,完成毕业论文终稿。 第七阶段:2017年5月:毕业论文打印装订,完成毕业答辩。
四、主要参考文献
[1] 卞樑.上海商学院艺术设计学院学生工作管理系统的设计与实现[D].电子科技大学,2014.
[2]曾昭皓,李卫东.高校学生事务管理模式的建构与创新——专业化高校学生事务管理系 统初探[J].思想教育研究,2011,(08).
[3]傅洪勋.新时期我国大学生管理工作探讨[J].科教文汇,2013(6):34-46.[4] 付饶.基于Web的大学生综合信息管理系统的设计与实现[D].电子科技大学,2014. [5] 刘彬.基于B/S的高职院校学生事务管理系统的开发和实现[J].科技视界 2012(26): 234-235.
[6] 王秦辉,孙洪睿,李超.基于.NET 的高校教务管理信息系统设计[J].技术前沿 2010(3): 63-64.
[7] 柴晟,陈蕾,王海春,等.基于.NET的高校院系事务综合管理系统的设计与实现[J].计 算机应用 2007(27):326-328.
[8]魏丽芬.基于.NET 技术实现 MVC 三层架构的学生事务管理系统[J].机电技术2011(1): 18-21.
[9]唐玉芳,张永胜.基于.NET的学生信息管理系统的设计与实现[J].计算机技术与发展 2010(4):242-245.
[10]樊伟,周正国.基于 ASP.NET 的学生信息管理系统[J].和田师范专科学校学报 2007(27):197-198 .
[11] 叶小卉.高校学生事务管理系统的需求分析与功能描述[J].中国科技信息,2012(16): 173-195.
[12] Mingxing Cai,,Jintao Zheng,Ping Shi.Three-Tier Knowledge Management System Based on.NET[J].Software Engineering & Applications, 2009, 2:40-43.[13]高扬.基于.NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展.2011,21(02):78.[14] 杨学瑜,王志军,刘同利.ASP.NET入门与提高[M],北京:清华大学出版社,2004,283-292.[15] 徐枫.ASP.NET 三层架构体系分析与应用[N].数据技术与应用.2011(08).指导教师 年 月 日 教学院长 年 月 日
本 科 生 毕 业 设 计
文 献 综 述
题 目 移动学生会事务管理系统设计与实现 专 业
班 级 姓 名
指导教师
所在学院 信息科技学院
2016年11月
前言
随着计算机技术、网络技术和通信技术的发展和应用,事务处理信息化已成为当代主流。高校更应该采取积极的对策措施,推动高校学生会事务管理信息化的进程。当今世界,信息技术日新月异,信息化已经成为社会生产力发展和人类文明进步新的动力,并正引领世界经济和社会及教育的巨大变革,信息和信息系统的概念已经深入到社会的各个行业,包括教育领域。因为有了信息系统,社会正在经历着一个巨大的变革,从数据处理到过程自动化,管理控制决策,信息技术渗透到社会的每一个角落,为当今时代的进步和发展赢得了时间。因为有了信息系统,各行各业的效率得到了很大的提高,信息系统的作用日趋重要。
本次的毕业设计主要是针对学生会事务管理系统。众所周知,高校学生会已经成为学生组织中的重要组成部分,在各高校内,学生会已经起到了作为学生和学校之间的桥梁作用,然而学生会在学校的发展已经遇到了瓶颈。传统的管理方式,使得学生会工作效率降低,不得不增加各类人力,物力的投入,常常在一些诸如工作总结、工作计划等文件的收集、处理上花费大量的时间。因此,必须采用新的模式来改革现行的工作模式,引入学生会事物信息管理系统可以大大减少工作人员在一些重复性的工作中所花的时间,并且可以更好的管理各工作中的人力、物力的分配,使学生会的工作人员将更多的时间用在活动创新、学校工作承上启下等更具意义的工作中。
正文
(一)学生会事务管理系统的研究现状
根据调查,目前高校学生会已经成为学生组织中的翘楚,在各高校内,学生会发挥了作为学生和学校之间的桥梁作用,但是,学生的发展也遇到一系列问题。随着信息技术和计算机技术的不断发展,继企业之后,高校也在进行着信息化的改革。比如学生学籍管理系统、图书馆系统、学生选课系统等。但是,相比于高校这些机构的信息化建设,学生会的信息化发展在各高校内却进展缓慢。学生会的信息化建设是信息时代发展的必然趋势,也是高校提高竞争力的必备条件。我校学生会目前共有生活部、秘书处、文艺部、宣传部等部门。各个学院也有自己独立的学生会,共同受辖于校学生会,每年开学,新加入学生会的成员有将近百人。组织举办各类大小活动几十于次,这些信息基本都是处于人工管理阶段,很多材料、经验、信息并不能有效及时的存档,导致在学生会换届的阶段,许多工作无法正常开展。并且,由于各个部门之间相对独立,无法共享其他部门的工作情况和信息。
无论过去还是现在,教育界对高校学生会组织的重要性及对学生生活、学习的影响的讨
论和研究屡见不鲜。在国外,多数高校对学生会工作的要求及赋予的责任基本相同,主要包括两个方面:对学校负责的要求和责任、对学生负责的要求和责任。在国内,高校学生会管理、运行存在着很多不足之处,体现在学生会干部及广大普通同学不能准确定位学生会;依赖性凸显,缺乏独立处理问题的能力;制度过于形式化,执行力弱;学生会活动点单一,参与面狭窄。由此可见,国内外对学生会的研究还是有很大差距的,国内仅仅只局限于对学生的责任,还没涉及到对学校的责任和要求。而国内高校学生会管理的不如人意之处,有些是因为手段、工具的落后导致的,如果将学生会管理和运行进行信息化的管理,许多问题会迎刃而解。
综上,在互联网和信息技术高度发展的时代大背景下,开发设计学生会的信息管理系统是十分必要的。
(二)学生会事务管理系统及其使用技术的主要成果
学生会是大学生的群众组织,是学生自我教育、自我管理、自我服务的载体,学生会组织代表学生的利益,及时向学院反映学生成长发展过程的教育资源需求,维护同学们的正当权益,参与学院的日常管理;及时向学校相关部门反映同学们的意见、建议和要求,并向广大学生传达贯彻学校的政策措施,所以学生会也是沟通老师与学生的桥梁纽带。而如何做好、提高桥梁纽带的作用,是如今学生会工作中值得重点关注的问题。在学生会事务管理的发展过程中,出现了很多种管理方案,学生会工作项目化管理制度就是其中的一种。
项目化管理是将活动视为项目,以项目为单元、以项目负责人(项目经理)为中心,以培养具有创新精神和实践能力的全面发展的学生干部为目的,并在团委、学生会的宏观政策指导下,项目负责人总负责、总管理、统筹配置人力/物力/信息/资金等多方面资源,监控项目进程,确保活动顺利开展的一种学生会工作运行方式。规范学生会的活动及工作管理,让活动有步骤,受监控地妥善开展,并通过项目化管理为学生干部搭建成长的平台,让项目成员在工作过程中培养勤于思考、独立思考、缜密思考的能力,培养创新精神、责任意识和实践能力。
为学生会管理和运行提供信息化手段,也是一种提升学生会管理能力的一种管理方案。借助信息化技术对全校的学生会事务进行管理,其内容包括新学生会成员的管理、对各学生会成员担任职务的管理、对各学院学生会分部的管理等等。学生会管理人员在进入系统时,系统通过注册登录来提供用户的访问权限,系统会检查用户的合法性,如不合法,系统拒绝用户进入,如是合法用户,则根据命令要求类型处理。系统主要有新学生会成员的管理、对
各学生会成员担任职务的管理、对各学院学生会分部的管理、资格审定等具体功能,分别进行不同的管理。
当前,在这个互联网飞速发展的时代里,信息化插上了移动互联的翅膀,随着网络速度越来越快,移动终端的能力也越来越强大,从而吸引着越来越多的企业进驻到互联网行业,每日都有大量的移动应用投入使用。摩根斯坦利的报告认为,移动互联网应用可能是桌面互联网应用创造的产业规模的十倍,同样按照中国工程院副院长邬贺铨提供的数字,4.2亿网民里有11%使用手机和数字卡上网,这大大展现了移动互联网产业的价值体现,现在使用智能终端上网的用户已经占到上网用户数的十分之一到二分之一,正常推算下去,移动互联网的用户数将超过固定互联网用户数,将获得大量市场份额。在这样的一个大环境背景下,抓住机遇,通过移动互联网技术改革学生会事务管理,成为一个必然的选项。
据中国市场调查网市场分析凯度移动最近发布了2016年第一季度移动操作系统占有率报告,该报告显示,安卓操作系统在美国、欧洲和中国市场一路高歌猛进,而iOS却步步退缩。在欧洲五大市场,本季安卓的市场占有率升至75.6%,同比增长7.1个百分点。在美国,安卓也拿下了65.5%的份额,同比增长7.3%。而在中国市场,安卓的市场占有率则达到了77%,同比增长6个百分点。在这样的大背景下,Android的开发能最大限度的满足大部分学生会干部的需求。
1、Android系统现状
Android N平台也就是 Android 7.x 版本。在2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布次版本。2016年6月,Android N正式命名为“牛轧糖”。Android N主要在运行时和图形处理上做了更新。运行时间上,Android N对编译器进行了优化,软件的运行时间提升了3-6倍。引入了一个全新的JIT编译器,使得App安装速度快了75%,编译代码的规模减少了50%。图形处理方面,N加入了一个新的图形工具Vulkan,可以帮助游戏的视觉体验更加出色,并减少对CPU的要求。Android N支持Vulkan API,包括其全部特性,尤其是能够降低CPU系统开销,提升描绘指令,应用编译与安装方面,Android N不会一股脑地全部进行AOT预先编译,而是结合JIT实时编译、混合编译,都针对每个应用进行优化,可大大提升应用安装速度、性能、存储和能效,号称安装速度比现在快最多75%。Android N现在支持全新的文件加密模式,可以对单独的文件进行加密,而不是一个应用或者是一个压缩包。同时加密在Android启动时就开始了,保证了“盲点”时间的安全。功能方面,Android N更多的是在用户操作的便捷性上做了一些提升,加入了全新的原生分屏多任务功能,并且加入了多任务快速切换功能,帮助用户解决在两个任务之
间频繁切换的问题。新的 Android N 系统将增加一个“清除所有”的按键来帮助用户快速退出所有已经打开的应用程序。对于用户较长时间未使用的应用程序,Android N 将会自动关闭。
2、JAVA语言现状
而在Android开发中用到的Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。Java还剔除了C++的操作符过载和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。同时Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
Java是一个面向对象的语言。对程序员来说,意味着要注意应用中的数据和操纵数据的方法,而不是严格地用过程来思考。在一个面向对象的系统中,类是数据和操作数据的方法的集合。数据和方法一起描述对象的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。Java还包括一个类的扩展集合,分别组成各种程序,用户可以在自己的程序中使用。Java既支持各种层次的网络连接,又以Socket类支持可靠的流网络连接,所以用户可以部署分布式的客户机和服务器。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。Java的存储分配模型是它防御恶意代码的主要方法之一。
Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU的机器代码,也就是实现全编译了。Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。Java是多线索语言,它提供支持多线索的执行,能处理不同任务,使具有线索的程序设计很容易。
3、SQLite数据库现状
在Android开发中所使用的SQLite是一个轻量级、跨平台的关系型数据库。既
然号称关系型数据库,支持SQL92标准中常用的视图、事务、触发器等就是理所当然的了。它的第一个特色:轻量级。SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态库,就可以享受它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,Windows下487KB、Linux下347KB。
SQLite的另外一个特点是绿色:它的核心引擎本身不依赖第三方的软件,使用它也不需要“安装”。所以在部署的时候能够省去不少麻烦。所谓的“单一文件”,就是数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。这个文件可以copy到其它目录或其它机器上,也照用不误。如果光支持主流操作系统,那就没啥好吹嘘的了。除了主流操作系统,SQLite还支持了很多冷门的操作系统,并提供对很多嵌入式系统(比如Android、Windows Mobile、Symbin、Palm、VxWorks等)的支持。随着内存越来越便宜,普通PC配置的内存都以GB为单位了,这使得SQLite的内存数据库特性就越发显得好用。SQLite的API不区分当前操作的数据库是在内存还是在文件(对于存储介质是透明的)。
(三)移动学生会事务管理系统的发展趋势和存在的问题
学生会的信息化建设是高校提高竞争力的必备条件,是信息时代发展的必然要求,而移动的、互联的应用趋势,也同样适合学生会事物管理这一领域。校学生会目前共有组织部、宣传部、办公室、生活部等十几个部门,各个学院也有自己独立的学生会,共同受辖于校学生会。每年开学,都有新生加入学生会,学生会也会组织各种活动,这些信息往往都是处于人工管理阶段,整理效率低、易出错,并且无法进行有效、快速的传承。
实现学生会事物的信息化管理,应符合互联网经济时代的信息化要求,满足一下发展趋势:
1)平台化:网络时代的事务管理系统是一种跨部门运作的信息系统,可以联结各个岗位上的许多工作人员,可以联结各类信息系统和信息资源。近年来不少企业都建立自己的事务管理系统,如财务管理、人力资源管理、销售管理、市场管理、客户关系管理等、、学生会管理系统也需要像企业化的管理系统那样,建立自己的数据库,存档各个时段活动文档。提供相应平台增加学生会干部之间的相互交流,联系。在每年学生会干部换届时可以更快速,更有效的进行文档,材料的传接工作。
2)智能化:随着网络和信息化的发展,用户在进行业务数据处理时,面对海量数据,往往费时费力,如果软件能帮助用户做一些基本的商业智能(BI)分析工作,帮助用户快速 的从这些数据中发现一些潜在的商业规律与机会,提高用户的工作绩效,将对用户产生巨大的吸引力。学生会的工作中有极大一部分都是数据处理,像生活部,每周都有各个寝室检查后的数据统计;纪检部每星期需要将每天的上课点名情况进行统计,给出每周各班级的旷课情况。系统需要把每周相同类型的数据处理方式集成在管理系统中,让学生会干部只需要在平台输入数据,就可以在系统中获得相应的数据处理结果。
3)网络化:随着网络使用的全面普及,软件网络化必然是大势所趋,企业日常事务管理系统与互联网轻松的衔接是企业日常事务管理系统必走之路。而学生会的工作是将每周活动下发班级进行宣传,将每周的各项检查下发班级,上报学院、学校存档。因此需要更方便的信息传递方式。以往的学生会工作中都是通过QQ,邮箱等方式进行文件传递,这样不仅工作效率低,而且容易出现遗漏,保存不及时造成的数据丢失等各种问题。在管理系统中就可以将信息整理成各种数据,如文件、结构化数据、语音、图像等,以便提供更高效的数据共享、查询和分析。
4)人性化:随着学生会事务管理系统功能的不断扩展,使用将会越来越复杂,同时各部门内部情况各有差异,其需求也不尽相同,这就要求系统必须具有人性化设计,能够根据不同学生干部的需要进行功能组合,将合适的功能放在合适的位置给合适的学生干部访问,实现真正的人本管理。未来学生会事务管理系统的门户更加强调人性化,强调易用性、稳定性、开放性,强调人与人沟通、协作的便捷性,强调对于众多信息来源的整合,强调构建可以拓展的管理支撑平台框架,从而改变目前“人去找系统”的现状,实现“系统找人”的全新理念,让合适的角色在合适的场景、合适的时间里获取合适的知识,充分发掘和释放人的潜能,并真正让企业的数据、信息转变为一种能够指导人行为的意念、能力。
结论
总体来说,学生会在学校里发挥越来越重要的作用,尤其在大学校园内,老师与学生直接最重要的桥梁就是学生会里的学生干部。他们影响着校园文化、校园生活,而他们也决定着大学生校园生活的丰富度。
如何提升学生会干部的素质,做好学生会工作也成了高校工作的重中之重。笔者在担任学生会干部期间发现,每次开学初以及学期末,各个部门有大量的工作计划、工作总结要撰写,这些文件的书写格式、样式都需要反复告知各部门的学生干部,在收集这么材料的时候仍然有许多不合规范的地方,每次只能通过QQ、邮箱之类通讯手段逐一联系,不但工作效率低,还容易出错。现在,大部分的学校都分校学生会和院学生会两级管理,在工作中,他们相互独立,但是在很多情况下,他们需要相互联系,相互沟通。但是他们都来自不同学院,不同班级,相互直接都不认识,常常需要通过学生会主席或分团委书记去帮忙联系,这样不仅麻烦,还影响问题处理的时效性。
如今,有些高校已经推出了高校学生会事务管理系统,由此可见,结合现代计算机技术,网络技术等高新技术提高学生会干部工作效率,减少错误是非常必要的。但现在各高校推出的都是B/S或C/S架构的系统,需要学生会干部在pc机旁或随身携带笔记本才能完成,如能够提供一套移动的系统,无疑会给工作带来更大的便利。
本系统将设计开发一套基于移动技术的学生会事物管理系统,以适应当前移动互联网飞速发展的时代,既能够将学生会干部从简单、反复、琐碎的文件整理、文件收集等工作上解放出来,又可以解决学生会干部工作环境不固定性带来的问题。
参考文献
[1] 蒋笑宇.高校学生会组织发展现状及问题分析.学术理论经营管理者,2014-12:271-272. [2]周新艳.如何落实新课程三维目标的小薛烟酒.物理教学探讨,2010-8. [3]李莉,王志红.对数学教程标准中“三维目标”的理解.现代教育课程,2007. [4] 戴艳.高校学生会管理文献综述.考试周刊,2014(39):145-147.
[5] 姚昱旻,刘卫国.Android 的架构与应用开发研究[J].计算机系统应用,2008,77(11):99-111.[6] Bruce Eckel.Thinking in Java[M].Upper Saddle River, New Jersey, USA: Prentice Hall, 2006 [7] 林寒超,张南平.Hibernate技术的研究[J].计算机技术与发展,2006, 16(11): 112-113,116 [8] 李华明.Android游戏编程之从零开始[M].北京:清华大学出版社,2011
[9] 姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,17(11):110-112
[10] Enck, William, Ongtang, Machigar, McDaniel, Patrick.Understanding Android Security[J].IEEE security & privacy, 2009, 7(1): 50-57 [11] 吴亚锋,苏亚光.Android 2.0游戏开发实战宝典[M].北京:人民邮电出版社,2010 [12]韦泽涛.如何提高高校学生会的执行力.重庆科技学院学报(社会科学版),2008.[13] 池晓明.基于人力资源管理视角构建高校学生会管理新体制之选拔机制.现代营销,2010.[14] 陈孝通.浅议“项目化管理”在高校学生会中的运用.金色年华(教学参考),2012(8).[15] 栗晓冬.浅谈高校学生会管理工作.青少年研究-山东省团校学报,2008(z1).指导教师审核意见:
指导老师(签字)
年月日
本 科 生 毕 业 设 计
开 题 报 告
题 目 移动学生会事务管理系统设计与实现
专 业 计算机科学与技术(服务外包方向)
班 级 131班 姓 名胡田力
指导教师
张华音(高级工程师)
所在学院 信息科技学院
开题时间 2016年12月
一、选题的背景与意义
现今社会,可以说是信息科技高速的发展时代,如何高效地处理信息已成为社会各行业普遍面临的问题。什么是信息?信息是泛指人类社会传播的一切内容。人通过获得、认识自然界和社会的不同信息来区别不同事物,得以认识和改造世界,是人们对客观世界的具体描述。信息传递是人们进行交流与联系的重要途径。人类社会活动随时离不开对信息有效合理的加工。信息化促进了整个社会的发展。随着社会信息技术应用水平的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。
在现如今的信息时代,生活方式随着Internet的不断发展发生了不同寻常的改变。基于Internet的远程办公方式已经越来越受到大家的欢迎,应用的领域也越来越广泛,提高办公效率已经成为所有企业、公司、事业单位等各部门最求的目标。正因为有着成熟的技术以及解决实际问题的先例,本课题将web技术运用到高校学生会事务管理中,用计算机代替人工,将人力从繁杂的劳动中解放出来,同时利用技术手段使文档更叫安全、高效。
该系统能够自动地收集、存储、加工处理、查询检索和统计相关数据,方便有效地提高学生工作办公自动化管理的水平,解决了日常繁杂的数据整理、历史资料的统计处理的重复性劳动。使过去许多只能定性管理的项目变为定量管理,使传统的人工事务性管理模式转化为借助现代化技术和手段实现的科学化管理模式,不仅节省人力和物力、提高办公效率,而且使管理的方式从过程管理转变为目标管理,从数量管理转变为质量管理,有助于提高学生工作管理的水平和质量。
二、研究的基本内容与拟解决的主要问题
2.1 研究的基本内容
“移动学生会事务管理系统”应用移动互联网技术,将大学学生会的日常事务管理信息化、移动化。本系统设置严格的用户权限,分为三类用户:系统管理员、学生会干部用户和教师用户。其中管理员用户只有一个,负责设置其他所有用户权限,对其他用户进行管理和审核。普通学生会干部注册后,可登录系统,由系统分配不同权限,从而对拥有权限的业务进行操作,所有的用户相互之间可以直接通过邮件通讯。
主要功能介绍,详细功能见图2功能模块图:
移动学生会事务管理系统后台管理·前台管理修改用户权限增加用户修改用户删除用户修改文件柜查看文件柜创建活动修改活动发布活动删除公告修改公告用户间通讯修改用户权限拨打用户电话发送短信考勤、签到
图1 功能模块图
1、后台管理:后台管理为在登录界面使用后台管理账户登录
修改用户权限:对不同用户设置不同权限。如:教师用户拥有出修改教师用户以外的所有权限。不同职位的学生会干部有不同的使用权限。
用户管理:分团委学生会换届或学院领导更替,既发生成员变化时,进行相应用户进行添加和删除,对职位变动的进行账户权限的修改
2、前台管理
文件柜使用:所有用户有集体文件柜。文件柜的作用为用户间的文件传递媒介。所有成员可以在集体文件柜上传文件,删除自己上传文件。主席团和教师用户可以对所有文件进行管理。
创建、发布、使用活动:当每个部门负责的活动开始是,每个部门可以在系统中发布互动,写明详细的活动主题,活动时间,活动主要负责人、各分工详细负责人。所有成员按活动计划执行。
公告管理:部门部长和主席团成员可以发布公告,对公告进行发布、删除。进行重要事件通知。
修改用户权限:教师用户可以对学生会干部用户进行权限修改。
用户间通讯:当被通讯用户不在线是进行邮件通讯。当被通讯用户在线是进行实时通讯,并在用户界面进行消息提醒。
拨打电话:在系统内有所有用户联系方式,可一键进行拨打电话。发送短信:各用户在系统进行短信编辑,并以短信形式发送至对方手机。
考勤、签到:对于每次重大活动、重要会议等,对每次成员出勤进行记录,并且每个用户可以查看自己出勤率。
2.2拟解决的主要问题
1、进行文件上传和下载。
2、如何提高邮件通讯的时效性,缩减用户间联系时间。
3、对管理员用户的管理。
三、研究的方法与技术路线
本系统主要使用JAVA语言进行Android系统开发。最低支持Android 4.2版本,系统就构图如图2所示,在应用程序层利用Java语言设计和编写属于自己的应用程序。使用SQLite数据库,存放用户信息,文件柜内容及一定时间内的通讯记录。
图2 Android系统结构图
1、Android系统
Android 4.2是谷歌新一代移动操作系统,谷歌原定于2012年10月30日通过其官方博客发布了全新的Android 4.2系统,同时还发布了基于这种操作系统的Nexus 4智能手机和
Nexus 10平板电脑。
Android 4.2沿用了4.1版“果冻豆”(Jelly Bean)这一名称,最新操作系统与Android 4.1相似性很高,但仍在细节之后做了一些改进与升级,比较重要的包括:Photo Sphere全景拍照;键盘手势输入;Miracast无线显示共享;手势放大缩小屏幕,以及为盲人用户设计的语音输出和手势模式导航功能等;Android 4.2操作系统的亮点是支持行业标准的WiFi显示共享工具Miracast,这个工具允许Nexus 4向电视流传输音频和视频。
2、JAVA语言
首先是模块化特性:现在的 Java7也是采用了模块的划分方式来提速,一些不是必须的模块并没有下载和安装,因此在使用全新的Java7的虚拟机的时候会发现真的很快,当虚拟机需要用到某些功能的时候,再下载和启用相应的模块,这样使得最初需要下载的虚拟机大小得到了有效的控制。同时对启动速度也有了很大的改善。
其次是多语言支持:这里的多语言不是指中文英文之类的语言,而是说Java7的虚拟机对多种动态程序语言增加了支持,比如:Rubby、 Python等等。对这些动态语言的支持极大地扩展了Java虚拟机的能力。对于那些熟悉这些动态语言的程序员而言,在使用Java虚拟机的过程中同样可以使用它们熟悉的语言进行功能的编写,而这些语言是跑在功能强大的JVM之上的。
再有是开发者的开发效率得到了改善:Java7通过多种特性来增强开发效率。比如对语言本身做了一些细小的改变来简化程序的编写,在多线程并发与控制方面:轻量级的分离与合并框架,一个支持并发访问的HashMap等等。通过注解增强程序的静态检查。提供了一些新的API用于文件系统的访问、异步的输入输出操作、Socket通道的配置与绑定、多点数据包的传送等等。
最后是执行效率的提高,也是给人感觉最真切体验的特性:压缩了64位的对象指针,Java7通过对对象指针由64位压缩到与32位指针相匹配的技术使得内存和内存带块的消耗得到了很大的降低因而提高了执行效率。此外还提供了新的垃圾回收机制(G1)来降低垃圾回收的负载和增强垃圾回收的效果。G1垃圾回收机制拥有更低的暂停率和更好的可预测性。
3、SQLITE SQLite最大程度的实现了self-contained。它实现了对外部程序库以及操作系统的最低要求,这使得它非常适合应用于嵌入式设备,同时,可以应用于一些稳定的,很少修改配置的应用程序中。
SQLite是使用ANSI-C开发的,可以被任何的标准C编译器来进行编译。
SQLite与操作系统和存储设备(磁盘)之间的通信是通过VFS(Virtual File System)来完成的,对于嵌入式设备来说,开发一个可用的VFS并不困难。
SQLite使用互斥来保证多线程环境下的操作安全性。
大多数SQL数据库引擎都作为一个独立的服务器进程,应用程序通过使用一些协议,比如TCP/IP来发送请求给服务器,并接受结果,以这种方式来与数据库服务器进行通信。SQLite与此不同,进程可以通过访问数据库直接进行数据库文件的读写而不需要中间层的服务器进程。这样的实现的主要的好处是不需要进行安装,配置,初始化,管理以及维护单独的服务进程。但是,数据库引擎可以通过使用服务器来预防客户端应用程序的bug,确保服务器不被客户端的错误所损坏。大多数SQL数据库都是基于C/S模式的,在serverless的数据库中,SQLite是目前唯一允许多个应用同时访问的。
四、研究的总体安排与进度
第一阶段:2016年11-12月:根据《毕业设计(论文)任务书》的要求及老师的有关指导,搜集相关资料,查阅有关文献,撰写出开题报告,交指导老师进行开题检查、参与开题答辩。
第二阶段:2016年12月-2017年1月:开题答辩后开始阅读有关资料并进行需求调研,在老师的指导下做好课题的需求分析。
第三阶段:2017年1-2月:阅读有关资料,在老师的指导下做好课题的概要设计、详细设计和系统设计。
第四阶段:2017年2-4月:开始程序编写,通过编写具体代码实现各个模块的功能,同时完成单元测试。
第五阶段:2017年5月:整合各功能模块,进行系统测试,完成系统部署。 第六阶段:2017年5月:撰写、修改毕业论文,完成毕业论文终稿。 第七阶段:2017年5月:毕业论文打印装订,完成毕业答辩。
五、主要参考文献
[1]马志强.基于.Android平台即时通信系统的设计与实现[D].北京交通大学2009 [2]杨云君.Android 的设计与实现[M].北京:机械工业出版社,2013:45-49.[3]高焕堂.Google Android 应用框架原理与程序设计 36 计[M].Misoo,2010:8-13.[4] Xin Chen,Songwe i Ma,Bingli Guo,Yan Wang,Juhao Li, Zhangyuan Chen,Yongqi He.A novel fragmentation-aware spectrum allocation algorithm in flexible bandwidth
optical networks[J].Optical Switching and Networking,2014(12):6-22.[5] Zhu, Zhiwu Liu, Xu Li, Xiangyu.Ratcheting Behaviors of the Carbon FiberReinforced PEEK Composites: Experimenta l Study and Numerical Simulation[J].Polymers & Polymer Composite, 2014,(221):45-230.[6]卢娜.基于 Android平台的手机桌面资讯系统的设计与实现[M].西安电子科技大学,2011:290-300.[7]代艳.SQLite在Android开发中的应用.恩施职业技术学院学报.2016,01 [8]张生财.基于Android教务信息管理系统开发[J].科技创新与应用,2014,34:72.[9]卢娜.基于Android平台的手机桌面资讯系统的设计与实现[M].西安电子科技大学,2011:290-300.[10]陈屴.Android云终端的系统备份与还原方案[J].福建电脑,2016,03:130-131+157.[11]王庆磊.Android移动数据安全探析[J].福建电脑,2016,03:101+109.指导教师审核意见:
指导老师(签字)
年月日
本 科 生 毕 业 设 计
外 文 资 料 翻 译
题 目 移动学生会事务管理系统设计与实现
专 业
班 级 姓 名 指导教师
所在学院 信息科技学院
附件1.外文资料翻译译文;2.外文原文
移动设备DVM)。使用Android,重点一直是基于移动设备上有限的资源优化基础设施[2]。为了补充操作环境,设计并实现了Android特定的应用程序框架。因此,Android可以最好地被描述为一个完整的解决方案堆栈,结合了操作系统,中间件组件和应用程序。在Android中,修改后的Linux 2.6内核充当硬件抽象层(HAL)。总而言之,Android操作环境可以标记为:
•开放移动开发平台 •移动设备的硬件参考设计
•由修改后的Linux 2.6内核供电的系统 •运行时环境
•应用程序和用户界面(UI)框架
3.0 Android架构
图1概述了当前(分层)Android体系结构。修改的Linux内核作为HAL运行,分别提供设备驱动程序,内存管理,进程管理以及网络功能。图书馆层通过Java(与偏离传统Linux设计)相连接。在这个层面上,Android特定的libc(Bionic)所在的位置。表面处理器处理用户界面(UI)窗口。Android运行时层拥有Dalvik虚拟机(DVM)和核心库(如Java或IO)。Android中可用的大多数功能都是通过核心库提供的。
图1:Android架构
应用程序框架包含API接口。在这一层,活动管理器管理应用程序生命周期。内容提供商使应用程序可以访问其他应用程序的数据或共享自己的数据。资源管理器提供对非代码资源(如图形)的访问,而通知管理器可使应用程序显示自定义警报。在应用程序框架之上分别是内置的和用户应用程序。必须指出,用户应用程序可以替换内置的应用程序
应用程序,并且每个Android应用程序都在自己的进程空间中运行,在其自己的DVM实例中。这些主要Android组件中的大多数将在本报告的后几节进一步讨论(更详细)。3.1 Dalvik虚拟机
基于Android的系统利用自己的虚拟机(VM),它被称为Dalvik虚拟机(DVM)[4]。
DVM使用特殊的字节码,因此本机Java字节码不能直接在Android系统上执行。Android社区提供了一个工具(dx),允许将Java类文件转换为Dalvik可执行文件(dex)。DVM实现被高度优化,以便在通常配备有相当慢(单个)CPU,有限的存储器资源,没有OS交换空间和有限的电池容量的移动设备上尽可能高效地执行。DVM已经以允许设备以相当有效的方式执行多个VM的方式实现。还必须指出的是,DVM依赖于修改的Linux内核,用于任何潜在的线程和低级内存管理功能。
使用Android 2.2,实现了对JVM基础架构的一些重大更改。最高版本2.2,JVM是一个实际的解释器,与使用Java 1.0部署的原始JVM解决方案类似。虽然Android解决方案总是反映了一个非常有效的解释器,但它仍然是一个解释器,因此没有生成本机代码。随着Android 2.2的发布,一个即时(JIT)编译器已被并入到解决方案堆栈中,它将Dalvik字节码转换成更高效的机器代码(类似于C编译器)。在道路上,额外的JIT和垃圾收集(GC)功能将部署在Android中,进一步破坏(潜在的)集合系统性能。3.2目标平台不是从数据完整性的角度)是截然不同的。3.6电源管理
在移动设备领域,电源管理显然是最重要的。这并不意味着电力管理在任何其他系统上都应该被忽略。因此,随着任何操作系统的任何IT系统的电源管理被认为是必要的,因为当今的计算机系统的电力需求不断增加。为了说明,为了减少和管理功耗,基于Linux的系统提供节电功能,例如时钟门控,电压缩放,激活睡眠模式或禁用内存缓存。这些功能中的每一个都降低了系统的功耗(通常以增加的延迟行为为代价)[9]。大多数基于Linux的系统通过高级配置和电源接口(ACPI)来管理功耗。
基于Android的系统提供了自己的电源管理基础架构(标注为PowerManager),这些基础是在没有应用程序或服务实际需要电源的情况下处理器不应该消耗任何电源的前提下设计的。Android要求应用程序和服务通过Android应用程序框架和本机Linux库通过唤醒锁来请求CPU资源。如果没有主动唤醒锁,Android将关闭处理器。
4.0 Android应用程序
Android应用程序通过Android资产打包工具(AAPT)捆绑到Android包(.apk)中。为了简化开发过程,Google提供Android开发工具(ADT)。ADT简化了从类到dex文件的转换,并在部署期间创建了.apk。以非常简化的方式,Android应用程序通常由以下组成:
•活动(为用户应用程序创建屏幕需要比较
图2显示了Android和Linux 2.6操作环境之间的主要区别。首先,Android内核是从
Linux衍生出来的,但在主线Linux内核分发之外已经大大改变了。为了进一步说明这一点,Android既不配备本机X-Windows设置,也不支持全套标准GNU库。因此,将任何现有的GNU / Linux应用程序或库移植到Android都是艰巨的任务(Android中支持X-Windows是可能的)。
Linux和Android之间的最大区别在于嵌入到Android中的Java抽象层。如图2所示,Android设计基于比Linux更深层的实现堆栈。换句话说,Android应用程序从实际的内核中比在Linux中更远(在OS层中有更长的代码路径)。Linux应用程序的核心是以c和c ++开发,因此c和c ++代码代表了主要的Linux应用程序环境。在Linux中,用户应用程序(通过库和系统调用子系统)具有直接的内核访问功能,而不是Android(见图2)[7]。在Android中,内核几乎隐藏在Android操作环境的深层。在Linux下,可以通过特殊的编译器标志直接优化(c,c ++)应用程序的进程,进一步提高应用程序性能[7]。此外,Linux操作设置本身还包含一个非常丰富的库,调试器和开发工具的非常丰富的基础架构,这些工具无法通过Android访问。
虽然Android设计基于更深层次的实现堆栈,因此与Linux相比,应用程序从内核中进一步移除,但Android内核性能仍然很重要,必须进行量化和了解。与Linux一样,聚合应用程序性能仍然受到实现的内核原语的效率的影响。与Linux相比,目前只有少数Android性能,压力测试和基准测试工具(如DHTDroid)可用。基于Android系统的快速开发和部署周期,实际的Android应用和内核级性能工具的需求在不久的将来会显着增加。
图2:Android与Linux 2.6环境
参考文献
1.Maker, F., Chan, Y., “A Survey on Android vs.Linux”, University of California, 2009 2.Liang, “System Integration for the Android Operating System”, National Taipei University, 2010 3.Brady, P., “Android Anatomy and Physiology“, Google I/O Developer Conference, 2008 4.Bornstein, D., “Dalvik VM Internals”, Google I/O Developer Conference, 2008 5.Toshiba, “NAND vs.NOR Flash Memory: Technology Overview”, Toshiba, 2006 6.Johnson, “Performance Tuning for Linux Servers”, IBM Press, 2005 7.Heger, D., “Quantifying IT Stability – 2nd Edition, Instant Publisher, 2010 8.Android Wikipedia, 2011 9.Linux Wikipedia, 2011
Mobile DevicesInstruction Set To simplify the discussion, the statement made here is that most of the Linux 2.6 based devices are x86 based systems, whereas most mobile phones are ARM based products.While ARM represents a 32-bit reduced instruction set computer(RISC)instruction set architecture, x86 systems are primarily based on the complicated instruction set computer(CISC)architecture.In general, the statement can be made that ARM(RISC)is executing simpler(but more)instructions compared to an x86(CISC)system.As already discussed, memory is at a premium in mobile devices due to size, cost, and power constraints.ARM addresses these issues by providing a 2nd 16-bit instruction set(labeled thumb)that can be interleaved with regular 32-bit ARM instructions.This additional instruction set can reduce the code size by up to 30%(at the expense of some performance limitations).Ergo, from an overall systems perspective, the incorporation of the thumb instruction set can be considered as an exercise in compromises.Compared to x86 processors, the ARM design reveals a strong focus on lower power consumption, which again makes it suitable for mobile devices [1].3.3 Kernel and Startup Process It is paramount to reiterate that while Android is based on Linux 2.6, Android does not utilize a standard Linux kernel [6],[7].Hence, an Android device should not be labeled a Linux solution per se.Some of the Android specific kernel enhancements include: • alarm driver(provides timers to wakeup devices)• shared memory driver(ashmem)• binder(for inter-process communication), • power management(which takes a more aggressive approach than the Linux PM solution)• low memory killer • kernel debugger and logger During the Android boot process, the Android Linux kernel component first calls the init process(compared to standard Linux, nothing unusual there).The init process accesses the files init.rc and init.device.rc(init.device.rc is device specific).Out of the init.rc file, a process labeled zygote is started.The zygote process loads the core Java classes, and performs the initial processing steps.These Java classes can be reused by Android applications and hence, this step
expedites the overall startup process.After the initial load process, zygote idles on a socket and waits for further requests.Every Android application runs in its own process environment.A special driver labeled the binder allows for(efficient)inter-process communications(IPC).Actual objects are stored inshared memory.By utilizing shared memory, IPC is being optimized, as less data has to be transferred.Compared to most Linux or UNIX environments, Android does not provide any swap space.Hence, the amount of virtual memory is governed by the amount of physical memory available on the device [7].3.4 The Bionic Library Compared to Linux, Androids incorporates its own c library(Bionic)[3].The Bionic library is not compatible with the Linux glibc.Compared to glibc, the Bionic library has a smaller memory footprint.To illustrate, the Bionic library contains a special thread implementation that 1st, optimizes the memory consumption of each thread and 2nd, reduces the startup time of a new thread.Android provides run-time access to kernel primitives [2].Hence, user-space components can dynamically alter the kernel behavior.Only processes/threads though that do have the appropriate permissions are allowed to modify these settings.Security is maintained by assigning a unique user ID(UID)and group ID(GID)pair to each application.As mobile devices are normally intended to be used by a single user only(compared to most Linux systems), the UNIX/Linux /etc/passwd and /etc/group settings have been removed.In addition(to boost security), /etc/services was replaced by a list of services(maintained inside the executable itself).To summarize, the Android c library is especially suited to operate under the limited CPU and memory conditions common to the target Android platforms [2].Further, special security provisions were designed and implemented to ensure the integrity of the system.3.5 Storage Media & File System When it comes to configuring and setting-up mobile devices, traditional hard drives are in general too big(size), too fragile, and consume too much power to be useful.In contrast, flash memory devices normally provide a(relative)fast read access behavior as well as better(kinetic)shock resistance compared to hard drives.Fundamentally, two different types of flash memory devices are common, labeled as NAND and NOR based solutions [5].While in general, NOR based
solutions provide low density, they are characterized as(relative)slow write andfast read components.On the other hand, NAND based solutions offer low cost, high density, and are labeled as(relative)fast write and slow read IO solutions.Some embedded systems are utilizing NAND flash devices for data storage, and NOR based components for the code(the execution environment).From a file system perspective, as of Android version 2.3, the(well-known)Linux ext4 file system is being used [9].Prior to the ext4 file system, Android normally used YAFFS(yet another flash file system).The YAFFS solution is known as the first NAND optimized Linux flash file system.Some Android product providers(such as Archos with ext3 in Android 2.2)replaced the standard Archos file system with another file system solution of their choice.As of the writing of this report, the maximum size of any Android application equals to a low 2-digit MB number, which compared to actual Linux based systems has to be considered as being very small.This implies that the memory and file system requirements(from a size perspective – not from a data integrity perspective)are vastly different for Android based devices compared to most Linux systems.3.6 Power Management In the mobile device arena, power management is obviously paramount.That does not imply though that power management should be neglected on any other system.Hence, power management in any IT system, with any operating system, is considered a necessity due to the ever increasing power demand of today’s computer systems.To illustrate, to reduce and manage power consumption, Linux based systems provide power-saving features such as clockgating, voltage scaling, activating sleep modes, or disabling memory cache.Each of thesefeatures reduces the system's power consumption(normally at the expense of an increased latency behavior)[9].Most Linux based systems manage power consumption via the Advanced Configuration and Power Interface(ACPI).Android based systems provide their own power management infrastructure(labeled PowerManager)that was designed based on the premise that a processor should not consumeany power if no applications or services actually require power.Android demands that applications and services request CPU resources via wake locks through the Android application framework and native Linux libraries.If there are no active wake locks, Android will shutdown the processor.4.0 Android Applications Android applications are bundled into an Android package(.apk)via the Android Asset Packaging Tool(AAPT).To streamline the development process, Google provides the Android Development Tools(ADT).The ADT streamlines the conversion from class to dex files, and creates the.apk during deployment.In a very simplified manner, Android applications are in general composed of: • Activities(needed to create a screen for a user application – classes with a UI)• Intents(used to transfer control from one activity to another)• Services(classes without a UI, so they can be executed in the background)• Content Providers(allows the application to share information with other applications)5.0 Android and Linux – Comparison Figure 2 discloses the major differences between the Android and the Linux 2.6 operating environment.First of all, the Android kernel was derived from Linux, but has been significantly altered outside the mainline Linux kernel distribution.To further illustrate that point, Android is neither equipped with a native X-Windows setup, nor does it support the full set of standard GNU libraries.Hence, it is a daunting task to port any existing GNU/Linux application or library to Android(support for X-Windows would be possible in Android though).The biggest difference between Linux and Android revolves around the Java abstraction layer embedded into Android.As depicted in Figure 2, the Android design is based on a deeper implementation stack than Linux.In other words, the Android applications are farther removedfrom the actual kernel than in Linux(have a longer code path down into the OS layer).The core of Linux applications are developed in c and c++, hence c and c++ code represents the predominant Linux application environment.In Linux, the user applications(via the libraries and the system call subsystem)have direct kernel access, not so with Android(see Figure 2)[7].In Android, the kernel is almost hidden deep inside the Android operating environment.Under Linux, the make process for(c, c++)applications can directly be optimized via special compiler flags, further boosting application performance [7].Further, the Linux operating setup natively incorporates a very rich infrastructure of libraries, debuggers, and development tools that are not
accessible by Android.While the Android design is based on a deeper implementation stack, and hence the applications are farther removed from the kernel compared to Linux, Android kernel performance is still important and has to be quantified and understood.As in Linux, aggregate application performance is still impacted by the efficiency of the implemented kernel primitives.Compared to Linux, only a few Android performance, stress-testing, and benchmarking tools(such as DHTDroid)are available today.Based on the rapid development and deployment cycle of Android based systems, the need for actual Android application and kernel-level performance tools will increase rather significantly over the near future.Figure 2: The Android vs.the Linux 2.6 Environment References 1.Maker, F., Chan, Y., “A Survey on Android vs.Linux”, University of California, 2009 2.Liang, “System Integration for the Android Operating System”, National Taipei University, 2010 3.Brady, P., “Android Anatomy and Physiology”, Google I/O Developer Conference, 2008 4.Bornstein, D., “Dalvik VM Internals”, Google I/O Developer Conference, 2008 5.Toshiba, “NAND vs.NOR Flash Memory: Technology Overview”, Toshiba, 2006 6.Johnson, “Performance Tuning for Linux Servers”, IBM Press, 2005 7.Heger, D., “Quantifying IT Stability – 2nd Edition, Instant Publisher, 2010 8.Android Wikipedia, 2011
9.Linux Wikipedia, 2011
用于Google App Engine上的通用回合制游戏服务的架构
用于基于Android的游戏
概述:
本文介绍了开发和评估部署在Google App Engine上的服务架构的工作,可用于促进Android设备上运行的游戏的通用游戏初始化,转换和完成。
Google App Engine及其相关组件(如持久性和负载平衡)将被评估为目的。我还想研究如何推动Android设备。
基于回合的Android游戏的相关质量属性将被讨论并评估Google App Engine和架构。
1.0 动机
我目前正在开发基于回合的Android [ANDROID]游戏,玩家可以在其他Android设备上与其他玩家玩耍。
为了完成游戏的开发,我需要研究如何在玩家之间初始化游戏,并且转换可以在设备之间分配。
本文的动机是评估Google App Engine [GAE]中开发的解决方案是否可以解决这一挑战,以及软件架构的外观。
即使为一个特定游戏产生了动机,我想知道是否可以开发通用服务以支持其他游戏。游戏服务器将不会有任何关于玩游戏的知识,只负责将游戏数据分发为有效载荷。每个游戏应用程序负责创建和解释分布式负载。
另一个动机是我想获得有关Google App Engine [GAE]的知识,以便能够针对未来项目的其他基于云的平台评估该平台。
2.0假设/问题陈述
Google App Engine是用于部署基于回合的服务器的合适平台
Android游戏应用程序。意味着平台API和内部服务,从外部服务的暴露,到持久性足够丰富,以支持服务的开发。
Google App Engine能够动态扩展,以便能够支持突击播放的游戏。
可以设计可以由不同的独立回合制游戏使用的通用服务。新开发的游戏可以使用该服务,而无需更改服务。游戏开发人员然后可以专注于游戏设计和重用相同的游戏服务。
3.0方法
为了能够为所描述的问题开发架构,我需要学习如何
Google App Engine工作。已经审查了文件,我试图找到关于如何解决这种挑战的最佳实践说明。
解决所述挑战的解决方案的架构已经针对该问题进行了开发和评估。
已经开发了建筑原型,以证明我能够开发服务的关键部分。原型的主题是持久性,向设备发送通知,以及服务如何暴露和负载平衡。
为了检查Google App Engine是否能够在玩家增加时进行扩展和执行,已经进行了性能测试通用有效载荷。
对于这种架构,Google Cloud Messaging是从服务器向客户端发送有效负载的机制,因此Google Cloud Messaging实际上是有效载荷格式和大小的决定性因素。
4.2 Google App Engine 本段描述了Google App的一些功能和特性 引擎,以及我如何使用它。云特征
Google App Engine可以被称为平台即服务(PaaS)云提供商。PaaS是一种服务,开发人员不用担心他的解决方案将被执行的硬件,操作系统甚至执行平台。
PaaS表征是在“云端突破:朝着云定义”一文中作出的(Vaquero et al。,2009)。只要部署的应用程序遵守一些实施标准,PaaS提供商将服务于该服务。Google为开发人员提供了一套额外的服务,如持久性,身份管理,缓存等。有关持久性的更多信息可以在本文后面找到。
Google App Engine由于其PaaS特性,是对本文进行检查的明显选择。这将使游戏开发者有可能集中精力制作酷炫游戏,而不用担心如果游戏在一夜之间变得流行,玩家将从数百人
增加到数万人。在Google App Engine上托管的服务具有自动扩展的能力,并且具有性能和可用性等质量属性。语言
Google App Engine支持在Pyton,GO和Java中开发的应用程序。
由于我是Java开发人员,我想使用提供Java库的Google Cloud消息传递;我将专注于创建基于Java的架构。
Google App Engine可以创建Java企业[JEE]应用程序,其中包含JSP和servlet的战略存档可以部署和公开为服务。通讯
对于Android设备和Google App Engine之间的通信,我将使用RESTFul接口[REST]。选择RESTful的界面是因为它非常轻便,如果游戏服务应该扩展到支持其他平台或设备而不是Android,可以很容易地被不同的平台使用。此外,使用RESTful接口非常容易,因为大多数开发环境和编程语言都具有HTTP客户端实现。持久性
Google App Engine提供树不同的持久化数据机制。Google描述了这样的机制: App Engine资料储存库
提供NoSQL无模式对象数据存储,具有查询引擎和原子事务。Google Cloud SQL 根据熟悉的MySQL数据库,为您的App Engine应用程序提供一个关系型SQL数据库。Google云端存储
为大小达TB的对象和文件提供存储服务。
由于游戏服务旨在能够扩展到极高的负载,许多游戏和许多玩家,我想检查App Engine数据存储区。部署
在Google App Engine上部署新版本的服务时,可以选择要部署的版本。如果服务已经在以前的版本中运行,则此版本在新版本已部署之前仍将处于活动状态。
部署的新版本可以在被激活之前进行私有测试,并可供最终用户使用。这是Google App Engine非常重要和有价值的功能,因为它可以在不停机的情况下更新您的服务。当新版本经过测试和激活后,用户只需直接进入新的部署。
这种热的部署原因意味着您必须了解您的游戏和用户状态以及您需要如何设计您的服务。这意味着您必须开发无状态服务,无论客户端最后调用的服务实例无关紧要。计费
由于Google App Engine的特点是PaaS云解决方案,所以付款策略是您只需支付实际使用的资源。这意味着如果你的应用程序没有被使用,或者如果它不被非常使用,它将花费你没有什么甚至没有什么来暴露你的服务。您的服务使用的越多,您将花费的越多。您将通过CPU,存储和网络基础架构等资源的特定使用来计费。
每个应用程序都有配额,在其中可以完全免费公开您的服务。配额每24小时重置一次。这意味着,只有当您的应用程序达到一定负载时,您才需要付费使用Google App Engine,因此,您也可能因此而获得收入。图1显示了单独监控和计费的资源。
如果服务例如自动缩放到更多的实例,因为较高的负载,您将使用更多的实例小时,最终将为此计费。
另一方面,当您的应用程序未被使用时在夜间或周末期间,您将无费用。对于所示示例,只有一个活动实例。
图2来自Google App Engine仪表板的原型配额概述
Google App Engine仪表板可让您轻松监控应用程序在一定时间内公开的费用。
这种支付策略的缺点是,当您的服务负载增加时,您很难估计资源使用情况。这是很难解释给你的公司,因为你的财务负责人喜欢他的费用的可预测性。
希望通过使用Google App Engine,比建立自己的基础设施更具成本效益。
了解Google App Engine是否具有成本效益,这不是本文的一部分。应该开展进一步的工作,包括成本效益分析来解决这个问题。
4.3 Android的Google Cloud Messaging 当一个游戏对手轮到时,我们需要能够通知一个特定的玩家关于这个回合的结果,从而将主动权交给下一个玩家。
现代移动平台具有将通知推送到移动设备的功能。
Apple的Apple通知机制称为“Apple Push Notification Service”。
Google具有类似于Android设备的功能。这项服务称为“Google Cloud Messaging”[GCM]。Google Cloud Messaging [GCM]是由Google提供的一项服务,可以将服务通知推送到基于Android的设备。
消息可以包含高达4kb的有效载荷数据。Android应用可以订阅给定服务的通知。
根据Google的说法,Google Cloud Messaging解决方案是完全免费的。
4.4进一步工作
持久性
有必要进一步检查持久性是如何进行的。本文只是划伤了数据存储的表面。开发服务
本文最明显的任务就是做实际的解决方案。开发的架构是开始开发的良好起点。为客户开放SaaS解决方案
该架构是以某种方式开发的,因此该服务可以支持许多不同的游戏。这样做可以让您完成多租户解决方案,其他人可以租用您的服务。
在文中“一个突破云:一个云定义”[Vaquero等,2009],这种公共服务被分类为SaaS(软件即服务)解决方案,如果成功,你可以赚钱这个解决方案
为了能够使其成为多租户解决方案,您必须开发管理模块,管理功能并进行计费。成本效益分析
本文的重点是技术性。如果游戏服务器解决方案应该在Google App Engine上取得成功,那么应该给予某种利润。进一步的工作将包括在Google App Engine上开发和部署成本效益分析。
使解决方案iOS兼容
开发的架构只适用于Android设备,但未来发展的明显选择将是使该解决方案也适用于iOS设备。
苹果已经销售了超过500.000.000个iOS设备[iOS],因此通过使解决方案支持iOS,潜在客户的数量将会爆炸。
将Google App Engine与其他PaaS环境进行比较
应该将本文的结果与其他PaaS环境的分析进行比较,然后才能确定进一步开发的环境。
5.0 相关工作
5.1苹果measuring it against quality attribute scenarios.4.0 Analyses and Results 4.1 Concept and requirements of the gamer server The primary functionality of the gamer server is to connect players and facilitate change of turns and communicate game progress between two players.The game server does not know anything about the game being played.Its finest task is to distribute data payload between the players android application.All the functionality about interpreting the meaning and state of the payload data is in the hands of the android application.This makes the server usable for most turn based online games like chess, backgammon, etc.where there are two contestants.The functionality of the game server can be divided into the following function areas:
Game initialization The task of the game server is to facilitate an online game between two players.Before a game can begin, it is of cause necessary to establish the link between two players.The game server has two very different ways of establishing the connection: Known opponent The most obvious way of playing a game, must be to play against an opponent you already know.The game server supports initialization of a game between one named player and another.In other words, a player can ask another player, already created on the same game server, to play a game.The player enquired to play can then either accept or reject the challenge.Random opponent Another way for a player to initialize a game is to ask the game server to find an opponent for him.The game sever can then match two random players, both looking for opponents, and initialize a game between them.This way of initializing games between random players are used both by the games Wordfeud [WF] and Quiz battle [QB].One of the advantages of supporting this kind of random-player game initialization is that a player might not stop playing the game just because he doesn’t know any other players.This makes it more likely that he keeps playing, and thereby increasing the revenue for the game provider.The last part of the game initialization is to randomly choose which player is to commence the game, and thereby doing the first turn.Turn management and communication of game progress After a game has been initialized between two players, the job of the game server is to facilitate when turn changes from one player to another.When a player is about to end his turn, he calls the game server, with data payload representing the changed state or the state of the entire game.The game server then notifies the waiting device and application of change of turn, and distributes the game state payload.It is then the up to the waiting application to interpret the payload and show the player the games state changes made by the opponent player.The game server does not know anything about the game.It just distributes payload from one player to
第二篇:毕业设计论文过程材料
毕业设计(论文)过程材料
目录
1.毕业设计(论文)任务书
2.毕业实习、毕业设计(论文)工作计划
3.毕业设计(论文)开题报告(含论文综述)
4.毕业设计(论文)读书报告(读书笔记)
5.毕业设计(论文)外文翻译(附外文原文)
6.毕业实习、毕业设计(论文)阶段总结
7.毕业实习、毕业设计(论文)工作总结
8.毕业实习、毕业设计(论文)鉴定表
9.毕业实习、毕业设计(论文)工作记录本
第三篇:过程控制系统论文
过程控制系统的发展史
“过程控制”是现代工业自动化的一个重要领域.随着各类生产工艺技术的不断改进提高,生产过程的连续化、大型化不断强化,随着对过程内在规律的进一步了解,以及仪表、计算机技术的迅猛发展,生产过程控制技术获得了更大的进展。《过程控制系统》是过程控制自动化及相关专业的一门主要专业课程。过程控制系统可分为常规仪表过程控制系统与计算机过程控制系统两大类。前者在生产过程自动化中应用最早,已有六十余年的发展历史,后者是自20世纪70年代发展起来的以计算机为核心的控制系统。从系统结构来看,过程控制已经经历了四个阶段。
1.基地式控制阶段(初级阶段)
20世纪50年代,生产过程自动化主要是凭生产实践经验,局限于一般的控制元件及机电式控制仪器,采用比较笨重的基地式仪表(如自力式温度控制器,就地式液位控制器等),实现生产设备就地分散的局部自动控制。在设备与设备之间或同一设备中的不同控制 系统之间,没有或很少有联系,其功能往往局限于单回路控制。过程控制的目的主要是几种热工参数(如温度,压力,流量及液位)的定值控制,以保证产品的质量和产量的稳定。时至今日,这类控制系统仍没有被淘汰,而且还有了新的发展,但所占的比重大为减小。
2.单元组合仪表自动化阶段
20世纪60年代出现了单元组合仪表组成的控制系统,单元组合仪表有电动和气动两大类。所谓单元组合,就是把自动控制系统仪表按功能分成若干单元,依据实际控制系统结构的需要进行适当的组合,因此单元组合仪表使用方便,灵活。单元组合仪表之间用标准统一的信号联系,气动仪表(QDZ系列)为20~100kPa气压信号,电动仪表为0~10mA直流电流信号(DDZ—Ⅱ系列)和4~20mA直流电流信号(DDZ—Ⅲ系列)。由于电流信号便于远距离传送,因而实现了集中监控与集中操纵控制系统,对提高设备效率和强化生产过程有所促进,使用那个了工业生产设备日益大型化与连续化发展的需要。随着仪表工业的迅速发展,对过程控制对象特性的认识,对仪表及控制系统的设计计算方法等都有了较大的进步。但从设计构思来看,过程控制仍处于各控制系统互不关联或关联甚少的定值控制范畴,只是控制的品质有了较大的提高。单元组合仪表已延续了几十年,目前国内还广泛应用。由单元组合仪表组成的控制系统,其控制策略主要是PID控制和常用的复杂控制系统(如串级、均匀、比值、前馈、分程和选择性控制等)。
3.计算机控制的初级阶段
20世纪70年代出现了计算机控制系统,最初是直接数字控制(DDC)实现集中控制,代替常规的控制仪表。但由于集中控制的固有缺陷,未能普及与推广就被集散控制系统(DCS)所替代。DCS在硬件上将控制回路分散化,数据显示,实时监督等功能集中化,有利于安全平稳的生产。就控制策略而言,DCS仍以简单的PID控制为主,再加上一些复杂的控制算法,并没有充分发挥计算机的功能。
4.综合自动化阶段
20世纪 80年代以后出现了二级优化控制 ,在DCS的基础上实现先进控制和优化控制。在硬件上采用上位机和DCS(或电动单元组合仪表)相结合,构成二级计算机优化控制。随着计算机及网络技术的发展,DCS出现了开放式系统,实现多层次计算机网络构成的管控一体化系统(CIPS)。同时,以现场总线为标准,实现以微处理器为基础的现场仪表与控制系统之间进行全数字化,双向和多站通信的现场总线网络控制系统(FCS)。FCS将对控制系统结构带来革命性变革 ,开辟控制系统的新纪元。
当前自动控制系统发展的主要特点是:生产装置实施先进控制成为发展主流;过程优化受到普遍关注;传统的DCS正在走向国际统一标准的开放式系统;综合自动化系统(CIPS)是发展方向。
综合自动化系统,就是包括生产计划和调度,操作优化,先进控制和基层控制等内容的递阶控制系统,亦称管理控制一体化系统(简称管控一体化系统)。这类自动化系统是靠计算机和及其网络来实现的,因此也称为计算机集成过程系统(CIPS)。这里,“计算机集成”指出了它的组成特征,“过程系统”指明了它的工作对象,正好与计算机集成制造系统(CIMS)相对应,有人也称之为过程工业的CIMS。
可以认为,综合自动化是当代工业自动化的主要潮流。它以整体优化为目标,以计算机为主要技术工具,以生产过程的管理和控制的自动化为主要内容,将各个自动化 “孤岛”综合集成为一个整体的系统。近二十几年来,工业生产规模的迅猛发展,加剧了对人类生存环境的污染,因此,减小工业生产对环境的影响也已纳入了过程控制的目标范围,综上所述,过程控制的主要目标有保障生产过程的安全和平稳,达到预期的产量和质量,尽可能减少原材料和能源消耗,把生产对环境的危害降低到最小程度。由此可见,生产过程自动化是保持生产稳定、降低消耗、降低成本、改善劳动条件、促进文明生产、保证生产安全和提高劳动生产率的重要手段,是20世纪科学与技术进步的特征,是工业现代化的标志之一。
以上为过程控制系统的历史,现状以及未来的发展方向。
电专111班
孟阳
120114303113
第四篇:发酵工程论文发酵过程论文
发酵工程论文发酵过程论文
生物工程技术下的发酵床养猪法
摘要: 在我国,工业式养猪的缺点逐渐显露,而“发酵床养猪法”的提出在解决养猪业环境污染、养殖效益、质量安全方面都表现出了明显的优势,受到养猪者的欢迎和行业部门的重视。因此,具有巨大的推广价值。但在应用这一技术时,也存在一些问题,影响、制约“发酵床养猪法”的应用发展,我们应该对其有一个客观的认识。
关键词: 发酵床养猪;优势;问题;制约;客观
近年来,养猪业面对的挑战日渐增多,除了猪病与市场风险外,排污与环保的压力可能是最令养猪人头痛的难题。在环保声浪日渐高涨的背景下,以厚垫料为主要特征、以“零排放”为主要卖点的“发酵床”养猪法,在强大的商业宣传攻势及各级政府部门的推动下,大有星火燎原之势。我认为,一项饲养工艺的重大变革不但需要严谨的科学论证,更需要对实际效果进行实事求是的经得起时空考验的客观评估。
发酵床技术的概括
1.1 发酵床养猪技术的原理
发酵床养猪的原理是在养猪圈舍内利用一些高效有益微生物与垫料建造发酵床,猪将排泄物直接排在发酵床上,利用生猪的拱掘习性,加上人工辅助翻耙,使猪粪、尿和垫料充分混合,通过有益发酵微生物菌落的分解发酵,使猪粪、尿有机物质得到充分的分解和转化。发酵床养猪的技术原理与农田有机肥被分解的原理基本一致,关键是垫料碳氮比与发酵微生物的选择。其技术核心在于“发,可以说,“发酵床”效率的高低决定了该养猪法经济效益的高低。
1.2 发酵床中的有益微生物
发酵床中所使用的高效有益微生物主要有芽孢杆菌属、乳酸杆菌属(厌氧型)、放线菌群(好气型)和酵母菌群(好氧型)。
1.3 发酵床养猪的注意事项
1.3.1 猪舍:一般要求猪舍呈东西走向,座北朝南,这样的圈舍采光好,利于发酵;而且南北可以敞开,适合通风良好,不臭也没蚊蝇。
1.3.2 阳光:屋顶需要设置透明亮瓦,要让阳光照进来,这个对圈底微生物发酵床菌种营养搭档伴侣和粪便秸秆发酵剂的发酵非常重要,亮瓦的多少以阳光自东向西移动时可照到猪圈全部为最佳,尽量做到阳光普照。
1.3.3 养猪密度:根据猪的大小来分,考虑猪的数目,每个猪大概1平方米左右,如果养的密度太小,微生物营养不够,发酵不好,就失去效果了,但是可以补充。密度过大绝对不行,对圈地造成很大的影响,猪的活动空间也不够,微生物吸收不了这么多猪粪,导致圈底潮湿。
1.3.4 垫料:垫料一般选择:秸秆、树叶杂草、稻谷壳粉、锯末屑、粪便,发酵床菌种之一粪便秸秆发酵剂等,有条件加入少量的米糠、酒糟等糟渣饲料发酵效果更好。其厚度一般在80cm左右,以确保发酵床有较高的温度。
1.3.5 垫料管理:正常运行的垫料,其中心部无臭味,湿度45%~50%,温度45℃左右,PH值7~8。为了保证垫料的正常发酵,应每周翻动2~3次,翻动深度30厘米以上。打散结块垫料保证通透性。每批猪出栏后将垫料彻底翻一遍。
对发酵床的客观看待
2.1 发酵床养猪技术的优点
2.1.1 减轻对环境的污染:猪粪尿可长期留存猪舍内,不向外排放,不向周围流淌,利用垫料里含有的相当活性的土壤微生生物的发酵原理,能够迅速有效的降解、消化猪的排泄物,不需要再对猪粪尿采用清扫排放,也不会形成大量的冲圈污水,从而变成没有任何废弃物排放的养猪场,真正达到养猪零排放的目的。
2.1.2 节约能源:猪粪尿与锯末垫料的混合物在微生物的作用下迅速发酵分解,产生热量,中心温度可达40~50℃或更高,表层温度长期维持在25~30℃。在零度以下的冬天,不管南方北方(北方更有优势),这个升温的优点是很具经济价值的,省了电、煤等取暖费。尤其是改善了猪的腹感温度,降低了猪舍温度变化幅度,相比其他取暖方式,更具优势。同样,在夏季,由于几乎全敞开窗户,形成了扫地风、穿堂风等类似凉亭子的效果,结合垫料管理,猪只感觉非常凉爽。
2.1.3 增加安全性:利用有益菌占位原理,增强猪只抗病力,提高了饲养效率和猪肉品质病原菌致病的基础是病原菌达到一定的浓度,由于发酵微生物等有益菌的大量繁殖,在垫床上、空气中甚至猪舍的各个角落都弥漫着有益菌,使有益菌成为优势菌群,形成阻挡病原菌的天然屏障。即使有极少量病原菌的刺激,也只能使猪只产生特异性免疫反应,从而使猪只形成坚强的保护力。
2.1.4 提高猪肉品质:猪饲养在垫料上,显得十分舒适,猪活动量较大。猪生长发育健康,几乎没有猪病发生,几乎不用抗生药物,提高了猪肉品质,生产出真正意义上的有机猪肉。
2.2 发酵床养猪技术的缺点
2.2.1 发酵床造价比较高:不适合小型用户,适合规模养殖场。
2.2.2 饲养密度与排泄物承载能力:由于猪群的排泄物全部汇集在“发酵床”上,有效单位面积的饲养密度与排泄物的承载能力呈正相关,发酵床面积太小导致功能微生物因面积不够而超负荷工作,导致发酵床降解粪便、除臭、促生长的作用就不明显或基本丧失殆尽。
2.2.3 疫病的控制问题:虽然危害养猪业的主要细菌、病毒无法在50℃的环境下长期存活,但不能带猪消毒始终是这一养猪法的缺陷,发酵床养的猪也会得病,发酵的益生菌也不可能完全抑制病毒,同时发酵床是靠木屑、米糠等粉状物吸收猪的排泄物,而猪有拱食的习惯,木屑、米糠等粉状物会因为猪拱食进入呼吸道,有造成呼吸道疾病的潜在威胁,湿度过高时会使寄生虫病危害严重。
总结
总之,任何一种技术都会存在优缺点,也有一定的应用条件,发酵床养猪技术也不例外,因此发酵床的功能作用不是万能的,办法是否总会比问题多,也不一定,关键需要从各个方面综合考虑。在推广过程中,我们根据其他怕什么不怕什么,对一些技术进行了完善改良并积极做好维护和管理工作使发酵床长期正常运转。
参考文献:
[1]向仲怀、黄君霆、夏建国,等蚕丝生物学[M].北京:中国林业出版社,2005.[2]向仲怀,家蚕遗传育种学[M].北京:中国农业出版社,1994.[3]张友洪、肖金树、周安莲,特殊性状蚕品种923·9215×952·956H的育成[J].中国蚕业,2006,27(3):37-38.[4]罗尤海、代方银、鲁成,家蚕突变型浓黑蛹的遗传分析研究[J].安徽农业科学,2006(14):3398-3400.[5]杨明观、陈玉银、江丽军,桑蚕暗化蛾突变体及其在生产上的应用前景[J].蚕桑通报,2001,32(4):19-21.[6]宋秀超、郝建伟、陈灿菊、崔艳辉,《今日畜牧兽医》,2008年第九期.[7]杜晓光,《中国动物保健》(ChinaAnimalHealth),2009年8月.[8]李玉霞,《ChinaSwineIndustry》,2009年第八期.
第五篇:4-9毕业设计(论文)过程材料目录
本科毕业设计(论文)过程材料
目录
1.本科毕业设计(论文)任务书
2.本科毕业实习、毕业设计(论文)工作计划
3.本科毕业设计(论文)开题报告(含论文综述)
4.本科毕业设计(论文)读书报告(读书笔记)
5.本科毕业设计(论文)外文翻译(附外文原文)
6.本科毕业实习、毕业设计(论文)阶段总结
7.本科毕业实习、毕业设计(论文)工作总结
8.本科毕业实习、毕业设计(论文)鉴定表
9.本科毕业实习、毕业设计(论文)工作记录本