軟體工程學科誕生後,人們為軟體工程給出了不同的定義,例如最早的定義是由f.l. bauer給出的,即「軟體工程是為了經濟地獲得能夠在實際機器上高效執行的、可靠的軟體而建立和應用一系列堅實的軟體工程原則」。 軟體工程學科包含為完成軟體需求、設計、構建、測試和維護所需的知識、方法和工具。
軟體工程是一門交叉性的工程學科,它是將電腦科學、數學、工程學和管理學等基本原理應用於軟體的開發與維護中,其重點在於大型軟體的分析與評價、規格說明、設計和演化。
參考:軟體工程
一、瀑布發展方法。二、快速應用開發模式。三、敏捷開發模式。四、devops部署方法
參考:軟體開發模式
敏捷開發(agiledevelopment)是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。簡言之,就是把乙個大專案分為多個相互聯絡,但也可獨立執行的小專案,並分別完成,在此過程中軟體一直處於可使用狀態。敏捷的組成它們包括:極限程式設計(xp),scrum,精益開發(lean development),動態系統開發方法(dsdm),特徵驅動開發(feature driver development),水晶開發(cristal clear)等等。
參考:敏捷開發流程和原則
過程模型建立了工程中各種活動的順序,從這方面看,它體現了乙個工程專案中整個生命週期。當前各種工程專案中都有各自的過程。msf過程模型起始於微軟開發軟體應用程式的過程。它經過演化,與一些其他流行的過程模型中最為有效的原理相結合,形成乙個模型。msf過程模型可以跨越所有的工程型別,例如基於階段型別的、里程碑驅動的、基於迭代模型等型別的工程。
msf過程模型可以應用到傳統的軟體開發環境中,但同樣的,它也可以適用於電子商務、分布式web等企業解決方案的開發和部署中。
參考:msf過程模型介紹
pm專案管理,就是專案的管理者,在有限的資源約束下,運用系統的觀點、方法和理論,對專案涉及的全部工作進行有效地管理。管理內容:專案範圍管理為了實現專案的目標,對專案的工作內容進行控制的管理過程。它包括範圍的界定,範圍的規劃,範圍的調整等。
參考:pm管理
軟體工程--需求分析與規格說明也稱為需求確定或分析階段。通過分析,理解使用者的各種問題,通過規格說明把問題表達出來。開發過程通常分為兩大階段:
1: 正確地確定問題:軟體做什麼?
2:為問題尋找合適的解答:軟體怎麼做?
需求分析和規格說明階段的目的。這個階段的基本任務。使用者需求。需求說明書的作用。分析員是中間人物。
參考:典型使用者和場景
我們寫軟體就是要解決使用者的需求,我們需要表達和傳遞下面這些資訊:
在「需求分析」階段,我們要搞清楚在問題領域中的現實世界裡,都有哪些實體,如何抽象出我們真正關心的屬性,實體之間的關係是什麼,在這個基礎上,使用者的需求是什麼,軟體如何解決使用者的需求。在「設計與實現階段」,我們要搞清楚軟體是怎麼解決這些需求的?在「測試」和「發布」階段,我們要搞清楚軟體是否解決了這些需求。
參考:軟體的設計與實現
績效管理體系是一套有機整合的流程和系統,專注於建立、收集、處理和監控績效資料。它既能增強企業的決策能力,又能通過一系列綜合平衡的測量指標來幫助企業實現策略目標和經營計畫。績效管理是管理者與員工之間在目標與如何實現目標上所達成共識的過程,以及增強員工成功地達到目標的管理方法以及促進員工取得優異績效的管理過程。 高效的績效管理體系是企業實現運營目標的重要的工具。
參考:績效管理體系
速讀《構建之法(第三版)》 20199319
本週速讀了 構建之法 第三版 本書共有十七個章節 如下圖所示 介紹了軟體工程的方方面面,乾貨滿滿。在速讀完成後我思考了以下幾個問題。github是基於git實現的 託管。git可能是目前最好用的版本控制系統了,非常受歡迎。trac trac是乙個為軟體開發專案需要而整合了wiki和問題跟蹤管理系統的...
《構建之法(第三版)》第三章
1.軟體開發流程不光指團隊的流程,還包括個人開發流程。把每個人的工作有序地組織起來,就是團隊的流程。有序 並不是 無爭論 每個人的工作質量直接影響最終軟體的質量。2.初級軟體工程師成長階段 3.軟體開發的工作量和質量的衡量標準 軟體領域可以分為兩個方面 一方面是技藝創新的大爆發 而另一方面是堅持不懈...
《構建之法(第三版)》第四章
規範可以分為兩個部分 風格的原則是簡明,易讀,無二義性 if condition else ffileexist 表明是乙個bool值,表示檔案是否存在 szpath 表明是乙個以0結束的字串,表示乙個路徑 設計規範不光是程式書寫的格式問題,而且牽涉到程式設計 模組之間的關係 設計模式等方方面面。如...