方向:項目經理,技術經理,產品經理。c++
不學軟件工程沒有分析‘,沒有設計,後期維護難,bug多編輯器
項目不能觸類旁通。沒有計劃性,老是延期,比其餘同事慢...測試
1.問題的定義和規劃編碼
2.需求分析操作系統
3.軟件設計設計
4.程序編碼unix
5.軟件測試code
6.實現和運轉對象
機器語言事件
10110000 00000110//將6 送到al
高級程序設計語言
fortran basic
操做系統的出現
dos unix...實現對計算機的管理
出現告終構化程序設計技術(C語言)
面向對象的設計語言
Java c++
微型500行如下 小型2000行如下 中型5000-50000 大型5w-10w 超大型100w以上
實時處理軟件
分時處理軟件
交互式軟件
批處理軟件
系統軟件
支撐軟件(如編譯軟件,文本編輯器)
應用軟件
項目軟件(合同約束)
產品軟件(爲市場開發)
如天氣預報,工業普查
按失效影響劃分:失效代價
抽象性
複製簡單,軟件保護
不存在老化和磨損
對計算機存在依賴
軟件產品大可能是「定作的」
複雜性
研製成本昂貴
設計不少社會因素,對軟件的見解。
軟件危機刺激軟件工程的產生
開發成功比預期時間長太多了
投入6000萬美圓沒作出來
如何開發軟件,知足軟件日益增加的需求
如何維護數量不斷膨脹的問題
軟件開發進度難以預測
軟件開發成本難以控制
用戶對產品功能難以知足
軟件產品質量難以保證
軟件產品難以維護
軟件缺乏適當的文檔資料
用戶需求不明確
缺少正確的理論指導
軟件開發規模愈來愈大
軟件開發複雜度愈來愈高
軟件是邏輯部件而非物理部件
在開發和維護關係上的錯誤觀念