什么是软件开发?

文章正文
发布时间:2023-11-09 09:24

软件开发是指专门针对软件创建、设计、部署和支持过程的一系列计算机科学活动。

软件本身是对计算机发号施令的一系列指令或程序。 它独立于硬件,并支持对计算机进行编程。 其分为三种基本类型:

系统软件,用于提供诸如操作系统、磁盘管理、实用程序、硬件管理及其他运营必备要素的核心功能。

编程软件,用于为程序员提供工具,如文本编辑器、编译器、连接器、调试器和其他用于创建代码的工具。

应用软件(应用程序或应用),可帮助用户执行任务。 比如办公生产力套件、数据管理软件、媒体播放器和安全程序。 应用程序还指代 Web 和移动应用程序,如用于在 Amazon.com 上购物、通过 Facebook 进行社交互动或将照片发布到 Instagram 的应用。

可能存在的第四种类型为嵌入式软件。 嵌入式系统软件用于控制通常不被视为计算机的机器和设备,如电信网络、汽车、工业机器人等等。 这些设备及其软件可作为物联网 (IoT) 的一部分实现连通。

软件开发主要由程序员、软件工程师和软件开发人员进行。 这些角色彼此互动且存在交叠,另外他们之间的互动方式在开发部门和社区间变化明显。

程序员或编码员负责编写源代码来对计算机进行编程,目的是完成诸如合并数据库、处理在线订单、路由通信、执行搜索或显示文本和图形等具体任务。 程序员通常会解释来自软件开发人员和工程师的指令,并利用 C++ 或 Java 等编程语言来实施指令。

软件工程师运用工程原理来构建软件和系统,以解决问题。 他们使用建模语言和其他工具来设计解决方案,这些解决方案往往可用于解决常规问题,而不是仅解决具体实例或客户的相关问题。 软件工程解决方案遵循科学方法,且必须具有现实可用性,其作用类似于桥梁或电梯。 随着产品越来越智能,并新增了大量微处理器、传感器和软件,软件工程师的职责范围也随之扩张。 不仅有更多的产品依靠软件获得了市场优势,另外产品的软件开发工作必须与产品的机械和电气开发工作协调一致。

软件开发者相比工程师而言,其角色不那么正式,且可能与具体项目领域密切相关,如编写代码。 同时,他们还推动着整个软件开发生命周期的发展,包括跨职能团队合作,以将需求转换为功能,管理开发团队和流程,并开展软件测试和维护。

软件开发工作并不仅限于编码人员或开发团队。 科学家、设备制造商和硬件制造商等专业人员尽管不是主要的软件开发人员,但他们也可以创建软件编码。 同时软件开发也不局限于传统的信息技术行业,如软件或半导体业务。 事实上,根据 Brookings Institute(链接位于 ibm.com 外部)研究报告,这些企业中“有不到一半的公司会进行软件开发。”

但一个重要的区别是,他们从事的是定制软件开发,而非商业软件开发。 定制软件开发是针对一系列特定用户、功能或组织过程设计、创造、部署和维护软件的过程。 相反,成熟的商业软件 (COTS) 旨在满足一系列广泛的需求,可进行包装并用于商业营销和分发。

首页
评论
分享
Top