谈一谈软件开发工具的选择

发布时间:2020-08-14 09:50:04

我国的软件开发已从最初的手工工作室风格逐步发展到软件工程阶段。 同时,软件开发本身也在不断发展,从“算法+数据结构=程序”到“设计模式+对象组件+开发工具=程序”。 开发工具的选择已成为成功进行软件开发的要素之一。

开发工具的选择主要取决于两个因素:最终用户和开发系统的开发人员。 最终用户的需求是所有软件的来源和目的地,也是影响开发工具的决定性因素; 开发人员的爱好,习惯和经验也会影响开发工具的选择。 严格的软件工程管理和开发人员的技术水平是成功开发软件的关键。

本文介绍了一些选择软件开发工具的想法,强调了在满足客户群体时,服务于软件工程思想的软件工具的重要性。

开发工具竞争优势

首先要强调的是,没有绝对的标准可用于比较开发工具。 评估开发工具不仅取决于其对设计模式,对象结构和管理的支持,而且更重要的是,有必要根据特定的使用环境,开发方法,结构系统,开发组和使用组来评估工具的性能。  。 适应性。  

现有的开发工具大致分为两种类型:大型和综合以及小型和专业化。 微软的Visual Studio系列和IBM的Visual Age系列应属于前者; 许多其他工具,例如Delphi / C ++ Builder / JBuilder / Kylix,PowerBuilder / PowerJ,以及大量的各种SDK,等等。它们都有自己的特点,虽然很小,但却很专业。  

大型完整工具通常提供从前端到后端,从设计到编码和测试的完整工具,但是在某些特定功能上,它们不如小型专用工具那么好。  

Visual Studio.NET的UML开发工具(Visual Modeler / Visio)通常只能与Rational Suite中的Rational Rose Logical View进行比较,它不能具有完整的Rational Unified Process流程。  ; 它的视觉Visual Basic在速度和功能上无法与Delphi / C ++ Builder进行比较。  

尽管Visual Studio.NET的所有部分都有缺点,但其Visio工具可以更快,更轻松地与编程语言集成。 与Office和其他工具集成时,与Delphi / C ++ Builder相比,Visual Basic具有更少的问题(数据类型转换等)。 因此,工具的类型和特定的条件决定了在特定条件下软件开发工具的最佳选择。

如果您想做点好事,请先完善您的工具

开发工具的选择主要取决于两个因素:最终用户和开发系统的开发人员。 最终用户的需求是所有软件的来源和目的地,也是影响开发工具的决定性因素; 开发人员的爱好,习惯和经验也会影响开发工具的选择。

最终用户的需求

程序的最终用户组是软件开发的服务对象,并且也影响开发工具的选择。 从计算机的使用程度来看,最终用户可以分为IT人员,各个行业的专业人员和普通用户。 不同的用户对软件有不同的要求。   IT人员自然需要更多功能和更多免费的自定义/辅助开发空间; 行业用户通常需要一个整体解决方案来增强他们的整体竞争力; 普通用户显然需要更方便和简单的使用。 用户的需求在自由,覆盖,针对性和便利性的维度上得到了扩展。

扩大软件自由度

为了扩大软件自由度,不可避免的是减少包装和充分的功能暴露。 为了允许用户自由使用Windows,C ++或汇编程序的功能,自由选择访问操作系统和硬件资源的语言应该是最佳选择。  Visual C ++已成为其操作系统功能的Microsoft“权威”软件包,到目前为止,它已在Windows系统级开发中占据主流地位。  C ++ Builder扩展了标准C ++语法并提供了RAD(快速应用程序 开发),但是其大多数VCL(可视组件库)都是用Delphi编写的,这与MFC / ATL库的纯C ++源代码不同 Visual C ++,对C ++程序员的深度编程不利。 最近,开放源代码(Open Source)运动席卷全球。 在开源C ++工具中,GCC已被广泛采用。 它不仅可以在各种流行的操作系统(Windows,Linux,Solaris,HP-Unix)上运行,而且还支持Object C和C ++的各种扩展语法,甚至可以编译Java代码。

我国的软件开发已从最初的手工工作室风格逐步发展到软件工程阶段。 同时,软件开发本身也在不断发展,从“算法+数据结构=程序”到“设计模式+对象组件+开发工具=程序”。 开发工具的选择已成为成功进行软件开发的要素之一。

开发工具的选择主要取决于两个因素:最终用户和开发系统的开发人员。 最终用户的需求是所有软件的来源和目的地,也是影响开发工具的决定性因素; 开发人员的爱好,习惯和经验也会影响开发工具的选择。 严格的软件工程管理和开发人员的技术水平是成功开发软件的关键。

本文介绍了一些选择软件开发工具的想法,强调了在满足客户群体时,服务于软件工程思想的软件工具的重要性。

开发工具竞争优势

首先要强调的是,没有绝对的标准可用于比较开发工具。 评估开发工具不仅取决于其对设计模式,对象结构和管理的支持,而且更重要的是,有必要根据特定的使用环境,开发方法,结构系统,开发组和使用组来评估工具的性能。  。 适应性。  

