什么是軟件開發?看完就刷新了你對軟件開發的認知(什么叫軟件開發-)
根據 IBM Research 說法:軟件開發是指一組計算機科學活動,專門用于創建,設計,部署和支持軟件的過程。
軟件本身的就是一組指令或程序,它們告訴計算機要做什么。它獨立于硬件,并使計算機可編程。共有三種基本類型:
提供核心功能的系統軟件,例如操作系統,磁盤管理,實用程序,硬件管理和其他操作必需品。
編程軟件,為程序員提供工具,例如文本編輯器,編譯器,鏈接器,調試器和其他用于創建代碼的工具。
應用程序軟件(應用程序或應用程序),以幫助用戶執行任務。Office生產力套件,數據管理軟件,媒體播放器和安全程序就是示例。應用程序還指Web和移動應用程序,例如用于在Amazon.com上購物,與Facebook進行社交或將圖片發布到Instagram的那些應用程序。
可能的第四種類型是嵌入式軟件。嵌入式系統軟件用于控制通常不視為計算機的機器和設備-電信網絡,汽車,工業機器人等。這些設備及其軟件可以作為物聯網(IoT)的一部分進行連接。
軟件開發主要由程序員,軟件工程師和軟件開發人員進行。這些角色相互作用和重疊,并且它們之間的動態因開發部門和社區而異。
程序員或編碼員將源代碼寫到程序計算機,以完成特定任務,例如合并數據庫,處理在線訂單,路由通訊,進行搜索或顯示文本和圖形。程序員通常會解釋軟件開發人員和工程師的指令,并使用C 或Java之類的編程語言來執行它們。
軟件工程師運用工程原理來構建軟件和系統來解決問題。他們使用建模語言和其他工具來設計解決方案,這些解決方案通常可以以一般方式應用于問題,而不是僅僅解決特定的實例或客戶。軟件工程解決方案遵循科學方法,必須像橋梁或電梯一樣在現實世界中工作。
軟件開發人員的角色比工程師少,并且可以密切參與特定的項目領域,包括編寫代碼。同時,他們推動了整個軟件開發生命周期-包括跨職能團隊工作以將需求轉換為功能,管理開發團隊和流程以及進行軟件測試和維護。
軟件開發工作并不局限于編碼人員或開發團隊。即使他們不是主要的軟件開發人員,諸如科學家,設備制造商和硬件制造商之類的專業人員也可以創建軟件代碼。它也不限于軟件或半導體業務等傳統信息技術行業。實際上,根據布魯金斯學會的說法,這些企業“僅占進行軟件開發的企業的不到一半。”
一個重要的區別是軟件定制開發與商業軟件開發相反。定制軟件開發是為一組特定的用戶,功能或組織設計,創建,部署和維護軟件的過程。相反,商用現貨軟件(COTS)是為滿足廣泛的需求而設計的,允許將其打包,進行商業銷售和分發。