它或许只是简单的为某个程序设计语言提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
软件工程师通常从目标系统开发者那里获得软件开发包。为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。SDK 经常可以直接从互联网下载。有时也被作为营销手段。例如,甲产品或许会免费提供构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK 可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如一个专有的 SDK 可能与自由软件开发抵触。而GPL能使 SDK 与专有软件开发近乎不兼容。LGPL下的SDK则没有这个问题。
软件开发工具
指的是很方便地把一种编程语言代码化并编译执行的工具。其中主要的语言开发工具有几大类:java开发工具、net开发工具、delphi开发工具等。
java开发工具
1、MyEclipse(MyEclipse Enterprise Workbench)
MyEclipse应用开发平台是J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持JAVA,HTML, Struts,Spring, JSP, CSS, Javascript, SQL, Hibernate。MyEclipse应用开发平台结构上实现Eclipse单个功能部件的模块化,并可以有选择性的对单独的模块进行扩展和升级。
2、Eclipse
Eclipse 是目前功能比较强大的JAVA IDE(JAVA编程软件) ,是一个集成工具的开放平台,而这些工具主要是一些开源工具软件。在一个开源模式下运作,并遵照共同的公共条款,Eclipse 平台为工具软件开发者提供工具开发的灵活性和控制自己软件的技术。
3、NetBeans
NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。Sun Java Studio是Sun公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Windows平台,适于创建和部署2层Java Web应用和n层J2EE应用的企业开发人员使用。
.Net软件开发工具
1、Microsoft Visual Studio
Visual Studio 是一套完整的开发工具,用于生成 ASP NET Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic、Visual C# 和 Visual C++ 都使用相同的集成开发环境 (IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。关于常用的软件开发工具[4] 使用详细,可以参考引用文章。
开发工具分类
(1)基于工作阶段的工具
基于各个阶段对信息的需求不同,软件开发工具可分为三类:设计工具、分析工具、计划工具。
①设计工具是最具体的,它是指在实现阶段对人们提供帮助的工具。例如各种代码生成器、一般所说的第四代语言和帮助人们进行测试的工具(包括提供测试环境或测试数据)等,都属于设计工具之列。它是最直接的帮助人们编写与调试软件的工具。
②分析工具主要是指用于支持需求分析的工具,例如,帮助人们编写数据字典的、专用的数据字典管理系统帮助人们绘制数据流程图的专用工具,帮助人们画系统结构图或ER图的工具等。他们不是直接帮助开发人员编写程序,而是帮助人们认识与表述信息需求与信息流程,从逻辑上明确软件的功能与要求。
③计划工具则是从更宏观的角度去看待软件开发。它不仅从项目管理的角度帮助人们组织与实施项目,把有关进度、资源、质量、验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新、实现了跨生命周期的信息管理与共享,为信息以及软件的复用创造了条件。
(2)基于集成程度划分的工具
集成化程度是用户接口一致性和信息共享的程度,是一个新的发展阶段。集成化的软件开发工具要求人们对于软件开发过程有更深入的认识和了解。开发与应用集成化的软件开发工具是应当努力研究与探索的课题,集成化的软件开发工具也常称为软件工作环境。
(3)基于硬件、软件的关系划分的工具
基于与硬件和软件的关系,软件开发工具可以分为两类:依赖于特定计算机或特定软件(如某种数据库管理系统)和独立于硬件与其它软件的软件开发工具。一般来说,设计工具多是依赖于特定软件的,因为它生成的代码或测试数据不是抽象的,而是具体的某一种语言的代码或该语言所要求的格式的数据。而分析工具与计划工具则往往是独立于机器与软件的,集成化的软件开发工具常常是依赖于机器与软件的。
(4)基于应用领域划分的工具
根据应用领域的不同,应用软件可以分为事务处理、实时应用、嵌入式应用等。随着个人计算机与人工智能的发展,与这两个方面相联系的应用软件,也取得较大的进展。