系統分析與設計1

2021-09-12 10:14:41 字數 4029 閱讀 6647

5.簡單解釋 cmmi 的五個級別。

6.用自己語言簡述 swebok 或 cmmi

二、psp2.1

軟體工程將系統的、規範的、可度量的方法應用於軟體的開發、執行和維護的過程。 將工程化應用於軟體開發過程中,對上述方法進行研究。

表現:

克服軟體危機的方法:

軟體生命週期(life cycle):在時間維度,對軟體專案任務進行劃分,又稱為軟體開發過程。

設計

實現

測試

維護

軟體需求

軟體需求知識領域涉及軟體需求的建模、協商、分析、規範和確認。軟體行業普遍認為,當這些活動執行得不好時,軟體工程專案極易受到攻擊。軟體需求包含了對軟體產品的需求和約束,這些需求和約束有助於解決一些實際問題。

軟體設計

設計的定義是定義系統或元件的架構、元件、介面和其他特性的過程,以及過程的結果(ieee 1991)。軟體設計知識領域涵蓋了設計過程和最終產品。軟體設計過程在軟體工程生命週期活動中分析軟體需求,以便對軟體的內部結構及其行為進行描述,作為其構建的基礎。軟體設計結果必須描述軟體架構——也就是說,軟體是如何分解和組織成元件的,以及這些元件之間的介面。它還必須在細節層次上描述元件,以實現其構造。

軟體建設

軟體構建是指通過詳細設計、編碼、單元測試、整合測試、除錯和驗證的組合來詳細建立工作軟體。軟體構建知識領域包括與滿足其需求和設計約束的軟體程式開發相關的主題。本知識領域涵蓋軟體構建基礎知識、軟體構建管理、構建技術、實踐考慮和軟體構建工具。

軟體測試

測試是一項評估產品質量並通過識別缺陷來改進產品質量的活動。軟體測試涉及根據有限的測試用例集上的預期行為對程式行為進行動態驗證。這些測試用例是從(通常非常大)執行域中選擇的。軟體測試知識領域包括軟體測試的基礎知識、測試技術、人機介面測試和評估、測試相關措施和實際考慮。

軟體維護

軟體維護包括增強現有的能力,使軟體適應新的和修改過的操作環境,以及糾正缺陷。這些類別被稱為完善的、適應性的和糾正性的軟體維護。軟體維護知識領域包括軟體維護的基礎知識(維護的性質和需要、維護的類別、維護成本),軟體維護中的關鍵問題(技術問題、管理問題、維護成本估算、軟體維護的測量),維護過程,軟體維護技術(程式理解、重新設計、逆向工程、重構、軟體報廢),災難恢復技術和軟體維護工具。

軟體配置管理

系統的配置是硬體、韌體、軟體的功能和/或物理特性(或特性組合)。它還可以被視為硬體、韌體或軟體項的特定版本的集合,根據特定的構建過程進行組合以滿足特定的目的。因此,軟體配置管理(scm)是一門在不同的時間點識別系統配置的學科,目的是系統地控制配置的更改,並在整個軟體生命週期中保持配置的完整性和可追溯性。軟體配置管理知識領域包括對scm過程的管理,軟體配置識別、控制、狀態核算、審核,軟體發布管理和交付,以及軟體配置管理工具。

軟體工程管理

軟體工程管理包括計畫、協調、測量、報告和控制專案或程式,以確保軟體的開發和維護是系統的、有紀律的和量化的。軟體工程管理知識領域包括建模和範圍定義(確定和協商需求、可行性分析以及需求的評審和修訂),軟體專案策劃(過程策劃、工作量估算、成本和進度、資源分配、風險分析、質量策劃),軟體專案制定(測量、報告和控制,採購和**商合同管理),產品驗收,專案績效審查和分析,專案結束,軟體管理工具。

軟體工程過程

軟體工程知識領域涉及軟體生命週期過程的定義、實現、評估、測量、管理和改進。所涵蓋的主題包括過程實施和變更(過程基礎設施、過程實施和變更模型以及軟體過程管理),過程定義(軟體生命週期模型和過程、過程定義注釋、過程適應和過程自動化),過程評估模型和方法,測量(過程測量、產品測量、測量技術和測量結果質量),以及軟體過程工具。

軟體工程模型與方法

軟體工程模型和方法知識領域描述了包含多個生命週期階段的方法,對於特定的生命週期階段的方法由其他知識領域涵蓋。所涵蓋的主題包括建模(軟體工程模型的原理和屬性,語法與語義與不變數,前提條件、後條件和不變數),模型型別(資訊、結構和行為模型),分析(分析正確性、完整性、一致性、質量和互動,可追溯性,權衡分析),以及軟體開發方法(啟發式方法、形式方法、原型方法和敏捷方法)。

軟體質量

軟體質量是乙個普遍存在的軟體生命週期問題,在swebok v3 知識領域s中很多都有解決。此外,軟體質量知識領域包括軟體質量基礎(軟體工程文化、軟體質量特徵、軟體質量的價值和成本以及軟體質量改進),軟體質量管理過程(軟體質量保證、驗證和確認、審查和審計),實際考慮(缺陷描述、軟體質量度量和軟體質量工具)

