『软件工程1』详解软件是什么
軟件基本概念
- 一、什么是產品
- 二、軟件的雙重角色
- 三、軟件的涵義及特征
- 四、軟件應用
- 五、軟件危機
- 六、軟件神話
一、什么是產品
1、從用戶的角度
產品實際上就是信息,以某種方式使得用戶世界更加美好
2、從軟件工程師的角度
產品實際上就是軟件
二、軟件的雙重角色
1、產品
軟件是一個信息變換器,用來獲取、顯示及管理信息等
2、產品交付使用的載體
軟件是①操作系統的基礎;②通信網絡的基礎;③其他軟件工具和環境的基礎
三、軟件的涵義及特征
1、軟件的涵義
軟件Software = 程序Program + 數據Data + 文檔Document,這些項的每一個均包含一個配置
2、軟件的特征
(1)軟件是被開發或設計的,而不是傳統意義上被制造的
(2)軟件不會“磨損”,但是會退化
注:需了解兩種曲線:①硬件故障率曲線(浴缸曲線);②軟件故障率曲線;具體形式圖如下:
(3)雖然軟件產業正在向基于構件的組裝前進,大多數軟件仍然是定制的
->構件:是可復用的組成部分,可被用于構造其他軟件,比如一些被封裝的對象類、功能模塊及軟件框架等
四、軟件應用
1、系統軟件
2、應用軟件
3、工程/科學軟件
4、Web應用軟件
5、人工智能軟件
6、……
五、軟件危機
1、軟件危機的表現
(1)對軟件開發成本和進度的估計常常不準確(開發成本超出預算,實際進度比預定計劃一再拖延的現象并不罕見)
(2)用戶對“已完成”系統不滿意的現象經常發生
(3)軟件產品的質量往往靠不住,bug一大堆
(4)軟件的可維護程度非常之低
(5)軟件通常沒有適當的文檔資料
(6)軟件的成本不斷提高
(7)軟件開發生產率的提高趕不上硬件的發展和人們需求的增長
2、軟件危機引發的思考
(1)How do we ensure the quality of the software that we produce?
我們如何確保我們所產生軟件的質量?
(2)How do we meet growing demand and still maintain budget control?
我們如何滿足日益增長的需求,同時又保持預算控制?
(3)How do we upgrade an ageing “software plan”?
我們如何升級老化的“軟件計劃”?
(4)How do we avoid disastrous time delays?
我們如何避免災難性的時間延誤?
(5)How do we successfully institute new software technologies?
我們如何成功的研究新的軟件技術?
3、減輕軟件危機的途徑
(1)對計算機軟件有一個正確的認識(軟件≠程序)。
(2)必須充分認識到軟件開發不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協同配合、共同完成的工程項目。
(3)推廣使用在實踐中總結出來的開發軟件的成功技術和方法。
(4)開發和使用更好的軟件工具。
六、軟件神話
1、三大軟件神話
(1)管理者的神話
①已有了關于開發軟件的標準和規程的書籍,可提供所有的信息。
②已有了很多很好的軟件開發工具和最新的計算機。
③如果已落后于計劃,可以增加更多的程序員來趕上進度。
④如果決定“外包”,就可以放松讓承包公司去建造。
(2)客戶神話
①有了對目標的一般性描述,就可以開始寫程序。
②項目需求可以不斷變更,因為軟件是靈活的。
But…變更的代價是:
(3)實踐者的神話
①一旦寫出程序并正常運行,工作就結束了。
②在程序真正開始運行之前無法評估其質量。
③一個成功的項目唯一應該提交的就是運行程序。
④軟件工程將使我們創建大量的、不必要的文檔,并總是延緩進度。
2、軟件開發過程中各單位分配比例
(1)工作量分配比例
(2)費用分配比例
如果這篇文章對你有幫助,記得留下star哦~
總結
以上是生活随笔為你收集整理的『软件工程1』详解软件是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP做二次开发:ThinkCMF门户应
- 下一篇: 如何刮腋毛