1、軟體工程的定義
軟體工程一直以來都缺乏乙個統一的定義,很多學者、組織機構都分別給出了自己認可的定義:
ieee的定義:軟體工程是:1.將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、執行和維護,即將工程化應用於軟體。2.在1中所述方法的研究。
《計算機科學技術百科全書》:軟體工程是應用電腦科學、數學、邏輯學及管理科學等原理,開發軟體的工程。軟體工程借鑑傳統工程的原則、方法,以提高質量、降低成本和改進演算法。其中,電腦科學、數學用於構建模型與演算法,工程科學用於制定規範、設計范型(paradigm)、評估成本及確定權衡,管理科學用於計畫、資源、質量、成本等管理。
我個人的認為:軟體工程是以系統性的、規範化的、可定量的過程化方法去開發和維護軟體,像管理工程一樣去管理軟體及其開發過程。
2、閱讀經典名著「人月神話」等資料,解釋 software crisis、cocomo 模型。
software crisis(軟體危機):指落後的軟體生產方式無法滿足迅速增長的計算機軟體需求,從而導致軟體開發與維護過程中出現一系列嚴重問題的現象。
軟體危機的表現:
1)軟體質量不可靠
2)軟體開發成本難以控制
3)無法滿足使用者需求,使用者不滿意
4)軟體產品質量無法保證
5)軟體難以更改、除錯和增強
6)軟體缺少適當的文件
軟體危機的原因:
1)使用者需求不明確 ,或者忽視需求分析,輕視軟體維護
2)對軟體開發缺乏正確的理論zhishi
3)軟體產品開發的複雜度和難度隨軟體規模呈指數級別增長
4) 隨著軟體規模的急速增長,傳統的軟體開發方法已經不可用了
● 中間應用開發模式 (semidetached mode)。這時介於組織模式和嵌入式應用開發模式之間的型別。
在該模型中使用的基本量有以下幾個:
(1)dsi( 源指令條數 ) ,定義為**行數,包括除注釋行以外的全部**。若一行有兩個語句,則算做一條指令。
(2)mm( 度量單位為人月 ) 表示開發工作量。
(3)tdev( 度量單位為月 ) 表示開發進度,由工作量決定。
(4)cocomo 模型重點考慮 15 種影響軟體工作量的因素,並通過定義乘法因子,從而準確、合理地估算軟體的工作量。
3、軟體生命週期
軟體生命週期是軟體的產生直到報廢的生命週期,週期內有問題定義、可行性分析、總體描述、系統設計、編碼、除錯和測試、驗收與執行、維護公升級到廢棄等階段,這種按時間分程的思想方法是軟體工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文件以供交流或備查,以提高軟體的質量。
軟體生命週期包括以下階段:
1)問題定義
要求系統分析員與使用者進行交流,弄清「使用者需要計算機解決什麼問題」然後提出關於「系統目標與範圍的說明」,提交使用者審查和確認。
2)可行性研究
一方面在於把待開發的系統的目標以明確的語言描述出來,另一方面從經濟、技術、法律等多方面進行可行性分析。
3)需求分析
弄清使用者對軟體系統的全部需求,編寫需求規格說明書和初步的使用者手冊,提交評審。
4)開發階段
開發階段由三個階段組成:
a.設計
b.實現:根據選定的程式語言完成源程式的編碼。
c.測試
5)維護:維護包括四個方面
a.改正性維護:在軟體交付使用後,由於開發測試時的不徹底、不完全、必然會有一部分隱藏的錯誤被帶到執行階段,這些隱藏的錯誤在某些特定的使用環境下就會暴露。
b.適應性維護:是為適應環境的變化而修改軟體的活動。
c.完善性維護:是根據使用者在使用過程中提出的一些建設性意見而進行的維護活動。
d.預防性維護:是為了進一步改善軟體系統的可維護性和可靠性,並為以後的改進奠定基礎。
4、按照 swebok 的 ka 劃分,本課程關注哪些 ka 或 知識領域?
swebok共有10個ka,分別為:
軟體需求、軟體設計、軟體構建、軟體測試、軟體維護、軟體配置管理、軟體工程管理、軟體工程過程、軟體工程工具和方法、軟體質量
本課程關注的是:
軟體需求、軟體設計、軟體構建、軟體測試、軟體配置管理、軟體工程管理、軟體工程過程、軟體質量
5、解釋 cmmi 的五個級別。例如:level 1 - initial:無序,自發生產模式。
1 .初始級
軟體過程是無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決於個人努力。管理是反應式的。
2 . 可管理級
建立了基本的專案管理過程來跟蹤費用、進度和功能特性。制定了必要的過程紀律,能重複早先類似應用專案取得的成功經驗。
3 . 已定義級
已將軟體管理和工程兩方面的過程文件化、標準化,並綜合成該組織的標準軟體過程。所有專案均使用經批准、剪裁的標準軟體過程來開發和維護軟體,軟體產品的生產在整個軟體過程是可見的。
4 . 量化管理級
分析對軟體過程和產品質量的詳細度量資料,對軟體過程和產品都有定量的理解與控制。管理有乙個作出結論的客觀依據,管理能夠在定量的範圍內**效能。
5-.優化管理級
過程的量化反饋和先進的新思想、新技術促使過程持續不斷改進。
6、用自己語言簡述 swebok 或 cmmi (約200字)
主要包含的知識領域有10點:軟體需求、軟體設計、軟體構建、軟體測試、軟體維護、軟體配置管理、軟體工程管理、軟體工程過程、軟體工程工具和方法、軟體質量。
swebok還把軟體工程相關學科列為知識域,相關學科知識域包括計算機工程、電腦科學、數學、管理學、專案管理、質量管理、系統工程學和軟體人類工程學八個領域。
swebok的建立目的:
1)促進世界範圍對軟體工程的一致觀點。
2)闡明軟體工程相對學科(如電腦科學、專案管理、計算機工程和數學等)的位置,並確立它們的分界
3)刻畫軟體工程學科的內容
4)提供使用知識體系的主題
5)為開發課程表和個人認證與許可材料,提供乙個基礎
c.postmortem & process improvement plan:事後總結,並提出過程改進計畫
1.需要有閱讀和分析文件的能力,已經一定的文案功底
2.需要有紮實的**實現能力。
3.要對任務能作出合理規劃的能力
統計以上每項資料的方法,在工作前記錄每項步驟所花費的時間,以每個步驟的時間作為指標,從而完成這一張表。
系統分析與設計HW1
軟體工程的定義 軟體工程是 1 將系統化的 規範的 可度 量的方法應用於軟體的開發 執行和維護,即將工程 化方法應用於軟體 2 在 1 中所述方法的研究 閱讀經典名著 人月神話 等資料,解釋 software crisis cocomo 模型 software crisis 軟體危機泛指在計算機軟體...
系統分析與設計HW1
簡單題 1.軟體工程的定義 軟體工程是指導計算機軟體開發和維護的 工程學科。採用工程的概念 原理 技術和方法來開發與維護軟體,把經過實踐考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,這就是軟體工程。ieee的定義 1 將系統化的 規範的 可度量的方法應用於軟體的開發 執行和維護,即...
系統分析與設計 HW1
軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,也是指將系統化 規範化 可度量的方法應用於軟體的開發 執行和維護中,即,將工程化的方法應用於軟體。軟體危機 software cr...