關於《軟體工程化》的「化」

2022-08-03 03:36:13 字數 1495 閱讀 2385

英文」software egineering「的後乙個詞,本身就是乙個動名詞,在中文裡,我們翻譯為名詞」工程「,遮蔽了其」動詞「屬性。12023年nato召開se會議的目的是解決軟體開發存在的經費、工期、質量(功能和非功能)等不可**,無法計畫,大量專案失敗的危機。提出來向傳統工程,例如,機械、建築、製造工程等學習,讓軟體生產過程也能看見,摸得著。把」一抹黑「的、」變魔術「的軟體開發過程,變成為:有序的、有計畫的、可見的、可**的(質量、工期、成本),進一步,可以向前追溯,查出責任,甚至要求負法律責任的工程過程。

研究se的目的是提高軟體生產力。而軟體生產力源於: 勞動的人、所使用的工具和裝置、工藝方法、以及把前面三個組織起來的生產過程。

對於傳統工程,勞動過程,無論是福特公司的流水線、還是建築工程過程,其勞動過程可以事先規定下來,進行重複勞動。但是,人們認為軟體生產是不行的,因為每個專案的需求都不一樣、工期、質量和經費也不同,你如何重複勞動?

humphery 提出了軟體勞動的程式問題,最終演變為cmm/cmmi模型,他本人獲得了美國**頒發的大獎。他認為乙個軟體組織要從無序的勞動過程,提公升為可重複的(repeatable),然後是標準化或能夠統一定義生產過程,再到可**的量化管理,最終,能持續地對軟體勞動過程進行優化。這個理論解決了不相同軟體需求條件下的,軟體勞動過程的工程有序性。 小到乙個軟體企業,大到乙個國家或行業組織,要不斷改進其組織管理能力,就可以提高組織的軟體生產力。

用「工程化」的目的是為了表達軟體勞動過程的可變性,以及需要不斷改進的過程。同時,軟體勞動的工具與環境、勞動的人、工藝與方法也是需要不斷地被改進,這些也是乙個「工程化」改進過程。

對於「工程化」的另乙個解釋是德國人於2023年提出的「enginering of software development」,即,軟體開發的工程化,把engineering放到前面,強調其作為乙個動名詞的動的側面。

在中國,2023年,梁思禮先生(原航天工業部總工程師)在中國載人航天工程啟動時,提「軟體工程化」,其目的是要求軟體工程技術人員向其他傳統工程人員學習,把軟體的研發、測試、發布和使用,搞成像火箭製造工程一樣的,可以看得見的、有據可查的(可向前追溯的)、能夠**出軟體故障(錯誤率)的、經費和工期可控的勞動過程,徹底消滅軟體研製中的「自我設計、自我程式設計、自我測試,一包到底(三自一包)」的黑箱現象,通過工程質量的提高,解決軟體質量。他說道:如果我們一下子做不到,那就當小學生,把美國的nasa、波音、sei當做大學生,我們總歸會學會的。這樣,我們的軟體生產能力才可以提高上去,質量和可靠性才是可**的。

這個指導意見是成功的,在何新貴為組長的軟體工程專家組的帶領下,航天領域的軟體工程管理者和技術人員一起,保證了載人航天工程中軟體的質量。中國國家科技最高獎獲得者獲得者王永志對此給予了高度的評價,認為:梁先生提倡的軟體工程化發揮了很大的作用。

《軟體工程化》一書的英文,開始時時「engineering of software」,但編輯部認為作為一本教材還是保持「software engineering」為好。

北京郵電大學的一位副校長,直接提出改版時,應該改為:engineering of software,以強調軟體工程是乙個不斷進步和改進的過程。

什麼是軟體工程化?什麼是「前端工程化「?

軟體工程是一門研究如何用系統化 規範化 數量化等工程原則和方法去進行軟體的開發和維護的學科。軟體工程包括兩方面內容 軟體開發技術和軟體專案管理。軟體開發技術包括軟體開發方法學 軟體工具和軟體工程環境。軟體專案管理包括軟體度量 專案估算 進度控制 人員組織 配置管理 專案計畫等。軟體工程是指將系統化的...

原創 軟體歷史之軟體工程化

未完待續 一 軟體發展史 軟體的發展大致分為四個階段 1 無 軟體 概念階段 1946年 1955年 此階段的特點是 尚無軟體的概念,程式設計主要圍繞硬體進行開發,規模很小,工具簡單,無明確分工 開發者和使用者 程式設計追求節省空間和程式設計技巧,無文件資料 除程式清單外 主要用於科學計算。2 義大...

前端工程化

為什麼出現了前端工程化?09年之前,我們學習的css,div,js只是對頁面設計進行乙個打輔助的功能,當時只能勉強的成為頁面設計師,為什麼會出現前端工程師 1.突然間前端的需求逐漸增多,使用者對介面的要求越來越高,前端範疇越來越大。2.前後端總是保持一致才能進行開發,不能分開開發,提出前端工程化,也...