信息系统分析与设计(课堂版)第八讲
发布时间:2021-06-08
发布时间:2021-06-08
第八章系统实施8.1. 8.2. 8.3. 8.4. 8.5.系统实施阶段的任务自顶向下的实现方法编程方法系统测试系统的交付使用
习题
8.1系统实施阶段的任务8.1.1实施阶段的主要活动系统实施是开发信息系统的最后一个阶段。这个阶段的任务,是实现系统设计阶段提出的物理模型,按实施方案完成一个可以实际运行的信息系统,交付用户使用。系统设计说明书详细规定了系统的结构,规定了各个模块的功能、输入和输出,规定了数据库的物理结构。这是系统实施的出发点。如果说研制信息系统是盖一幢大楼,那么系统分析与设计就是根据盖楼的要求画出各种蓝图,而系统实施则是调集各种人员、设备、材料,在盖楼的现场,根据图纸按实施方案的要求把大楼盖起来。
8.1系统实施阶段的任务8.1.1实施阶段的主要活动(1)硬件准备硬件设备包括计算机主机、输入输出设备、存储设备、辅助设备(稳压电源、空调设备等)、通信设备等等。要购置、安装、调试这些设备。这方面的工作要花费大量的人力、物力,持续相当长的时间。 (2)软件准备软件设备包括系统软件、数据库管理系统以及一些应用程序。这些软件有些需要购买,有些需要组织人力编写,这也需要相当多的人力、物力和时间。编写程序是这一阶段的主要任务之一。
8.1.1实施阶段的主要活动(3)人员培训主要指用户的培训,用户包括主管人员和业务人员,使他们适应,并逐步熟悉新的操作方法。有时,改变旧的工作习惯比软件的更换更为困难。 (4)数据准备数据的收集、整理、录入是一项既繁琐,劳动量又大的工作。而没有一定基础数据的准备,系统调试不能很好地进行。一般说来,确定数据库物理模型之后,就应进行数据的整理、录入。
表8.1系统实施阶段的主要活动及相互关系程序编制设备购置提供调试设备提供对设备的要求为培训提供程序规定数据准备的内容、格式提供培训设备提供录入设备提供录入人员
人员培训培训有关人员试用软件培训有关人员接收设备
数据准备提供试验数据调试数据提供存储量和内存要求提供培训的实验数据
程序编制
设备购置
人员培训
数据准备
8.1.2实施阶段的特点系统实施阶段的特点是工作量大,投入的人力、物力多,因此,这一阶段的组织管理工作也很繁重。在实施阶段,系统分析员的任务是组织协调,督促检查。他们要制定逐步实现物理模型的具体计划,协调各方面的任务,检查工作进度和质量,组织全系统的调试,完成旧系统向新系统的转换。
8.2自顶向下的实现方法结构化方法主张自顶
向下实现,尽量先实现上层模块,逐步向下,最后实现下层最基本的模块。即首先调试整个系统的结构及各模块间的接口,确保系统结构和各模块接口的正确性。把整个实施方案分成若干个“版本”(version),首先实现系统的轮廓或框架,在此基础上不断添加新的功能,逐步完善,最后达到物理模型所要求的全部功能。
8.2自顶向下的实现方法版本的划分需要考虑以下几个方面: (1)先实现控制部分,后实现执行部分,先上层后下层。 (2)根据开发力量、设备、培训等方面的情况确定每个版本实现多少模块、实现哪些模块。 (3)复杂的模块分散在几个版本中逐步实现。 (4)兼顾功能模块和数据库的实现。 (5)兼顾硬件、软件、人员培训方面的情况。
8.3编程方法编程(coding)就是为各个模块编写程序。初级程序员都可以参加这一阶段的工作,但首先要接受编程风格的训练,掌握编好程序的技能。 8.3.1好程序的标准(1) (2) (3) (4) (5) (6)能够工作;调试代价低;易于维护;易于修改;设计不复杂;效率高。
8.3编程方法要使程序可读性好,总的要求是使程序简单、清晰。70年代以来,人们总结了使程序简单、清晰的种种技巧和方法,包括: (1)用结构化方法进行详细设计; (2)程序中包含说明性材料; (3)良好的程序书写格式; (4)良好的编程风格。
8.3.2
结构化程序设计
结构化程序设计包括以下四方面的内容: (1)限制使用GOTO语句只用顺序结构、选择结构、循环结构这三种基本结构就能表达任何一个只有一个入口和一个出口的程序逻辑。为实际使用方便,往往允许增加多分支结构、REPEAT型循环等两三种结构。程序中可以完全不用GOTO语句。 (2)逐步求精的设计方法在一个程序模块内,先从该模块功能描述出发,一层层地逐步细化,直到最后分解、细化成语句为止。
8.3.2
结构化程序设计
(3)自顶向下的设计、编码和调试这是把逐步求精的方法由程序模块内的设计推广到一个系统的设计与实现。这正是本书介绍的结构化方法的来源。 (4)主程序员制的组织形式这是程序人员的组织形式。程序资料员(或秘书)一人。其他技术人员按需要随时加入组内。主程序员负责整体项目的开发,并负责关键部分的设计、编码和调试。
8.3.2
结构化程序设计
作为这种组织形式中的一个程序员,不仅应具备程序设计的基本知识,对项目所在的领域有较深入的了解,熟悉开发的技术环境,因而能承担一定的程序编写,更为重要的是必须有高度的组织纪律性和团队精神,使自己的工作融人整个系统,与组内其他成员协调致地工作。为此,必须严
格遵守:①不使用可能干扰其他模块的命令或函数;②按总体设计的要求传递参数,不随意修改其内容与含义;③按规定的统一格式操作公用文件或数据库;④按统一的原则使用标识符;⑤按统一要求编写文档;⑥保持程序风格的一致。
8.3.3面向对象的程序设计面向对象程序设计 OOP(Object Oriented Programming)在OOP方法中,一个对象即是一个独立存在的实体,对象有各自的属性和行为,彼此以消息进行通信。对象的属性只能通过自己的行为来改变,实现了数据封装,这便是对象的封装性。而相关对象在进行合并分类后,有可能出现共享某些性质,通过抽象后使多种相关对象表现为一定的组织层次,底层次的对象继承其高层次对象的特性,这便是对象的继承性。另外,对象的某一种操作在不同的条件环境下可以实现不同的处理,产生不同的结果,这就是对象的多态性。
8.3.4可视化编程技术 主要思想:用图形工具和可重用部件来交互地编制程序。它把现有的或新建的模块代码封装于标准接口封包中,作为可视化编程编辑工具中的一个对象,用图符来表示和控制。 可视化编程一般基于事件驱动的原理。 面向对象编程技术和可视化编程开发环境的结合,改变了应用软件只有经过专门技术训练的专业编程人员才能开发的状况。它使软件开发变得容易,由于大量软件模块的重用和可视控件的引入,技术人员在掌握这些技术之后,就能有效地提高应用软件的开发效率,缩短开发周期,降低了开发成本,并且使应用软件界面风格统一,有很好的易用性。
8.3.5程序的内部文档程序的“内部文档”,指程序内部带有的说明材料,用注释语句书写。程序适当加注释后,阅读时就不必再看其他说明材料了。因此,这是提高程序可阅读性的有力手段。注释可以出现在程序的任何位置,但要与程序结构配合起来,效果才好。注意以下几点: (1)注释必须与程序一致 (2)注释不是重复程序语句,而应提供从程序本身难以得到的信息。 (3)对程序段作注释,而不是对每个语句作注释。
8.3.6编程风格1.简单、直接地反映意图把要说的事情直截了当地说清楚,让人一目了然地、准确地知道你说的事情,不需要过多的想象、分析。易于理解比技巧更重要。例如: DO 14 I=1,N DO 14 J=1,N 14 V(I,J)=(I/J)*(J/I)这个程序的结果是生成一个单位矩阵。其构思非常巧妙,程序也很简练。但是,从可读性来讲,却不如改写成: DO 14 I=1,N DO 12 J=1,N 12 V(I,J)=0.0 14 V(I,I)=1.0
8.3.6编程风格2.变量名、文件名、过程名应规范化理解变量的含义是理解程序逻
辑的关键。在一个系统中,涉及的变量、过程、文件很多,编写程序的人也很多。因此,在编写程序之前,应对名字做出统一的规范标准。
3.表达式的书写应一气呵成将一个表达式折成几行,理解上要困难一些。而且在将来难以预料的修改中有可能更动这几行的次序,或者插人其他语句,容易造成逻辑上的错误。另外,在表达式中适当添加括号,也可以减少误解。
8.3.6编程风格4.合理使用GOTO语句(1)在一个程序中不要多用GOTO语句。 (2)在其他结构形式难以控制程序流向的情况下才使用GOTO语句。 (3)不要使GOTO语句相互交叉。
8.4系统测试8.4.1测试的概念没有错误的软件是不存在的,问题的关键是尽早发现和纠正这些错误,减少错误造成的损失,避免重大损失;检验软件有三种手段:动态检查、静态检查和正确性证明;测试的目的在于: (1)测试是指“用意在发现错误而执行一个程序的过程”; (2)一个好的测试用例是指这个测试用例有很高的概率可以发现一个尚未发现的错误; (3)一个成功的测试是指它成功地发现了一个尚未发现的错误。
8.4系统测试根据统计资料和实际情况,通过检查和测试排除软件系统内部存在的毛病是非常不彻底的这方面有很多惨痛的例子。例如,在1990年1月15日,美国电报电话公司(AT&T)长途电话通信设备中的一个信号传递软件瘫痪了,由此造成两千万个电话的延误,给公司造成重大损失。经过18个小时的检查以后才发现了毛病,原来在近一百万行的程序中找到了一个错误,而且这个软件已经带着这个错误为用户工作了近30年。不仅在软件中发现一个错误极为困难,改正错误本身也是非常困难的。根据统计资料,在大量企图改正软件错误的工作过程中,平均来说大约有20%的改动实际上又给系统带进了新的毛病。
上一篇:招商银行网点零售服务检查提纲