计算机化信息汇编系统的建立

   本章将讨论为基因库建立一个计算机化信息汇编系统的过程。
    ▲建立一个菜单驱动的计算机化信息汇编系统的步骤
    ▲设计屏幕格式、报告、菜单时应考虑的事项
    ▲打印报表
    ▲实现软件的数据管理功能
    ▲把你的屏幕格式和报表格式编入普通程序中 
    ▲菜单研制和优化
1 引言
   在基因库分析中,你将研究:
    ▲数据的产生和使用过程
    ▲利用流程图阐明过程
    ▲编制基因库数据的要求和优先权
    ▲信息要求(如:特殊报表)
    ▲编制文件是基因库过程的一个完整部分
   研究以上几点可以得出一个详细的说明表,作为设计计算机化信息汇编系统的基础。
这有时也称为逻辑系统设计(logical system design)。
   它所定义的信息汇编系统操作与计算机软硬件无关。
   从逻辑系统设计出发,你可以得出物理系统设计(physical system design),物理系统设计详细描述信息汇编系统在特定软硬件环境下的操作。它同时考虑了系统使用人员的特点和要求。
   物理系统设计的最后结果是一个计算机化信息汇编系统实际操作的详细计划。本章将重点讨论物理系统设计。
  要确定的第一步是现有软件和硬件能否支持你的逻辑系统设计。可能存在某些操作限制。例如,软件不能执行你所确定的任务,或者数据录入人员不曾使用过运行该系统的计算机。在这种情况下,你应该反复修改你的逻辑系统设计,以解决这些问题。你可能需要重新考虑软件的选择,或者使用相同的软件从不同的角度寻求达到相同结果的方法。你也可以考虑调整数据录入人员以便他们能够使用合适的计算机,或者把计算机移到更接近于数据录入人员的地方,或者把输入数据的工作交给另一个人。
1.1 建立计算机化信息汇编系统的步骤
   到现在为止,你已经为信息汇编系统定义了数据文件。下一步是开始利用所选软件产生这些文件来建立系统。我们也必须了解如何利用所选软件来维护这些文件,以及如何从系统中检索信息。
建立系统的不同阶段。
   在前几章里,我们已经详细讨论了图1所示的前四步。在本章的下面几节里,我们要仔细了解建立信息汇编系统的后几步。
2 设计屏幕格式
   记录和检索精确可靠的高质量的数据是信息汇编系统成功的基础。如果数据记录困难或者没有建立录入数据的质量保证系统,就不可避免地产生错误,检索的信息质量也有疑问。并且在以后纠正这些错误时会浪费宝贵的时间,因此保证一开始所输入数据的正确性是很重要的。
屏幕格式用作操作人员与数据文件之间的界面,它们有时也称作视图(view)。当输入、修改、搜索或删除数据时,你会在屏幕上看到它们,它们是同等于手工的计算机形式。屏幕格式将有助于确保数据输入的精确性和可靠性。
在设计屏幕格式时,你的目的应该是:
(1) 阻止错误进入系统
(2) 使数据输入和修改具有“友好的用户界面”
   正如我们在下一节将要看到的,屏幕格式实际上功能很强,而且是必不可少的界面。图2所示的是典型的屏幕格式。
2.1 设计你的屏幕格式的要求
   数据输入和修改的一些基本屏幕格式有时由数据库管理软件提供,但是,一般最好自己设计屏幕格式。
   大多数数据库管理软件自动产生一个基本的数据输入屏幕,它以字段定义的顺序,显示所有的字段,分配给每个字段的字段名通常作为一种标签出现,接下来的区域用于输入数据。这将在下面的例子中说明。
   在基本情况描述文件中,可能有下列描述符:
