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

(计算机软件与理论专业论文)cobol语言远程集成开发环境研究与实现.pdf.pdf 免费下载

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

文档简介

西北工业火学硕士学位论文 摘要 c o b o l 是 c o m m o n b u s i n e s s - o r i e n t e d l a n g u a g e( 公用面向 商业的语言)的 缩写, 它产生于二十世纪六十年代, 是一种面向数据处理的高级程序设计语言。 c o b o l 作为企业的 解决方案, 广泛应用在商业软件的开发中。 目前, 现有大多数 c o b o l 应用程序运行在u n i x 平台之上, 但u n i x 平台缺乏方便的开发工具给开发和 维护工作带来诸多不便。 因 此, 一个便捷高效的 c o b o l 语言远程集成开发环境就 具有很大的研究意义与商业价值。 作者从 2 0 0 3 年 9月开始参与国际合作项 目一 c o b o l语言远程集成开发环境 的设计和开发工作。c o b o l 远程集成开发环境采用 c / s结构,客户端运行在 p c 机的w i n d o w s 平台上,具有一个图 形开发界面, 并通过底层通信模块与 服务器 端通信;而服务器端运行在 h p - u x 平台上,主要包含了编译、调试、文件管理 和认证等核心功能模块。作者主要从事了集成开发环境服务器端的设计和实现 工作。 在一年多的实践工作 基础上, 作者对远程集成开发环境服务器端的系统 框架结构有了较深入的理解和认识,并对其实现技术做了较为深入的研究。本 文主要工作及成果包含如下几个方面: 1 .通过对集成开发环境的 体系结构进行了分析,按照自 顶向下的设计原 则,对服务器端模块的体系结构进行设计。 2 .通过对 p a m ( p l u g g a b l e a u t h e n t i c a t i o n m o d u l e s ) 认证机制进行了 研 究,在此基础上实现了 系统的认证功能。 3 . 分析了文件管理模块的框架,提出了文件控制表 ( f c t )和源文件库 ( s f l ) 的概念, 详细说明了s f l 中 接口 实现算法, 最后设计并实 现了 各种文件操作的流程。 4 .通过分析工程管理服务器端的运行机制,提出了利用程序生成 m a k e f i l e , 然后启动 。 a k e 程序来执行 m a k e f i l e 文件, 完成编译链接的 实现方法。阐述了m a k e f i l e 创建工具 m k c b l m k的设计与实现。 关键字 :c o b o l 语 言,集成开发环境,服务进程,服务线程,p a m认证,文 件访问 控制表, 源文件库,m a k e f i l e 文件 两北下业人学硕 学位论文 abs tract c o b o l i s a b b r e v i a t i o n o f c o m m o n b u s i n e s s - o r i e n t e d l a n g u a g e , i t i s a k i n d o f o r i e n t e d - b u s i n e s s p r o g r a mm i n g l a n g u a g e w h i c h i s a n o l d l a n g u a g e p r o d u c e d i n t h e l a t e 1 9 6 0 s . as h i g h - q u a l i t y s o l ut i o n s f o r e n t e r p r i s e s , c o b o l , a c c o u n t s f o r t h e v a s t m a j o r i t y o f c o m me r c i a l s o ft wa r e . n o w a d a y s , t h e ma j o r i t y s o f t w a r e w h i c h i s d e v e l o p e d w i t h c o b o l o p e r a t e d i n u n i x p l a t f o r m, b u t t h e d i s a d v a n t a g e t h a t t h e u n i x p l a t f o r m l a c k s c o n v e n i e n t c o b o l d e v e l o p me n t t o o l s b r i n g m u c h d i f f i c u l t y o n d e v e l o p me n t a n d ma i n t e n a n c e o f s o ft w a r e . h e n c e , p r o v i d i n g t h e c o b o i p r o g r a m m e r a c o n v e n i e n t e f f ic i e n t b a s e d - u n i x r e m o t e c o b o l 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 ) h a s mo r e i m p o r t a n t r e s e a r c h m e a n i n g a n d b u s i n e s s v a l u e . t h e a u t h o r h a s p a r t i c i p a t e d i n d e s i g n i n g a n d d e v e l o p me n t o f a n i n t e rna t i o n a l c o o p e r a t i n g p r o j e c t - c o b o l r e m o t e i de . t h e s y s t e m a d o p t s t h e c / s a r c h i t e c t u r e t h e c l i e n t e n d , w h i c h i s o n t h e wi n d o w s o s , h a s a g r a p h i c i n t e rl a c e a n d c o mmu n i c a t e s w i t h t h e s e r v e r e n d , a n d t h e s e r v e r e n d , w h i c h i s o n t h e h p - u x , p r o v i d e s s o me k e r n e l f u n c t i o n m o d u le s , s u c h a s c o m p i l e r , d e b u g g e r , f i l e m a n a g e m e n t a n d a u t h e n t i c a t i o n , a n d s o o n . i n t h e t e r n , t h e a u t h o r m a i n l y e n g a g e d i n d e s i g n i n g a n d d e v e l o p i n g o f i d e s e r v e r . o n t h e b a s i s o f o n e - y e a r - p r a c t i c e , t h e a u t h o r h a s h a d a d e e p u n d e r s t a n d i n g a n d r e c o g n i z i n g o n t h e a r c h i t e c t u r e o f i d e s e r v e r a n d s t u d i e d d e e p l y i t s r e a l i z i n g t e c h n o l o g y . t h e m a i n w o r k a n d c o n t r i b u t i o n o n t h i s t h e s i s b e s u mma r i z 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 r e m o t e i d e , a n d d e s i g n t h e s e r v e r e n d mo d u l e s 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 . 2 . s t u d y d e e p l y p a m a u t h e n t i c a t i o n p r i n c i p l e a n d a r c h i t e c t u r e , a n d c o m p l e t e t h i s s y s t e m c e r t i fi c a t i o n f u n c t i o n o n t h i s f o u n d a t i o n . 3 . s t u d y t h e f i l e m a n a g e m e n t m o 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 i ) a n d t h e f l o w o f fi 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 f c i a n d sfi_ 4 . a n a l y z e t h e i m p le me n t e d me c h a n i s m o f p r o j e c t m a n a g e r o n s e r v e r , p u t f o r w a r d a r e a l i z e d m e t h o d t o ma k e u s e o f p r o g r a m t o p r o d u c e ma k e f i l e , d e s i g n a n d i mp l e me n t t o o l - mk c b l m k - t o c r e a t e a u t o m a t i c a l l y ma k e f i l e . k e y wo r d : c o b o l s e r v i c e p r o c e s s , s e r v i c e s o u r c e f i l e l i b r a r y ( s f l ) , l a n g u a g e , 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 th r e a d p am a u t h e nt i c a t i o n , fi l e co n t r ol f a b l e m a k e f i l e ( i d e ) . ( f cf ) , t 1 西北下业人学倾 卜 学位论文 第1 章 绪论 1 . 1 课题研究背景及研究意义 c o b o l是 c o m m o n b u s i n e s s - o r i e n t e d l a n g u a g e( 面向商业的通用语言 ) 的缩写,它是最早出现的高级程序设计语 台 之一。它采用英语语法,具有 良好 的可读性、可维护性和可移植性。c o b o l 语 言 在大型机上普遍使用,并于 1 9 6 8 年形成第 一 个语 言 标准 。c o b o l不同于其他高级语言,它是针对事务数据处理 而开发的,是商用应用程序开发的首选语言,目前广泛应用于工业、商业、企 业管理和行政管理等部门。据 m i c r o f 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 和 工 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语言在目前仍然处于不可取代的位置,因此有必要 提升现有 c o b o l 语 台的功能以适应新的应用需求。 到 目前为_ 匕 国际标准化组织及公司提出了多个 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 工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 进行1修正, 产生了 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 8 5 相比,新t/j 、 准把 c o b o l 扩展成为 个完整的而向对象语c 4 它支持面向对象编程,同时兼容 c o b o l 8 5语台标准其核心内容是给 c o b o l 增 加i fi i 向对象处理机制,其他的功能扩展大都是围绕面向对象功能展开的。 c o b o l 2 0 0 2的出现使 c o b 0 1 成为 一 门功能更加强大的语言, 但现有 一 的c o b o l . 西北下业人学倾 卜 学位论文 第1 章 绪论 1 . 1 课题研究背景及研究意义 c o b o l是 c o m m o n b u s i n e s s - o r i e n t e d l a n g u a g e( 面向商业的通用语言 ) 的缩写,它是最早出现的高级程序设计语 台 之一。它采用英语语法,具有 良好 的可读性、可维护性和可移植性。c o b o l 语 言 在大型机上普遍使用,并于 1 9 6 8 年形成第 一 个语 言 标准 。c o b o l不同于其他高级语言,它是针对事务数据处理 而开发的,是商用应用程序开发的首选语言,目前广泛应用于工业、商业、企 业管理和行政管理等部门。据 m i c r o f 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 和 工 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语言在目前仍然处于不可取代的位置,因此有必要 提升现有 c o b o l 语 台的功能以适应新的应用需求。 到 目前为_ 匕 国际标准化组织及公司提出了多个 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 工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 进行1修正, 产生了 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 8 5 相比,新t/j 、 准把 c o b o l 扩展成为 个完整的而向对象语c 4 它支持面向对象编程,同时兼容 c o b o l 8 5语台标准其核心内容是给 c o b o l 增 加i fi i 向对象处理机制,其他的功能扩展大都是围绕面向对象功能展开的。 c o b o l 2 0 0 2的出现使 c o b 0 1 成为 一 门功能更加强大的语言, 但现有 一 的c o b o l . 西北一 业人学硕 卜 学位论文 编译系统并不支持面向对象技术,因此必须研制新编译系统及开发 i具以支持 新标准的推广使用。 预计 2 1 世纪有 3 0 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程序员提供 一个高效的开发工具,对提高软件质量,保证工 程进度都是至关重要的。因此,有必要开发一种c o b o l 语 吕集成开发环境来适 应这种需求。 目前,c o b o l 应用程序一般运行于 u n i x 环境中。由于 u n i x 环境一般是构 筑在小型机或大型机上的,构造费用是昂贵的,而大型商用软件开发采用并行 协同开发模式, 若为每个开发人员都配备一 个完整的u n i x 环境, 开发费用势必 是很大的。其次,企业级的大型 c o b o l 应用项 目一般需要多人协同开发,一个 工程中的源代码和数据文件一般存放在服务器上,c o b o l编译器、调试器也在 服务器端。用户可以登录服务器,在服务器上完成 c o b o l工程的编辑、编译、 调试,从而完成 c o b o l工程的开发,但这样的开发效率低、无法保证不同用户 安全有效的使用文件,最重要的是不能给用户提供方便的界面友好的集成开发 环境。 随着p c 桌面系统的普及, p c 桌面系统可以 利用u n 工 x 系统的强大网 络通 信能力远程登陆到 u n i x系统上进行开发。一般来说 ,u n i x的操作界面没有 w i n d o w s操作界面友好,因此,为了给开发人员一个友好的开发环境,让开发 人员 使用w i n d o w s 平台的可视化客户端进行开发是一个理想的 选择。所以, 给 用户提供一个方便、安全、高效的c o b o l 远程集成开发环境具有很高的研究与 应用价值。 2 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 ) , 是将 编辑器 、编译器、调试器、运行环境、资源编辑器和项目管理程序以及一些辅 助功能集成在一起,方便开发人员进行软件开发而设计的工具软件。一般针对 某一 编程语言, 提供界面友好的可视化环境, 集工程的代码编辑、 编译、 连接、 调试等于一体,给编程人员提供了一个完整而又方便的开发界面和许多有效的 辅助开发 工 具。一般集成开发坏境本身只提供代码编辑、丁程管理等人机交互 2 两北t 业大学硕l 。学位论文 编译系统并不支持面向对象技术,因此必须研制新编译系统及开发1 具以支持 新标准的推广使用。 预计2 l 世纪有3 0 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 程序员提供一个高效的丌发工具,对提高软件质量,保证工 程进度都是至关重要的。因此,有必要丌发一种c o b o l 语言集成开发环境来适 应这种需求。 目前,c o b o l 应用程序一般运行予u n i x 环境中。出于u n i x 环境一般是构 筑在小型机或大型机上的,构造费用是昂贵的,而大型商用软件开发采用并行 协同开发模式,若为每个开发人员都配备一个完整的u n i x 环境,开发费用势必 是很大的。其次,企业级的大型c o b o l 应用项目一般需要多人协同开发,一个 工程中的源代码和数据文件一般存放在服务器上,c o b o l 编译器、调试器也在 服务器端。用户可以登录服务器,在服务器上完成c o b o l 工程的编辑、编译、 调试,从而完成c o b o l 工程的开发,但这样的开发效率低、无法保证不同用户 安全有效的使用文件,最重要的是不能给用户提供方便的界面友好的集成开发 环境。随着p c 桌面系统的普及,p c 桌面系统可以利用u n i x 系统的强大网络通 信能力远程登陆到u n i x 系统上进行丌发。一般来说,嘣i x 的操作界面没有 w i n d o w s 操作界面友好,因此,为了给丌发人员一个友好的丌发环境,让丌发 人员使用w i n d o w s 平台的可视化客户端进行开发是一个理想的选择。所以,给 用户提供一个方便、安全、高效的c o b o l 远程集成开发环境具有很高的研究与 应用价值。 1 2c o b o l 远程集成开发环境系统框架概述 集成开发环境( 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 ) ,是将 编辑器、编译器、调试器、运行环境、资源编辑器和项目管理程序以及一些辅 助功能集成在一一起,方便开发人员进行软件开发而设计的工具软件。一般针对 某编程语言,提供界面友好的可视化环境,集工程的代码编辑、编泽、连接、 渊试等于一体,给编程人员提供了个完整而又方便的丌发界面和许多有效的 辅助丌发:f 具。一。般集成7 r 发环境本身只提供代码编辑、t 程管理等人机交旺 2 两北1 一业大学砸1 学位论义 功能,在集成丌发环境中编译代码、链接目标代码、调试程序时,i d e 需要调 用命令行的编译器、链接器和调试器完成相应的操作。 现代的集成丌发环境中大量采用可视化技术,可视化技术的特点是把原来 抽象的数字、表格、功能逻辑等用直观的图形、图象的形式表现出柬。可视化 编程是它的重要应用之一。可视化编程在软件丌发过程中,用直观的具有一定 含义的图标按钮、图形化的对象取代原来手工的抽象的编辑、运行、浏览操作, 软件开发过程表现为鼠标点击按钮和拖放图形化的对象以及指定对象的属性、 行为的过程。这种可视化的编程方法易学易用,而且大大提高了工作效率。目 前,通用的应用程序集成开发环境都提供大量的实用工具以支持可视化编程特 性。 c o b o l 集成丌发环境包括客户端与服务器端两部分。客户端为用户提供一个 方便、友好的丌发操作界面,服务器端模块处理客户端与服务器的通讯以及各 个独立的核心功能,核心功能包括:编译、调试、认证、共享文件的管理等。 具体系统结构如图卜l 所示: 幽1 1c o b o l 集成开发环境系统结构图 集成开发环境的客户端w o r k b e n c h 运行在操作系统是i n d o w s 2 0 0 0 x p 的p c 机上,通过网络连接登录到服务器。服务器采用的操作系统为h p u x 。服务器与 客户端间的通讯采用t c p i p 协议。服务器采用特定的端口监听着客户端的连接 清求。 图l 一2 是c o b 0 1 集成丌发环境的软件体系结构示意图。服务器启动时,同时 心动服务器端的服务进程。该进程针对每个客户进程可以启动两个线程提供服 务。服务线程提供文件管理、编泽等服务:调试线程专门用来提供调试服务, : 两北t 业人学f i ! i ll 学位论义 这两个线程通过两个s o c k e t 与客户端进行通信。 幽卜2c o b o l 集成开发环境系统软什结构幽 服务器端h p u x c o b o l 程序实际的编译、运行以及调试工作在h p u n 上完成,程序文件也 在h p u n 上由专有的文件管理模块进行管理,共享文件管理要对服务器上的共 享文件的读写权进行控制,保证多用户能够安全、有效地使用服务器上的共享 文件。 服务器的功能包括认证、f i l e 传送、排他控制、命令行起动( c o m p i l e r :版 本管理等) 、调试、工程执行等功能。服务器端保证多用户安全、有效地使用服 务器上的共享资源,共同协作开发大型的c o b o l 项目。对于共享文件,提供了 多用户跨平台的通知机制。不同用户可以同时登录h p 服务器,并行开发同一个 工程。 客户端wt n d o w s 2 0 0 0 x p 客户端是w i n d o w s 风格的编辑丌发环境,登录 l p u n 服务器后,用户在客 户端就可完成c o b o l 程序的编辑、编译、运行和调试 1 2 1 客户端功能概述 客户端( w o r k b e n c h ) 是集成化开发环境的w i n d o w s 图形界面,给c o b o l 程序员提供方便的开发环境。客户端要使用由服务器端设定好的端口号、账户、 密码登录到服务器上,然后用户在客户端可以进行相关的操作,如编写c o b o l 程序、编译c o b o l 程序、执行、调试程序等。这些操作的实际执行大部在服务 器上完成,实现时客户端发送相应的命令到服务器上,由服务器上的对应功能 模块执行,然后将执行结果返回到客户端,执行过程对用户保持透明。其主要 功能分述如下。 两北t 业人学f i ! i ! 。学位论史 1 2 1 1 外观( f r a m e w o r k ) 图i - 3 标准框架示意图 w o r k b e n c h 的主窗口是多文档窗口形式,其中的予窗口可以独立出来,自 由浮动,提供子窗口的位置与大小恢复缺省值的功能。在同一个窗口中放置多 个窗口时,可以使用c t r l + t a b 键进行焦点切换。 用户可以使用w o r k b e n c h 的定制功能对主窗口进行定制,可以定制的项目 有菜单、菜单的快捷键、工具条、状态条、加速键等。提供恢复这些可以定制 的项目的缺省值的功能。 提供上下文帮助功能: f l 帮助 ,显示与选中的项目相关的信息,这些项 目可以是,窗口、对话框、消息框、菜单、工具条等; s h i f t + f 1 帮助 ,会启 动一个帮助助手,用之点击一个项目则会出现相关的帮助信息。 提供定制w o r k b e n c h 环境的功能,如可以定制w o r k b e n c h 的缺省工作目录, 外挂应用程序等。 1 2 1 2 工程管理 工程是创建的一个应用程序的各种信息的集合。每个工程的信息都是独立 的。 工程中包括的信息有:生成的文件的路径:环境变量;构成应用程序的文 件名称;设定的断点信息;其他相关信息。 在主窗口中有。个子窗口( 登录文件窗口) 显示工程中包含的文件信息。如 图l t 所示。 5 两北t 业人学砸卜学位论文 幽1 - 4 登录文件窗口 此子窗口有三个标签,从左向右依次是登录文件标签、c l a s s v i e w ( 类结构) 标签、数掘标签。点击一个标签会出现对应的子窗口。在上图所示的登录文件 窗口中,最上面的“h e l l 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 ” 类似的信息;编译时产生的错误消息也会在此窗口中显示出来。 1 1 2 _ 1 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 r 上最示文件的完整路径。打歼 远程文件时,t i t l e b a r 娃示成“文件名 s e r v o 5 名”。+ 个文件被i 司时打丌多 个时,这多个文件的r i t le b a r 依次为“文件路径”f “:1 3 ”( n = l ,2 ,) 。 6 两北t 业人学颂。l :学位论文 若这些文件被关闭的只剩一个时,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 关键字提示补完功能。 1 2 1 4 版本管理 大型的团队式的丌发,必须要提供代码版本管理的功能,以防止代码版本 的混乱。若用户需要高级的版本管理机能,则可以使用外部版本管理软件,系 统提供了相应的客户端的接口以方便程序员使用。可以使用的版本管理软件有 c v s 等。这些版b 管理软件是作为w o r k b e n c h 的外挂软件存在的。提供的主要 版本管理功能有: 版本管理工具的登录:指定要使用的版本管理工具。 c h e c k l n :使用指定的版本管理工具将文件c h e c k i n 库中。 c h e c k o u t :使用指定的版本管理工具将文件从库中c h e c k o u t 。 获得最新状态:取得文件的最新版本。 1 。2 1 5 身份认证 客户端要使用服务器上的资源,必须要先经过身份认证,登录到服务器上 爿能进行。认证时必须提供要连接的服务器名、用户账号、密码。客户端等待 服务器上的认证模块对用户的认证结果,才能进行下一步的操作。 连接登录对话框如图卜5 所示。当认证成功时,服务器名、用户账号会在 客户端保存,这样下次连接时直接从下拉框中选择即可,但密码需要再次输入。 幽卜5 连接登录对| 舌框 7 两北t 业j ( 学颂【:学位论立 1 2 1 6 调试器 调试器是集成丌发环境的一个重要组成部分。它提供的主要功能有: 1 ) 开始调试。 2 ) 调试c o p y 文。 3 ) 设定或取消断点。 4 ) 执行程序。 5 ) s t e p 执行。 6 ) n e x t 执行。 7 ) n e x t 执行一个命令单位。 8 ) 执行到光标处。 9 ) 忽视断点执行到光标处。 1 0 ) r e t u r n 执行,从被调用函数中返回,执行到函数调用语句的下一条语 句处。 1 1 ) 强制停止。 1 2 ) 再次启动可执行程序。 1 3 ) 调试结束。 1 4 ) 取消所有的断点。 1 5 ) 取消当前编辑窗口中的断点。 1 6 ) 设定或取消断点的条件表达式。 1 7 ) 显示断点信息。 1 8 ) 数据参照,观察变量值。 1 9 ) q u i c k 数据参照:把鼠标指针停留在一个变量名上,此时旁边会弹出一 个小窗口,显示出此时变量的值。 由于笔者承担的工作主要是服务器端模块的研发,所以客户端在本文中只 做功能介绍,文中不再进行过多的论述。 1 2 2 服务器端机能概述 c o b o l 集成开发环境的客户端只是提供了各种功能的接口,功能的实现都 是在服务器端完成的。所以章节1 2 1 中提到的大部分功能在服务器端都有对 应的功能模块,以下是服务器端各个功能模块的概要说明: 认证模块:负责接受客户的认证请求,认证通过则继续,否则,断丌 连接。 文件管理模块:负责文件命令的解析,处理史件传送、排他控制等助 能。 r 西北工业大学硕 学位论文 1 . 2 . 1 . 6 调试器 调试器是集成开发坏境的一个重要组成部分。它提供的主要功能有: 1 ) 开始调试。 2 ) 调试 c o p y 文。 3 ) 设定或取消断点。 4 )执 行 程 序 。 5 ) s t e p 执行。 6 ) n e x t 执行 。 7 ) n e x t 执行一个命令单位。 8 ) 执行到光标处。 9 )忽视断点执行到光标处。 1 0 ) r e t u r n执行,从被调用函数中返回,执行到函数调用语句的下一条语 句处。 1 1 ) 强制停止。 1 2 ) 再次启动可执行程序。 1 3 ) 调试结束。 1 4 ) 取消所有的断点。 1 5 ) 取消当前编辑窗口中的断点。 1 6 ) 设定或取消断点的条件表达式。 1 7 ) 显示断点信息。 1 8 ) 数据参照,观察变量值。 1 9 ) q u i c k 数据参照: 把鼠标指针停留 在一个变量名上,此时旁 边会弹出 一 个小窗口,显示出此时变量的值。 由于笔者承担的工作主要是服务器端模块的研发,所以客户端在本文中只 做功能介绍,文中不再进行过多的论述。 1 . 2 . 2 服务器端机能概述 c o b o l 集成开发环境的客户端只是提供了各种功能的接口,功能的实现都 是在服务器端完成的。所 以章节 1 . 2 . 1 中提到的大部分功能在服务器端都有对 应的功能模块,以下是服务器端各个功能模块的概要说明: 认证模块:负责接受客户的认证请求,认证通过则继续,否则,断开 连接。 户 文件管理模块:负责文件命令的解析,处理文件传送、排他控制等功 育 rr 西北i业大学硕_ l : 位论文 , 版本管理模块:当用户使用版本管理软件时,版本管理的功能由版本 管理软件提供。可选用的 版本管理软件有:r c s , us 等。 卜 编译模块:完成 c o b o l工程的编译。 调试模块:负责解析出具体的调试命令发送给 w d b调试器 。将调试的 执行结果发送给客户端。 在下一章中将对服务器端整体结构设计进行详细的说明。 1 . 3 论文组织结构 本论文是按照笔者承担的主要研究和开发工作来安排的,共分为 6章,各 章内容安排如下: 第1 章: 绪论。本章简要介绍了 本文的 研究背景和研究意义, c o b o l集成 开发环境的系统概要设计,总体框架、客户端功能概述,以及 论 文内容的安排。 第2 章: 服务器 端总体结构设计。本章介绍了服务器主框架设计思路及使 用的主要技术。 第3 章: 认证机制设计与实现。 本章介绍了认证机能的实现机制, 采用 p a m 认证架构。 第4 章: 文件管理设计与实现。本章介绍了多用户文件管理的设计及主要 实现技术。 第5 章: m a k e f i l e 创建工具的设计与实现。 本章介绍了服务器端 m a k e f i l e 文件的创建工具的设计。 第6 章: 结束语。本章总结了全文的主要工作,分析了现有系统设计中除 存在的不足之处,指出了 进一步的研究内容。 西北i业大学硕_ l : 位论文 , 版本管理模块:当用户使用版本管理软件时,版本管理的功能由版本 管理软件提供。可选用的 版本管理软件有:r c s , us 等。 卜 编译模块:完成 c o b o l工程的编译。 调试模块:负责解析出具体的调试命令发送给 w d b调试器 。将调试的 执行结果发送给客户端。 在下一章中将对服务器端整体结构设计进行详细的说明。 1 . 3 论文组织结构 本论文是按照笔者承担的主要研究和开发工作来安排的,共分为 6章,各 章内容安排如下: 第1 章: 绪论。本章简要介绍了 本文的 研究背景和研究意义, c o b o l集成 开发环境的系统概要设计,总体框架、客户端功能概述,以及 论 文内容的安排。 第2 章: 服务器 端总体结构设计。本章介绍了服务器主框架设计思路及使 用的主要技术。 第3 章: 认证机制设计与实现。 本章介绍了认证机能的实现机制, 采用 p a m 认证架构。 第4 章: 文件管理设计与实现。本章介绍了多用户文件管理的设计及主要 实现技术。 第5 章: m a k e f i l e 创建工具的设计与实现。 本章介绍了服务器端 m a k e f i l e 文件的创建工具的设计。 第6 章: 结束语。本章总结了全文的主要工作,分析了现有系统设计中除 存在的不足之处,指出了 进一步的研究内容。 西北工业人学硕 l: 学位论文 第2 章 服务器端总体结构设计 c o b o l 集成开发环境采用 c / s 模式在网络环境下运行, 典型的操作是客户 端向服务器发出请求, 服务器实时监听和捕捉客户端的请求并作出相应的处理。 服务器端模块是整个开发环境的核心组成部分。本章详细说明了 服务器端的设 计, 包括整体结构、 以及三个基本组成部分: 服务进程、 服务线程和调试线程。 此外,还介绍了服务器端与客户端通信协议的设计。 2 .1 总体结构设计 c o b o l 集成开发环境采用的是典型的c / s 结 构, 客户端运行在 w i n d o w s 平 台上,服务器运行在 h p - u x 平台上。服务器端所要完成的主要功能就是实时监 听和捕捉客户端发出的请求,然后根据请求任务的类别进行相应的处理,并将 处理结果返回给客户端。按照 自 顶向下的设计原则,服务器端整体结构的设计 方案如下: 1 )创建服务进程监听客户请求 服务进程在服务器端 以守护进程的形式存在。它统一管理服务器端开启的 所有线程。服务进程的功能主要包含两大方面:监听客户端的连接请求;根据 客户端的请求创建服务线程或调试线程与客户端直接进行通信 ,并为其提供相 应服务。 2 ) 创建服务线程和调试线程为每个客户请求提供服务 服务进程为每一个连接客户端进程启动一个服务线程, 服务线程与各客户 端 w o r k b e n c h 通过 s o c k e t 通信。 服务线程提供的 服务包括认证、 文件管理、 版本管理、编译、环境变量设置等。 另外,针对客户端的调试请求,服务进程特别创建调试线程,它同样与各 客户 端 w o r k b e n c h 通过 s o c k e t 通信。调 试线程处理与调试有关的命令, 并将 调试结果返回给客户。 服务线程和调试线程分别根据客户请求类型,调用相应的机能模块提供服 务, 服务器端的机能模块包括:认证、文 件管理、

温馨提示

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

评论

0/150

提交评论