網站首頁 教育 學前教育 精緻生活 飲食養生 命理 科普教育 金融 歷史 影視 數碼 熱門資訊
當前位置:生活百科站 > 學前教育 > 

軟體工程的基本原則有哪些

欄目: 學前教育 / 釋出於: / 人氣:3W

採取適宜的開發模型:控制易變的需求。採用合適的設計方法:需要軟體模組化、抽象與資訊隱藏、區域性化、一致性以及適應性等,需要合適的設計方法的支援。提供高質量的工程支援:軟體工具和環境對軟體過程的支援。重視開發過程的管理:有效利用可用的資源、生產滿足目標的軟體產品、提高軟體組織的生產能力等。

軟體工程的基本原則有哪些

軟體工程的三要素:方法、工具和過程。方法是完成軟體開發的各項任務的技術方法,為軟體開發提供“如何做”的技術;工具為運用方法而提供的自動的或半自動的軟體工程的支撐環境;過程是為了獲得高質量的軟體所需要完成的一系列任務的框架。

軟體工程目前狀況:在現代社會中,軟體應用於多個方面。典型的軟體比如有電子郵件、嵌入式系統、人機介面、辦公套件、作業系統、編譯器、資料庫、遊戲等。各個行業幾乎都有計算機軟體的應用,比如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,提高人們的工作效率,同時提升了生活質量。

軟體工程的目標:1、可修改性:允許對系統進行修改而不增加原系統的複雜性。它支援軟體的除錯和維護,是一個難以達到的目標。2、可靠性:能防止因概念、設計和結構等方面的不完善造成的軟體系統失效,具有挽回因操作不當造成軟體系統失效的能力。3、可移植性:軟體從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。



軟體工程學的基本原則有哪些

軟體工程的三要素:方法、工具和過程。

軟體開發過程是隨著開發技術的演化而隨之改進的。從早期的瀑布式(Waterfall)的開發模型到後來出現的螺旋式的迭代(Spiral)開發,以致最近開始興起的敏捷開發方法(Agile),他們展示出了在不同的時代軟體產業對於開發過程的不同的認識,以及對於不同型別專案的理解方法。

注意區分軟體開發過程和軟體過程改進之間的重要區別。諸如像ISO 15504, ISO 9000, CMM, CMMI這樣的名詞闡述的是一些軟體過程改進框架,他們提供了一系列的標準和策略來指導軟體組織如何提升軟體開發過程的質量、軟體組織的能力,而不是給出具體的開發過程的定義。

目前狀況:

在現代社會中,軟體應用於多個方面。典型的軟體比如有電子郵件,嵌入式系統,人機介面,辦公套件,作業系統,編譯器,資料庫,遊戲等。

各個行業幾乎都有計算機軟體的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,提高人們的工作效率,同時提升了生活質量。

軟體工程師是對應用軟體創造軟體的人們的統稱,軟體工程師按照所處的領域不同可以分為系統分析員,軟體設計師,系統架構師,程式設計師,測試員等等。人們也常常用程式設計師來泛指各種軟體工程師。

軟體工程的主要原則包括哪些方面?它的基本要素有哪幾項

軟體工程的三要素:方法、工具和過程。軟體工程的三要素:方法、工具和過程。

軟體工程原則包括圍繞工程設計、工程支援和工程管理提出的以下4條基本原則: 第一條:圍繞適宜的開發模型; 第二條:採用合適的設計方法; 第三條:提供高質量的工程支撐; 第四條:重視軟體工程的管理。

軟體工程有哪些原則?

1、量兩次,切一次(Measure twice and cut once)

如果你只能從這篇文章中學到一個原則且最重要的一個,那麼就是這個。 開發人員,架構師和經理人經常因為個人情緒、以及其他問題而難以集中注意力。

就工程師來說,這個原則意味著選擇正確的解決方案,選擇正確的方法來解決問題,選擇正確的工具來解決問題,對建立的解決方案必須充滿信心。

選擇這裡意味著投入一些思考,找到必要的資源,組建合適的團隊,思考設計,思考方法,設定任務,控制結果,併為此承擔責任。 這就是“活在當下”。 我認為我自己還沒有準備好用正確的詞彙來描述它。