基本资料描述项
统一编号(Accession number)
收集者编号(Collectors number)
收集单位(Collectors institute)
收集日期(Date of collection)
收集国家(Country of collection)
(其它字段)
由软件提供的基本输入格式可能是如下形式:
字段名 数据输入的区域
ACC-NO -------
COLL-NO -------
COLL-INST -------
COLL-DAT -------
COLL-COUN -------
   对于临时用户,把数据输入上面的屏幕格式时,可能会出现问题。但是可以设计屏幕格式以使数据输入
修改的用户界面更加友好。在下面几节里,我们将看看如何达到这个目的。
2.2 如何设计屏幕格式屏幕格式的设计灵活性依赖于你所选择的软件,有些软件只有基本的功能,其它一些软件则很复杂。最终的设计应该依赖于使用这个系统的工作人员的喜好。然而有一些基本的规则值得遵守。
2.2.1 为每一个文件编制过程设计一种格式
可以将屏幕格式设计为只显示选择的字段
   你的软件可能已经提供了一种显示数据文件中所有字段的基本屏幕格式,用于数据的输入和修改。然而,通常你只想使用文件中全部描述符的一部分,屏幕格式应该设计成适合所选字段的数据输入和修改的格式,这样的屏幕格式通常称为屏蔽(mask)。
每个文件不要只依赖于一种格式
   例如,你可能要修改基本情况描述文件中的几个描述符,或者要输入几个测试的特性试验数据。你不必在屏幕上到处寻找适合字段来填入数据,否则是很费时间而且无益的,产生错误的风险也很高。为每个文件编制过程设计一种只包含所选字段的格式能够避免这些问题,不要使每个文件只依赖一种格式。
2.2.2 避免每种格式含有太多信息
在多种格式上分布描述符
   如果你要输入一个大的特性试验的数据,而且你只有一种包括所有描述符的格式,那么屏幕就会出现混乱和难以辨认。如果很难辨认,也就会很难使用,并容易出现错误。如果你在不只一种格式上分配这些描述符附加的格式可以顺序使用,这样就可避免上述情况出现,屏幕也容易辨认和使用。
   由于用户不熟悉你的代码系统,你可能也想把每个描述符旁边的可接受的描述状态包括进来,但是,这样会占据大量的屏幕空间。或许,这些信息可以放在别的地方,如联机求助系统或写在纸上的资料。
2.2.3 在格式上使用描述符名,而不是字段名
   如果限制你的字段名为一定数量的字符,你可能不得不缩写描述符名来产生字段名。对于临时用户,很难弄清楚缩写的含义以及哪些数据应属于哪个字段。例如,他们可能认为“COLLDAT”指的是有关“Collection source(收集来源)”的数据。因此,数据输入的用户界面不是友好的,并且错误很容易进入系统。
   屏幕格式允许你显示更具描述性的文本作为字段的标记,而且常常不限制你所用的字符数量。
例如,你可用标记“Date of collection”来代替“COLLDAT”。
   在屏幕上,可用更具说明性的标记来代替字段名,这样临时用户可以很清楚地把数据输入特定的字段。因此,在屏幕格式中,利用描述符的全名而不是字段名来作为字段的标记是一个好办法。
   现在以本章2.1节所示的基本资料描述文件的基本输入屏幕格式作为例子,你可以把你的屏幕格式设计的样子。
2.2.4 在屏幕格式中使用与手工形式相同的顺序来显示字段通常你可以将字段以任何的顺序放在屏幕的任何地方
   通常你会把手工形式中的数据输入数据库中,如果屏幕上的字段顺序与手工形式的顺序一样,那么数据输入就会容易得多。在把数据输入数据库文件之前,重新安排数据是一个很繁重、很费力的工作。请记住在设计格式时,你可以把字段以任何顺序放在屏幕的任何地方,不要只限于在记录定义中出现的字段顺序(见第八章,第4节,对记录定义的详细讨论)。
2.2.5 保持格式设计的一致性
将相同类型的信息放在每一格式的相同区域 
   如果在不同格式的设计中保持一致性,一般用户就会发现系统使用起来很容易。要把每种格式中相同类型的信息,如错误信息、有关特定键功能的信息,如何得到帮助等的信息放在屏幕的相同区域。
