8第八章 系统实施.docx
- 文档编号:23041136
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:18
- 大小:26.72KB
8第八章 系统实施.docx
《8第八章 系统实施.docx》由会员分享,可在线阅读,更多相关《8第八章 系统实施.docx(18页珍藏版)》请在冰豆网上搜索。
8第八章系统实施
第八章 系统实施
系统实施阶段是将新系统付诸实现的过程。
本章主要包括系统实施的准备工作、程序模块的设计、应用系统的设计、系统测试、系统切换五部分内容。
通过本章的学习要求考生了解系统实施阶段在系统开发中的作用,领会系统实施阶段的主要活动内容,了解程序设计的方法、工具和质量要求,掌握程序模块(对象)的设计方法和步骤,能够创建完整的简单应用系统,并且能够掌握程序调试与系统测试的方法、步骤,领会系统切换的任务和基本方法。
本章是历年考试的重点章节之一,从历年考题的分布情况可以看出,程序模块的设计和系统测试这两大部分内容是本章的重点。
另外系统实施的准备工作和系统切换的方式这两部分内容,历年也曾以不同的题型出现过。
本章有结合应用的程序题,历年考试的分值在5-15分左右。
系统实施阶段是将新系统付诸实现的过程。
它的主要活动是根据系统设计所提供的控制结构图、数据库设计、系统配置方案及详细设计资料,编制和调试程序,调试系统、进行系统切换等工作,将技术设计转化为物理实际系统。
系统实施的意义是真正生产应用软件,并将之投入运行的阶段,系统实施是系统开发的重要阶段。
8.l 系统实施的准备工作
1.建立系统平台
包括购置和安装必要的计算机和通信硬件设备、软件系统。
所需硬件设备包括主机、外部设备、辅助设备(如稳压电源、空气调节装置)、机房设施。
通信设备等。
(2006.10,单选26)购置计算机软硬件设备和网络系统,应该在( )
A.系统分析阶段之前
B.系统分析阶段之后
C.系统实施工作之前
D.系统实施工作之后
2.培训管理人员和操作人员
首先,对新系统的用户,即各类管理人员要进行培训。
培训内容包括两方面:
一方面是关于先进管理思想和方法的教育;另一方面是面向业务的培训,使管理者学会新系统的应用方法。
3.基础数据的准备
企业中有许多基础数据,要把它们转存到计算机存储器中。
4.管理流程重组
由于计算机的应用,管理人员的工作内容和工作方式也发生了很大变化。
因此,必须根据系统设计的要求,重新规定系统业务流程、信息流向,改革组织机构,划定各管理职能部门的职责范围。
(2007.10,单选25)实施信息系统开发,除了人员培训和数据准备外,最重要的工作是( )
A.购置计算机
B.购置软件
C.业务流程重组
D.配置网络环境
8.2 程序模块的设计
在系统实施阶段,最重要的任务就是程序设计。
在传统的结构化程序设计方法中,程序设计就是处理过程的设计;而在面向对象的程序设计方法中,程序设计却主要指对象的设计。
8.2.1 程序设计的概述
1.程序设计的任务
程序设计的任务,就是根据系统设计说明书中关于模块的详细描述和处理过程的描述,选择合适的计算机语言来编制程序的工作。
(2005.4,简答46)简述程序设计工作的依据和任务。
【答疑】
答:
根据系统设计说明书中关于模块的详细描述和处理过程的描述,选择合适的计算机语言来编制程序的工作。
(2002.10,单选36)程序设计的任务是( )
A.画出程序框图
B.绘制N-S图
C.编写实现系统功能的源程序
D.写出程序任务书
2.程序设计的质量要求
随着计算机硬件技术的飞速发展,人们对程序设计的质量要求发生了变化。
过去强调程序的正确性、高效率和短小精悍,以适应设备资源有限的计算机系统;现在则更加强调程序的正确性、可维护性、可靠性和可理解性。
其中,正确性是对程序设计最基本的要求。
(2005.4,单选16)最基本的程序设计要求是( )
A.正确性
B.可维护性
C.可靠性
D.可理解性
3.良好的编程习惯
编制程序需要熟悉所使用的语言,具有尽可能丰富的编程经验;但是更加重要的是要具有系统的观点,采用结构化设计思想和工具,自上而下统筹考虑,避免编程时变量随意增减,变量类型随机指定,无法兼容时再任意转换等。
8.2.2 结构化程序设计
结构化程序设计主要用于面向过程的编程方式,为了克服程序编制中的随意性,避免错误的出现,现代程序的编写都遵照“结构化程序设计”的方法。
其基本原则是自顶而下、逐步求精。
结构化程序方法提出了顺序、选择和循环三种基本程序结构,任何一个程序都可以用这三种结构装配起来。
(2004.10,单选34)结构化程序设计主要用于( )
A.面向应用的编程方式
B.面向过程的编程方式
C.面向对象的编程方式
D.面向数据的编程方式
1.顺序结构
顺序结构,就是按照程序语句行的自然顺序,一条语句接一条语句地执行程序。
顺序结构十分简单,它只是一种编写和执行程序的协议、规则,并不需要用专门的结构语句来支持。
(2006.04,单选35)在结构化程序设计中,不需要专门的语句来控制的是( )
A.选择结构
B.循环结构
C.顺序结构
D.层次结构
2.判断选择结构
在用程序解决实际问题时,常常需要对问题的给定条件做出判断,以便选择不同的解决方法,这就必须使用判断选择(分支)结构来编制程序。
判断选择结构有相应的结构语句。
(1)简单选择判断
IF<条件>
<若干语句行1>
[ELSE
<若干语句行2>]
ENDIF
注意:
①IF<条件>、ELSE和ENDIF语句各占一行。
②<若干语句行1>或<若干语句行2>可由任何语句行构成。
③本结构允许多层次嵌套(不多于384层),不能交叉嵌套。
④IF语句和ENDIF语句必须配对使用。
IF是入口语句,ENDIF是出口语句。
例如:
从JZG数据表文件中查找某人,要求能够判决是否有此人。
OPENDATABASE数据1
USEJZG
ACCEPT“请输入查找人姓名:
”TONAME
LOCATEFORXM=NAME
IFFOUND( )&&选择语句入口
DISPLAYOFFXM,ZC
ELSE && 转折
WAIT“无此人!
”WINDOWAT20,1TIMEOUT5
ENDIF &&选择语句出口
USE
CLOSEALL
(2)多分支(选择)结构
往往在判断选择时,可能会有多个不同的条件,满足任何一个条件就能完成其中一个指定的任务。
编制这种程序时最好使用多选择结构语句。
DOCASE
CASE<条件1>
<若干语句行1>
CASE<条件2>
<若干语句行2>
…
CASE<条件n>
<若干语句行n>
[OTHERWISE
<若干语句行>]
ENDCASE
说明:
从DOCASE语句进入本结构以后,顺序选择第一个〈条件〉为真的CASE子句,并执行它的〈若干语句行〉,然后从ENDCASE语句退出本结构。
如果找不到满足〈条件〉的CASE子句时,执行选项[OTHERWISE]及[〈若干语句行〉]。
注意:
①DOCASE与ENDCASE语句必须配对使用。
②当有多个〈条件〉可以满足时,只执行第一条。
③〈若干语句行〉中可以出现各种类型的语句。
如果又出现多选择结构,则是本语句的嵌套形式。
最多可嵌套384层。
例如:
给指定教师调工资,其中教授调10%,其他人只是年龄超过45岁的调7%,否则调5%。
程序编制如下:
OPENDATABASE数据1
USEJZG
ACCEPT“请输入教师编号:
”TONUMBER
LOCATEFORJSH=NUMBER
IFFOUND( )
DOCASE
CASEZC=“教授”
REPLACEJBGZWITHJBGZ*(1+.01)
CASENL>45
REPLACEJBGZWITHJBGZ*(1+0.07)
OTHERWOSE
REPLACEJBGZWITHJBGZ*(1+0.05)
ENDCASE
ELSE
?
“无此人!
”
ENDIF
USE
CLOSEALL
3.循环结构
在一个大程序段中,常常会重复使用某一段相同的或类似的程序段。
在编制程序时,不必重复编写这个程序段,可以用重复结构来替代它。
重复结构也叫循环结构。
系统提供了建立三种重复结构的程序结构语句。
(1)当型循环
DOWHILE<条件>
<若干语句行>
[LOOP]
<若干语句行>
[EXIT]
<若干语句行>
ENDDO
说明:
其中DOWHILE语句是循环入口语句,ENDDO是循环出口语句。
两条语句之间叫做循环体。
作用:
当<条件>满足时,总是反复执行循环体语句,直到<条件>不满足时从ENDDO语句跳出循环。
注意:
①选项[LOOP]语句可以使程序无条件地跳回DOWHILE语句重新判断<条件>。
②选项<EXIT>语句可使程序无条件地跳出循环体,接着执行ENDDO后面的语句。
③在循环结构中还可以包含循环结构,这就是循环嵌套。
系统允许嵌套384层。
④<条件>是否合适是本语句的关键,它控制着重复结构的执行方式。
例如:
随机循环。
用表达式的真假判断循环与否。
DOWHILE.T.
…
WAIT“继续吗?
<Y/N>”TOPT
IFUPPER(PT)#“Y”
EXIT
ENDIF
ENDDO
(2)计数循环
FOR<循环控制变量>=<初值>TO<终值>[STEP<步长>]
<若干语句行>
[LOOP]
<若干语句行>
[EXIT]
<若干语句行>
ENDFOR|NEXT
说明:
其中FOR语句是循环入口语句,ENDFOR!
NEXT是循环出口语句。
两条语句之间的语句叫做循环体。
作用:
循环开始,循环控制变量值是否超过终值;若不超过终值,顺序执行循环体语句,直到出口语句,循环控制变量自动加步长;然后返回入口再判断,如此反复循环,直到循环控制变量值超过终值时从出口语句跳出。
这种结构适合固定次数的循环。
以循环控制变量计数,用循环终值和步长控制循环次数。
注意:
①选项[LOOP]语句可以使程序无条件地跳回FOR语句重新判断<条件>。
②选项[EXIT]语句可使程序无条件地跳出循环体,接着执行ENDFOR后面的语句。
③步长值可正可负,当步长为+1时,可以省略步长项。
例如:
实现计数的程序。
FORX=OTO100
?
X
ENDFOR
(3)扫描(指针型)循环
SCAN[<范围>][FOR<条件>][WHILE<条件>]
<若干语句行序列>
[LOOP]
<若干语句行>
[EXIT]
<若干语句和地>
ENDSCAN
说明:
其中SCAN语句是循环入口语句。
ENDSCAN是循环出口语句。
两条语句之间的语句叫做循环体。
作用:
按表文件记录的顺序在指定范围内从头到尾扫描每一条记录,每扫描一次就执行一次循环体语句,直到全部扫描完毕跳出ENDSCAN语句。
注意:
①选项[LOOP]语句可以使程序无条件地跳出SCAN语句重新判断<条件>。
②选项[EXIT]语句可使程序无条件地跳出循环体,接着执行ENDSCAN后面的语句。
③在循环结构中还可以包含循环结构,这就是循环嵌套。
系统可嵌套384层。
④SCAN后面的选项作用和LIST命令中这三个选项的作用相同。
例如:
在JZG表中随机查询某人。
USR JZG
ACCEPT“请输入姓名:
”TONAME
SCANFORXM=NAME
DISPLAY
WAIT“是找此人吗?
<Y/N>”TOPT
IFUPPER(PT)=“Y”
EXIT
ENDIF
ENDSCAN
例如:
显示出九九乘法品诀表的程序。
假定显示形式如下:
1×1=11×2=21×3=31×4=41×5=5……1×9=9
2×1=22×2=42×3=62×4=82×5=10……2×9=18
3×1=33×2=63×3=93×4=123×5=15……3×9=27
…… …… …… …… …… ……
9×1=99×2=189×3=219×4=369×5=45……9×9=81
它可以用循环嵌套程序结构实现。
显示九九乘法表程序如下:
﹡九九乘法表
SETTALKOFF
CLEAR
STORE1TOX
DOWHILEX<=9
Y=1
DOWHILEY<=9
Z=X*Y
Z1=STR(Z,2)
?
?
STR(X,1)+"X"+STR(Y,1)+" =" +Z1+""
Y=Y+1
ENDDO
X=X+1
?
ENDDO
SETTALKON
(2006.10,单选25)在VisualFoxPro的循环结构中,循环嵌套的最多层数是( )
A.不限
B.128
C.2756
D.384
8.2.3 程序的调试
程序设计完成之后,很少有一次运行成功的,尤其是复杂程序,包含的缺陷可能更多,程序设计者必须经过多次调试,不断地发现并修正其中的错误,证实正确无误以后才能投入使用。
一个大的应用系统可以先对各模块分调,然后再连调和总调。
1.程序错误的分类
总结程序中出现的错误,一般可分为语法错误、系统错误和逻辑错误三类。
语法错误,因程序设计人员对程序设计语言的理解不够,或程序设计基本功不扎实造成的结果。
系统错误,由于计算机硬件、软件引起的错误,比如计算机硬件故障;病毒感染等。
对于系统错误,主要是靠经验和对硬件的了解,通过分析判断排除。
逻辑错误,指那些虽然不违反系统规则,但是却不合逻辑或不合题目语义的错误。
这些错误系统一般很难自行检测出来。
对于这类错误的检测是最难的。
(2007.10,单选27)在程序设计中,最难检测的错误是( )
A.语句错误
B.语法错误
C.逻辑错误
D.系统错误
(2005.4,单选19)若发现程序中缺少一条出口语句,则这种错误属于( )
A.系统错误
B.语法错误
C.逻辑错误
D.输入错误
2.调试器的构成
(1)打开调试器
(2)各窗口功能
跟踪窗口、监视窗口、局部窗口、调用堆栈窗口、调试输出窗口
(2006.04,单选34)在VisualFoxPro的程序调试器中,显示当前程序名或过程名的窗口是( )
A.局部窗口
B.监视窗口
C.调用堆栈窗口
D.调试输出窗口
3.调试器窗口的菜单
窗口的工具栏中主要提供了几个对应功能的按钮:
运行、单步、单步跟踪、运行到光标处、继续执行、跳出
8.2.4 面向对象程序设计
面向对象程序设计的最大特征是强调构成事物的每一个对象,描述的是每个对象的属性与方法。
而对于响应每个事件的程序,一般不再独立构成一个文件,而被封装在每个具体的对象之中。
对于一个应用系统,面向过程的程序设计方法考虑的是问题的语句,而面向对象的程序设计方法考虑的是构成系统的每个对象。
所谓程序设计,实际上是对象的设计。
1.概念
(1)对象(Object)。
一般来说,现实世界中可以独立存在的。
能够被区分的一切实体(事物)都是对象。
在VFP中所研究的对象,只是现实世界中实体或概念在计算机中的一种抽象的模型化的表示。
这种抽象事物中是封装了数据和操作的对象,通过定义属性和操作来描述其特征和功能,通过定义接口来描述其地位及与其他对象的相互关系,从而形成一个动态的对象模型。
(2)类(Class)。
类是一组对象的属性和行为特征的抽象描述,或者说是具有共同属性、共同操作性质的对象的集合。
VisualFoxPro系统提供了29个基本的类(基类),分为容器类和控件类两种。
基类只考虑通用特征与功能,用户可以从基类中派生出许多子类。
子类往往是在继承基类的基础上,又增加一些新的特性与功能构成。
子类也像基类一样可以派生出对象。
类的基本特性是封装性、继承性和多态性。
容器类(Containers):
产生的对象可以容纳其他对象,并允许访问所包含的对象。
如表单。
控件类(Control):
产生的对象不能容纳其他对象。
比如文本框。
(2006.04,名词解释题45)容器类(在VisualFoxPro中):
答案:
容器类是类的一种,产生的对象可以容纳其他对象,并允许访问所包含的对象。
(3)属性(Attribute)
属性就是对象的特性,是对象外观及行为的特征。
对象的属性可以在建立对象时由其所属的类(或子类)继承,也可以在对象创建或运行时进行修改与设置。
(4)事件(Event)
事件是对象可以识别和响应的行为与操作。
它一般由用户或系统来触发。
VFP中事件是固定的,用户不能再创建新的事件。
(5)方法(Method)
方法是对象所具有的功能。
因为一种功能必然是由一个过程来支持。
所以过程也可以说就是一段程序(有时也叫方法程序)。
(2005.10,单选30;2004.10,单选36)对象可以识别和响应的行为与操作称为( )
A.类
B.属性
C.方法
D.事件
2.面向对象程序设计的特点
面向对象程序设计方法是一种支持模块化设计和软件重用的编程方法。
它把程序设计的主要活动集中在建立对象和对象之间的联系上。
面向对象程序设计的基本思想是封装性和可扩展性。
(l)封装性。
面向对象程序设计中,数据结构及算法全部被封装在对象中,这就是面向对象程序设计的最基本特性——封装。
对象的数据结构描述了对象的状态;对象的操作是它的行为。
(2)可扩展性。
可扩展性体现为继承和行为扩展两个方面。
对象之间具有层次关系,下一层的对象是上一层对象的子对象,上一层对象就是下一层对象的父对象。
面向对象的程序设计的行为扩展,是指任何一个对象,除了可以继承父对象的数据和操作外,也可以随时为自己增加属性和方法程序。
通过这种封装和继承的特性,引出了面向对象设计的另一个重要特性——多态性。
所谓多态,就是在程序中同名但是具体功能不同的方法可以共存。
实现多态有两种办法,那就是"覆盖"和"重载"。
(2007.10,简答40,简述面向对象程序设计的特点)
3.类的设计和使用
用户可以通过基类派生出对象及子类,也可以利用子类派生出对象或子类。
把特殊需要的属性、方法和事件定义在该子类中,从而创建出用户的自定义类。
8.3 应用系统的设计
建立完整的以数据库为核心的计算机应用系统,是系统实施阶段的最终目的。
一个完整的计算机应用系统,一般应当具有以下一些不同模块。
主程序、系统菜单、系统登录界面、数据库、数据输入界面、数据输出界面、数据维护功能、数据检索功能、帮助功能和项目文件。
8.3.1 主控程序设计
系统主控程序简称为主程序,是用来设置应用系统的操作环境、控制和调用用户初始界面、启动事件循环的最高一级的程序。
同时在结束系统运行时,也负责关闭应用系统,结束事件循环,恢复VFP系统初始环境的工作。
8.3.2 项目管理器
为了便于管理和使用数据表、数据库、视图等对象,可以使用VFP的项目文件,它提供了对于任务中所有文件的管理和维护功能。
创建项目文件的工具是VFP系统提供的项目管理器。
项目管理器是开发及管理应用系统人员的工作平台。
这里所说的“项目”是相关文件、数据及对象的集合。
项目管理器有以下几种功能:
(1)采用“目录树”结构对资源信息进行集中管理。
(2)以其集成环境为用户提供了快捷访问系统设计工具的窗口,在项目管理器窗口,有多种功能按钮,可以根据需求创建、修改、增加和删除资源文件。
(3)支持建立数据字典,用以存储各数据表间的关系。
(4)用简单面向对象的方法,将其系统资源编译成可独立运行的.APP或.EXE文件。
编译并连接生成一个应用程序文件(.APP)或可执行文件(.EXE)。
应用程序文件(.APP)必须在VF的环境中才能运行,而可执行文件(.EXE)则可以脱离VF系统,直接在Windows桌面上单独运行。
8.4 系统测试
系统测试是保证系统质量的关键,是对整个系统开发过程,包括系统分析、系统设计和实施的最终审查。
8.4.1 系统测试的对象和目的
1.系统测试的对象
系统测试的对象是整个应用软件系统。
由于“程序十文档=软件”,所以系统测试的对象包括需求分析、系统总体设计、详细设计各阶段的文档以及源程序。
2.系统测试的目的
应用软件系统测试的目的是努力发现软件中的错误,并改正错误。
测试中可能发现的错误按其性质可分为以下几类:
(1)功能错误。
由于处理功能说明不够完整或不够确切,致使编程时对功能有误解而产生的错误。
(2)系统错误。
指与外部接口错误、子程序调用错误、参数使用错误等。
(3)过程错误。
主要指算术运算错误、逻辑错误等。
(4)数据错误。
指数据结构、实体、属性错误,参数与控制数据混淆等。
(5)编程错误。
指语法错误、程序逻辑错误、编程书写错误等。
(2007.04,单选27,2005.10,单选28)在系统测试时发现的算术运算错误属于( )
A.功能错误
B.过程错误
C.数据错误
D.语法错误
(2004.4,单选29)系统测试的目标是( )
A.发现和排除系统的所有错误
B.证明系统无错误
C.测试系统是否满足用户需求
D.尽可能发现和排除系统的错误
8.4.2 系统测试的基本原则与方法
1.系统测试的基本原则
系统测试应遵循以下基本原则:
(l)成立测试小组,测试小组应与开发组分立。
即测试工作应避免由原开发组人员承担。
(2)精心设计测试用例。
一个测试用例必须由两个部分组成:
①对系统的输入数据描述;
②由这些输入数据经系统处理,预期的测试正确结果。
测试用例中不仅包括合理、有效的输入数据,还要包括不合理或无效的输入数据。
应该要求一个系统,不仅当输入是合理的时候,能正确运行,而且当有不合理输入时(如用户键入非法命令、按错键、输错数据),能拒绝接受并给出提示信息。
因此要特别注意设计不合理、无效输入的测试用例,以保证系统的可靠性。
(3)进行回归测试。
对于测试中发现错误的软件,经修正后,要用原来的测试用例再进行测试称为回归测试。
利用回归测试,一方面验证原有错误是否确实修
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8第八章 系统实施 第八 系统 实施
![提示](https://static.bdocx.com/images/bang_tan.gif)