目錄
軟體工程的定義
解釋導致 software crisis 本質原因、表現,述說克服軟體危機的方法
軟體生命週期
swebok 的 15 個知識域(an overview of the swebok guide 請中文翻譯其名稱與簡短說明)
簡單解釋 cmmi 的五個級別。例如:level 1 - initial:無序,自發生產模式。
用自己語言簡述 swebok 或 cmmi (約200字)
軟體工程將系統的、規範的、可度量的方法應用於軟體的開發、執行和維護的過程。
採用適當的軟體開發方法和支援環境以及程式語言來表示和支援軟體開發各階段的各種活動,並使開發過程條令化、規範化,使軟體產品標準化,開發人員專業化。
用工程學的觀點進行費用估算,制定進度和計畫;用管理科學中的方法和原理進行軟體生產的管理;用數學的方法建立軟體開發中的各種模型和各種演算法。
軟體工程過程是輸入轉化為輸出的一組彼此相關的資源和活動
軟體的大量需求與軟體生產力效果之間的矛盾
軟體系統的複雜性與軟體開發方法之間的矛盾
經費預算問題 :軟體完成時間不斷拖延,經費不斷增加,不能按計畫進度按時完成。
開發的軟體不能滿足客戶要求:發初期對使用者的要求了解不夠明確,未能得到明確的表達。開發工作開始後,軟體人員和使用者又未能及時交換意見,使得一些問題不能及時解決,導致開發的軟體不能滿足使用者的要求,因而導致開發失敗,浪費人力物力。
開發的軟體可維護性差:開發過程中沒有同意的、公認的規範,軟體開發人員按各自的風格工作,開發過程無完整、規範的文件,發現問題後進行雜亂無章的修改。程式結構混亂,執行時發現錯誤也很難修改,導致維護性差。
軟體的可靠性差:由於在開發過程中,沒有確保軟體質量的體系和措施,在軟體測試時,又沒有嚴格的、充分的、完全的測試,導致給到使用者手中的軟體不一定確保有效好用。
正確認識計算機軟體的內涵
採用工程專案管理方法實施軟體開發的組織管理
軟體開發應該是一種組織良好、管理嚴密、協同配合的工程活動
採用成熟的軟體開發技術和方法,開發和使用適當的軟體工具。
計算機軟體有乙個孕育、誕生、成長、成熟、衰亡的生存過程,這樣的過程稱為軟體的生命週期 (也稱軟體開發生命週期 sdlc)。軟體生命週期將軟體開發過程劃分為若干階段,每個階段有明確的任務目標和執行機制,從而使複雜的軟體開發過程能夠得到適當的控制和管理。
軟體生命週期一般包括可行性分析與計畫、需求分析、設計 (概要設計和詳細設計)、編碼實現、測試、執行與維護等活動。這些活動應當以適當的方式分配到不同的階段去完成。
software requirements:軟體需求。軟體需求涉及到引出、協商、分析、規範和驗證,表達了對軟體產品的需求和約束。
software design:軟體設計。設計被定義位系統或元件的體系結構、元件、介面和其他特徵的過程,以及改過程的結果。軟體設計包括設計過程和最終產品。
software construction:軟體構建。軟體構建是知通過詳細設計、編碼、單元測試、整合測試、除錯和驗證相結合,對工作軟體進行詳細建立。
software testing:軟體測試。測試是對產品質量進行評估並通過識別缺陷來改進產品質量的活動。軟體測試涉及到在一組有限的測試用例上根據預期行為動態地驗證程式的行為。這些測試用例是從(通常非常大的)執行域中選擇的。
software maintenance:軟體維護。軟體維護包括增強現有的功能,使軟體適應新的和修改的操作環境,以及糾正缺陷。這些類別被稱為完善的、自適應的和糾正的軟體維護。
software configuration management:軟體配置管理。軟體配置管理是在不同的時間點識別系統配置的規程,以便系統地控制配置的更改,並在整個軟體生命週期中維護配置的完整性和可追溯性。
software engineering management:軟體工程管理。軟體工程管理包括計畫、協調、測量、報告和控制乙個專案或程式,以確保軟體的開發和維護是系統的、有紀律的和量化的。
software engineering process:軟體工程過程。所涵蓋的主題包括過程實現和變更(過程基礎結構、過程實現和變更的模型以及軟體過程管理);過程定義(軟體生命週期模型和過程,過程定義、過程適應和過程自動化的符號);過程評估模型和方法;測量(過程測量、產品測量、測量技術、測量結果質量);以及軟體過程工具。
software engineering models and methods:軟體工程模型和方法。軟體工程模型和方法包括建模(軟體工程模型的原理和屬性;語法、語義、不變數;(前置條件、後置條件和不變數);模型的型別(資訊、結構和行為模型);分析(對正確性、完整性、一致性、質量和互動進行分析;可追溯性;和權衡分析);以及軟體開發方法(啟發式方法、正式方法、原型方法和敏捷方法)。
software quality:軟體質量。軟體質量是乙個普遍存在的軟體生命週期問題,包括軟體質量的基礎(軟體工程文化、軟體質量特徵、軟體質量的價值和成本、軟體質量改進);軟體質量管理過程(軟體質量保證、驗證和驗證、評審和審計);以及實際的考慮(缺陷特性、軟體質量度量和軟體質量工具)。
software engineering professional practice:軟體工程專業實踐。軟體工程專業實踐是指軟體工程師必須具備的知識、技能和態度,以一種專業、負責和道德的方式來實踐軟體工程。它涵蓋專業(專業行為、專業協會、軟體工程標準、僱傭合同、法律問題)、倫理準則、團隊動態(在團隊中工作,認知問題的複雜性,與利益相關者的互動,處理不確定性和模糊性,處理多元文化環境)和溝通能力。
software engineering economics:軟體工程經濟學。軟體工程經濟學關注於在業務上下文中做出決策,以使技術決策與組織的業務目標保持一致。所涵蓋的主題包括軟體工程經濟學的基本原理(建議、現金流量、金錢的時間價值、規劃期限、通貨膨脹、折舊、重置和退休決定);非營利性決策(成本效益分析、優化分析);評估、經濟風險和不確定性(評估技術、風險和不確定性下的決策);以及多屬性決策(值和度量尺度、補償和非補償技術)。
computing foundations:計算基礎。計算基礎涵蓋了為軟體工程實踐提供必要的計算背景的基本主題。主題包括問題解決技術、抽象、演算法和複雜性、程式設計基礎、並行和分布式計算的基礎、計算機組織、作業系統和網路通訊。
mathematical foundations:數學基礎。數學基礎涵蓋了為軟體工程實踐提供必要數學背景的基本主題。主題包括集合、關係和函式;基本命題邏輯和謂詞邏輯;證明技術;圖表和樹木;離散型概率;語法和有限狀態機;和數論。
engineering foundations:工程基礎。工程基礎涵蓋了為軟體工程實踐提供必要的工程背景的基本主題。所涵蓋的主題包括實證方法和實驗技術;統計分析;測量和度量;工程設計;**和建模;以及根本原因分析。
level 1 - initial:無序,自發生產模式。
level 2 - managed:建立了基本的專案管理過程來跟蹤費用、進度和功能特性。制定了必要的過程紀律,能重複早先類似應用專案取得的成功經驗。分別包括:
level 3 - defined:已將軟體管理和工程兩方面的過程文件化、標準化,並綜合成該組織的標準軟體過程。所有專案均使用經批准、剪裁的標準軟體過程來開發和維護軟體,軟體產品的生產在整個軟體過程是可見的。包括有:
level 4 - quantitatively managed:分析對軟體過程和產品質量的詳細度量資料,對軟體過程和產品都有定量的理解與控制。管理有乙個作出結論的客觀依據,管理能夠在定量的範圍內**效能。包括:
level 5 - optimizing:過程的量化反饋和先進的新思想、新技術促使過程持續不斷改進。包括:
cmmi:具有三個目標,第乙個是質量,第二個是時間表,第三就是要用最低的成本。cmmi具有兩種標識方法,一種也就是和軟體cmm一樣的階段表現方法,另外一種則是連續性的表現方法,這兩種表現方法的區別是:階段性表現方法仍然把cmmi中的若干個過程區域劃分為了五個成熟度級別,幫助實施cmmi的組織建議一條比較容易實現的過程改進發展道路。cmmi的實施能夠提高我國企業的管理水平,降低企業的工程成本。
軟體工程知識體系swebok
cmmi--mba智庫百科
系統分析作業1
表現 克服軟體危機的方法 軟體生命週期 swebok 的 15 個知識域 an overview of the swebok guide 請中文翻譯其名稱與簡短說明 簡單解釋 cmmi 的五個級別。例如 level 1 initial 無序,自發生產模式。用自己語言簡述 swebok 或 cmmi ...
系統分析 作業1
軟體工程是 1 系統性,規範性,定量化方法開發,執行,維護軟體的應用。這是工程方法在軟體上的應用。2 對 1 中描述方法的研究 因為軟體具有以下本質特性。要克服軟體危機,就要認真分析軟體危機的原因,探索用工程的方法進行軟體生產的可能性,即用現代工程的概念 原理 技術和方法進行計算機軟體的開發 管理 ...
系統分析與設計作業1
1 閱讀 現代軟體工程 的 psp personal software process 章節。2 按 psp 2.1,了解乙個軟體工程師在接到乙個任務之後要做什麼,需要哪些技能,解釋你打算如何統計每項資料?期末考核,每人按開發階段提交這個表 1 待做事項 計畫估計這個任務需要多少時間 開發分析需求 ...