軟件工程


首先是軟件危機

如果是開始了一個計劃但是常常是會推遲完成
是不是有一個就像是建造房子一樣的模式可以用來建造軟件呢?使用比較好的設計模式和工藝

軟件在有的時候是必不可少的,比如在天氣預報方面,在銀行自動取款機上面。並且這個世界今天的背後都是有一個計算機網絡。甚至是有人提出智慧地球這樣的概念,這樣的核心和基礎就是計算機和軟件。有的時候計算機是新的技術的中介,比如說排版書,製造芯片,太空旅行,計算機軟件可以增加對用戶的服務,比如圖書館使用子算己輔助,電子商務。在現在的很大的銀行當中因爲這樣的速度可以贏得先機,而這樣的速度的背後是運行在超級死算計上面的軟件。

因爲計算機可以產生更大的自動化的世界。

這樣的自動化可以節省更多的金錢,可以提供更快更加優秀的服務。

在1980年美國的用在軟件方面的開支大概是400億美金,大概是當年的GNP百分之2
在1985年的時候該數字成爲是700億美金,全世界是1400億美金

1998-1999年美國該數字打到3000-4000億美金

用在軟件方面的非常的重要,不僅僅是花費在軟件開發上面,當支付給用戶使用的時候還是有很多的開銷。

隨着時間的流逝,用在硬件方面的投入越來越少,用在軟件開發方面的將會越來越多,用在維護方面的也是會越來越多。

現在的社會越來越多的依賴於軟件,軟件質量的高低決定人類存在的質量的高低。

計算機的錯誤可能會造成很嚴重的問題。可能有軍事上面的問題,可能是有經濟上面的問題

軟件開發的兩個重要的要素:
質量和速度

quality and productivity

自從1960年以來,軟件已經在很多領域取得了成功,比如從辦公的電子表格,到排版軟件到航空軟件

Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.
——1960 NASA

Softwate engineering is the application of a systematic, disciplined, quantifitable approach to the development, operation, and maintenance of software, that is the application of engineering to software.

NASA Shuttle Software 大概有4000萬行代碼
IBM OS360大概需要一個人工作5000年的工作量

軟件工程面臨的問題和挑戰:
寫軟件的人可能不是那個領域的專家可能是有非常狹窄的知識領域,比如寫航天程序的程序員可能對電子知識知道的不是很多,對用戶理解也是非常的少

地裏位置上面可能是很多人一起工作這樣的分工協調工作這樣的權限的分配製度等等。

所面臨的複雜的問題,不是因爲使用了很多的模塊問題的複雜度本身就解決了

有時間期限的,人力物力方面很多的限制。

是一個動態改變的過程,只是自己虛幻的認爲開始的調查就是了解了所有的需要。

需求分析很多時候是一個誤稱,它認爲有些事情是不可變的

軟件工程不是簡單的編程,雖然編程是非常重要的一個組成部分,數學也是佔有一個非常重要的位置,好的工程方法對於建立一個好的系統是非常的重要的,心理和社會因素,人人交互,人機交互。最後還有一個是管理。

發佈了26 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章