现有的开发工具大致分为两种类型:大型和综合以及小型和专业化。 微软的Visual Studio系列和IBM的Visual Age系列应属于前者; 许多其他工具,例如Delphi / C ++ Builder / JBuilder / Kylix,PowerBuilder / PowerJ,以及大量的各种SDK,等等。它们都有自己的特点,虽然很小,但却很专业。  

大型完整工具通常提供从前端到后端,从设计到编码和测试的完整工具,但是在某些特定功能上,它们不如小型专用工具那么好。  

Visual Studio.NET的UML开发工具(Visual Modeler / Visio)通常只能与Rational Suite中的Rational Rose Logical View比较。不可能有一个完整的Rational Unified Process。 就速度和功能而言,其视觉 Basic不能与Delphi / C ++ Builder相比。  

尽管Visual Studio.NET的所有部分都有缺点,但其Visio工具可以更快,更轻松地与编程语言集成。 与Office和其他工具集成时,与Delphi / C ++ Builder相比,Visual Basic具有更少的问题(数据类型转换等)。 因此,工具的类型和特定的条件决定了在特定条件下软件开发工具的最佳选择。

如果您想做点好事,请先完善您的工具

开发工具的选择主要取决于两个因素:最终用户和开发系统的开发人员。 最终用户的需求是所有软件的来源和目的地,也是影响开发工具的决定性因素; 开发人员的爱好,习惯和经验也会影响开发工具的选择。

最终用户的需求

程序的最终用户组是软件开发的服务对象,并且也影响开发工具的选择。 从计算机的使用程度来看,最终用户可以分为IT人员,各个行业的专业人员和普通用户。 不同的用户对软件有不同的要求。   IT人员自然需要更多功能和更多免费的自定义/辅助开发空间; 行业用户通常需要一个整体解决方案来增强他们的整体竞争力; 普通用户显然需要更方便和简单的使用。 用户的需求在自由,覆盖,针对性和便利性的维度上得到了扩展。

扩大软件自由度

为了扩大软件自由度,不可避免的是减少包装和充分的功能暴露。 为了允许用户自由使用Windows,C ++或汇编程序的功能,自由选择访问操作系统和硬件资源的语言应该是最佳选择。  Visual C ++已成为其操作系统功能的Microsoft“权威”软件包,并已在Windows系统级开发中占据了主流地位。  C ++ Builder扩展了标准C ++语法提供了RAD(快速应用程序 开发)支持,但是其大多数VCL(Visual Component Library)是用Delphi编写的,这与Visual C ++代码的MFC / ATL库的纯C ++源代码不同。 对C ++程序员的深入编程很有用。 最近,开放源代码(Open Source)运动席卷全球。 在开源C ++工具中,GCC已被广泛采用。 它不仅可以在各种流行的操作系统(Windows,Linux,Solaris,HP-Unix)上运行,而且还支持Object C和C ++的各种扩展语法,甚至可以编译Java代码。

覆盖范围取决于您想要的内容。关于覆盖范围要求,不同的系统也有所不同:某些系统可能需要前端,中间件,后端,数据库或各种操作系统和硬件平台。  Visual Studio .NET和IBM的电子商务平台都可以提供从客户端,中间件到数据库的整体开发支持。  

Visual Studio.NET甚至将可视化带到Web客户端。 通过拖放完成网页后,您可以双击进入后台处理程序的框架代码。 从软件工程的角度来看,Visual Studio.NET为程序员提供了强大而便捷的功能,但它并未明确支持需求分析过程。  IBM的Visual Age系列在这方面做得很好。  Visual Age UML Designer支持从需求分析到设计和编码的相对完整的过程(但是,在代码生成方面仅支持Java和Smalltalk。)。  

Visual Studio.NET使用COM +作为组件模型,并且生成的Web客户端对该平台没有任何限制。 但是,尽管.NET框架应该可移植以在非Windows平台上运行,但是中间件和服务器在Unix或Mac OS上还没有成功的案例。  IBM VisualAge + WebSphere + DB2系列采用JavaBEAn / J2EE作为组件模型。 由于Java的平台独立性,客户端和中间件的跨平台性更好。  

当然,可以通过组合小型专用工具来完成这些任务。  Rational Suite可以完成业务建模,系统建模,模块建模和发布测试的完整过程,Delphi / C ++ Builder可以使用CORBA或COM +作为中间件,JBuilder 6可以 还可以使用Visibroker或orbix等各种CORBA产品,或WebSphere,iPlanet,BAS,WebLogic等各种J2EE产品。 但是,如果您不了解Rational中的UML和代码映射方法以及C ++ Builder / Delphi / JBuilder管理代码的方式,如果您想协调建模和编码,则需要在其中进行设置。  Rational Rose ClassPath并在Borland工具中设置源代码目录。 存在许多过程和可能的问题,在Visual Studio.NET中,只需单击几下鼠标即可完成这些任务。  

