1、7.l 人机接口界面的设计人机对话也叫人机交互,是指在程序运行过程中,为了控制或校验目的,通过计算机显示屏幕,使人和计算机对话(交互)的操作。在 Windows 平台上,这种对话的界面主要有三种形式即菜单方式、工具栏方式、对话框方式。下拉菜单一般作为应用系统的主菜单,创建菜单的过程可以分成规划与设计、创建、确定任务、生成和运行测试五步。7.2 输入界面设计设计输入界面就要方便用户,做到高效、直观、准确、简便、舒适。信息的输入包括:数据的采集和数据的录入两个部分,采集就是确认和获取新产生数据的过程;录入就是把源数据转变成计算机可以识别处理的信息,并保存在外存储器中的过程。7.2.1 信息输入的方
2、法和原则1.信息输入的方法可以分为批处理和联机处理两种类型。批处理:先把数据采集到一个文件中,待检测合格或计算机空闲时,再把数据文件中的数据一次性地输入管理信息系统中。联机处理:直接将采集到的数据实时输入管理信息系统的方式。2.信息输入的原则(1)源点输入。(2)统一输入。(3)数据简洁。(4)用户界面友好。3.输入数据的校验数据校验主要使用人工静态校验和计算机动态校验两种方式。(l)静态校验、就是利用人工目测的方式检查错误。这种方式效率不高,查出率会因人而异,一般不超过 80。(2)重复校验。对于同一组数据,由不同人员重复输入;然后由计算机比较检查一致性,叫做重复校验。重复校验可以将出错率降
3、到 0.l以下。(3)界限校验。事先制定数据的取值范围,由计算机系统校验数据是否超出了界限。(4)逻辑校验。校验数据的逻辑合理性。(5)平衡校验。由计算机来校验一组相关数据之间是否平衡,比如总计数应当等于各小计数之和。(6)匹配校验。以业务代码与存储文件代码比较,若不匹配则有数据错误。该工作一般由计算机和人工共同完成。(7)存在校验。有些信息在输入文件中必须存在,如果找不到,就可以判定是数据错误。该工作可以用计算机来完成。4.计算机数据校验的实现(1)逻辑校验。为了防止在年龄字段中错误地输入字符值。(2)重复校验。要让系统自动进行重复性校验,最简单的办法是将数据表的码设置为主索引域候选索引。(
4、3)界限校验。(4)匹配校验。匹配校验是检查两个表之间的错误。(5)存在校验。7.2.2 输入界面的设计1.界面设计的原则系统输入界面也是人机交互的重要界面,一般应注意如下几个方面。(1)可*性高、容错性好。为可能的参数设置初始值。设置各种校验,随时检查和提示用户系统工作状态与错误信息。设置容错、纠错功能,允许用户出错。(2)操作简单,易学易用。尽可能减少录入量。(3)创建空白界面。7.3 输出界面设计能够针对用户的需求,以最适当的方式,准确、及时地输出最需要的信息,是输出界面设计要解决的根本问题。7.3.1 输出方式的选择1.选择输出设备常见的输出设备有显示器、打印机、磁盘磁带、绘图机、网络
5、,也可以是扬声器等。2.选择输出形式一般用报表、标签输出,也可以用简单提示、报警等形式。另外,输出也可以是文字、图表、图形、声音,甚至影像。3.输出内容根据用户的不同、使用目的的不同、使用期限的不同、安全级别的不同,分类设计各类输出内容。7.3.2 输出界面的设计报表输出是最常见、最基本的输出形式。报表输出界面的设计的过程如下。1.创建报表布局报表对象包括两个基本组成部分即数据源和布局。数据源是报表数据的来源,可以是数据表、视图、查询或临时表;布局是用来定义报表输出格式的文件。布局一般提供了列布局、行布局、一对多布局、多栏布局等。7.4 处理过程设计7.4.1 基本概念处理过程设计就是要对控制
6、结构图中,每一个模块内部的处理过程,进行具体的描述。这种描述将成为以后编写处理程序的基础。详细地描述这个处理逻辑可以使用“输入一加工一输出” (InpuProcessOutput,IPO)图。IPO 图将为编制程序提供指导,所以也叫做程序设计任务书。IPO 图的主体是处理过程描述,描述处理过程的工具,可以是图形、表格和伪码。在结构化系统设计方式中,处理程序的设计需要详细描述各种处理所用的算法和处理步骤等。在面向对象的设计方法中,处理程序主要描述系统中各对象的方法及其对外部事件的响应和行为。7.5 系统设计说明书系统设计说明书又称为系统设计报告,是系统设计的最后成果,也是新系统的物理模型和系统实
7、施的依据。编写系统说明书的要求是:全面、清楚、准确、详细地阐明系统实施过程中的具体方法、技术、手段及环境要求。系统设计说明书的内容应当包含七个方面。(1)控制结构图及每一模块的详细说明;(2)数据库设计说明;(3)计算机和网络系统配置说明;(4)代码设计说明;(5)用户界面设计说明;(6)计算机处理过程说明;(7)实施费用估计。实施方案应当提供两个以上,以便比较、讨论、修改,最后选定一个方案。系统实施阶段是将新系统付诸实现的过程。它的主要活动是根据系统设计所提供的控制结构图、数据库设计、系统配置方案及详细设计资料,编制和调试程序,调试系统、进行系统切换等工作,将技术设计转化为物理实际系统。8.
8、l 系统实施的准备工作1.建立系统平台包括购置和安装必要的计算机和通信硬件设备、软件系统。所需硬件设备包括主机、外部设备、辅助设备(如稳压电源、空气调节装置) 、机房设施。通信设备等。2.培训管理人员和操作人员首先,对新系统的用户,即各类管理人员要进行培训。培训内容包括两方面:一方面是关于先进管理思想和方法的教育;另一方面是面向业务的培训,使管理者学会新系统的应用方法。3.基础数据的准备企业中有许多基础数据,要把它们转存到计算机存储器中。4.管理流程重组由于计算机的应用,管理人员的工作内容和工作方式也发生了很大变化。因此,必须根据系统设计的要求,重新规定系统业务流程、信息流向,改革组织机构,划
9、定各管理职能部门的职责范围。8.2 程序模块的设计在系统实施阶段,最重要的任务就是程序设计。在传统的结构化程序设计方法中,程序设计就是处理过程的设计;而在面向对象的程序设计方法中,程序设计却主要指对象的设计。8.2.1 程序设计的概述1.程序设计的任务程序设计的任务,就是根据系统设计说明书中关于模块的详细描述和处理过程的描述,选择合适的计算机语言来编制程序的工作。2.程序设计的质量要求随着计算机硬件技术的飞速发展,人们对程序设计的质量要求发生了变化。过去强调程序的正确性、高效率和短小精悍,以适应设备资源有限的计算机系统;现在则更加强调程序的正确性、可维护性、可*性和可理解性。3.良好的编程习惯
10、编制程序需要熟悉所使用的语言,具有尽可能丰富的编程经验;但是更加重要的是要具有系统的观点,采用结构化设计思想和工具,自上而下统筹考虑,避免编程时变量随意增减,变量类型随机指定,无法兼容时再任意转换等。8.2.2 结构化程序设计结构化程序设计主要用于面向过程的编程方式,为了克服程序编制中的随意性,避免错误的出现,现代程序的编写都遵照“结构化程序设计”的方法。其基本原则是自顶而下、逐步求精。结构化程序方法提出了顺序、选择和循环三种基本程序结构,任何一个程序都可以用这三种结构装配起来。1.顺序结构顺序执行,就是按照程序语句行的自然顺序,一条语句接一条语句地执行程序。顺序结构十分简单,它只是一种编写和
11、执行程序的协议、规则,并不需要用专门的结构语句来支持。2.判断选择结构在用程序解决实际问题时,常常需要对问题的给定条件做出判断,以便选择不同的解决方法,这就必须使用判断选择(分支)结构来编制程序。判断选择结构有相应的结构语句。3.循环结构在一个大程序段中,常常会重复使用某一段相同的或类似的程序段。在编制程序时,不必重复编写这个程序段,可以用重复结构来替代它。重复结构也叫循环结构。系统提供了建立三种重复结构。8.2.3 程序的调试程序设计完成之后,很少有一次运行成功的,尤其是复杂程序,包含的缺陷可能更多,程序设计者必须经过多次调试,不断地发现并修正其中的错误,证实正确无误以后才能投入使用。一个大
12、的应用系统可以先对各模块分调,然后再连调和总调。1.程序错误的分类总结程序中出现的错误,一般可分为语法错误、系统错误和逻辑错误三类。语法错误,因程序设计人员对程序设计语言的理解不够,或程序设计基本功不扎实造成的结果。系统错误,由于计算机硬件、软件引起的错误,比如计算机硬件故障;病毒感染等。对于系统错误,主要是*经验和对硬件的了解,通过分析判断排除。逻辑错误,指那些虽然不违反系统规则,但是却不合逻辑或不合题目语义的错误。这些错误系统一般很难自行检测出来。8.2.4 面向对象程序设计面向对象程序设计的最大特征是强调构成事物的每一个对象,描述的是每个对象的属性与方法。而对于响应每个事件的程序,一般不
13、再独立构成一个文件,而被封装在每个具体的对象之中。1.概念(1)对象(Object) 。一般来说,现实世界中可以独立存在的。能够被区分的一切实体(事物)都是对象。在 VFP 中所研究的对象,只是现实世界中实体或概念在计算机中的一种抽象的模型化的表示。这种抽象事物中是封装了数据和操作的对象,通过定义属性和操作来描述其特征和功能,通过定义接口来描述其地位及与其他对象的相互关系,从而形成一个动态的对象模型。(2)类(Class) 。类是一组对象的属性和行为特征的抽象描述,或者说是具有共同属性、共同操作性质的对象的集合。基类只考虑通用特征与功能,用户可以从基类中派生出许多子类。子类往往是在继承基类的基
14、础上,又增加一些新的特性与功能构成。子类也像基类一样可以派生出对象。类的基本特性是封装性、继承性和多态性。(3)属性属性就是对象的特性,是对象外观及行为的特征。对象的属性可以在建立对象时由其所属的类(或子类)继承,也可以在对象创建或运行时进行修改与设置。(4)事件事件是对象可以识别和响应的行为与操作。它一般由用户或系统来触发。VFP 中事件是固定的,用户不能再创建新的事件。(5)方法方法是对象所具有的功能。因为一种功能必然是由一个过程来支持。所以过程也可以说就是一段程序(有时也叫方法程序) 。2.面向对象程序设计的特点面向对象程序设计方法是一种支持模块化设计和软件重用的编程方法。它把程序设计的
15、主要活动集中在建立对象和对象之间的联系上。面向对象程序设计的基本思想是封装性和可扩展性。(l)封装性。面向对象程序设计中,数据结构及算法全部被封装在对象中。对象的数据结构描述了对象的状态;对象的操作是它的行为。(2)可扩展性。可扩展性体现为继承和行为扩展两个方面。对象之间具有层次关系,下一层的对象是上一层对象的子对象,上一层对象就是下一层对象的父对象。面向对象的程序设计的行为扩展,是指任何一个对象,除了可以继承父对象的数据和操作外,也可以随时为自己增加属性和方法程序。通过这种封装和继承的特性,引出了面向对象设计的另一个重要特性多态性。所谓多态,就是在程序中同名但是具体功能不同的方法可以共存。实
16、现多态有两种办法,那就是“覆盖”和“重载” 。3.类的设计和使用用户可以通过基类派生出对象及子类,也可以利用子类派生出对象或子类。把特殊需要的属性、方法和事件定义在该子类中,从而创建出用户的自定义类。8.3 应用系统的设计建立完整的以数据库为核心的计算机应用系统,是系统实施阶段的最终目的。一个完整的计算机应用系统,一般应当具有以下一些不同模块。主程序、系统菜单、系统登录界面、数据库、数据输入界面、数据输出界面、数据维护功能、数据检索功能、帮助功能和项目文件。8.3.1 主控程序设计系统主控程序简称为主程序,是用来设置应用系统的操作环境、控制和调用用户初始界面、启动事件循环的最高一级的程序。同时
17、在结束系统运行时,也负责关闭应用系统,结束事件循环,恢复 VFP 系统初始环境的工作。8.3.2 项目管理器为了便于管理和使用数据表、数据库、视图等对象,可以使用 VFP 的项目文件,它提供了对于任务中所有文件的管理和维护功能。创建项目文件的工具是 VFP 系统提供的项目管理器。项目管理器是开发及管理应用系统人员的工作平台。这里所说的“项目”是相关文件、数据及对象的集合。项目管理器有以下几种功能:(1)采用“目录树”结构对资源信息进行集中管理。(2)以其集成环境为用户提供了快捷访问系统设计工具的窗口,在项目管理器窗口,有多种功能按钮,可以根据需求创建、修改、增加和删除资源文件。(3)支持建立数
18、据字典,用以存储各数据表间的关系。(4)用简单面向对象的方法,将其系统资源编译成可独立运行的。APP 或。EXE 文件8.4 系统测试系统测试是保证系统质量的关键,是对整个系统开发过程,包括系统分析、系统设计和实施的最终审查。8.4.1 系统测试的对象和目的1.系统测试的对象系统测试的对象是整个应用软件系统。由于“程序十文档软件” ,所以系统测试的对象包括需求分析、系统总体设计、详细设计各阶段的文档以及源程序。2.系统测试的目的应用软件系统测试的目的是努力发现软件中的错误,并改正错误测试中可能发现的错误按其性质可分为以下几类:(1)功能错误。由于处理功能说明不够完整或不够确切,致使编程时对功能
19、有误解而产生的错误。(2)系统错误。指与外部接口错误、子程序调用错误、参数使用错误等。(3)过程错误。主要指算术运算错误、逻辑错误等。(4)数据错误。指数据结构、实体、属性错误,参数与控制数据混淆等。(5)编程错误。指语法错误、程序逻辑错误、编程书写错误等。8.4.2 系统测试的基本原则与方法1.系统测试的基本原则系统测试应遵循以下基本原则:(l)成立测试小组,测试小组应与开发组分立。即测试工作应避免由原开发组人员承担。(2)精心设计测试用例。一个测试用例必须由两个部分组成:对系统的输入数据描述;由这些输入数据经系统处理,预期的测试正确结果。(3)进行回归测试。对于测试中发现错误的软件,经修正
20、后,要用原来的测试用例再进行测试称为回归测试。利用回归测试,一方面验证原有错误是否确实修正了;另一方面能够发现因修改而可能引入的新错误。(4)集中测试出错多的模块。一个模块已发现的错误越多,则其中存在错误的概率也就越大。在进行深入测试时,要集中测试那些出错多的模块。2.系统测试的方法软件产品测试,常用以下两种方法:(l)黑盒法。又称为功能测试,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特征。从程序的输入和输出特性上测试其是否满足设定的功能。(2)白盒法。又称为结构测试,按照程序的内部结构和处理逻辑来设计测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。8.4.3 系
21、统测试过程系统测试过程可分为四个步骤:1.单元测试(模块分调)每个模块可以作为一个单独的测试单元,而且也比较容易设计测试用例。单元测试中所发现的错误,往往是编程和详细设计的错误。2.子系统测试(模块联调)子系统测试是将经过单元测试的模块放在一起形成一个子系统来测试。子系统测试的目的是测试模块间接口的正确性。3.系统测试系统测试是将经过测试的子系统装配成一个完整的系统来测试。在这个测试中发现的错误有设计和编程的错误,也有需求分析中的错误。4.验收测试验收测试是将系统作为单一的实体进行测试,测试内容与系统测试基本相同,但是验收测试是在用户参与下进行的,它的目的是由用户来测试软件能否满足用户的需求。
22、模块与程序的调试,主要采用白盒法,而在子系统测试、系统测试过程中主要采用黑盒法。8.5 系统切换系统切换就是指老系统停止使用、新系统开始运行的过程。系统切换的任务就是保证新、老系统进行平稳而可*的交接,最后使整个新系统能正式交付使用。8.5.1 系统切换的方式1.直接切换在确定新系统运行准确无误后,用新系统直接替换老系统,终止老系统运行,中间没有过渡阶段。这种方式节省人员和设备费用,但风险大,很有可能出现意想不到的问题。因此,这种方式不能用于重要的系统。2.平行切换这种方式安排了一段新、老系统平行运行的时期。平行运行时间视业务内容及系统运行状况而定,直到新系统正常运行有保证时,才停止旧系统运行
23、。其优点是可以进行两系统的对比,发现和改正新系统的问题,风险小,安全,可*;缺点是耗费人力和设备。3.试点后直接切换某些系统有一些相同部分,例如系统中包括有多个销售点、多个仓库等。切换时先选择一个销售点或仓库作试点,试点成功后,其他部分可同时直接切换。这种方式风险较小,试点的部分可用来示范和培训其他部分的工作人员。4.逐步切换它的特点是分期分批地进行切换。既避免了直接切换的风险性,又避免了平行切换时费用大的问题。但是,需要很好地处理新、老系统之间的接口。在系统切换过程中,要根据出现的问题进行修改、调试,因此它也是新系统不断完善的过程。8.5.2 系统切换的主要工作1.建立系统使用说明文档系统使用说明文档应当使用简明、通用的语言说明系统各部分应如何工作、维护和恢复,主要使用说明文档有:(1)用户操作手册(用户使用说明书) 。用户操作手册可针对不同子系统用户编写。在操作手册中应指明的主要内容有:手册使用者及编写手册的目的;应用软件(子系统)目标、功能、性能概述;运行环境要求;系统支持软件;用户使用说明;操作举例等。(2)计算机操作规程。根据具体系统制定。(3)程序说明书。程序说明书主要内容为:整个系统程序的清单和说明;程序测试过程和测试用例;修改程序的规定等。2.系统初始化初始化包括对系统的运行环境和资源进行设置、系统运行和控制参数设定,数据加载以及调整系统与业务工作同步等内容