2、不要重複自己(Don't Repeat Yourself)

這是一個相當簡單但非常有用的原則,它說在不同的地方重複同樣的事情是非常糟糕的。 首先,它涉及到進一步支援和修改程式碼的必要性。 如果某個程式碼片段在程式中的幾個地方被複制,那麼很有可能出現兩種災難性的情況:

當對原始碼進行哪怕是很小的改動時,您需要在幾個地方更改相同的程式碼。 這需要額外的時間、精力和注意力,而這件事件通常也非常不容易。

第一項緊隨第二項。 團隊中的其他開發人員可能會意外地錯過其中一個更改(只合並了控制系統中的分支) ,並將面對應用程式中隨後出現的一系列錯誤。 這些 bug 可能會讓您感到沮喪,因為您已經聽說這樣的 bug 似乎已經被修復了。

在這方面,有一個建議ーー如果在清單中發現任何程式碼超過兩次,則應以單獨的方式來處置。 這是通用做法。 事實上,即使再次遇到重複的bug,您也應該考慮建立一個單獨的方法。

3、奧卡姆剃刀(Occam’s Razor)

這是一個非常普遍的想法,它來自於哲學程式設計。 這個原則得名於奧克姆的英國修道士威廉。 這一原則表明: ”沒有必要,不得增加實體”。

在工程學中,這一原則被解釋為: 沒有必要建立不必要的實體。 因此,首先考慮新增另一個方法 / 類 / 工具 / 流程等的好處不見得總是一個好主意。 畢竟,如果您添加了另一個方法 / 類 / 工具 / 流程等等,除了增加複雜性之外,您沒有得到任何其他好處,那還有什麼意義呢?

4、保持足夠簡單(Keep It Simple Stupid )

這是一個與上面非常類似的原則,但它的含義略有不同。 這個原則要求程式碼必須儘可能簡單,不能有複雜的結構,否則會使程式碼的除錯和維護複雜化。

此外,對於另一個程式設計師來說,理解程式碼的邏輯將會更加困難,這反過來也將需要額外的時間和精力。 這就是為什麼您應該始終嘗試使用簡單的構造來儘可能多地解決問題,而不需要使用大量的分支、深層巢狀和過度過載的類結構。

通過這樣做,你將使自己和同事的生活更加輕鬆,因為複雜性會產生錯誤。 記住 Peter Hintiens 說過的話: “簡單永遠比功能好”。

5、你不會需要它(You Aren’t Gonna Need It )

這是許多程式設計師都會遇到的問題。 從專案一開始就希望立即實現所有必要的(有時甚至是不必要的)功能。 也就是說,當開發人員從一開始就將所有可能的方法新增到類中並實現它們時,甚至可能在未來永遠不會使用它們。

因此,根據這個建議,首先,只實現您需要的東西,然後,如果必要的話,再擴充套件相應功能。 這樣,您就可以節省除錯程式碼的工作量、時間以及精力,而實際上這些程式碼卻並不需要。

軟體工程必須遵循什麼原則

圍繞工程設計、工程支援以及工程管理已提出了以下四條基本原則:(1)選取適宜的開發模型該原則與系統設計有關。在系統設計中,軟體需求、硬體需求以及其它因素間是相互制約和影響的,經常需要權衡。因此,必需認識需求定義的易變性,採用適當的開發模型,保證軟體產品滿足使用者的要求。(2)採用合適的設計方法在軟體設計中,通常需要考慮軟體的模組化、抽象與資訊隱蔽、區域性化、一致性以及適應性等特徵。合適的設計方法有助於這些特徵的實現,以達到軟體工程的目標。(3)提供高質量的工程支撐工欲善其事,必先利其器。在軟體工程中,軟體工具與環境對軟體過程的支援頗為重要。軟體工程專案的質量與開銷直接取決於對軟體工程所提供的支撐質量和效用。(4)重視軟體工程的管理軟體工程的管理直接影響可用資源的有效利用,生產滿足目標的軟體產品以及提高軟體組織的生產能力等問題。因此,僅當軟體過程予以有效管理時,才能實現有效的軟體工程。

Tags:軟體工程