还有像Ensemble这样的公司,专门从事小型和专业工具的集成,但是这些软件的成熟度以及学习和掌握仍然是一个问题。 当然,就部分覆盖而言,使用CLX的Delphi程序可以在Kylix上编译并在Linux上运行。  Raining 数据公司的Omnis Studio 3.1甚至直接支持跨Windows和Linux平台的RAD开发。

针对性具有自己的特征

就相关性而言,每种工具都有其自身的优势。 在独立应用程序中,Visual FoxPro具有世界上最快的数据访问引擎。 在开发两层数据库应用程序时,PowerBuilder特别是使用数据窗口和Sybase数据库后端连接,通过PowerDesign进行建模,不仅开发速度快,而且效率和稳定性更高。 在三层应用程序中,使用Visual Basic / C ++ / C#+ ADO。 如果再次使用SQL Server,则可以保证性能,开发效率和稳定性。 在使用C ++ Builder / Delphi + DataSnap(MIDAS)时,在连接到非Microsoft数据库或与CORBA程序进行交互时具有优势。  

对于多层分布式应用程序,COM +规范和CORBA产品(orbix, visibroker等)通常决定开发工具的选择。  COM +开发工具通常使用Visual Studio.NET或Borland产品,但是由于CORBA编程语言和系统平台的独立性,通常可以使用各种开发平台。 此外,对于C / C ++编程,DSET的DSG用于高端应用程序(通常在电信领域)。 它具有独立于网络协议堆栈,同步/异步消息处理,强大的通信功能以及从嵌入式到大型机的迁移的独立性。 就性别而言,它具有独特的优势。 在服务器端开发中,COM +,CORBA 3.0和J2EE都支持组件模型,分别使用MSMQ,CORBA Messaging 系统和JMS完成异步通信。  COM +仍主要集中在Windows平台上,并且CORBA 3.0的Java语言部分包括整个J2EE规范。 但是,CORBA是跨语言和跨平台的规范。 支持3.0版本的非Java语言的产品很少。 支持其核心CCM(CORBA 组件模型)的C ++编程产品包括iCMG K2-CCM Wait。  

J2EE组件(EJB)已开发到1.2版。 满足此规范的产品-BEA WebLogic,Borland BAS,IBM WebSphere,Oracle 9i甚至免费的JBOSS都已被广泛使用。  BEA WebLogic 7.0在前端开发工具上做了很多工作,声称将J2EE开发和Visual Basic置于同一级别(其内部名称为Java的Visual Basic)。

覆盖范围取决于您想要的内容。关于覆盖范围要求,不同的系统也有所不同:某些系统可能需要前端,中间件,后端,数据库或各种操作系统和硬件平台。  Visual Studio .NET和IBM的电子商务平台都可以提供从客户端,中间件到数据库的整体开发支持。  

Visual Studio.NET甚至将可视化带到Web客户端。 通过拖放完成网页后,您可以双击进入后台处理程序的框架代码。 从软件工程的角度来看,Visual Studio.NET为程序员提供了强大而便捷的功能,但它并未明确支持需求分析过程。  IBM的Visual Age系列在这方面做得很好。  Visual Age UML Designer支持从需求分析到设计和编码的相对完整的过程(但是,在代码生成方面仅支持Java和Smalltalk。)。  

Visual Studio.NET使用COM +作为组件模型,并且生成的Web客户端对该平台没有任何限制。 但是,尽管.NET框架应该可移植以在非Windows平台上运行,但是中间件和服务器在Unix或Mac OS上还没有成功的案例。  IBM VisualAge + WebSphere + DB2系列采用JavaBEAn / J2EE作为组件模型。 由于Java的平台独立性,客户端和中间件的跨平台性更好。  

当然,可以通过组合小型专用工具来完成这些任务。  Rational Suite可以完成业务建模,系统建模,模块建模和发布测试的完整过程,Delphi / C ++ Builder可以使用CORBA或COM +作为中间件,JBuilder 6可以 也使用各种CORBA产品,例如Visibroker或orbix或WebSphere,各种J2EE产品,例如iPlanet,BAS,WebLogic等。但是,如果您不了解Rational中的UML和代码映射方法以及C ++ Builder / Delphi / JBuilder管理代码的方式, 要协调建模和编码,您需要在Rational Rose ClassPath中进行设置,并在Borland工具中设置源代码目录。 存在许多过程和可能的问题,在Visual Studio.NET中,只需单击几下鼠标即可完成这些任务。  

还有像Ensemble这样的公司,专门从事小型和专业工具的集成,但是这些软件的成熟度以及学习和掌握仍然是一个问题。 当然,就部分覆盖而言,使用CLX的Delphi程序可以在Kylix上编译并在Linux上运行。  Raining 数据公司的Omnis Studio 3.1甚至直接支持跨Windows和Linux平台的RAD开发。

针对性具有自己的特征

就相关性而言,每种工具都有其自身的优势。 在独立应用程序中,Visual FoxPro具有世界上最快的数据访问引擎。 在开发两层数据库应用程序时,PowerBuilder特别是使用数据窗口和Sybase数据库后端连接,通过PowerDesign进行建模,不仅开发速度快,而且效率和稳定性更高。 在三层应用程序中,使用Visual Basic / C ++ / C#+ ADO。 如果再次使用SQL Server,则可以保证性能,开发效率和稳定性。 在使用C ++ Builder / Delphi + DataSnap(MIDAS)时,在连接到非Microsoft数据库或与CORBA程序进行交互时具有优势。  

