- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 9
基于Python的天文软件命令行界面设计与实现
计算机软件技术的不断发展,推动了人机交互技术的长足进步。从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI),再发展到当前的自然用户界面(Natural User Interface,NUI)。界面技术使得用户与计算机之间的交互过程越来越简单,越来越便捷。
无论界面技术如何发展,命令行技术作为一种基于文本命令的模式,一直被广大软件开发人员所喜爱,这是由命令行技术的特点决定的[ 1,? 2]。一是命令行可以通过纯字符完成命令的输入,不需要频繁地使用鼠标等其它交互手段;二是在熟练记忆命令的前提下,命令行的效率是所有的交互手段中最高的,特别是对大量重复处理、批处理的时候,命令行优势明显。因此,无论图形界面技术如何发展,命令行均是主流软件考虑并保留的基本交互方式。
在天文数据处理领域,交互式数据语言(Interactive Data Language,IDL)、CASA(Common Astronomy Software Applications)等天文软件均提供了命令行接口。CASA软件在原有的AIPS、AIPS++基础上发展起来,目前已经是射电天文领域最为常用的数据处理软件 ,其操作完全需要通过命令行实现,在使用中不难发现仍有一些不方便之处,主要表现在:
(1)联机帮助功能不完备,不能分级提示。当用户不熟悉该软件时,联机帮助过程不详尽,不能获知命令参数的类型及格式,导致用户无法正确使用该命令。
(2)命令库没有进行有效分类。CASA命令复杂,数量庞大,在没有分类的情况下,在大量的命令中查找所需要的命令,对于操作人员非常困难。
从当前各类命令行界面的设计与特点来看,最为著名的是美国思科公司在其路由、交换机上实现的命令行界面,可以实现命令的联机帮助、自动命令补全、全程命令参数提示、严格的数据校验等。在其推出后,迅速成为全世界命令行交互软件的一个参考标准。国内外的后续产品都参考借鉴了思科公司(CISCO)的命令行风格。
本文借鉴思科公司命令行的设计思路[ 3,? 4],在新一代中国太阳射电日像仪[ 5,? 6](Chinese Solar Radio Heliograph,CSRH)数据处理系统的开发中,设计并实现了命令行界面系统-CSRHOS。该软件基于射电天文当前流行的Python语言,以太阳射电日像仪数据处理系统为应用背景,通过多个视图实现不同的命令分类,在交互过程中可以进行有效的权限控制,并可以实现命令的自动补全和联机帮助,使用者无需记忆复杂的命令即可快速地输入命令,取得了较好的应用效果。
1 系统设计
1.1 设计的需求分析
天文软件与其它计算机应用软件相比并没有很大的特殊性,但针对一个望远镜的观测与数据处理软件系统,软件的使用与交互仍有较明确的单一需求。包括:(1)交互命令要直观,输入的命令应尽可能简短;(2)对输入的数据必须有较强的检验,确保数据输入的合法性,避免影响最终的数据处理结果;(3)由于操作人员众多,尽可能不要让操作人员记忆太多的命令;(4)由于功能变化较大,要具有较好的可扩展性等;(5)系统的鲁棒性要好,用户输入错误不会导致系统异常或崩溃;(6)输入顺序的不同不应该影响数据的处理;(7)在输入命令时,为了避免命令歧义,要求命令关键字部分严格区分大小写,但用户输入的各类参数应具有较好的灵活性,比如可以不区分大小写,要适应人的自然等。为此,CSRHOS-CLI的设计与实现应该达到如下要求:
(1)为天文学家提供最为简单的交互方式。输入时,支持正常的光标移动,可以利用上下光标键翻转已经发过的命令,避免重复输入;输入一个命令时,只要输入的内容可以完整且唯一地表明一个命令,则不需要再输入下去,比如,如果命令是enable,当输入en后,如果没有其它命令以en开头,则en就可以唯一地表示enable,用这样的技术简化用户输入。
(2)支持自动补全。在用户输入一个命令的部分后,可以用Tab按键实现自动命令补全,比如用户输入en后,按Tab键,则屏幕应自动出现enable。
(3)在输入过程中,随时允许用户输入问号(?)实现联机帮助。用户在命令行提示符下,如果直接按?号,则应该列出所有的可用命令;如果用户输入了e,在后面再按?号,则应显示所有的以e开头的命令,用这样的方式,可以让用户即使没有看操作手册,也可以根据提示内容进行操作。
(4)在输入时要严格进行数据类型的匹配与校验,比如,如果要求用户输入一个观测时间,则应该判断用户输入的是不是HH∶MM∶SS格式,输入的内容必须是数字,不能是字符,输入的范围要合理,HH必须在00-23之间,MM必须在00-59之
您可能关注的文档
- 人教版 预备单元Starter Unit 2 (1a-2e) .ppt
- 高中物理人教版运动学必修一基本概念.doc
- 人教物理八年级上册第二章第3节 声的利用.ppt
- 贵州省黔东南州剑河县南寨中学2018—2019年七年级下学期期末水平文化测试道德与法治试卷(无答案).doc
- 绿色矿山评分表.docx
- 人教版英语九年级unit1知识点总结(无答案).doc
- 色盲测试结果.ppt
- 人教版七年级上册2.2整式的加减 合并同类项第一课时课件.ppt
- 第一节-种子的萌发(使用).ppt
- 雨水收集系统操作说明和维护事项(中科源).docx
- 人教版道德与法治九年级上册 5.2 凝聚价值追求 教案设计.docx
- 2019届新题赏析第7期:湖北省4月调考政 治试题和选择题分析.docx
- 人教部编版七上历史第1单元史前时期:中国境内早期人类和文明的起源同步测试.docx
- 应用血管活性药物.ppt
- 2019秋浙教版数学七年级上册同步测试试题:微专题2 有理数的加减混合运算技巧及应用.docx
- 实验一-实验常用电子仪器的使用.ppt
- 人教版高中历史必修一第27课 世纪之交的世界格局 .ppt
- 2020版语文人教版(新教材)新笔记导学必修上册讲义:第四单元 当代文化参和专题检测及答案.docx
- 沪科版八年级2.2第二节 第1课时 长度、时间及测量 练习题.docx
- 人教版八年级物理第三章----第二节----熔化和凝固---导学案设计.doc
文档评论(0)