(计算机软件与理论专业论文)cobol2002集成开发环境.pdf_第1页
(计算机软件与理论专业论文)cobol2002集成开发环境.pdf_第2页
(计算机软件与理论专业论文)cobol2002集成开发环境.pdf_第3页
(计算机软件与理论专业论文)cobol2002集成开发环境.pdf_第4页
(计算机软件与理论专业论文)cobol2002集成开发环境.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机软件与理论专业论文)cobol2002集成开发环境.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西北丁业大学倾士论文 摘要 c o b o l 是一种面向商业的通用程序语言,于1 9 6 8 年推出,后几经修改完善, 目前已广泛应用于工业、商业、企业管理和行政管理等部门;2 0 0 2 年推出了 c o b o l 一2 0 0 2 标准。为方便c o b o l 开发人员编写、调试符合c o b o l 一2 0 0 2 标准的 c o b o l 程序,同时能维护改进传统的c o b o l 代码,我们研制了一个基于 c o b o l 一2 0 0 2 的集成开发环境。 本文分析和论述了一个c o b o l 2 0 0 2 集成开发环境的设计目标、系统功能及 实现力法。主要工作及研究成果如下: 1 ) 对一个集成开发环境的软件体系结构进行了分析,并按照自顶向下的设 计原则,设计了服务器端模块的整体框架; 2 ) 对远程调试器( r e m o t ed e b u g g e r ) 的架构以及远程调试方案进行了分 析论证,设计了远程调试器后端( b a c k e n d ) 的核心模块: 3 ) 研究了w e b c o b o l 系统的核心模块,为了提高系统中j a v aa p p l e t 模块 的性能,提出并实现了高效通用的解决方案,提高了系统对不同3 - a 。av m 的兼 容性。 上述技术成果已在一个国际合作项目中得到成功的应用。 关键字 : c o b o l ,c o b o l 一2 0 0 2 标准,集成丌发环境,远程调试器,后端,w e b c o b o l ,a v a a p p l e t ,j a v av m 西北工业大学坝卜论文 a b s t r a c t c o b o li sc o m m o nb u s i h e s s o r i e n t e dl a n g u a g e ,w h i c hb e c a m eas t a n d a r d l a n g u a g ei n1 9 6 8 c u r r e n t i y ,i ti sw i d e l yu s e di nt h ef i e l d so fi n d u s t r y 。 b u s i h e s s ,b u s i h e s sa d m i n s t a t i o na n de t c :i n2 0 0 2 ,t h ec o b o l - 2 0 0 2s t a n d a r d w a si n t r o d u c e d 。a n i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n tb a s e d0 n c o b o l 一2 0 0 2i s d e v e l a p e d f o rc o b o l d e v e l o p e r s t o w r i t e d e b u g c o b o l 。 p r o g r a m sc o n v e n i e n t l ya c c o r d n gt ot h ec o b o l 2 0 0 2 s t a n d a r da n dt o m a i n t a i n i m p r o v et h et r a d i t i o n a lc o b o lp r o g r a m ss i m u i t a n e o u s l y t h ed e s i g no b j e c t i v e ,t h e s y s t e mf u n c t i o n sa n dt h e i p l e m e n t a t i 。n m e t h o d so fac o b o l 一2 0 0 2i d eis a n a l y s e da n dd i s e u s s e di nt h i st h e s is t h e m a j o rw o r ka n dp r o d u c t i o n sa r es u m m a r i z e da sb e l o w : 1 ) t h es o f t w a r ea r c h i t e c t u r eo fa n i d e i s a n a l y s e da n dt h c i n f r a s t r u c t u r eo ft h es e r v e r s i d em o d u l ei sd e s i g n e d a c c o r d n g t ot h et o p t o b o t t o mr u l e 2 ) t h ei n f r a s t r u c t u r eo far e m o t e d e b u g g e ra n d t h em e t h o do f r e m o t ed e b u g g i n gi sa n a l y s e da n dr e a s o n e da n dt h eb a c k e n do f t h er e m o t e d e b u g g e r i s d e s i g n e d t h ec o r em o d u l e so ft h ew e b c o b o ls y s t e ma r es t u d i e d f o rb e t t e r p e r f o r m a n c eo ft h ej a v aa p p l e tm o d u l e ,a ne f f i c i e n ta n d g e n e r a s o l u t i o ni sp u tf o r w a r da n di m p l e m e n t e d w h i c hg r e a t l y i m p r o v e d t h ec o m p a t i b i l i t yo fw e b c o b o i 。 t h e t e c h n i q u e si n v o i v e di nt h i st h e s i sh a v eb e e ns u c c e s s f u l t y a 1ie d i na ni n t e r n a t i o n a l p r o j e c t k e y w o r d : c o b o l ,c o b o l 一2 0 0 2 s t a n d a r d ,i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t ,r e m o t e d e b u g g e r ,b a c k e n d ,w e b c o b o l ,j a v aa p p l e t ,j a v av m 第1 章绪论 1 1 研究背景 c o b o l 是c o m m o nb u s i h e s s o r i e n t e dl a n g u a g e ( 面向商业的通用语言) 的 缩写,它是最早的高级编程语言之一,它采用英语语法,具有良好的可读性、可 维护性和可移植性。c o b o l 语言在大型机上普遍使用,并于1 9 6 8 年成为一种标 准语言。它几经修改完善,广泛的应用于工业、商业、企业管理和行政管理等 部门。c o b o l 与许多当代编程语言不同的是,c o b o l 针对商业界的使用它是真 j e 商用应用程序开发的首选语言。m i c r of o c u s 公司2 0 0 2 年的一份调查报告指 出:目前世界上7 0 的企业数据和9 5 的企业应用软件是用c o b o l 语言编写的 并且以每年大约五十亿行代码的速度在增长。 随着网络时代的到来,i n t e r n e t 和i n t r a n e t 在全球范围内快速发展,当今 的企业需要依靠新的网络应用软件来推动互联网上的商业活动。但c o b o l 语言 以及使用c o b o l 语言编写的大型应用程序都已经使用了很多年,要抛弃c o b o l 语言。而应用新的系统对于用户来说将是一项非常大的开支。为了提高投资回报, 企业迫切期望挖掘出这些已安装系统的最大价值,所以c o b o l 语言在目前仍然 处于不可取代的位置,作为与j a v a 和w e b 服务等新技术共存的形式,c o b o l 今 后仍将继续生存下去。 为了能保存现有系统的经验和投资,企业必须寻找更好的途径来开发、转 换并整合他们现有的c o b o l 应用软件,支援新的应用开发,以充分利用现有 c o b o l 软件系统的功能,同时又可以运用新技术及新平台,让这些系统向新的 w e b 服务领域迈进。有效的商业解决方案是通过将c o b o l 应用软件移植到w e b 服务平台上或是这些代码与w e b 服务前端相连接来调整现有系统,这样原有的 c o b o l 资源将焕发出新的生命力。 从以上分析可以看出,c o b o l 未来发展的关键将基于如下两点: 1 ) 对c o b o l 应用软件进行标准化,以使利用c o b o l 编写的商业应用软件可以接 入w e b ,在传统的c o b o l 开发与电子商务领域和网络应用软件之l 脚进行搭桥; 2 ) 需要有新的开发环境作为开发工具,因为现有的c o b 0 1 开发环境并不是开放 系统,c o b o l 程序的运行依赖于厂商和平台,无法保证应用程序的通用性。 1 2 研究意义 为了解决c o b o l 的标准化,对传统c o b o l 代码的维护与改进,使原有的c o b o l 资源适应新的环境,将其扩展至i n t e r n e t 平台以及分布式应用,2 0 0 2 年国际标 准化协会制定了c o b o l 一2 0 0 2 标准。这个标准把c o b o l 扩展成为一个完整的面向 p 目北丁业大学硕【j 论史 对象语言,它支持面向对象编程;同时兼容了传统的a n s ic o b o l 标准,能兼容 c o b o l 8 5 程序和语法等。 目前的c o b o l 丌发工具只支持c o b o l 8 5 ,支持c o b o l 一2 0 0 2 的集成开发环境 的研究在国外e jr j hj j 起步,还没有达到成熟阶段。 企业级的大型c o b o l 程序一般需要多人协同开发,一个工程中的源代码和 数据文件一般放在服务器上,c o b o l 编泽器、调试器也在服务器端。用户可以登 录服务器,在服务器上完成c o b o l 工程的编辑、编泽、调试,从而完成c o b o l 工程的开发,但这样的丌发效率低、无法保证不同用户安全有效的使用文件, 最重要的是不能给用户提供方便的界面友好的集成开发环境。给用户提供一个 方便、安全、高效的c o b o l 工程集成开发环境很有应用价值。 开发出符合c o b o l 一2 0 0 2 标准,依赖厂商小的集成开发环境,将具有相当大 的研究与应用前景。选择c o b o l 一2 0 0 2 集成开发环境作为研究课题,不仅有理论 意义,更有实际应用价值。 1 3 论文组织结构 本论文是按照作者承担的主要研究和开发工作来安排的,共分为5 章,每 一章的内容如下所示: 第1 章, 绪论。本章简要介绍了本文的研究背景和研究意义,以及论文内 容的组织结构。 第2 章, c o b o l 一2 0 0 2 集成开发环境分析。本章介绍了c o b o l 。语言的基础知 识,说明了c o b o l 标准化的意义。分析了基本的集成开发环境的 架构及所需要的软件模块以及c o b o l 一2 0 0 2 集成开发环境所要实 现的基本功能。 第3 章, 集成开发环境服务器端的研究与设计。本章介绍了集成_ 丌发环境 中服务器端模块的整体设计思路,此对远程调试器的设计方案进 行了详细的阐述并对调试器服务器端模块的设计进行了说明。 第4 章, c o b o l 集成开发环境向w e b 扩展w e b c o b o l 系统。本章结合将 现有c o b o l 系统向w e b 平台转移的背景,对w e b c o b o l 服务器端 和客户端的核心模块进行论述,并结合作者的研究工作,解决了 不同j a v a 虚拟机下不兼容的问题,提高了w e b c o b o l 系统的兼容 性。 第5 章, 结束语。本章总结了全文的主要工作,并展望了后续的研究工作, 指出了进一步的研究内容。 第2 章c o b o l - 2 0 0 2 集成开发环境分析 2 。l 引言 零章将对c o b o l 语言熬靼关辩识遴学簿要黪奔耀,然藤滋明遗霜祭或开发 环壤载黎捻,劳缝合本磷究谖霪,分缨c o b o l 一2 0 0 2 集惑野发环撬斡客户端与鼹 务器潺粒功麓,毽滨者了n - c o b o l 2 0 0 2 嶷戏嚣发环境麴竣计嚣标鞠系绞功髓。 2 。2c o b o l 语言基础翔识 本节主溪介绍c o b o l 语言静基确知识,使谟者对c o b o l 有个蒸本的了解, 为涵渎葵它警分戆痰容封下基璃。 c o b o l 媾c o m m o nb u s i n e s s o r i e n t e dl a n g u a g e ( 舔肉商韭的邋臻语言) 的 壤篝,它跫滚晕瓣豢级缡稷语言之一,窀袋霁l 葵港褥法,爨有蘸好静可读毪、可 缍护滢耪可移植瞧。c o b o l 澹言在大黧橇上藩遮经翔,并予t 9 6 8 年藏为一辨标 蛙谗言。c o b o l 麴文搏鬟拱了楚荦载处理方式,广泛戆斑爨予王渡、藏数、企监 澄理亵行政管理等粼门。整与e 语畜或f o r t r a n 语言秘毙,c o b o l 瓣数蕊运葬、 逻辑运嚣能力比较弱。c o b o l 漤言嶷袁始下霉毒点; 适台子数攥娃溅; 攘近自然谬言,程序想逶晦英文旬子橱成: c o b o l 标准伍程凄赢,通臻渡强; c o b o l 站构严谨,层次分明,语句都有严格敬格式澎义; c o b o l 熬缺点是繁碳,代鹞蕊胂。 2 。2 ,1c o b o l 獠序格式魄说明 ,。+ l 。1 l 。2 。l ,3 $ 4 ,$ 。, s 。7 ,。瓣黼燃 0 0 0 0 1 0l d e n t i f i c a t i o nd i v i s i o n 。 0 0 0 0 2 0p 麓辘舔一强s 瓣泛j 0 0 0 0 3 0e n v i r o n m e n t d i v i s i o n 。 0 0 0 0 4 0d o 滞i g u r a t i q n淞 l 溅。 0 0 0 0 5 0d a 强 o i g l s i 测。j 0 0 0 0 5 0w 谳附s t 舔鞋 s e e t l 瀑。 0 0 0 0 0 08 s - d a t a lp ox ( 2 0 ) 。 0 0 0 0 7 0 鞭固u r eo i v i s i 潮。j 0 0 0 0 8 0融f k - p j 最t 1 0 0 0 0 9 0 d i s p l a y l 滞溘 强d a t a ,j 0 0 0 1 0 0p 。 1 麴2 - 1c o b o l 露謦瓣i 葬露搂式 翔一 := 围掰示,c o b o l 源程;挚秘书写掺式必须严罄按照势嚣逡行。蒸中l 一 3 两北工业人学坝上| 奠 6 列为标号区,第7 列续行区,8 1 1 列a 区,1 2 7 2 列b 区,7 3 8 0 列是注释区。 部,节,段,数据描述的o l 和7 7 等都必须从a 区开始书写,其余语句从b 区 开始书写。 2 2 2 c o b o l 程序的组成部分 部 每个c o b o l 程序都必须有4 大部分,每部分的作用如下: i d e m i f i c a t i o nd i v i s i o n ( 标识部) :指出源程序名字和备忘的某些信息 ( 如,日期,作者等) ; e n v i r o n 2 d e n td i v i s i o n ( 没备部或称环境部) :指出程序中用到的数据文件 名与计算机系统的设备的对应关系,即把文件名与外部设备联系起来; d a t ad i v i s i o n( 数据部) :程序中所用到的全部数据的描述( 结 构,类型,和大小等) : p r o c e d u r ed i v i s i o n( 过程部) :可执行的程序和指令。 节和段 c o b o l 程序部下面是节,节下面是段,节用”节名+ s e c t i o n ”来说明,段用” 段名+ ”来说明部中可以有多个节,节中可以有多个段前3 个部基本上都有固 定的段和节,过程部的节和段由用户自己定义。 句子,语句和子句 在过程部每个段由多个句子组成,句子可以有多个语句,语句可以有多个子句。 其结构如下: 部( d i v i s i o n ) 节( s e c t i o n ) 段( p a r a g r a p h ) 句子( s e n t e n c e ) 语句( s t a t e m e n t ) 子句( c l a u s e ) 。 了解了c o b o l 程序的结构,还有几点必须注意。一个是英文句号( ) 的使 用。必须使用这个字符结束部的标题、节标题、段名、项目和语句。另一点是 过程部的语句必须从1 2 列以上开始。尽管许多厂家开始在c o b o l 程序格式上提 供更大的灵活性,但使用标准格式的扩展时,必须考虑程序在不同编译器间的 移植。 西北。 业大学硕 论文 2 3c o b o l 语言标准的发展 标准化一种语言,使人们能用该语言在任何机器上编写程序,同时任何懂 这种语言的人都能读懂这些程序。c o b o l 语言f 是这样的一种尝试。事实上,它 是世界商业应用中使用最广泛的语言。目前约有1 7 0 亿种产品在使用中。 9 5 9 年5 月2 8f 1 ,美国国防部召开了一个由计算机制造商、用户和其他利 益方共同参加的会议。与会者认为有必要设计一种数据处理专用的语言+ ,希望 开发出一种像自然语言的语言( 例如英语) ,而不是像f o r t r a n 那样的符号化的 语言,这就是著名的数据系统语言会议c o d a s y l ( c o n f e r e n c eo nd a t as y s t e m s l a n g u a g e s ) 。 1 9 5 9 年1 2 月出现了第 个c o b o l 语言文本,并予1 9 6 0 年4 月c o d a s y l 正 式出版了它的叫做c o b o l ( 公用商业语言) 的新语言的说明书,因此也被称为 c o b o l 一6 0 ,c o b o l 语言正式宣告诞生。 从c o b o l 语言产生到现在,c o b o l 语言进行了多次修改,大多数修改都是通 过严格标准化过程的论坛实现的,其中共经历了四次标准化,建立这些标准的 目的是使得在一个平台上编写的程序可以移植到另一平台( 即另一个厂商制造 的机器) 上去,这里需要注意的是所谓平台,实际上包含两个概念:体系结构 ( a r c h i t e c t u r e ) 和操作系统( o p e r a t i n gs y s t e m ) 。同一个体系结构可以运行 不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举 例来说,我们常说的x 8 6l f n u x 平台实际上是i n t e lx 8 6 体系结构和l i n u xf 。f x 8 6 操作系统的统称:而x 8 6w i n n t 平台实际上是i n t e lx 8 6 体系结构和w i n d o w s n tf o rx 8 6 操作系统的简称。 下面对c o b o l 的四次标准化分别进行说明。 2 3 1 第一次标准化 1 9 6 8 年美国国家标准委员会a n s i 采用c o b o l 一6 0 这一说明书作为基础,通 过了新的标准a n s ic o b o lx 3 2 3 1 9 6 8 ,这个标准就是c o b o l 6 8 ,这是c o b o l 的第一次标准化。 1 9 7 2 年国际标准化组织i s o 采纳了a n s i 的c o b o l 标准,将其作为i s o c o b o l 一7 2 。 2 3 2 第二次标准化 1 9 7 4 年a n s i 对c o b o l 一6 8 作出了修订扩充,形成了a n s ic o b o lx 3 2 3 1 9 7 4 即c o b o l 一7 4 ,这是c o b o l 的第二次标准化。 随后1 9 7 8 年i s o 采用其标准形成i s oc o b o l 一7 8 。 j 两北工业凡学硕l 论文 2 3 3 第三次标准化 1 9 8 5 年a n s i 又提出了a n s ix 3 2 3 8 5 ,增加了很多结构化程序设计的内容, 就是现在普遍使用的c o b o l 一8 5 ,这是c o b o l 的第三次标准化。 1 9 8 9 年,i s o 标准1 8 0 1 9 8 9 :1 9 8 5 也采用了该标准,即i s oc o b o l 一8 9 ,这 是c o b o l 的第三次补足。 2 3 4 第四次标准化 尽管c o b o l 前几次的标准对语法做了严格定义,但大多数c o b o l 。厂商在实 现标准之后都进一步提供扩展特性,以适应本企业的软硬件环境或吸引其他开 发人员。这就造成a n s i 标准很少被严格遵循;因此,c o b o l 程序只是部分可移 植的,c o b o l 程序依赖于厂商和平台。 为了充分实现可移植性,c o b o l 标准还在不断地改进和完善,最新的标准 c o b o l 一2 0 0 2 主体已经于2 0 0 2 年1 2 月出版,其他部分还在不断地完善之中。添 加了1 4 9 个项目,修改了4 0 个项目。这个标准被称作c o b o l 一2 0 0 2 ,这成为c o b o l 的第四次标准化。 与c o b o l 一8 5 相比,其中最大的变化是增加了面向对象( 0 0 ) 特性,把c o b o l 定义成为一个完整的面向对象语言。新的c o b o l 一2 0 0 2 就是一种面向对象的 c o b o l ,其核心内容是给c o b o l 增加面向对象处理机制,其他的功能扩展都是围 绕面向对象功能展开的。 对于习惯于传统c o b o l 的用户,包括使用过结构化的c o b o l 的用户,面向 对象编程都是一个巨大的飞跃。面向对象编程并不是想取代传统和结构化的 c o b o l ,而是让新结构特别适合某种编程任务。面向对象编程的基本原理是产生 可复用代码,以免在每次稍有变化的时候一遍遍的重复编程。 新的面向对象的c o b o l 一2 0 0 2 支持面向对象编程的几个关键元素:继承、封 装与多态( 若语言不支持多态,则不能称面向对象的) ,同时也包容了传统的a n s i c o b o l 标准,具有整合传统c o b o l 程序的能力,为c o b o l 开发人员开发、维 护c o b o l 程序提供了极大的方便。 c o b o l 一2 0 0 2 使用了面向对象程序语言的几个基本结构:对象、方法和类。 c o b o l 一2 0 0 2 中的类定义语法所用的概念类似于c o b o l 一8 5 引入的嵌套程序。类本 身是最外层的程序。工厂和对象定义是类定义中嵌套的程序,方法定义是工厂 和对象定义中嵌套的程序。 除了面向对象编程,c o b o l 一2 0 0 2 中其它改进主要有以下这些方面: 多国文字处理功能:通过p i c t u r e 的n 来指定 地域文化对应功能:比如符号体系 解除书写限制:源程序的书写方式可以不采用原来的那种分区模式,而 是一种自由模式。 位操作功能 西北工业人学坝l 论义 浮点数的操作( 兼容以前的固定小数点形式) 地址指针 用户自定义类型和函数 和c 语言等的连接 强化计算功能 数值由1 8 位变为3 l 位 c o b o l 语言经历了4 0 年的风雨沉浮,已经存在了近干亿条语句,c o b o l 不 仅是一种编程语言,而是地球上很多国家的公用或专用基础结构中的集成组件, 其现代版本能解决当前的商业问题,随着c o b o l 语言的发展以及其它计算机技 术的发展,必须提供遵循最新c o b o l 标准,依赖厂商小的c o b o l 开发环境。 2 4 集成开发环境架构分析 从前面对c o b o l 语言的介绍,可以看到开发出符合c o b o l 一2 0 0 2 标准的c o b o l 开发环境具有很大的研究意义与应用价值,在具体介绍c o b o l 一2 0 0 2 集成开发环 境之前,首先需要了解一般集成开发环境的架构。 集成开发环境( i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t ,简称i d e ) ,又称 作集成编程环境,是将编辑器、编译器、调试器、运行环境、资源编辑器或项 目管理程序以及一些辅助功能集成在一起的软件开发环境。是为方便软件开发 人员进行丌发而设计的软件,一般针对某一编程语言开发,大多数为界面友好 的可视化环境,集程序的代码编辑、编译、连接、调试等于一体,给编程人员 提供了一个完整而又方便的开发界面和许多有效的辅助开发工具。 现代的集成开发环境是一个可视化的开发工具,在介绍集成开发环境的各 个组成部分之前,首先了解一下可视化编程的概念。可视化技术是当前发展迅 速并引人注目的技术之一,它的特点是把原来抽象的数字、表格、功能逻辑等 用直观的图形、图象的形式表现出来。可视化编程是它的重要应用之一。所谓 可视化编程,就是指:在软件开发过程中,用直观的具有一定含义的图标按钮、 图形化的对象取代原来手工的抽象的编辑、运行、浏览操作,软件开发过程表 现为鼠标点击按钮和拖放图形化的对象以及指定对象的属性、行为的过程。这 种可视化的编程方法易学易用,而且大大提高了工作效率。目前,通用的应用 程序集成开发环境都要提供大量的实用工具以支持可视化编程特性。 一般集成开发环境本身只提供代码编辑、工程管理等人机交互功能,我们 在集成开发环境中编译代码、调试程序时,i d e 需要调用命令行的编译器、调试 器完成相应的操作。下面对集成开发环境所需要的相关软件进行介绍。在一个 完整的集成开发环境中需要使用的程序如下: 西北t 业大学顾卜论文 编译器( c o m p i l e r ) 编译器是将一种语言翻泽为另- r l , 语言的计算机程序。编译器将源程序 ( s o u r c el a n g u a g e ) 编写的程序作为输入,而产生用目标语言( t a r g e t l a n g u a g e ) 编写的等价程序。通常地,源程序为高级语言( h i g h l e v e l1 a n g u a g e ) , 如c 或c + + ,而目标语言则是目标机器的目标代码( o b j e c tc o d e ,有时也称作机 器代( m a c h i m ec o d e ) ) ,【乜就是写在计算机机器指令中的用于运行的代码。这 一过程可以表示:源程序一编译器一目标程序 编辑器( e d i t o r ) 编译器通常接受由任何生成标准文件( 例如a s c i i 文件) 的编辑器编写的源 程序。最近,编译器已与另一个编辑器和其他程序捆绑进一个交互的丌发环境 d e 中。此时,尽管编辑器仍然生成标准文件,但会转向正被讨论的程序 设计语言的格式或结构。这样的编辑器称为基于结构的( s t r u t t u r eb a s e d ) , 且它早已包括了编译器的某些操作;因此,程序员就会在程序的编写时而不是 在编译时就得知错误了。从编辑器中也可调用编译器以及与它共用的程序,这 样程序员无需离开编辑器就可执行程序。 调试程序( d e b u g g e r ) 调试程序是可在被编译了的程序中判定执行错误的程序,它也经常与编译 器一起放在i d e 中。运行一个带有调试程序的程序与直接执行不同,这是因为调 试程序保存着所有的或大多数源代码信息( 诸如行数、变量名和过程) 。它还可 以在预先指定的位置( 称为断点( b r e a k p o i n t ) ) 暂停执行,并提供有关已调用 的函数以及变量的当前值的信息。为了执行这些函数,编译器必须为调试程序 提供恰当的符号信息,本文将对一个c o b o l 远程调试器进行简要说明。 项目管理程序( p r o j e c tm a n a g e r ) 现在的软件项目通常大到需要由一组程序员来完成,这时对那些由不同人 员操作的文件进行整理就非常重要了,而这正是项目管理程序的任务。例如, 项目管理程序应将由不同的程序员制作的文件的各个独立版本整理在一起,它 还应保存组文件的更改历史,这样就能维持一个正在开发的程序的连贯版本 了( 这对那些由单个程序员管理的项目也很有用) 。项目管理程序的编写可与语 言无关,但当其与编译器捆绑在一起时,它就可以保持有关特定的编译器和建 立一个完整的可执行程序的链接程序操作的信息。在u n i x 系统中有两个流行的 项目管理程序: s c c s ( s o u r c ec o d ec o n t r o ls y s t e m ) 和r c s ( r e v i s i o nc o n t r o ls y s t e m ) 。 以上只是集成开发环境的组成元素,具体集成开发环境中软件模块如何组 织安排,还要考虑到开发环境本身所处的物理环境以及目标用户的特定需求。 r 两北工业人学倾上论史 2 5c o b o l 集成开发环境国内外研究现状 c o b o l 的开发环境随着c o b o l 语言的发展而不断发展变化,在p c 出现之前, 各大硬件制造商如d e c 、e d g 、i b m 等公司都有某种c o b o l 系统。现在,业界广 泛使用的c o b o l 开发工具主要有: i b m 的v i s u a l a g ec o b o l 产品,具有远程编辑、编译、调试能力,包括 工作站编辑器和调试器,编译器和运行时库,执行时分析器开发图形 界面的可视化工具等等。 m i c r of o c u s 的o b j e c tc o b o l ,d e v e l o p e rs u i t ev 4 if o ru n i x 是个应 用于u n i x 操作环境的支持面向对象c o b o l 与过程化c o b o l 的集成开发环 境。 f u j i t s u 的n e t c o b o l ( 原来叫做f u j i t s uc o b o l ) f o ru n i x 。是一个完 整的c o b o l 开发套件,包括:编译器,运行时和调试工具。在u n i x 工作 站上,n e t c o b o l 可以对开发的商业系统的关键代码进行优化。 a c u 公司的a c u c o b o l g t 是一个扩展c o b o l 、a n s i 标准兼容的开发环境, 整合了编译器、运行时、i s a m 文件系统、调试器等功能,应用程序可获 得完整的c 1 i e n t s e r v e r 支持。 l i a n t 公司的r m e n t e r p r i s ec o d e b e n e h ,一个远程的开发环境,用户 在w i n d o w s 客户端就可以对u n i x 上的c o b o l 代码进行编辑、编译和调试。 目前的c o b o l 开发工具只支持c o b o l 8 5 ,支持c o b o l 一2 0 0 2 的集成丌发环境 的研究在国外刚刚起步,还没有达到成熟阶段。丌发出符合c o b o l2 0 0 2 标准, 依赖厂商小的集成开发环境,将具有相当大的研究与应用前景。 2 6c o b o l 一2 0 0 2 集成开发环境整体说明 有了前面关于c o b o l 语言的基础知识以及集成开发环境的基础知识,本节 将转入对c o b o l 一2 0 0 2 集成开发环境的论述。c o b o l 一2 0 0 2 集成开发环境物理结构 如下: 鸟阜窜阜岛密 图2 - 2 集成开发环境物理结构 服务器:h p u x 。c o b o l 一2 0 0 2 的编泽器、调试器以及c o b o l 程序源文件放在 该机器上,所有的核心功能都在服务器端处理: 两北t 业大学颁卜论文 客户端:p c 机。运行w o r k b e n c h ,与服务器通过s o c k e t 进行通讯为用户提 供一个方便、友好的开发操作界面。 下图是c o b o l 一2 0 0 2 开发环境整体说明,给出了客户端与服务器的直观结构。 倒2 - 3c o b o l 一2 0 0 2 集成开发环境功能结构 服务器端h p u x c o b o l 一2 0 0 2 程序实际的编译、运行以及调试工作在h p u n i x 上完成,程序 文件也在h p u n i x 上由专有的文件管理模块进行管理,共享文件管理要对服务 器上的共享文件的读写权进行控制,保证多用户能够安全、有效地使用服务器 上的共享文件。 服务器的功能包括认证、f i l e 传送、排他控制、命令行起动( c o m p i l e r : 版本管理e t c ) 、调试、执行等。 客户端w i n d o w s 固2 0 0 0 x p 客户端是w i n d o w s 风格的编辑开发环境,登录h p - u n i x 服务器后,用户在 客户端就可完成c o b o l 程序的编辑、编译运行和调试。 服务器与客户端的通讯采用t c p i p 协议。服务器上有特定的端口监听着客 户端的连接。 服务器端保证多用户安全、有效地使用服务器上的共享资源,共同协作开 发大型的c o b o l 项目。对于共享文件,提供了多用户跨平台的通知机制。不同 用户可以同时登录h p 服务器,并行开发同一个工程。 下面对c o b o l 一2 0 0 2 集成开发环境的基本功能做一整体说明。 戮趣下韭大擘磺j 论文 标准框架 客户端豹集成开发环境框檠,包含_ i 程管磋器、添鹃编辑器、蚕形化静 嚣 试器客户端等。 隆l2 - 4 标准框架示意图 工程管理功能 以工程为单位管理源程序,方便用户进行开发。构成一个程序的多个源文 件通过工程的方式进行管理。用户可以方便的在工程中添加、删除源文件。 文件列表、c l a s s v i e w 班及数据名确表使用户方便的管理工程内容。 源码编辑功能 在鬻户端溺户就可疆完成对服务器上的c o b o l 程序的编辑、修改。 编辑器中的关键字可以通过带有颜色来强调显示。 鞭务器静瀑文 串可以在客户灞打开,修歪,保存。另癸也可以翻建灏文释, 换名保存等。 c o b o l 关键字也可叛着重表示,镶掇蘑红色字落突滋显示。 编辑器中还包含u n i c o d e 对应、编码方式转换及关键字补完功能。补完功 糍援当予粥中关键字爨动於宠及数据名、方法名鸯动 完功能。 西北r 业大学倾b 论文 编译连接功能 启动服务器端的编译器,编译连接h p 服务器上的c o b o l 程序,生成可执 行文件。 当在客户端按下了“编译”后,服务器上的c o b o l 编译器就对c o b o l 程序 进行编译,连接。 对于编译选项的指定( 如是否带有调试信息) ,可执行程序的路径的设定等, 在c o b o lr e m o t ew o r k b e n c h ( 客户端) 都可以完成。 编译的过程是先把c o b o l 翻译为标准c ,再用h p u n i x 平台提供的c 编译器 ( c c ) 完成到可执行文件的编译和连接,要向用户隐藏中间编译环节,没有任 何中间文件输出。 出错代码行跳转功能 编译h p 服务器上的c o b o l 程序时,在客户端的编译错误信息窗口,将错误 信息显示出来。 “编译m e s s a g e ”窗口,显示错误信息、包括错误发生后的代码行位置,双 击错误信息,光标将跳转到错误行;另外,按下f l 、能够显示错误信息的帮助。 图形化调试功能 用户在客户端就可以对服务器上c o b o l 程序进行调试。这个调试器是源代 码级的符号调试器。基本功能有:单步执行、断点执行及变量值的变化。c o b o l 程序实际的调试是在h p 上通过命令行方式启动调试器w d b 进行的。客户端必须 将调试指令如单步执行、断点设置等发送给服务器,由w d b 执行调试命令,服 务器再将调试结果发送到客户端,在客户端直观的显示给用户,从而完成调试 过程。 2 7 客户端功能概述 客户端是集成化丌发环境的w i n d o w s 图形界面,给c o b o l 程序员提供方便 的编程环境。客户端要使用由服务器端设定好的端口号、账户、密码登录到服 务器上,然后用户在客户端可以进行相关的操作,如编写c o b o l 程序、编译c o b o l 程序、执行、调试程序等。这些操作的执行实际上大都是在服务器上进行的, 只是用户看不到而已。这些操作是做为命令发送到服务器上,由服务器执行, 然后将将相应的结果返回到客户端。 2 7 1 框架( f r a m e w o r k ) w o r k b e n c h 的主窗口是多文档窗口形式,其中的子窗口可以独立出来,自由 浮动,提供子窗口的位置与大小恢复缺省值的功能。在同一个窗口中放置多个 窗口时,可以使用c t r l + t a b 键进行焦点切换。 17 西北r 业大学坝i 。论文 用户可以使用w o r k b e n c h 的定制功能对主窗口进行定制,可以定制的项目 有菜单、菜单的快捷键、工具条、状态条、加速键等。提供恢复这些可以定制 的项目的缺省值的功能。 提供上下文帮助功能: f 1 帮助 ,显示与选中的项目相关的信息,这些项 目可以是,窗口、对话框、消息框、菜单、工具条等: s h i f tf i 帮助 ,会启 动一个帮助助手,用之点击一个项目则会出现相关的帮助信息。 提供定制w o r k b e n c h 环境的功能,如可以定制w o r k b e n c h 的缺省工作目录, 外挂应用程序等。 2 7 2 工程管理 上程是创建的一个应用程序的各种信息的集合;每个工程的信息独立。 工程中包括的信息有:生成的文件的路径;环境变量;构成应用程序的文 件名称:设定的断点信息:其他相关信息。 在主窗口中有一个子窗口( 登录文件窗口) 显示工程中包含的文件信息。 图2 - 5 登录文件面口 此子窗v i 有三个标签,从左向右依次是登录文件标签、c l a s s v i e w ( 类结构) 标签、数据标签。点击一个标签会出现对应的子窗口。在上图所示的登录文件 窗口中,最上面的“h e l i o ”是工程名,其中的文件结构以树型结构显示。文件 的种类可以从其旁边的位图直观的看出来,如,中间有一个“m ”的位图表示是 主程序。 可以对工程进行编辑,如添加文件、删除文件等。可以将工程的信息打印 或保存在一个文本文件中。 可以对工程进行m a k e ,生成可执行程序。主窗口的底端有一个o u t p u t 窗口 会把m a k e 的信息显示出来,如“c o m p i l i n gs t a r t :h o m e t e s t a c o b ”类似的 信息;编译时产生的错误也会在此窗口中显示出来。 1r 两北_ := 业大学顺l 沦义 2 7 3 编辑器 编辑器要给c o b o l 程序员提供方便编写c o b o l 程序的功能。由于这是一个 c s 结构的开发环境,所以在客户端打丌服务器上的文件时,要把文件传送到客 户端,同时将文件显示在编辑器中供程序员编辑。同样,保存文件时,也要将 文件从客户端传送到服务器上。编辑器的功能小分类简述如下: 1 打开文件时,文件对话框上有标识只读属性的c h e c k b o x 控件,提供以只读 或读写方式打开文件的接口。当文件以读写方式打开时,要防止另外的用 户同时写此文件。 2 以前的c o b o l 程序编辑器都是有固定格式的,现在的编辑器要同时支持 c o b o l 程序的固定格式与自由格式的编辑。 3 编辑窗口的主要功能有: 本机文件打开时,编辑窗口的t i t l e b a rj 二显示文件的完整路径。远程 文件打开时,t i t l e b a r 为“文件名 s e r v e r 名”。同一个文件同时被打 开多个时,这多个文件的t i t l e b a r 依次为“文件路径”+ “:n ” ( n = l ,2 ,) 。若这些文件被关闭的只剩一个时,t i t l e b a r 为文件路径。 在w o r k b e n c h 的t i t l e b a r 上显示当前活动窗口的文件路径。 固定模式编辑时,自动显示程序行的一连编号,如,当前的程序行的 编号是0 0 0 0 1 0 ,则下一行程序的编号要自动显示成0 0 0 0 2 0 。 c o p y 文( c o b o l 语言中的一种文件) 可以展开与缩约。 其它的些功能,如,插入符、标尺、t o o l t i p 的一些常规功能:提供 多种多个窗口的排列方式:文本域的多种选择方式;编辑方式的定制 等。 4 文件新建、保存、另存等的功能。 5 输入途中,提供c o b o l 2 0 0 2 关键字提示序h 完功能。 2 7 4 版本管理 大型的团队式的_ 丌发,必须要提供代码版本管理的功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论