什么是软件开发?看完就刷新了你对软件开发的认知(什么叫软件开发-)
根据 IBM Research 说法:软件开发是指一组计算机科学活动,专门用于创建,设计,部署和支持软件的过程。
软件本身的就是一组指令或程序,它们告诉计算机要做什么。它独立于硬件,并使计算机可编程。共有三种基本类型:
提供核心功能的系统软件,例如操作系统,磁盘管理,实用程序,硬件管理和其他操作必需品。
编程软件,为程序员提供工具,例如文本编辑器,编译器,链接器,调试器和其他用于创建代码的工具。
应用程序软件(应用程序或应用程序),以帮助用户执行任务。Office生产力套件,数据管理软件,媒体播放器和安全程序就是示例。应用程序还指Web和移动应用程序,例如用于在Amazon.com上购物,与Facebook进行社交或将图片发布到Instagram的那些应用程序。
可能的第四种类型是嵌入式软件。嵌入式系统软件用于控制通常不视为计算机的机器和设备-电信网络,汽车,工业机器人等。这些设备及其软件可以作为物联网(IoT)的一部分进行连接。
软件开发主要由程序员,软件工程师和软件开发人员进行。这些角色相互作用和重叠,并且它们之间的动态因开发部门和社区而异。
程序员或编码员将源代码写到程序计算机,以完成特定任务,例如合并数据库,处理在线订单,路由通讯,进行搜索或显示文本和图形。程序员通常会解释软件开发人员和工程师的指令,并使用C 或Java之类的编程语言来执行它们。
软件工程师运用工程原理来构建软件和系统来解决问题。他们使用建模语言和其他工具来设计解决方案,这些解决方案通常可以以一般方式应用于问题,而不是仅仅解决特定的实例或客户。软件工程解决方案遵循科学方法,必须像桥梁或电梯一样在现实世界中工作。
软件开发人员的角色比工程师少,并且可以密切参与特定的项目领域,包括编写代码。同时,他们推动了整个软件开发生命周期-包括跨职能团队工作以将需求转换为功能,管理开发团队和流程以及进行软件测试和维护。
软件开发工作并不局限于编码人员或开发团队。即使他们不是主要的软件开发人员,诸如科学家,设备制造商和硬件制造商之类的专业人员也可以创建软件代码。它也不限于软件或半导体业务等传统信息技术行业。实际上,根据布鲁金斯学会的说法,这些企业“仅占进行软件开发的企业的不到一半。”
一个重要的区别是软件定制开发与商业软件开发相反。定制软件开发是为一组特定的用户,功能或组织设计,创建,部署和维护软件的过程。相反,商用现货软件(COTS)是为满足广泛的需求而设计的,允许将其打包,进行商业销售和分发。