对于多层分布式应用程序,COM +规范和CORBA产品(orbix, visibroker等)通常决定开发工具的选择。  COM +开发工具通常使用Vis Studio.NET或Borland产品,并且由于CORBA的编程语言和系统平台的独立性,因此通常可以使用各种开发平台。 此外,对于C / C ++编程,DSET的DSG用于高端应用程序(通常在电信领域)。 它具有独立于网络协议堆栈,同步/异步消息处理,强大的通信功能以及从嵌入式到大型机的迁移的独立性。 就性别而言,它具有独特的优势。 在服务器端开发中,COM +,CORBA 3.0和J2EE都支持组件模型,分别使用MSMQ,CORBA Messaging 系统和JMS完成异步通信。  COM +仍主要集中在Windows平台上,并且CORBA 3.0的Java语言部分包括整个J2EE规范。 但是,CORBA是跨语言和跨平台的规范。 支持3.0版本的非Java语言的产品很少。 支持其核心CCM(CORBA 组件模型)的C ++编程产品包括iCMG K2-CCM Wait。  

J2EE组件(EJB)已开发到1.2版。 满足此规范的产品-BEA WebLogic,Borland BAS,IBM WebSphere,Oracle 9i甚至免费的JBOSS都已被广泛使用。  BEA WebLogic 7.0在前端开发工具上做了很多工作,声称将J2EE开发和Visual Basic置于同一级别(其内部名称为Java的Visual Basic)。

Microsoft具有最佳的便利性

就便利性而言,由于大量用户的实践,Microsoft的开发工具应该是最佳的。 它在可视化,工具之间的互操作性,稳定性和文档丰富性方面具有明显的优势。  Borland Delphi / C ++ Builder在可视化方面与Visual Basic / C#基本相似,但是它们不够稳定(由C ++ Builder 5.0自动生成的CORBA程序的调试版本将报告 一个错误(Exception));  IBM Visual Age系列的稳定性很好,但是它们的视觉编程不是很方便。 在文档方面,没有工具具有Visual Studio自己的MSDN(两张CD)的功能。

开发人员的偏好

开发工具面向开发人员,开发人员是这些工具的用户。 不同的开发人员对工具有不同的偏好。  Pascal程序员通常喜欢Delphi / Kylix。  Windows C ++程序员将选择C ++ Builder或Visual C ++。 不同平台上的C ++程序员可能更喜欢GCC。  Smalltalk程序员只能考虑Visual Age Smalltalk; 诸如Turbo Lisp,Visual Fortran,Perl Builder等开发工具也被其他编程语言的程序员广泛使用。  

如今,各种编程语言的功能相互集成在一起。 例如,Borland Delphi和C ++ Builder在语言上的功能差异很小。 除了对编程语言的偏爱外,不同操作系统的程序员还使用不同的工具:Solaris系统下的程序员使用CC编写C ++ / C后台程序,使用Perl编写框架或测试脚本,以及使用TCL / TK编写接口程序。 尽管这些工具也可以在Windows下使用,但是更多的程序员仍然可以选择支持RAD的工具。 现在,人们普遍认识到一种趋势:操作系统和编程语言的开发差异正在迅速消失。  XML有效解决了不同系统下数据统一表达的问题。 通过虚拟机,Java程序可以在不同的操作系统下执行;  Microsoft的.NET框架可以使用C ++ / Basic / C#进行编程。  

