淺談《構建之法》

第一個問題:軟件工程師與程序員有什麼區別?

我在《構建之法》的第43頁看到關於高級工程師和新手之間存在必定的區別,但只是說高級程師拿到的工資高,下班比較早,但一樣是在電腦前敲敲打打爲何高級程師會能夠準時下班,拿到高工資了呢?

個人見解:由於高級工程師在軟件開發方面的經驗,還有對各個領域的知識與經驗都尚未掌握,不只新入門的程序質對代碼的熟鍊度以及項目的流程熟練度不夠,並且寫出的代碼的質量也不夠,程序員也是一步步地向軟件工程師,在自個項目實戰中積累經驗、才能走軟件工程師的道路。剛入職的程序員缺乏團隊合做的意識和高級工程師的團隊合做是有區別的。我在《構建之法》這本書中也看到了關於工程師與程質的區別是關於代碼的規範程度,說明程序員和軟件工程師在這一方面也是區別的。程序員


第二個問題:怎樣衡量一個好的軟件工程,一個好的件工程都有什麼特色和優勢?是隻要用戶用着如用的軟件就是個好的軟件的嗎?

我在《構建之法》的第8章第47頁看到需求分析階段關於公司,PM,開發人員,測試人員作出來的軟件產品,可是用戶得不到滿意,最後作出來的軟件根本不能用的一個盪來盪去的鞦韆。

我以爲一個好的軟件最重要的是用戶與開發人員測試人員,公司,PM之間需求分析的重要性,我認爲好的軟件必定會獲得用戶的承認,但不必定獲得用戶承認的軟件就是好的軟件,由於我在第12章的用戶體驗一節的第252頁看到評價手頭軟件的用戶體驗,說到:良好的用戶界面和體驗能讓用戶在使用軟件的過程當中感到愉悅,機械腦殘的用戶體驗設計會讓用戶浪費時間,增長學習成本,犯本可避免的錯誤,心情沮喪,甚至出現事故。windows


第三個問題:如何預防軟件危機,雖然軟件危機並不能徹底避免,那麼怎樣很好的下降軟件危機發生的機率?

我以爲軟件危機是不可避免的,軟件是一種人爲製造的,帶有主觀意識,因此無論需求分析階段,以及其餘各個階段都作到所謂的零失誤,可是軟件危機仍是會發生,下面列舉如下幾個史上軟件失誤的例子;
  • Ariane 5 Crash
    Ariane 5是一種能夠發射航天器的火箭。這種火箭在升空後40秒就會發生爆炸,緣由是系統軟件中的整數溢出漏洞,當在系統中輸入一個比軟件內置的最大整數還要大的整數時,系統內存將不會存儲這個整數數字,由此引發軟件崩潰,導彈爆炸。一枚火箭價值3億7000萬美圓。
  • 愛國者導彈軟件錯誤
    在第一次海灣戰爭期間,一枚伊拉克導彈擊中了美軍軍營致使28死98傷,而部署在周圍的愛國者導彈系統沒有及時對對方的導彈進行攔截,緣由是愛國者導彈雷達追蹤系統有軟件缺陷,沒有發現導彈。
  • 千年蟲
    上世紀60年代的電腦工程師使用2位數來表示年份,當時是爲了減小數據的存儲量。可是到了1999年12月31日,就會出現千年蟲的問題。由於到了2000年1月1日,電腦上會顯示爲「00」,系統會認爲是1900年。爲了解決這個看似很小的問題花費了大量精力。
  • PayPal軟件錯誤
    來自賓夕法尼亞的Chris Reynold一度成爲了世界上最有錢的人,緣由是PayPal錯誤的向他的帳戶裏打了9萬2000億美圓。
  • 《江南style》打破Youtube觀看記錄
    Youtube網站使用32位有符號的整數來記錄視頻的觀看次數。最初網站設定的視頻最大觀看次數被《江南style》打破,所以《江南style》的觀看此數超過最大值後,變成了負數。以後谷歌將最大值擴大成了64位有符號的整數。
  • Windows自帶的計算器軟件缺陷
    Windows系統自帶的計算器在計算√9-3時獲得的答案不正確,正確答案應該是0,當計算器得出的答案是:
    還有相似的例子√4-2=0,但計算器得出的結果並非0。這個軟件缺陷在windows的各個操做系統中都存在。
  • Unix系統中的時間終結
    Unix系統中的時間顯示將在2038年1月19日沒法顯示。下面的網站是倒計時:http://www.coolepochcountdown.com/
  • 軟件中競爭條件缺陷致使50萬人受到停電影響
    2003年8月14日,一場大規模停電影響到了美國8個州和加拿大,總共50萬人的生活。電腦專家指出是因爲軟件中的一個競爭條件缺陷致使的,單個操做中的2個獨立線程使用了同一個代碼,因爲沒有正常同步,2個線程致使了整個電廠系統癱瘓,最終使256個發電廠的發電機停轉。當時最大的影響應該是不少無線基站沒有信號不能上網,所以不少人將筆記本電腦經過古老的撥號上網方式進行上網。
  • 價值3億2700萬的火星氣候探測器
    1998年12月11日發射的火星氣候探測器但願找到火星適合人類居住的證據。不幸的是,因爲工做人員把英制單位當成公制單位輸進了軟件,致使了這個價值3億2700萬的探測器比預約到達火星時間晚了286天。因爲計算失誤,探測器在錯誤的位置進入了火星大氣層,不久後解體了。
  • AT&T公司長途電話通訊中斷
    1990年1月,AT&T公司的用戶發現有9個小時沒法撥打長途電話。緣由是因爲長途電話中繼控制軟件正在更新,此次更新的代價是在一天以內AT&T損失了6000萬美圓。

參考文章位置ide

對於上面這些軟件所遇到的問題,我以爲一個好的軟件工程須要一個懂的團隊合做的團隊,必要並且很是仔細以及縝密的需求分析,還要在創造軟件的同時及時和用戶溝通,由於用戶有可能並不能徹底表達出本身的意願,因此須要團隊付出更多的努力。軟件危機雖然沒法避免,可是咱們仍是要汲取前人的經驗,努力將軟件儘量的作到更好。學習

相關文章
相關標籤/搜索