【廣告】
即使他們不是主要的軟件開發(fā)人員,諸如科學家,設備制造商和硬件制造商之類的專業(yè)人員也可以創(chuàng)建軟件代碼。它也不限于軟件或半導體業(yè)務等傳統(tǒng)信息技術行業(yè)。實際上,根據(jù)布魯金斯學會的說法,這些企業(yè)“僅占進行軟件開發(fā)的企業(yè)的不到一半。”一個重要的區(qū)別是軟件定制開發(fā)與商業(yè)軟件開發(fā)相反。定制軟件開發(fā)是為一組特定的用戶,功能或組織設計,創(chuàng)建,部署和維護軟件的過程。
軟件不是魔術。雖然它看起來像魔術,或者是魔法,但它不是魔法。每一個元素都是由人設計的,都有其數(shù)學基礎,或者是可以用人類語言解釋的過程。與魔術不同,軟件不是憑空變出來的。它需要設計、構建和維護。就像房子有多種系統(tǒng)一起工作(地基、結構、管道、房間、家具等等)那樣,軟件系統(tǒng)也需要許多層和子系統(tǒng)來創(chuàng)建整個系統(tǒng)。
在面向對象編程中,程序員可以把程序看成是一個交互對象的集合,而在功能編程中,程序可以看成是一個無狀態(tài)的函數(shù)評價序列。當計算機或具有許多處理器的系統(tǒng)編程時,面向過程的程序設計允許程序員將程序看作是一組并發(fā)的進程,并在邏輯上共享的數(shù)據(jù)結構上起作用。正如軟件工程中不同的群體主張不同的方法一樣,不同的編程語言也主張不同的編程范式。
LePUS3是一種面向對象的可視化設計描述語言,也是一種正式的規(guī)范語言,主要適用于大型面向對象(Jva、C 、C#)程序和設計模式的建模。規(guī)范和描述語言(SDL)旨在對反應式和分布式系統(tǒng)的行為進行明確的規(guī)范和描述。統(tǒng)一建模語言(UnifiedModelingLanguage,UML)是一種通用的建模語言,是軟件密集型系統(tǒng)的行業(yè)標準。當前版本的UML2.0支持13種不同的圖示技術,并有廣泛的工具支持。