軟體工程專業實習

軟體工程專業實踐涉及軟體工程師以專業、負責和道德的方式實踐軟體工程所必須具備的知識、技能和態度。軟體工程專業實踐知識領域涵蓋專業性(專業行為、專業協會、軟體工程標準、僱傭合同和法律問題)、道德規範、群體動態(團隊合作、認知問題複雜性、與利益相關者互動、處理不確定性和模糊性,處理多元文化環境),以及溝通技巧。

軟體工程經濟學

軟體工程經濟學知識領域關注於在業務環境中做出決策,以使技術決策與組織的業務目標保持一致。所涵蓋的主題包括軟體工程經濟學基礎(提案、現金流、貨幣時間價值、規劃範圍、通貨膨脹、折舊、重置和退休決策),非營利決策(成本效益分析、優化分析),估算、經濟風險和不確定性(估算技術,風險和不確定性下的決策),以及多屬性決策(價值和測量尺度、補償和非補償技術)。

計算基礎

計算基礎知識領域涵蓋了為軟體工程實踐提供必要計算背景的基本主題。所涵蓋的主題包括問題解決技術、抽象、演算法和複雜性、程式設計基礎、並行和分布式計算基礎、計算機組織、作業系統和網路通訊。

數學基礎

數學基礎知識領域涵蓋了為軟體工程實踐提供必要數學背景的基本主題。所涉及的主題包括集合、關係和函式,基本命題和謂詞邏輯,證明技術,圖和樹,離散概率,語法和有限狀態機,以及數論。

工程基礎

工程基礎知識領域涵蓋了為軟體工程實踐提供必要工程背景的基本主題。涵蓋的主題包括經驗方法和實驗技術,統計分析,測量和度量,工程設計,模擬和建模,以及根本原因分析。

cmmi 全稱為 capability maturity model for software(軟體能力成熟度模型),顧名思義,這個模型最重要的作用就是用於判定開發企業的系統成熟度,分了5個級別(在2023年全新版本中取消了這一種分類方法)

對於企業來說,因為資金、時間等現實因素,往往是不能和swebok裡要求的那樣做到十全十美,所以研究cmmi,用於評估企業的能力,當然,這對於企業的提公升也指明了方向。

cmmi是由美國國防部與卡內基-梅隆大學和美國國防工業協會共同開發和研製的。cmmi是一套融合多學科的、可擴充的產品集合,其研製的初步動機是為了利用兩個或多個單一學科的模型實現乙個組織的整合化過程改進。

psp 各個階段自己預估的時間(分鐘)

實際的記錄(分鐘)

計畫:明確需求和其他因素,估計以下的各個任務需要多少時間

(填在計畫階段花費的時間)

(此項應該和預估值一致)

開發(包括下面 8 項子任務)

(以下都填預估值)

(以下都填實際花費值)

· 需求分析 (包括學習新技術、新工具的時間)

· 生成設計文件 (整體框架的設計,各模組的介面,用時序圖,快速原型等方法)

· 設計複審 (和同事審核設計文件,或者自己複審)

· **規範 (為目前的開發制定或選擇合適的規範)

· 具體設計(用偽**,流程圖等方法來設計具體模組)

· 具體編碼

· **複審

· 測試(自我測試,修改**,提交修改)

報告

測試報告(發現了多少bug,修復了多少)

計算工作量 (多少行**,多少次簽入,多少測試用例,其他工作量)

事後總結, 並提出改進計畫 (包括寫文件、部落格的時間)

總共花費的時間(分鐘)

需要技能有:

需求分析

時間規劃

設計文件

**規範

自我測試

編寫報告

總結工作

提出改進

如何統計每項資料:

系統分析與設計 (1)

軟體工程是 1 將系統化的 規範的 可度量的方法應用於軟體的開發 執行和維護,即將工程化方法應用於軟體 2 在 1 中所述方法的研究 software crisis 即軟體危機,這是早期電腦科學的乙個術語。軟體危機指在軟體開發及維護的過程中所遇到的一系列嚴重問題,這些問題皆可能導致軟體產品的壽命縮短...

系統分析與設計(1)

軟體工程是將系統化的 規範的 可度量的方法應用於軟體的開發 執行和維護,即將工程化方法應用於軟體以及對上述方法的研究。在時間維度,對軟體專案任務進行劃分,又成為軟體開發過程。常見有瀑布模型 螺旋模型 敏捷的模型等 其幾個過程如下 cmmi全稱是capability maturity model in...

系統分析與設計作業1

1 閱讀 現代軟體工程 的 psp personal software process 章節。2 按 psp 2.1,了解乙個軟體工程師在接到乙個任務之後要做什麼,需要哪些技能,解釋你打算如何統計每項資料?期末考核,每人按開發階段提交這個表 1 待做事項 計畫估計這個任務需要多少時間 開發分析需求 ...