给屏幕格式命以标题,并使其具有说明作用 
   不要忘记给屏幕格式一个标题,考虑一下格式被使用的文件编制过程,并使标题具有说明作用。如果,一个过程是用于基因库中登记新的种质,那么可以把这个格式称为“Register new accessions(登记新的种质)”,或者是“Allocate genebank accession number(分配库编号)”,而称之为“Data entry form (数据输入格式)”并不好因为不知道是为哪个文件输入数据?
2.2.6 利用软件功能来减少数据输入错误
   通常软件可以定义屏幕格式上字段接收和显示数据的方式。这非常有助于防止错误进入数据库。有些更重要的功能将在下面讨论。
(1)禁止非法响应
   一个字段可以设置成接受合法响应。使用代码来表示描述符状态有助于防止错误。为了强调这一点,我们来看一个特性文件的例子,在这个文件里数据经常是以代码的形式输入的。
特性鉴定文件
花色(Flower colour)
花的大小(Flower size)
株 高(Plant height)
叶片大小(Leaflet size)
果实硬度(Fruit firmness)
果实气味(Fruit aroma)
   对于以上的大多数描述符,只存在有限数目的合法输入值,如0,1,2,3,4,5,6,7,8,9,+,×。然而,或许只有12个合法值时,由键盘输入的任何字符都被计算机正常接受,你会发现你的系统充满了非法数据。通过设计屏幕格式,以限制数据输入的合法响应就可以避免这个问题。
(2) 使用求助信息显示
这个用于给出有关字段的信息,如合法的描述状态是什么。
(3) 显示出错信息
这对于提醒用户出现了什么错误以及如何纠正错误是有用的。
(4) 赋予一个缺省值
   在数据输入之前,字段通常是空的。然而对于特定的字段,数据输入前,你可能要赋予一个缺省值。如果字段的初始响应总是相同的话,例如在没有执行测试的特性试验中的字段初值总是“未知(unknown)”,这一点很有用。在赋予缺省值之前,考虑缺省值是否适合所有情况。
(5) 使用自动生成的字段值
   经常使用的某些字段值,例如当天的日期,可由计算机自动生成。这对于输入基本资料描述数据,或任何其他你想记录输入或修改日期的数据都是有用的。有些软件,只要敲一个键,就可把以前输入的数据在相同的字段上进行拷贝。
当输入一系列记录,比如,考察队从同一个地方收集到的种质的资料时,这是非常有用的。
(6) 转换成大写字母
   有时,你可能只想用大写字母存贮数据,可以定义字段把所有输入的字符转换成大写。例如,如果你把提供者编号打为“egru 380”,贮存的值将是“EGRU 380”,这将有助于以后的信息检索。
(7) 使用只显示或保护的字段
   它能够用来保护某些字段以免数据修改。例如,统一编号,提交日期这样的字段必须是可见的,而不应被修改,这能避免意外的修改。
所有这些特点是很有用的,也是很值得充分利用的。虽然还不能阻止所有的错误,但能够大大减少错误进入系数的数目。
(8) 允许光标在屏幕内移动。
   在移到下一屏幕之前,这对于检查屏幕、纠正错误都非常有用。如果你的软件有这个特性,那么在你所有的屏幕格式中应经常使用它。
2.2.7 有节制地使用不同式样
   在第六章中详细讨论了不同式样的使用。记住你应该使用不同式样使得利用屏幕格式更容易。例如,太多夸大的字母和黑体字、太多的方框和线条以及太多的颜色使屏幕格式很难辨认。应着眼于布局,使用不同式样只用作强调以使屏幕格式简单明了。
