第四届全国高校GIS技能大赛开发组作品评审心得
第五届全国高校GIS技能大赛即将开赛。为了帮助今年参赛的学生开发出更高水平的作品。将第四届全国高校GIS技能大赛评审过程中发现的一些常见问题与大家分享,希望参加第五届全国高校GIS技能大赛的同学可以在以往作品的基础上,取其精华,开发出更加优秀的作品。
我们将从系统功能、用户体验、编程规范、视频和文档四个方面进行总结:
一、 系统功能
1) 让数据“流动”起来
数据是GIS的血液,从这句话足以见得数据对于一个GIS应用来说是多么的重要。假如将一个GIS应用比作一个生命体,如果血液不够充足,不能流通,或者无法更新,那么这个生命体又如何具有旺盛的生命力?一个没有生命力的GIS应用无法应用到实际中,也就无法发挥它的价值。一个完整的GIS应用应该包括数据的采集录入,数据的存储,数据的分析,以及分析结果的输出。有好多作品其实是非常优秀的,就是因为缺少了其中的某一个环节,没能取得更好的成绩。
希望大家在设计开发自己的作品的时候,可以结合自己作品的应用方向,在满足相关行业标准的前提下,保证数据流的完整性,开发出一个真正可以得到实际应用的系统。
2) 突出GIS技术
GIS功能所占比重偏小,这个是第四届开发组作品中最普遍存在的现象。最突出的就是统计功能,大家将数据的统计功能可谓做到了极致,各种柱状图、饼图、3D饼图等等。操作方式别出心裁,界面特效相当华丽,可以看出开发者也是用了心了。可是当我们想看一看更加精彩的GIS应用时,却发现真正基于GIS技术实现功能又很少。我们要做的是GIS应用,我们要用GIS方法解决问题。如果只是要导入一些准备好的数据然后统计各种图表的话,那么我直接使用EXCEL进行统计就可以了,为何还要费时费力开发一个GIS应用系统呢?当然,统计图表这种形式也是GIS应用系统必不可少的数据分析方法,但是大家有没有想过利用更具GIS特色的专题图进行统计分析呢?
希望大家在设计开发自己的作品的时候,多考虑使用GIS方法解决问题。一些常规方式是要有,但是不能作为主要功能。大赛的目的也是希望给大家一个平台,发掘大家的潜能,挖掘更加精彩的GIS应用。
3) 勿做无用功
在评审大家作品的过程中发现,像缓冲区分析、距离两算、叠加分析等GIS功能在很多作品里面都出现了。这些都是经典的GIS特色功能,但是却和作品所要实现的任务目标没有任何什么关系,纯粹是为了丰富系统功能而添加。这样的做法我们也是不提倡的。
希望大家在设计开发自己的作品的时候,仔细想想每个功能对你们作品所要实现的目标能有什么帮助。要有目的的去实现功能,不要做无用功。
二、 用户体验
1) 界面布局配色
有关界面布局和配色,就给大家提三个意见。
(1). 尊重用户习惯
计算机技术发展到今天,已经产生了无数的网站、软件,人们在使用这些软件的过程中也养成了一些习惯。例如:无处不在的右键功能、按F1就可以打开帮助文档、关闭时提示保存、网站的登录和注册一般都在页面的上半部分的显眼位置等等。除非你能设计出一套更加完美的操作方式,否则的话,请尊重那些经典的习惯,盲目的创新只会严重影响可操作性。
(2). 切忌喧宾夺主
界面空间就那么大,用户看到的界面是个什么样子取决于你展现在他眼前的是个什么样子。不要想着用户会像你一样主动去找到藏在某个角落里的特色功能,用户学习使用你们的系统的过程是个被动接受的过程。所以,请尽量把你想要让用户先看到的放在最显眼的位置,并给予其最大的展示空间。颜色搭配上也尽量突显主体,或者保证全局色调一致也可,慎用反色。在界面配色中也有一些固定搭配,大家可到网络上搜索出来好好看看。
(3). 多看一些主流产品,站在用户角度去设计
在学习阶段,建议大家可以多看看当前流行的软件和网站产品,尝试去体会那些产品背后的设计师的布局和配色的用意。可以尝试着去模仿,但是请不要抄袭。设计过程中不断变换角度,站在用户的角度去审视你自己的作品。
2) 用户交互设计
用户体验,绝不仅仅是指布局和配色,操作方式是用户体验相当重要的一环。好的布局和配色、华丽的特效,确实能让人眼前一亮,勾起人想要操作一下试一试的欲望,如果操作让人很痛苦,即便再友好的布局、再炫的特效也留不住那些想要放弃使用的用户。用户交互设计应该是和界面布局同时进行的,两者必不可分。界面布局设计的是用户去哪里进行交互操作,而用户交互设计就是要确定用户如何进行交互。在进行用户交互设计的时候同样也要尊重用户已有的一些习惯。盲目的创新只会降低可操作性。
三、 编程规范
1) 编码规范
参加大赛的同学大多处于编程学习阶段,很多同学刚刚步入编程的大门,这个阶段也是编程习惯最容易养成的阶段。养成良好的编程习惯,十分有利于大家以后走向工作岗位与人合作。因此,命名规范、排版规范、注释规范、结构体规范、函数规范、界面规范等都是需要大家注意的地方。这些都有一些世界通用的一些规范,大家可以任选一个。当然,大家也可自定义属于你们自己的编程规范,但是要保证你们的整个作品里面的规范只有唯一的一套,而且要坚决杜绝汉字、数字、特殊符号的出现!
学有余力的同学可考虑一下应用架构的问题。可尝试使用三层架构或者MVC。
2) DRY编程规则
DRY(Don't repeat yourself),字面意思来看:"不要重复自己"。强调的意思就是在进行编程时相同的代码不要重复写,最好只写一次,然后可以在其他地方直接引用。如此一来,可以提高代码重用率,缩减代码量,同时也有助于提高代码的可读性和可维护性。当需要做出更改时,只需要更改一个地方即可。
这也是编程初学者最容易忽略的编程规则,在历年的大赛作品中没有考虑这条规则的作品有很多,尤其是初级开发组最为严重,大都觉得实现了功能就可以了,丝毫没有考虑代码的质量和效率。希望大家在以后的编程学习和实践中,注意一下DRY规则。
四、 视频和文档
视频和文档是初审时评委老师进行评分的首要参照。因此,在视频和文档方面大家还是要花一些功夫的。下面分别从视频和文档两个方面给大家提一些意见。
1) 视频
视频的目的是为了能让评审老师能快速的对你们的作品有个整体的认识。所以,大家在录制视频的时候一定要注意措辞,端正态度,最好是提前准备好台词。在此基础上,大家至少要在十几分钟的视频里讲清楚以下几个问题:
Ø 需求分析。用户是谁?用户有什么需求?要达到什么目的?
Ø 你的设计思路。你是如何满足用户的需求的?
Ø 把自己假想成用户使用你的系统,验证确实可以满足用户需求。
Ø 作品的特色功能?最好是结合实际应用说明比常规方法好在哪里?
Ø ……
以上几点仅仅是给大家的几点意见,仅供参考。大家也可有自己的讲解思路,只要在规定的时间内能很好地介绍你们的作品即可。
2) 文档
相关文档具体写法大家可参照《地理信息系统设计与实现》(吴信才著;电子工业出版社)、《GIS设计与实现》(李满春著;科学出版社)。
第四届全国高校GIS技能大赛开发组作品评审心得相关推荐
- 2022年全国职业院校技能大赛(高职组)
2022年全国职业院校技能大赛(高职组) 目录 2022年全国职业院校技能大赛(高职组) 模块A:大数据平台搭建(容器环境)(15分) 任务一:Hadoop 完全分布式安装配置 任务二:Spark o ...
- 高职Java竞赛_2019年全国职业院校技能大赛高职组“物联网技术应用”赛项开赛...
[2019职教周·同期赛项] 2019年全国职业院校技能大赛 高职组"物联网技术应用"赛项开赛 大赛网讯(特约记者 刘继源 摄影 靖鑫)5月7日上午,2019年全国职业院校技能大赛 ...
- 第八届全国大学生GIS技能大赛参赛分享
全国大学生GIS技能大赛参赛分享 一.竞赛的主要内容: 1.空间数据的采集编辑与集成处理 展示学生对地图数据采集.遥感信息解译的完整业务流程.关键技术及常用GIS软件的了解和掌握程度. 测试学生面对不 ...
- 第9届全国大学生 GIS 技能大赛下午试题详解(下)附练习数据
01 数据说明 主要道路.shp:江苏省主要道路数据来源于 OpenStreet 网站. 江苏省省界.shp:江苏省行政区面数据. 江苏市届.shp:江苏省地级市面数据. 江苏县界.shp:江苏省区县 ...
- “2012年全国职业院校技能大赛”高职组信息安全管理与评估赛项获奖名单
http://www.chinaskills.org/news-nr.asp?anclassid=165&nclassid=741&id=2304 发布时间:2012-7-10 来 ...
- 2019年全国职业院校技能大赛高职组“信息安全管理与评估”赛项任务书
2019年全国职业院校技能大赛高职组 "信息安全管理与评估"赛项任务书 赛项时间 xx-xxx,共计x小时x分,含赛题发放.收卷时间. 赛项信息 赛项内容 竞赛阶段 任务阶段 竞赛 ...
- 第四届江西省高校网络安全技能大赛 决赛 MISC
第四届江西省高校网络安全技能大赛 线下赛MISC 拿到这图片用010editor打开,没看到什么有用的信息,然后用stegsolve打开图片. 在发现是LSB隐写,通道BGR里面有一个rar文件,sa ...
- 图片配准并制作专题图 |全国大学生GIS技能大赛(附练习数据)
接上一篇ArcGIS矢量检查并进行整理与更新 |全国大学生GIS技能大赛(附练习数据),今天来讲解5-11. 现有一批采集完毕的数据,其中矢量数据存在以下问题需要解决:1)某些图层中要素的几何信息存在 ...
- 2021年全国职业院校技能大赛高职组“软件测试”赛项—“阶段二竞赛任务书”
2021年全国职业院校技能大赛高职组 "软件测试"赛项-"阶段二竞赛任务书" 2021年6月 一.竞赛时间.内容及成绩组成 (一)竞赛时间 本阶段竞赛时间共为3 ...
最新文章
- python序列类型-python-序列类型
- RESTful Web 服务 - 无状态
- 病症:arm启动后应用程序界面显示…
- SPOJ - DQUERY D-query(莫队/线段树+离线/主席树)
- 踩坑记录:请求接口status返回0
- OSI各层相关的协议
- 从零开始学Pytorch(十六)之模型微调
- 重磅|前浪、后浪 一起迎接风口! BCS 2020向全球发起议题征集
- Java 实现线程的两种方式
- java运行时数据区、程序计数器(pc寄存器)、Java虚拟机栈、栈帧、局部变量表、操作数栈
- [Cocos Creator] 制作简版消消乐(四):实现消除算法
- 分析咪蒙1013篇文章,300多万字,她凭什么会火?
- 【论文笔记】视频分类系列 	Temporal Relational Reasoning in Videos (TRN)
- HI3516A/Hi3516D H265流结构分析
- HTML学生个人网站作业设计:动漫网站设计——蜡笔小新(3页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- MATLAB中对tif格式栅格影像读取-保存
- c++头文件中的防卫式声明
- python收益风险点图_AAVE当前风险与收益是否有偏差?如何评估DeFi投资组合?
- mysqli _ fetch _ assoc()函数出现警告的原因
- Android 发布代码到github 并且部署到 JitPack maven 仓库详细步骤
热门文章
- VS2010MFC编程入门
- 2、python for、if、while和交互语句
- Paraview安装两种方法(ubuntu系统下)
- 解决斐波那契数列 (3)超生的母牛——斐波那契数列的变形
- 如何卸载anaconda
- linux shell 获取表,bash - 如何获取shell脚本中目录中的文件列表?
- OriginPro2021安装LaTeX插件教程
- 报告| 7月区块链游戏行业全景:玩赚游戏持续火爆,链游用户指数级增长
- VC10和C++ 0x (1) - lambda表达式
- python语言的33个保留字的基本含义_Python入门系列5-保留字和标识符