把传统软件应用程序转换为现代面向对象系统的方法和系统技术方案

技术编号:2871138 阅读:289 留言:0更新日期:2012-04-11 18:40
一种用于把具有过程语言代码的过程程序转换为一个面向对象的程序的系统和方法,其中包括:扫描该过程语言代码并且根据所扫描的过程语言代码创建一个映射;把所扫描的过程语言代码存储为中间代码;使用该映射处理该过程语言代码的至少一个片断;使用所处理的片断创建第一数据结构;根据该第一数据结构更改该中间代码;以及根据更改的中间代码创建具有一个对象类的面向对象程序。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机程序的转换。特别地,本专利技术涉及用于把传统软件应用程序转换为现代面向对象系统的方法和系统
技术介绍
存在有许多技术和方法用于把软件应用程序从一种编程语言转换为另一种编程语言。但是编写软件应用程序的语言仅仅是其构成的一个方面。一种软件应用程序是一个具有许多部分的复杂系统。该“代码”是用编程语言所编写的软件应用程序的一部分,并且包含在各种情况下该软件应用程序所执行的操作的指令。在早期的计算机中,软件应用程序是使用汇编语言来编写的。一种汇编语言程序被称为汇编程序的一个应用程序转换为由计算机的中央处理单元所执行的机器语言。汇编语言操作是非常低级的,并且使得编写应用程序变得困难。随着计算机技术的发展,其他“更高级”的语言被开发,其允许程序员更加容易地创建执行复杂任务的软件。一种称为编译器的专用软件应用程序被开发,其把较高级语言转换为可以由计算机所执行机器语言。较高级语言使得程序员把代码组织成称为例程或过程的代码块,其可以根据需要被重复执行。软件应用程序还需要被用于管理信息。因此软件开发工具提供描述数据结构的能力。数据结构提供按照有组织和可识别的方式把数据存储在存储器中,使得数据可以被该代码所作用。该代码包含用于作用在该数据结构上的指令,并且被按照称为例程的片断而分组。在早期的软件开发工具中,该数据结构和例程被分别定义。为了使得任何例程作用于数据,该数据必须被作为参数传送到该例程。编写称为例程并且传送参数的方法通常被称为“过程程序设计(procedural programming)”。一种更加现代的方法是“面向对象”或者OO模型。该OO模型相对于该过程模型具有较大差别。在OO模型中,数据结构和代码例程可以被分组为被称为“类”的单个独立数据结构。一个类是称为方法的例程的模板定义,并且数据结构属于特定种类的对象。该类定义成员对象的公共属性。由于模块化可重新使用的代码结构,OO程序可以被容易地创建和更改。OO程序设计还具有许多其他有利特性,例如继承性。继承性使得用户通过指定另一个对象作为其父类(或者“超类”)而创建一个新对象。该新创建的对象立即获取所有父类的功能。但是,用户可以在任何情况下定制新类的行为。一个“用户界面”是使得个人与软件应用程序交互作用的应用程序的一部分。在许多情况下,该用户界面使用“窗体”来创建。一个窗体指定在一个显示器上显示给用户的“字段”和“点缀(trim)”的外观。字段是用户可以输入数据的各个区域。点缀是例如标签这样的固定信息,其指示用户在不同的字段中输入何种的信息,或者在该应用程序提供一些其他目的。通常这些窗体不使用代码来实现。而是,存在作为一个软件开发环境的一部分的“窗体编辑器”,其使得程序员交互地构造该窗体。该窗体的定义被存储在一个存储库和该开发环境中,并且在该应用程序被执行提供该窗体的显示。1970年代和1980年代的软件开发工具使用一种“基于字符”的用户界面。一般来说,该用户界面被限制于显示24行,并且每行为80个字符的窗体。这些工具通常使用在一个终端上的第25行来显示与该活动窗体相关的命令。更加现代的工具允许使用图形用户界面(GUI)的窗体。该GUI使得具有更大数目和多种用户控制的更加复杂的窗体得以实现。该代码和窗体一同创建一个可以执行任务的应用程序。管理用户界面的程序的一部分被称为“显示逻辑”。这包括捕获用户输入和启动程序动作的代码语句,以附加的信息提示用户或者否则对该显示器做出改变。该代码的其他部分被称为“业务逻辑”。该业务逻辑包括工作流程、数据库存取、事务处理和作为用户命令的结果的其他动作。业务逻辑和显示逻辑通常是相互纠缠在一起的。一种数据库系统(DBMS)是可以存储、更改和从数据库中提取信息的程序的集合。以查询(这是一个格式化的问题)的形式从数据库请求信息。用于构造查询的规则被称为查询语言。不同DBMS支持不同的查询语言,但是这是被称为SQL(结构化查询语言)的一个半标准化的查询语言。存储在一个数据库中的信息可以用各种格式来显示。大多数DBMS包括一个报告书写程序,其使得数据以报告的形式输出。该报告写入程序也被称为一个报告产生器,这是从一个或多个文件提取信息并且以特定格式显示该信息的数据库管理系统的一部分。报告书写允许选择满足特定条件的记录,并且在行和列中显示所选择的字段。数据可以被格式化为饼分图、柱形图和其他图形。一旦创建一个报告格式,该格式标准可以被保存在一个文件中并且在将来演示时被重新使用。相关的数据库管理系统(RDBMS)是一种相关窗体。关系数据库可能需要关于数据如何相关或者如何从该数据库中提取的几个假设。结果,可以用许多不同方式来察看相同的数据库。在关系数据库管理系统中,信息被以窗体的形式存储,例如参照排列为行和列的数据的电子窗体。一个关系系统所需的特征是单个数据库可以在几个窗体上展开。使用一些类型的“构架”来实现一个软件应用程序。该构架描述应用程序的基本结构。构架的一个方面关于所涉及的计算机的数目。单个层级的应用程序是所有应用程序和/或系统在单个计算机上运行的应用程序。这包括任何外部调用,即,制作其他软件应用程序所需的软件。例如,一个软件应用程序可能“调用”一个数据库管理系统,以提取或更新数据。在单个层级的模型中,该软件应用程序和数据库管理系统将运行在单个计算机上。用户接口可以显示在一个“哑终端”上,这是能够仅仅显示一个窗体的设备,使得用户输入信息,并且把该信息返回到“主”计算机。一个客户机/服务器应用程序或者两个层级的软件应用程序是这样一个应用程序,其中该软件应用程序运行在一个计算机(客户机)上,并且通过网络连接对另一个计算机(服务器)上运行的其他软件应用程序进行外部调用。一个最近的构架创新是N层级的应用程序。在该N层级的模型中,仅仅部分软件应用程序运行在该客户机工作站上。这通常是一个智能的用户界面(或者是瘦客户机(thin client))。当需要执行特定任务时,该客户机定位包含所需的业务逻辑的一个“应用程序服务器”,并且该工作实际在运行应用程序服务器的计算机上执行。该应用程序服务器可能需要与另一个计算机相联系,例如数据库服务器,以完成该客户机所要求的处理。当该事件链最终涉及无限数目的客户机时,该模型被称为N层级模型。当今许多组织所面临的一个挑战是它们已经投入大量的金钱和时间来开发使用字符界面的软件应用程序,其本质是程序上的,并且应用于单个层级的模型。这些应用程序通常被称为“传统”应用程序。支持和增强这些应用程序是一个大的挑战,因为开发人员不再学习创建这些程序的技术。另外,当前的互联网和电子商务世界需要采用图形用户界面的系统,它们本质上是面向对象的,并且使用N层级的模型来实现。目前还没有创建使得一个组织把它们现有的传统应用程序转换为使用图形用户界面的现代的面向对象的N层级应用程序。结果,该组织必须经历费时和费钱的过程来使用现代工具完全重新设计和改写该应用程序。根据本申请的方法和系统解决这些和其他问题。例如,根据本专利技术的该方法和系统能够把一个传统软件应用程序“转换为”基于GUI的软件应用程序。该由本专利技术所完成的转换包括转换和增强该系统的各个方面。在单个处理中,传统软件应用程序的基于字符的用户界面可以被转换为GUI,该代码和数本文档来自技高网...

【技术保护点】
一种用于把具有过程语言代码的过程程序转换为一个面向对象的程序的方法,其中包括:扫描该过程语言代码并且根据所扫描的过程语言代码创建一个映射;把所扫描的过程语言代码存储为中间代码;使用该映射处理该过程语言代码的至少一个片 断;使用所处理的片断创建第一数据结构;根据该第一数据结构更改该中间代码;以及根据更改的中间代码创建具有一个对象类的面向对象程序。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:戴维通德尔奥约翰迈霍尼
申请(专利权)人:计算机联合思想公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1