2.2.8 声音效果应有限地运用声音效果。当计算机完成一个费时的任务,或者操作员操作出错时,声音可以向用户发出警报。但是如果计算机不断地发出噪音,它就使人很反感了,不仅对用户是这样,对同一个房间的其它人也是这样。
2.2.9 对不同设计进行试验并找出最实用的
有些屏幕格式看起来很好,但不实用,它们可能由于屏幕上有太多信息而难于阅读,或者需要更好的联机或文件求助功能。因此设计出不同的版本,并请用户试用是值得的。屏幕格式的用户界面越友好,数据存贮也可能越可靠和精确。
2.3 屏幕格式设计的步骤
   (1) 在使用数据库软件建立屏幕格式之前,最好在纸上作一个大概描绘,列出你希望显示的所有字段,参考你为每个数据库文件所做的字段说明表,因为这些说明会影响你设计屏幕格式。
   (2) 熟悉你的软件有关设计屏幕格式方面的功能,并对几个设计进行试验以检验第2.2.6节中列出的一些或全部功能。通过输入一些测试数据,找出每种格式使用的容易程度。
   (3) 设计一个数据输入格式,如果必要的话给每个数据库文件设计一个数据修改格式。这些格式允许你同时使用每个数据库文件中的所有字段。如果有两个不同格式,除了标题以外,它们可能是几乎相同的形式,只是数据修改格式可能有几个被保护或只显示的字段,如统一编号和提交日期。
   (4) 下一步,利用上面第3点相同的原则为每个过程设计数据输入格式,如果必要,再设计数据修改格式。这些格式可能只包括一个文件所有可能字段的一部分。
3. 研制报表
   产生报表是从数据库检索信息最有价值的办法之一。当通常条件下要求特定格式的信息时,需要建立报表。检索格式将依赖于信息需求,并且可能完全不同于数据输入的格式。
对于不规则或不可预测的信息需求,有别的办法可从系统中检索信息。例如,你可以在屏幕上依次查阅每一个记录(或一集记录),然后以它们在屏幕上出现的格式打印出来。如果你的软件有这个功能,你可以使用简单的交互式询问语言(或者是更复杂的结构化询问语言SQL)来执行查询。在这种情况下,可以选择一个或多个记录,并以此产生报表。
这节讨论报表的研制,它有几个步骤,见图4所示。
   有些软件比其它软件具有更强的报表功能。然而,如果你必须执行复杂的统计分析或制图才能得到你所需的信息时,你需要考虑把数据输出到电子数据表上。
我们现在进一步来讨论报表研制的步骤。
3.1 信息需求
   从你的基因库分析中,你已经确定了你的信息需求。
例如,你可能已对负责种子测试的官员谈到了有关信息需求,如种子测试单位和对单位工作有用的报表类型。你可以草拟一个象这样的报表表格:
 种子测试单位需求的报表。
 特定种质的生活力
 特定作物的生活力
 具有一定范围生活力的种质
 没有被测试的种质
 三个月内要求再测试的种质
 六个月内要求再测试的种质
 再测试过期的种质
 (其它)
   对每一个报表,你将要确定哪些描述符需要列在报表中,你应对记录出现的顺序有所考虑(例如,统一编号顺序、作物的字母排列顺序,日期顺序,或者是这些的组合顺序)。您也应确定对数据需要执行哪些运算。图5说明了从不同数据文件中抽取数据形成一个报表的意图。
事实上,不同基因库工作的信息需求将会影响某些决策,如需要记录的描述符,以及描述符在系统的数据文件中所处的位置。
   例如,种子测试被周期性地执行,但是是六个月一次,还是两年一次?有些作物需要比其它作物更频繁地测试吗?从这种问题中,你就可能明白记录报表中使用的下次测试日期(date of next test)的必要了。
3.2 定义检索
   下一步要讨论按所需顺序从不同数据文件中检索信息的方法。在本节开头提到了三个考虑事项:
(1) 你想检索哪些字段
(2) 文件是否需要连接
(3) 用户需要输入什么
点击左边可以查看例子