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

下载本文档

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

文档简介

西北_ t 业大学硕士学位论文 摘 要 基于c o b o l 2 0 0 2 标准 ,设计并 实现 了c o b o l 2 0 0 2 集 成开 发环境 ( c o b o l 2 0 0 2 i d e )。 研究了 集成开发环境的软 件体系结构, 提出了 基于 gs 模 式的系统架构, 说明了系统的设计思想与工作流程, 并重点阐述了 服务 器端模 块 的 架构设计, 客户端与 服务器端的 通信协议设计, 以 及服务器端文件管理模块的 设计。本文主要工作及研究成果如下: 1 ) 分 析了集成开发环境的软 件体系结构,并 按照自 顶向 下的原则, 设计了 服务器端模块的架构,并详细论述了服务器端的三个主要组成部分 ( 服 务进程、服务线程和调试线程)的功能特点与实现方法; 2 ) 研究了c o b o l 2 0 0 2 集成开发环境的网络通信特点, 提出了一种基于t c p 协议的网络通信模型,设计并实现了系统中客户端与服务器端通信协 议,给出了通信数据帧格式以及相应通信流程; 3 )分析了 集成开 发环境中文件管理模块的框架, 提出了 文件控制表( f c t ) 和源文件库( s f l ) 的概念, 详细说明了s f l 中接口 实现算法, 最后设计并 实现了各种文件操作 ( 打开、保存、关闭、删除、新建、返回目录/ 文 件信息等)的流程。 关键词: c o b o l ,集成开发环境,服务进程,文件访问 控制表, 源文件库 西北工业大学硕士学位论文 ab s t r a c t c o b o l 2 0 0 2 i n t e g r a t e d d e v e l o p me n t e n v i r o n me n t ( i d e ) i s d e s i g n e d a n d i m p l e m e n t e d a c c o r d i n g t o s t a n d a r d c o b o l 2 0 0 2 . t h i s t h e s i s p r o p o s e s t h e s y s t e m a r c h i t e c t u r e b a s e d o n c / s m o d e , e x p l a i n s t h e d e s i g n i n g p r i n c i p l e s a n d w o r k fl o w s , d e s i g n s t h e c o m mu n i c a t i o n p r o t o c o l s b e t w e e n s e r v e r a n d c l i e n t , a n d r e a l i z e s t h e f i l e m a n a g e m e n t m o d u l e i n s e r v e r e n d . a l l m y w o r k a n d r e s e a r c h c a n b e s u m m a r iz e d a s f o l l o ws : 1 ) a n a l y z e t h e s y s t e m a r c h i t e c t u r e o f t h e c o b o l 2 0 0 2 i d e , a n d d e s i g n t h e mo d u l e s f o r s e r v e r e n d a c c o r d i n g t o t h e t o p - t o - b o t t o m r u l e . d i s c u s s t h e f u n c t i o n c h a r a c t e r i s t i c s o f s e r v e r e n d mo d u l e s a n d i n t r o d u c e t h e i m p l e m e n t a t i o n t e c h n o l o g y . 2 ) s t u d y t h e n e t w o r k c h a r a c t e r i s t i c s o f c o b o l 2 0 0 2 i d e , p r o p o s e a c o m m u n i c a t i o n mo d e l b a s e d o n t c p , a n d f i g u r e o u t t h e c o r r e s p o n d i n g p r o t o c o l s i n c l u d i n g d a t a fr a me s a n d c o m mu n i c a t i o n p r o c e s s e s . 3 ) a n a l y z e t h e f i l e ma n a g e m e n t mo d u l e , a n d d e s i g n t h e i n t e r f a c e i n t h e s o u r c e f i l e l i b r a r y ( s f l ) a n d t h e fl o w o f f i l e o p e r a t i o n w i t h t h e c o n c e p t i o n s o f fct a n d s f l. k e y w o r d s :c o b o l , i n t e g r a t e d d e v e l o p m e n t e n v i r o n m e n t ( i d e ) , s e r v i c e p r o c e s s , f i l e c o n t r o l t a b l e ( f c t ) , s o u r c e f i l e l i b r a r y ( s f l ) 西_ 匕 工业人学0 11 十学位论文 第 1 章 绪论 1 . 1 研究的背景 c o b o l 是 c o m m o n b u s in e s s -o ri e n te d l a n g u a g e ( 公 用 面向 商业 的 语言 ) 的 缩写。 c o b o l 自 6 0 年代初开始就广泛应用于计算机领域 ( 商业和其他领域)。 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 主要有以 下几个特点: 1 最适合数据处理。 2 .接近自然语言。 3 .标准化程度高。 4 .结构严谨、层次分明、语句有严格的格式要求。 c o b o l 语言的发展主要经历了四个 标准: 1 . 1 9 6 8年,美国 标准协会批准了 c o b o l分会开发的标准, 发布号为 x 3 .2 3 - 1 9 6 8 , 这个文档定义了c o b o l内 核和八个功能模块。 2 . 1 9 7 4年对上一个标准进行了修订,发表了a n s i c o b o l - x 3 . 2 3 - 1 9 7 4 文 本,把功能模块扩充到 1 1 个。 3 . 1 9 8 5年对 c o b o l - 7 4 进行了修正, 产生了 c o b o l - 8 5 , 使 c o b o l语言 更加完善。 4 . 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 2 0 0 2 标准中, 增加了许多新的 特征以 适应当前软件技术的 发展潮流。 新 增 特征主要有以 下几个方面: 面向 对象功能; 多文字处理功能; 地域文 化对应功 能:地址指针:异常处理;位操作功能:浮点数操作;条件编译;和c 语言等的 连接等功能。 新的c o b o l 2 0 0 2 就是一种面向对象的c o b o l ,其核心内容是给c o b o l 增 加面向对象处理机制, 其他功能的扩展都是围绕面向对象功能而展开的。 新的面 西_ 匕 工业人学0 11 十学位论文 第 1 章 绪论 1 . 1 研究的背景 c o b o l 是 c o m m o n b u s in e s s -o ri e n te d l a n g u a g e ( 公 用 面向 商业 的 语言 ) 的 缩写。 c o b o l 自 6 0 年代初开始就广泛应用于计算机领域 ( 商业和其他领域)。 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 主要有以 下几个特点: 1 最适合数据处理。 2 .接近自然语言。 3 .标准化程度高。 4 .结构严谨、层次分明、语句有严格的格式要求。 c o b o l 语言的发展主要经历了四个 标准: 1 . 1 9 6 8年,美国 标准协会批准了 c o b o l分会开发的标准, 发布号为 x 3 .2 3 - 1 9 6 8 , 这个文档定义了c o b o l内 核和八个功能模块。 2 . 1 9 7 4年对上一个标准进行了修订,发表了a n s i c o b o l - x 3 . 2 3 - 1 9 7 4 文 本,把功能模块扩充到 1 1 个。 3 . 1 9 8 5年对 c o b o l - 7 4 进行了修正, 产生了 c o b o l - 8 5 , 使 c o b o l语言 更加完善。 4 . 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 2 0 0 2 标准中, 增加了许多新的 特征以 适应当前软件技术的 发展潮流。 新 增 特征主要有以 下几个方面: 面向 对象功能; 多文字处理功能; 地域文 化对应功 能:地址指针:异常处理;位操作功能:浮点数操作;条件编译;和c 语言等的 连接等功能。 新的c o b o l 2 0 0 2 就是一种面向对象的c o b o l ,其核心内容是给c o b o l 增 加面向对象处理机制, 其他功能的扩展都是围绕面向对象功能而展开的。 新的面 西北t业大学顾士学位论文 向 对象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 代码编写,并且以每年大约五十亿行代码的速度增长。可见,考虑到程 序员维护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 应用程序。 1 .2 国内外研究现状 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 e c o b o l 产品, 具有远程编辑、 编译、 调试能 力, 包括 工作站编辑器和调试器,编译器和运行时库,执行时分析器,开发图形 界面的可视化工具等等。 m i c r o f o c u s的o b j e c t c o b o l d e v e l o p e r s u i t e v 4 . 1 f o r u 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 u c o b o l ) 。是 一个完整的 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 标准兼容的开发 环境,整合了编译器、运行库、 s a m文件系统、调试器等功能, 应用程 序可获得完整的 c l 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 e c o d e b e n c 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 l 2 0 0 2 标准, 依赖厂商小的集成开发 环境,将具有相当 大的研究与应用前景。 1 .3 研究的意义 c o b o l 语 言 在当前软件开发与维护中占有极其重要的地位。 c o b o l 在商业 西北t业大学顾士学位论文 向 对象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 代码编写,并且以每年大约五十亿行代码的速度增长。可见,考虑到程 序员维护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 应用程序。 1 .2 国内外研究现状 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 e c o b o l 产品, 具有远程编辑、 编译、 调试能 力, 包括 工作站编辑器和调试器,编译器和运行时库,执行时分析器,开发图形 界面的可视化工具等等。 m i c r o f o c u s的o b j e c t c o b o l d e v e l o p e r s u i t e v 4 . 1 f o r u 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 u c o b o l ) 。是 一个完整的 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 标准兼容的开发 环境,整合了编译器、运行库、 s a m文件系统、调试器等功能, 应用程 序可获得完整的 c l 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 e c o d e b e n c 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 l 2 0 0 2 标准, 依赖厂商小的集成开发 环境,将具有相当 大的研究与应用前景。 1 .3 研究的意义 c o b o l 语 言 在当前软件开发与维护中占有极其重要的地位。 c o b o l 在商业 西北t业大学顾士学位论文 向 对象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 代码编写,并且以每年大约五十亿行代码的速度增长。可见,考虑到程 序员维护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 应用程序。 1 .2 国内外研究现状 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 e c o b o l 产品, 具有远程编辑、 编译、 调试能 力, 包括 工作站编辑器和调试器,编译器和运行时库,执行时分析器,开发图形 界面的可视化工具等等。 m i c r o f o c u s的o b j e c t c o b o l d e v e l o p e r s u i t e v 4 . 1 f o r u 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 u c o b o l ) 。是 一个完整的 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 标准兼容的开发 环境,整合了编译器、运行库、 s a m文件系统、调试器等功能, 应用程 序可获得完整的 c l 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 e c o d e b e n c 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 l 2 0 0 2 标准, 依赖厂商小的集成开发 环境,将具有相当 大的研究与应用前景。 1 .3 研究的意义 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 程 序集成开发环境, 在实践中得到了 具体的 应用。 c o b o l 语言 的 应 用平 台 +分 广泛 , w in d o w s , h p -u n ix , s o l a r is . l in u x 等 平台都有大量的 c o b o l 应用程序。 本课题所研究的 c o b o l 2 0 0 2 集成开 发环境就 是要实现在h p - u n i x 服务器上开发c o b o l 程序。通常来说,一个项目 由 很多 程 序员协同 开发, 但实际中 很难为每一位程序员提供一台h p - u n i x 服务器 进行开发 工作。 所以 , 为了 实现多个成员在h p - u n i x 上远程协同完成开 发任务, 一个具 有 c / s 架构的集成开发环境是很有意义的。该集成开发环境基本的思想就是将整个 开发 环境分为服务器端和客 户端两个部分。 其中, 服务器端模块运行在h p - u n i x 服务 器上,客户端模块运行在wi n d o w s 平台上,二者之间 通过t c p / i p 协议通信。 这样,程序员,尤其是wi n d o w s 程序员,就可以在熟悉而友好的wi n d o w s 用户环 境下开发h p - u n i x 服务器上的 c o b o l 应用程序,从而无需投入额外精力进行 u n i x 环境的学习。 这个集成开发环境完全支持c o b o l 2 0 0 2 语言标准,支持程序员开发面向对 象的c o b o l 程序,这与当前的软件发展潮流相吻合, 可以促进c o b o l 语言的进 一步发展与应用。 1 .4 研究工作概述 c o b o l 2 0 0 2 集成开发环境具有客户端和服务器端两部分。 其中,客 户端运 行在 p c 机的wi n d o w s 平台上, 它具有一个图 形化开发界面, 并通过底 层通信模块 与服务器端通信: 服务器端运行在h p - u n i x 服务器上, 包含了各个核心功能模块 : 编译、调试、文件管理和认证。通过这样的系统,开发人员就可以在wi n d o w s 平台 上远程开发u n i x 服务器上的c o b o l 程序。 笔者主要进行了以 下工作: 服务器端框架结构的设计; 集成开发 环境中客户 端与服务器端通信协议的设计及实现; 在深入研究进程间通信理论的基础上, 提 出了文件管理模块的实现方案。 1 . 5 本文组织结构 本论文是按照作者承担的主要研究和开发工作来安排的, 章的主要内容如下所示: 第i 章,绪论。本章简要介绍了本文的研究背景和意义、 及论文内容的安排。 共分为6 章,每一 研究工作内容以 西 北工 业 大 学 硕 士学 位 论 文 软件中所占的巨大比 例及从事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 语言 的 应 用平 台 +分 广泛 , w in d o w s , h p -u n ix , s o l a r is . l in u x 等 平台都有大量的 c o b o l 应用程序。 本课题所研究的 c o b o l 2 0 0 2 集成开 发环境就 是要实现在h p - u n i x 服务器上开发c o b o l 程序。通常来说,一个项目 由 很多 程 序员协同 开发, 但实际中 很难为每一位程序员提供一台h p - u n i x 服务器 进行开发 工作。 所以 , 为了 实现多个成员在h p - u n i x 上远程协同完成开 发任务, 一个具 有 c / s 架构的集成开发环境是很有意义的。该集成开发环境基本的思想就是将整个 开发 环境分为服务器端和客 户端两个部分。 其中, 服务器端模块运行在h p - u n i x 服务 器上,客户端模块运行在wi n d o w s 平台上,二者之间 通过t c p / i p 协议通信。 这样,程序员,尤其是wi n d o w s 程序员,就可以在熟悉而友好的wi n d o w s 用户环 境下开发h p - u n i x 服务器上的 c o b o l 应用程序,从而无需投入额外精力进行 u n i x 环境的学习。 这个集成开发环境完全支持c o b o l 2 0 0 2 语言标准,支持程序员开发面向对 象的c o b o l 程序,这与当前的软件发展潮流相吻合, 可以促进c o b o l 语言的进 一步发展与应用。 1 .4 研究工作概述 c o b o l 2 0 0 2 集成开发环境具有客户端和服务器端两部分。 其中,客 户端运 行在 p c 机的wi n d o w s 平台上, 它具有一个图 形化开发界面, 并通过底 层通信模块 与服务器端通信: 服务器端运行在h p - u n i x 服务器上, 包含了各个核心功能模块 : 编译、调试、文件管理和认证。通过这样的系统,开发人员就可以在wi n d o w s 平台 上远程开发u n i x 服务器上的c o b o l 程序。 笔者主要进行了以 下工作: 服务器端框架结构的设计; 集成开发 环境中客户 端与服务器端通信协议的设计及实现; 在深入研究进程间通信理论的基础上, 提 出了文件管理模块的实现方案。 1 . 5 本文组织结构 本论文是按照作者承担的主要研究和开发工作来安排的, 章的主要内容如下所示: 第i 章,绪论。本章简要介绍了本文的研究背景和意义、 及论文内容的安排。 共分为6 章,每一 研究工作内容以 西 北工 业 大 学 硕 士学 位 论 文 软件中所占的巨大比 例及从事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 语言 的 应 用平 台 +分 广泛 , w in d o w s , h p -u n ix , s o l a r is . l in u x 等 平台都有大量的 c o b o l 应用程序。 本课题所研究的 c o b o l 2 0 0 2 集成开 发环境就 是要实现在h p - u n i x 服务器上开发c o b o l 程序。通常来说,一个项目 由 很多 程 序员协同 开发, 但实际中 很难为每一位程序员提供一台h p - u n i x 服务器 进行开发 工作。 所以 , 为了 实现多个成员在h p - u n i x 上远程协同完成开 发任务, 一个具 有 c / s 架构的集成开发环境是很有意义的。该集成开发环境基本的思想就是将整个 开发 环境分为服务器端和客 户端两个部分。 其中, 服务器端模块运行在h p - u n i x 服务 器上,客户端模块运行在wi n d o w s 平台上,二者之间 通过t c p / i p 协议通信。 这样,程序员,尤其是wi n d o w s 程序员,就可以在熟悉而友好的wi n d o w s 用户环 境下开发h p - u n i x 服务器上的 c o b o l 应用程序,从而无需投入额外精力进行 u n i x 环境的学习。 这个集成开发环境完全支持c o b o l 2 0 0 2 语言标准,支持程序员开发面向对 象的c o b o l 程序,这与当前的软件发展潮流相吻合, 可以促进c o b o l 语言的进 一步发展与应用。 1 .4 研究工作概述 c o b o l 2 0 0 2 集成开发环境具有客户端和服务器端两部分。 其中,客 户端运 行在 p c 机的wi n d o w s 平台上, 它具有一个图 形化开发界面, 并通过底 层通信模块 与服务器端通信: 服务器端运行在h p - u n i x 服务器上, 包含了各个核心功能模块 : 编译、调试、文件管理和认证。通过这样的系统,开发人员就可以在wi n d o w s 平台 上远程开发u n i x 服务器上的c o b o l 程序。 笔者主要进行了以 下工作: 服务器端框架结构的设计; 集成开发 环境中客户 端与服务器端通信协议的设计及实现; 在深入研究进程间通信理论的基础上, 提 出了文件管理模块的实现方案。 1 . 5 本文组织结构 本论文是按照作者承担的主要研究和开发工作来安排的, 章的主要内容如下所示: 第i 章,绪论。本章简要介绍了本文的研究背景和意义、 及论文内容的安排。 共分为6 章,每一 研究工作内容以 西北t业人学硕士学位论文 第2 章, 第3 章, 第4 章, 第5 章, 第6 章, c o b o l 2 0 0 2集成开发环境分析。本章分析了 基本的 集成开发环 境, 提出了集成开发环境的总体框架和软硬件环境,并简要介绍 了 服务器端和客户端的 总体框架、运行环境及所使用的 实现技 术 等。 c o b o l 2 0 0 2集成开发环境服务器端的研究与设计。本章研究了 集成开发环境的服务器端, 介绍了服务器端模块的整体设计思 路 和主要实现技术。 c o b o l 2 0 0 2集成开发环境客户端与服务器端的通信协议设计 与 实现。本章设计了系统中客户端与 服务器端通信协议, 给出了 通 信数据帧格式以及相应通信流程。 文件管理模块的设计与实现。本章介绍了多用户文件管理的设计 及主要实现技术。 结束 语。 本章总结了 全文的主要工作, 并展望了后续的研究工作, 指出了进一步的研究内容。 西北工业大学硕士学位论文 第 2章c o b o l 2 0 0 2 集成开发环境分析 本章首先说明了通用集成开发环境的架构,并结合本研究课题,分析了 c o b o l 2 0 0 2 集成开发环境的 整体结构,并介绍了 集成开发环境中客户端与 服务 器端的功能。 2 . 1 集成开发环境架构分析 集成开发 环境 ( i n t e g r a t e d d e v e l o p m e n t e n v ir o n m e n t , 简称i d e ) , 又称作 集 成编程环境, 是将编辑器、 编译器、调 试器、 运行环境、资源编辑器或项目 管理 程序以 及一些辅助功能集成在一起的软 件开 发环境。 是为方便软件开发人员进行 开发而设计的 软件, 一般针对某一编程语言开发, 大多数为界面友好的可视化环 境, 集程序的代码编辑、编译、 连接、 调试等于一体, 给编程人员提供了 一个完 整而又方便的开发界面和许多有效的辅助开发工具。 现代的集成开发环境是一个可视化的开发工具。 可视化技术是当前发展迅速 并引 人注目 的技术之一, 它的特点是把原来抽象的数字、 表格、 功能逻辑等用直 观的图 形、 图像的形式表现出来。 可视化编程是它的重要应用之一。 所谓可视化 编程, 就是指: 在软件开发过程中, 用直观的具有一定 含义的图标按钮、 图形化 的对象取代原来手工的抽象的编辑、 运行、 浏览操作, 软件开发过程表现为 用鼠 标点 击按钮或拖放图 形化的对象以 及指定对象的 属性、 行为的 过程。 这种可视化 的编程方法易学易用, 而且 大大提高了 工作效率。目 前, 通用的应用程序集成开 发环境都要提供大量的实用工具以支持可视化编程特性。 一般集成开发环境本身只提供代码编辑、 工程管理等人机交互功能,我们在 集成开发环境中 编译代码、 调试程序时, i d e 需要调用命令行的编译器, 调试器 完 成相应的操作。 下面对集成开发环境所需要的相关软件进行介绍。 在一个完整 的集成开发环境中需要使用的程序如下: 编 译器( c o m p i l e r ) 编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序 ( s o u r c e la n g u a g e ) 编 写的 程 序 作 为 输 入, 而 产 生 用目 标 语 言 ( ta r g e t la n g u a g e ) 编 写的 等 价 程序 。 通 常 地, 源 程 序 为高 级 语 言 (h ig h -le v e l l a n g u a g e ) , 如 c 或 c + + , 而目 标 语言 则是目 标机器的目 标代码( o b j e c t c o d e , 有时也称作机器码 ( m a c h i n e c o d e ) ) , 也 就是在计算机机器指令中用于运行的 代码。 这一 过程可以 表示为: 源程序一编 译器目 标程序。 编辑器( e d i t o r ) 西北工业大学硕士学位论文 第 2章c o b o l 2 0 0 2 集成开发环境分析 本章首先说明了通用集成开发环境的架构,并结合本研究课题,分析了 c o b o l 2 0 0 2 集成开发环境的 整体结构,并介绍了 集成开发环境中客户端与 服务 器端的功能。 2 . 1 集成开发环境架构分析 集成开发 环境 ( i n t e g r a t e d d e v e l o p m e n t e n v ir o n m e n t , 简称i d e ) , 又称作 集 成编程环境, 是将编辑器、 编译器、调 试器、 运行环境、资源编辑器或项目 管理 程序以 及一些辅助功能集成在一起的软 件开 发环境。 是为方便软件开发人员进行 开发而设计的 软件, 一般针对某一编程语言开发, 大多数为界面友好的可视化环 境, 集程序的代码编辑、编译、 连接、 调试等于一体, 给编程人员提供了 一个完 整而又方便的开发界面和许多有效的辅助开发工具。 现代的集成开发环境是一个可视化的开发工具。 可视化技术是当前发展迅速 并引 人注目 的技术之一, 它的特点是把原来抽象的数字、 表格、 功能逻辑等用直 观的图 形、 图像的形式表现出来。 可视化编程是它的重要应用之一。 所谓可视化 编程, 就是指: 在软件开发过程中, 用直观的具有一定 含义的图标按钮、 图形化 的对象取代原来手工的抽象的编辑、 运行、 浏览操作, 软件开发过程表现为 用鼠 标点 击按钮或拖放图 形化的对象以 及指定对象的 属性、 行为的 过程。 这种可视化 的编程方法易学易用, 而且 大大提高了 工作效率。目 前, 通用的应用程序集成开 发环境都要提供大量的实用工具以支持可视化编程特性。 一般集成开发环境本身只提供代码编辑、 工程管理等人机交互功能,我们在 集成开发环境中 编译代码、 调试程序时, i d e 需要调用命令行的编译器, 调试器 完 成相应的操作。 下面对集成开发环境所需要的相关软件进行介绍。 在一个完整 的集成开发环境中需要使用的程序如下: 编 译器( c o m p i l e r ) 编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序 ( s o u r c e la n g u a g e ) 编 写的 程 序 作 为 输 入, 而 产 生 用目 标 语 言 ( ta r g e t la n g u a g e ) 编 写的 等 价 程序 。 通 常 地, 源 程 序 为高 级 语 言 (h ig h -le v e l l a n g u a g e ) , 如 c 或 c + + , 而目 标 语言 则是目 标机器的目 标代码( o b j e c t c o d e , 有时也称作机器码 ( m a c h i n e c o d e ) ) , 也 就是在计算机机器指令中用于运行的 代码。 这一 过程可以 表示为: 源程序一编 译器目 标程序。 编辑器( e d i t o r ) 西北工业大学硕 上 学位论文 编译器通常接受由任何生成标准文件 ( 例如a s c i 工 文件)的编辑器编写的源 程序。 尽管编辑器仍然生成标准文件, 但会转向 某个程序设 计语言的格式或结构。 这样的 编辑 器称为基于结 构的 ( s t r u c t u r e b a s e d ) , 且它早已 包括了编译 器的某些操 作: 因 此, 程序员就会在程序的编写时而不是在编译时就得知错误了。 从编辑器 中也可调用编译器以及与它共用的程序, 这样程序员无需离开编辑器就可执行程 序。 调试程序( d e b u g g e 灼 调试程序是能在编译后的程序中判定执行错误的程序, 它也经常与编译器一 起放在i d e 中。因 为调试程 序保存着所有的或大多 数源代码信息 ( 诸如行数、变 量名和过程), 所以运行一个带有调试信息的程序与直接执行不同。 它可以在预 先指定的 位置 ( 称为断点( b r e a k p o i n t ) ) 暂停执行, 并提 供有关己 调用的函数以及 变量的当前值的信息。 为了 执行这些函数, 编译器必须为调试程序提 供恰当的符 号信息。 项目 管 理 程 序 ( p r o j e c t m a n a g e r ) 现在的软件项 目 通常大到需要由一组程序员来完成, 这时对那些由不同人员 操作的文件进行整理就非常重要了 , 而这正是项目 管 理程序的任务。 例如, 项目 管理 程序应该将不同的程序员制作的文件的 各个独立版本整理在一起, 它还应保 存一组文件的更改 历史, 这样就能维持一个正在开发的程序的连贯 版本了( 这对 那些由单个程序员管理的项目也很有用)。项 目管理程序的编写可与语言无关, 但当其与编译器捆绑在一起时, 它就可以 保持有关特定的编译器和建立一个完整 的可执行程序的链接程序操作的信息。在u n i x 系统中有两个流行的项 目管理程 序: s c c s ( s o u r c e c o d e c o n t r o l s y s t e m ) 和r c s ( r e v i s i o n c o n t r o l s y s t e m ) . 以上只是一个集成开发环境的组成元素, 具体集成开发环境中软件模块如何 组织安排, 还要考虑到集成开发环境本身所处的物理环境以及 目 标用户的特定需 求。 2 . 2 c o b o l 2 0 0 2 集成开发环境整体说明 有了前面关于集成开发环境的 基础知识, 本节将转入对c o b o l 2 0 0 2 集成开 发环境的论述。c o b o l 2 0 0 2 集成开发环境物理结构如图2 - 1 所示: 西i l i j k 大学硕士学位论文 编译器通常接受由任何生成标准文件( 例_ f t h a s c i i 文件) 的编辑器编写的源 程序。尽管编辑器仍然生成标准文件,但会转向某个程序设计语言的格式或结构。 这样的编辑器称为基于结构的( s t r u c t u r e b a s e d ) ,且它早已包括了编译器的某些操 作:因此,程序员就会在程序的编写时而不是在编译时就得知错误了。从编辑器 中也可调用编译器以及与它共用的程序,这样

温馨提示

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

最新文档

评论

0/150

提交评论