軟件工程與計算機科學
在現代社會,計算機已成為不可或缺的一部分。然而,我們較少關注這些熟悉事物的內部運作。計算機科學是計算機系統的理論基礎,而軟件工程則是將這些原理應用於開發軟件解決方案的問題。
計算機科學
計算機科學是計算機硬件和軟件的基礎科學。它為計算機系統的實現和應用提供了軟件和硬件組件的機制和計算的理論基礎。
計算機科學包括許多主要的子學科。計算理論、信息與編碼理論、算法與數據結構、程序設計語言理論屬於理論計算機科學。應用計算機科學的子學科包括人工智能、計算機體系結構與工程、計算機圖形學與可視化、密碼學與計算機安全、計算機網絡、併發、並行和分佈式系統、數據庫與信息檢索以及軟件工程。
其中許多子學科都是以數學理論為基礎的。一些應用方面與機電一體化和其他應用科學有關。
此外,這些子學科延伸到次要研究領域。例如,計算理論包括自動機理論、可計算性理論、複雜性理論、密碼學和量子計算理論等研究領域。
軟件工程
軟件工程是應用計算機科學的主要分支學科之一。它專注於使用嚴格的工程方法構建有效的軟件系統。它可以被描述為一個系統的,有紀律的,可量化的方法來設計,開發,操作和維護軟件,以及這些方法的研究。沒有一個公認的軟件工程定義,但它的目的的解釋。
fritzbauer將軟件工程定義為“建立和使用合理的工程原理,以獲得經濟開發的、可靠且在真實機器上有效工作的軟件”。
軟件不是物理的,它是在計算機系統中工作的邏輯實體。因此,它的設計必須在硬件和操作方面都達到最佳性能。為了實現這些目標,軟件工程師使用開發模型。這些模型將軟件開發的主要步驟(如設計、編碼、故障排除和維護)合併到一個內聚的框架中,該框架允許軟件在其生命週期內進行系統的開發。
軟件工程和計算機科學有什麼區別?
•計算機科學側重於計算的理論方面,包括軟件和硬件。
•軟件工程專注於系統地開發軟件。編碼或編程是軟件工程的重要組成部分。