平台与语言之间的交互使得各种工具越来越关注通用标准的支持。  Sun的新Java XML开发工具包显然支持Microsoft和IBM提出的SOAP规范,而Visual Studio.NET也明确支持Java语言(J#)。 尽管这仅仅是开始,但语言和平台的集成是不可阻挡的趋势:必须有更多的编译器才能将其他语言编译为Java字节码,Visual Studio.NET势必将程序编译为其他操作 系统。  

但是,随着技术的集成,差异将始终存在。  Microsoft引入了用于Internet应用程序的.NET框架,并且Windows和Visual Studio都进行了重大改进。 对于此框架,Visual Studio.NET甚至引入了一种新的编程语言C#,该语言具有Java语言的大多数特征,同时允许在固定的内存区域中使用指针。  C#确实在设计上非常先进,但是由于Java 2缺乏广泛的使用和安全特性,它是否能够吸引大量的程序员仍然是未知的。 同时,C#中的许多功能(对象方法的修饰符等)都是Microsoft COM +规范在编程语言中的映射,这在将来移植操作系统平台时会造成麻烦。  

除了开发人员的平台特性和语言偏爱外,人员之间的合作模式还决定了工具的选择。 自由软件通常采用的跨区域开发模型非常适合使用CVS版本管理系统的开发工具。 但是,由于Visual Studio.NET将在开发和调试期间更改本地Windows注册表,因此跨区域开发非常不便。  

当然,不能排除其他因素对开发工具的影响。 例如,该行业的特征以及遗留系统(旧版 系统)对发展的影响不容忽视:由于ITU-T规范的存在,电信行业的软件开发应用Java代替 现有的C / C ++开发模型不如通用软件快。 但是,归根结底,软件开发总是由人们来完成和服务。 无论现在其他因素的影响有多大,未来的发展都将不可避免地由人们来决定。

Microsoft具有最佳的便利性

就便利性而言,由于大量用户的实践,Microsoft的开发工具应该是最佳的。 它在可视化,工具之间的互操作性,稳定性和文档丰富性方面具有明显的优势。  Borland Delphi / C ++ Builder在可视化方面与Visual Basic / C#基本相似,但是它们不够稳定(由C ++ Builder 5.0自动生成的CORBA程序的调试版本将报告 一个错误(Exception));  IBM Visual Age系列的稳定性很好,但是它们的视觉编程不是很方便。 在文档方面,没有工具具有Visual Studio自己的MSDN(两张CD)的功能。

开发人员的偏好

开发工具面向开发人员,开发人员是这些工具的用户。 不同的开发人员对工具有不同的偏好。  Pascal程序员通常喜欢Delphi / Kylix。  Windows C ++程序员将选择C ++ Builder或Visual C ++。 不同平台上的C ++程序员可能更喜欢GCC。  Smalltalk程序员只能考虑Visual Age Smalltalk; 诸如Turbo Lisp,Visual Fortran,Perl Builder等开发工具也被其他编程语言的程序员广泛使用。  

如今,各种编程语言的功能相互集成在一起。 例如,Borland Delphi和C ++ Builder在语言上的功能差异很小。 除了对编程语言的偏爱外,不同操作系统的程序员还使用不同的工具:Solaris系统下的程序员使用CC编写C ++ / C后台程序,使用Perl编写框架或测试脚本,以及使用TCL / TK编写接口程序。 尽管这些工具也可以在Windows下使用,但是更多的程序员仍然可以选择支持RAD的工具。 现在,人们普遍认识到趋势:操作系统和编程语言的开发差异正在迅速消失。  XML有效解决了不同系统下数据统一表达的问题。 通过虚拟机,Java程序可以在不同的操作系统下执行;  Microsoft的.NET框架可以使用C ++ / Basic / C#进行编程。  

平台与语言之间的交互使得各种工具越来越关注通用标准的支持。  Sun的新Java XML开发工具包显然支持Microsoft和IBM提出的SOAP规范,而Visual Studio.NET也明确支持Java语言(J#)。 尽管这仅仅是开始,但语言和平台的集成是不可阻挡的趋势:必须有更多的编译器才能将其他语言编译为Java字节码,Visual Studio.NET势必将程序编译为其他操作 系统。  

但是,随着技术的集成,差异将始终存在。  Microsoft引入了用于Internet应用程序的.NET框架,并且Windows和Visual Studio都进行了重大改进。 对于此框架,Visual Studio.NET甚至引入了一种新的编程语言C#,该语言具有Java语言的大多数特征,同时允许在固定的内存区域中使用指针。  C#确实在设计上非常先进,但是由于Java 2缺乏广泛的使用和安全特性,它是否能够吸引大量的程序员仍然是未知的。 同时,C#中的许多功能(对象方法的修饰符等)都是Microsoft COM +规范在编程语言中的映射,这在将来移植操作系统平台时会造成麻烦。  

除了开发人员的平台特性和语言偏爱外,人员之间的合作模式还决定了工具的选择。 自由软件通常采用的跨区域开发模型非常适合使用CVS版本管理系统的开发工具。 但是,由于Visual Studio.NET将在开发和调试期间更改本地Windows注册表,因此跨区域开发非常不便。  

当然,不能排除其他因素对开发工具的影响。 例如,行业特征和遗留该系统(旧版 系统)对开发的影响也不容忽视:由于ITU-T规范的存在,电信行业的软件开发无法用Java取代现有的C / C ++开发模型,因为 一般该软件是如此之快。 但是,归根结底,软件开发总是由人们来完成和服务。 无论现在其他因素的影响有多大,未来的发展都将不可避免地由人们来决定。

开发武器1 PB集成,降低成本和提高效率

互联网已经从过去的“访问为王”和“内容为王”发展到如今的“应用为王”时代。 大量的应用程序软件开发人员也将进入Web应用程序开发领域。 他们熟悉应用程序业务领域,熟悉传统的C / S开发技能,但不一定熟悉HTML / javascript, 或3层体系结构。 对于平台和工具供应商而言,这是一个巨大的商机。

PB的突然出现

现在阻碍Web应用程序和3层出现的是什么? 仍然是一种工具。 一个好的开发工具应该能够在日常开发中屏蔽繁琐的技术细节,并允许高级开发人员直接干预这些技术细节。 在三层开发中,我们还将面临数据库操作(表,数据维护,存储过程和触发器维护等),组件编写和调试, 网页(尤其是调用这些组件的动态页面)的许多任务,例如 例如编写和调试以及维护某些2层应用程序。  

通常来说,需要多个工具来完成这些任务,并且在开发过程中必须在多个工具之间进行切换,从而导致开发效率低下并增加了开发难度。  PB8 / PJ4很好地解决了这些问题。 所有这些任务都可以在同一开发环境中完成。 开发人员可以快速编写基于数据库的业务逻辑组件以及调用这些组件的Web客户端或PB客户端。 特别是,Sybase将2层ace Datawindow扩展到了HTML字段,这使得实现数据库驱动的动态页面非常容易。  
通常,Sybase的优势在于它具有开发企业信息系统所需的全套工具,包括系统分析和系统设计工具PowerDesigner,应用程序开发工具PowerBuilder和PowerJ,应用程序服务器EAServer(包括 Jaguar和PowerDynamo),数据库自适应 服务器 企业(以及复制服务器等)。 因为这些工具是同一公司的产品,所以它们具有很好的互操作性。 同时,这些工具很好地支持标准。 例如,对于组件模型,EAServer同时支持COM,CORBA和J2EE,并且可以使用C / C ++和JAVA编写各种组件。   它甚至支持直接以CORBA形式使用PowerBuilder。 写组件。

负面意见

许多人提到了PB的许多缺点,例如与VB和Delphi相比的单调界面以及对Windows API的调用 能力差(PB本身不直接支持指针)等等。 但是,在某些情况下,这些问题可能会成为优势。 企业应用程序的核心在于数据访问和业务逻辑。 接口的精美程度并不重要。 在企业应用程序中,良好的用户界面设计是指符合用户业务思维方式和业务流程的界面设计,而不是精美的界面设计。 如果不支持指针,它将大大提高程序的可靠性。 这些问题实际上源于PB产品的定位:不是作为通用开发工具,而是作为专用的企业信息系统开发工具。 在这个领域,PB / PoerJ确实是无与伦比的。  

在系统分析和设计工具领域,Rational Rose是经常受到赞誉的工具。 但是,在实际的信息系统项目和应用软件开发中,我们所面对的不是纯粹的面向对象的环境,而是关系数据库和面向对象的混合环境。 此外,用户无一例外希望数据库访问具有最高的性能。

第三方工具

在Internet上,您可以找到大量的第三方工具来帮助您提高PowerBuilder应用程序的效率和质量。 这是两个示例:

您一定会理解Visual C / C ++与MFC之间的关系。 在C / S环境中,PowerBuilder也具有与其对应的PFC。 当然,两者的水平是不同的。   MFC提供基础程序包,而PFC提供更多数据库应用程序高级包装。  PFC的深入应用可以大大提高系统的开发效率和质量。 进入3层世界,如果您使用PB来开发Component,那么也有一些不错的库,其中最著名的是EAF。 这些类库的深入应用以及它们自己的类库的形成是快速提高产品和项目的质量和效率的捷径。  

确保应用软件的质量对于很多人来说都是头疼的问题。 首先让我们看一些最基本的问题。 在单元测试领域,每个人都必须了解Java中的单元测试工具JUnit。   PB中还有一个名为PBUnit的相应工具。 您可以在开发过程中在PBUnit环境中编写测试脚本,对对象重复执行回归测试,并自动记录和分析测试结果。 对于经常包含大量数据处理的PB应用程序,这非常有价值。

开发工具2 WebSphere Studio开放开发

IBM正在提供基于WebSphere Studio Workbench技术的一套新的电子商务应用程序开发工具。  WebSphere Studio Workbench是用于工具开发和集成的平台。 这是IBM对开源Eclipse Project的增值实现。  WebSphere Studio Workbench提供了一组API,模型和框架,用于开发源代码编辑器和其他用户界面,以及为资源管理,调试和团队编程而访问公共服务。 该平台实施现有标准,并提供扩展点以添加功能性组件和功能作为插件。  IBM 和独立软件供应商(ISV)正在开发插入该框架的工具。  

WebSphere Studio网站 Developer和WebSphere Studio Application Developer是IBM合并和扩展的WebSphere Studio Workbench的两个产品产品。 这些产品是计划中的集成开发工具套件的一部分,该套件将涵盖所有电子商务开发角色,从Web开发人员到Java开发人员,再到业务分析人员,再到设计人员,再到企业程序员。 更多产品将添加到WebSphere Studio开发工具系列。  

客户需要开放的标准,工具集成,更大的灵活性以及集成到现有应用程序中的能力。 这些只是WebSphere Studio产品套件提供的一些优势。

纵向和横向集成

传统上,软件供应商提供垂直工具来迫使客户进行自身集成。  WebSphere Studio Workbench的目的是提供IBM和ISV都可以轻松扩展的平台。 供应商已经掌握了这项技术,并在此基础上积极构建工具。  

每个在Workbench上构建的WebSphere Studio产品都将提供集成的工具,使您无需集成工具即可专注于构建应用程序。  
开放标准

WebSphere Studio套件中的所有产品都是基于开放标准构建的,它们生成的代码也与开放标准一致。 可以构建和部署满足Servlets 2.2,JavaServer Pages(JSP)1.1和Enterprise JavaBEAns(EJB)1.1规范的最新(最先进的)服务器端应用程序(在 站点 Developer产品将不包括EJB开发工具。)在WebSphere Studio Workbench上构建的所有产品都包括CVS(并行版本系统)。


基于角色的开发

WebSphere Studio产品系列的每个成员都是为特殊的电子商务开发角色或特定角色范围设计的。 例如,Site Developer专为开发和管理整个网站的Web开发人员而设计。  Application Developer包括Site Developer的所有功能,并增加了对从事业务逻辑(包括EJB)工作的程序员的支持。 当IBM提供WebSphere Studio系列的未来成员时,它将扩展其选择范围,以使产品符合用户的角色和需求。  

在每个WebSphere Studio解决方案中,面向任务的视图过滤掉复杂性,仅提供与手头任务相关的功能。 用户根据当前正在开发或分析的内容或基于其在项目中的角色来切换视图。 由于不同的开发人员以不同的方式工作,因此可以自定义视图。 因为它们是使用WebSphere Studio Workbench技术构建的,所以所有工具和视图都具有相同的外观,从而减少了学习难度并最大程度地提高了用户生产力。 而且,由于项目的开发资源存储在单个资源库中,因此您可以获得最大的可共享性和对项目的一致团队支持。


最大的编程性能

除了使应用程序开发人员从工具集成的任务中解放出来,Site Developer和Application Developer还通过多种方式优化了程序,从而提高了工作人员的生产率。

开发工具3 Microsoft .NET和C#

Microsoft现在将希望寄托在新的.NET应用程序框架上。 尽管.NET中几乎可以使用任何编程语言,但开发人员都更热衷于Microsoft C#和C ++。 因为它们已经将几乎所有Windows开发规则从桌面软件更改为具有Web功能的企业解决方案,所以这些技术的潜力巨大。  

.NET Framework通过使用C#扩展Windows的功能,C#和Visual Studio .NET的组合使Web服务的创建和配置几乎自动化。 并且,与传统的ASP应用程序相比,ASP.NET应用程序在性能,稳定性和可伸缩性方面都有实质性的改进。  

尽管有很多优点,但.NET昂贵。 如果当前的Windows开发人员想要切换到.NET框架,则必须对其进行重新培训,并且成本很高。 由于.NET框架中有许多重大更改和复杂性增加,当前的VB程序员将无法应对这些更改。  C ++程序员会很高兴,因为C#继承了他们熟悉的语言的基本内容,但是他们还会发现C#在API和语言方面仍然有很大的变化。  

在ASP.NET中,不再使用VBScript,而仅使用JScript,并且系统服务中不再提倡使用COM(Component Object Model)。 一些Web应用程序已转换为ASP.NET,并且重写程序代码需要大量时间和精力。 如果要将现有的Java项目转移到.NET框架,即使您正在使用J#(Microsoft的Java开发语言),也将花费至少几个月的时间来完成项目的迁移。 如果要将服务器从Unix平台迁移到Windows,则所有IT员工都必须掌握一项新技术就显得尤为重要。




综合以上因素,很容易理解为什么.NET和C#会引起人们的关注和担忧。 当然,对于已经在Windows平台下进行开发的公司和企业,这不是是否接受.NET的问题,而是何时接受的问题。 普遍的观点是,如果不能及时实现向.NET的迁移,最终将无法承受来自开发人员,业务合作伙伴,应用程序提供商和工具提供商的压力。

当然,相对于Java,Unix和Linux支持者的挑战,Microsoft希望打开Windows开发人员被.NET框架所吸引。 在与Java和J2EE的竞争中,Microsoft有两个主要的玩法,分别是Visual Studio .NET和Web服务。  Visual Studio .NET IDE(集成开发环境)的beta版引起了开发人员的极大轰动。 我相信,在Web服务领域与Java竞争时,它将成为Microsoft的武器。 

开发工具4 Love Delphi 6
Delphi 6是一种快速开发工具,它完全支持当前Windows平台上的最新Web服务。 企业级用户或个人开发人员都可以使用Delphi 6轻松快速地构建新一代的电子商务应用程序。  Delphi 6在哪里出色?


高效开发
Delphi 6是RAD(快速应用程序开发)。 它具有可视化的开发环境,当然还有许多具有类似功能的开发工具(例如Visual Basic),但是Delphi 6具有以下独特功能:

Delphi 6确实是面向对象的。 它所构建的VCL库中的所有组件都可以继承以创建新组件,包括表单类TForm。 相反,ActiveX组件缺乏这种灵活性。  

Delphi 6的CodeInsight技术(即代码自动完成功能)基于编译器信息,而VB使用类型库信息。 使用编译器信息的优点是更加灵活。 但是,程序员经常抱怨Delphi 6的代码提示时间太长。  

高效编译
可以说Delphi 6是Windows平台上最快的高级语言本机代码编译器。 快速编译有什么好处? 快速编译器使您可以经常在代码修改和编译状态与运行状态之间切换。 至少,我非常习惯这种工作方式:运行程序以查看效果,退出程序并修改少量代码。运行程序。  Delphi 6编译器从未让我感到等待。

高效执行
Delphi 6和C ++ Builder使用相同的后端优化器,因此其代码生成效率可与出色的C ++编译器相媲美。 相同。  

Delphi 6生成完全本机代码,因此由Delphi 6编译的可执行文件可以独立执行和分发(这对于开发“绿色软件”非常重要)。 不需要其他运行时支持。 当然,您也可以选择动态链接编译,这可以大大减少可执行文件的长度,但是在这种情况下,分发程序时,还必须分发必要的运行时文件。

构建Windows / Linux应用程序

Delphi 6 与Kylix兼容。 使用Kylix,您可以在Linux平台上基于Windows平台重新编译CLX应用程序。 使用Delphi 6,您可以在Windows上基于CLX组件重新编译Linux应用程序。  Delphi 6包含四个组件:BaseCLX,VisualCLX,DataCLX和NetCLX。


与AppServer集成

Delphi 6通过最新的SIDL与AppServer连接。 它为AppServer应用程序开发了具有丰富GUI环境的高性能客户端应用程序,并通过Internet将AppServer的EJB功能作为行业标准SOAP / XML Web服务发布给全世界。 

如今,在编辑器

之后,各种开发工具的功能相互重叠。 大型综合工具几乎总是可以被其他几种工具使用。 代替。 工具的选择确实非常令人困惑,但是开发人员和管理人员都应意识到工具只能起到辅助作用。 严格的软件工程管理和开发人员的技术水平是成功开发软件的关键。  。 成功的发展加上有效的管理和市场运作可以建立成一个完整的成功软件。

开发工具的竞争

没有人会软件开发人员不知道Microsoft的.NET和Sun的J2EE。 尽管两者提供的方法不同,但是它们都有许多出色的功能。  

两者的便携性都很好。  .NET的核心只能在Windows环境中工作,但理论上它可以支持多语言开发? 只要已经定义了这些语言的子集,并为它们构建了IL编译器。 对于J2EE,只要遵循Java VM? 规则? 以及平台所需的一组服务,它可以在任何平台上工作。 因为定义J2EE平台的所有规范已经向公众宣布,所以许多供应商还提供兼容的产品和开发环境。  

.NET并不是一个好兆头,而是Microsoft战略的重大转变,这将为其操作系统平台带来更大的支持。 现在,他们正在努力逐步开放Java和开源自己的独特语言,然后直接实现满足开发人员的需求。  Java消除了平台的障碍。 但是,为了使用J2EE进行开发工作,用户必须在Java环境中工作。  .Net希望用户以他们选择的语言来构建.NET应用程序,这非常好。  

对于Microsoft开发人员来说,.NET是一个很好的框架,用户可以将许多事情留给Microsoft的体系结构。  ASP.NET优于ASP,ADO.NET优于ADO和DCOM,C#优于C和C ++。 因此,如果您目前正在Microsoft开发框架中从事开发工作,那么将.NET组件合并到您的体系结构中显然是一个明智的选择。 但是,尽管.NET平台描绘了一个美丽的蓝图,但要使其所有设计变为现实,还有很长的路要走。 例如,IL公共语言的操作要克服一些明显的障碍。 为了集成每种语言和组件运行时,必须定义该语言的子集/超集,并将其清晰地映射到IL。 另外,必须定义该结构以提供IL所需的元数据; 开发适用于两种已编译语言结构的编译器,并将其集成到IL组件的字节码中; 与此同时,生成现有IL组件的特定于语言的接口。  

由于历史原因,在Java语言中使用非Java语言需要从非Java语言到JavaVM的许多转换器的开发。 因此,要在Java环境中编写代码,必须承担添加到目标体系结构的其他翻译工作。 如果以Java环境为目标,人们通常会选择学习Java。 如果目标环境是.NET,那么人们将选择学习C#。

64位软件开发

因为64位系统在内存容量,I / O处理效率等方面比32位系统具有无与伦比的优势,所以 在应用程序方面,Sun,IBM和HP等知名公司一直热衷于64位系统。 可以预见,在不久的将来,英特尔的64位处理器将成为Sparc的主要竞争对手。  

但是,由于Linux和Windows中的主要应用程序是32位的,因此软件供应商和免费软件项目必须为64位系统重写其应用程序。 幸运的是,由于Java的盛行和.NET的出现,这将使应用程序到Itanium的移植非常快。  IBM已经发布了用于Itanium的Java SDK(软件开发套件)。 此外,发布.NET Server时,Microsoft的.NET框架也将在Itanium上可用。   Borland已使其Java开发工具和服务器在Itanium上运行。


返回列表

服务热线:4006068008 0531-85860101 15589999555邮箱:zlxk@zlxk.com地址:山东省济南市高新区鑫盛大厦2号楼24层

Copyright 2023,ALL Rights Reserved zlxk.com | | (c) Copyright 2024版权所有 鲁ICP备20032954号-1网站地图