python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现

计算机软件技术的不断发展,推动了人机交互技术的长足进步。从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI),再发展到当前的自然用户界面(Natural User Interface,NUI)。界面技术使得用户与计算机之间的交互过程越来越简单,越来越便捷。

无论界面技术如何发展,命令行技术作为一种基于文本命令的模式,一直被广大软件开发人员所喜爱,这是由命令行技术的特点决定的[。一是命令行可以通过纯字符完成命令的输入,不需要频繁地使用鼠标等其它交互手段;二是在熟练记忆命令的前提下,命令行的效率是所有的交互手段中最高的,特别是对大量重复处理、批处理的时候,命令行优势明显。因此,无论图形界面技术如何发展,命令行均是主流软件考虑并保留的基本交互方式。

在天文数据处理领域,交互式数据语言(Interactive Data Language,IDL)、CASA(Common Astronomy Software Applications)等天文软件均提供了命令行接口。CASA软件在原有的AIPS、AIPS++基础上发展起来,目前已经是射电天文领域最为常用的数据处理软件 ,其操作完全需要通过命令行实现,在使用中不难发现仍有一些不方便之处,主要表现在:

(1)联机帮助功能不完备,不能分级提示。当用户不熟悉该软件时,联机帮助过程不详尽,不能获知命令参数的类型及格式,导致用户无法正确使用该命令。

(2)命令库没有进行有效分类。CASA命令复杂,数量庞大,在没有分类的情况下,在大量的命令中查找所需要的命令,对于操作人员非常困难。

从当前各类命令行界面的设计与特点来看,最为著名的是美国思科公司在其路由、交换机上实现的命令行界面,可以实现命令的联机帮助、自动命令补全、全程命令参数提示、严格的数据校验等。在其推出后,迅速成为全世界命令行交互软件的一个参考标准。国内外的后续产品都参考借鉴了思科公司(CISCO)的命令行风格。

本文借鉴思科公司命令行的设计思路[,在新一代中国太阳射电日像仪[(Chinese Solar Radio Heliograph,CSRH)数据处理系统的开发中,设计并实现了命令行界面系统-CSRHOS。该软件基于射电天文当前流行的Python语言,以太阳射电日像仪数据处理系统为应用背景,通过多个视图实现不同的命令分类,在交互过程中可以进行有效的权限控制,并可以实现命令的自动补全和联机帮助,使用者无需记忆复杂的命令即可快速地输入命令,取得了较好的应用效果。

1 系统设计

1.1 设计的需求分析

天文软件与其它计算机应用软件相比并没有很大的特殊性,但针对一个望远镜的观测与数据处理软件系统,软件的使用与交互仍有较明确的单一需求。包括:(1)交互命令要直观,输入的命令应尽可能简短;(2)对输入的数据必须有较强的检验,确保数据输入的合法性,避免影响最终的数据处理结果;(3)由于操作人员众多,尽可能不要让操作人员记忆太多的命令;(4)由于功能变化较大,要具有较好的可扩展性等;(5)系统的鲁棒性要好,用户输入错误不会导致系统异常或崩溃;(6)输入顺序的不同不应该影响数据的处理;(7)在输入命令时,为了避免命令歧义,要求命令关键字部分严格区分大小写,但用户输入的各类参数应具有较好的灵活性,比如可以不区分大小写,要适应人的自然等。为此,CSRHOS-CLI的设计与实现应该达到如下要求:

(1)为天文学家提供最为简单的交互方式。输入时,支持正常的光标移动,可以利用上下光标键翻转已经发过的命令,避免重复输入;输入一个命令时,只要输入的内容可以完整且唯一地表明一个命令,则不需要再输入下去,比如,如果命令是enable,当输入en后,如果没有其它命令以en开头,则en就可以唯一地表示e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值