系統分析與設計HW1

2021-08-17 05:09:22 字數 2882 閱讀 5661

簡單題

1.軟體工程的定義

軟體工程是指導計算機軟體開發和維護的 工程學科。採用工程的概念、原理、技術和方法來開發與維護軟體,把經過實踐考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,這就是軟體工程。

ieee的定義

1)將系統化的、規範的、可度量的方法應用於軟體的開發、執行和維護,即將工程化方法應用於軟體;

2)在(1)中所述方法的研究

2.閱讀經典名著「人月神話」等資料,解釋 software crisis、cocomo 模型。

software crisis

由於軟體生產的複雜性和高成本,使大型軟體的生產出現了很大的困難,即出現軟體危機。

軟體危機表現形式

軟體開發成本日益增長

軟體開發進度難以控制

使用者對「已完成」系統不滿意的現象經常發生

軟體產品的質量不可靠

軟體的可維護程度低

cocomo模式

英文全稱為constructive cost

model,中文為構造性成本模型。它是一種精確、易於使用的,基於模型的成本估算方法,最早由勃姆(boehm)於2023年提出。從本質上說是一種引數化的專案估算方法,引數建模是把專案的某些特徵作為引數,通過建立乙個數字模型**專案成本(類似於居住面積作為引數計算的整體的住房成本)

cocomo模型中,考慮開發環境,軟體開發專案的型別可以分為三種:

按照其詳細程度可以分為**:

3.軟體生命週期

計算機軟體有乙個孕育、誕生、成長、成熟、衰亡的生存過程,即軟體的生命週期(也稱軟體開發生命週期sdlc或軟體開發過程)。軟體生命週期被劃分為若干階段,每個階段有明確的任務,從而使規模、結構和管理複雜的軟體開發過程得到適當的控制和管理。

典型劃分gb8567(4個時期7個階段):

4.按照swebok的ka劃分,本課程關注哪些ka或知識領域?

5.解釋 cmmi 的五個級別。例如:level 1 - initial:無序,自發生產模式。

初始級:軟體過程是無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決於個人努力。管理是反應式的。

可管理級:建立了基本的專案管理過程來跟蹤費用、進度和功能特性。制定了必要的過程紀律,能重複早先類似應用專案取得的成功經驗。

已定義級:已將軟體管理和工程兩方面的過程文件化、標準化,並綜合成該組織的標準軟體過程。所有專案均使用經批准、剪裁的標準軟體過程來開發和維護軟體,軟體產品的生產在整個軟體過程是可見的。

量化管理級:分析對軟體過程和產品質量的詳細度量資料,對軟體過程和產品都有定量的理解與控制。管理有乙個作出結論的客觀依據,管理能夠在定量的範圍內**效能。

優化管理級:過程的量化反饋和先進的新思想、新技術促使過程持續不斷改進。

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

cmmi模型中,軟體組織(或者可以說公司)的軟體能力成熟度被劃分為五個等級,從一到五數字越大成熟度越高,高成熟度的等級象徵著更強的綜合軟體能力。

企業可以選擇進行cmmi的評估。評估是對企業準備的幾個評估專案按照cmmi的標準進行檢查。每乙個級別都包含幾個到十幾個pa(過程域),如果該級別的全部pa都達到要求了,就可以評估為這個級別。

cmmi是為了支援企業的商業目標的、提高收益的,不是用來增加管理成本的。更高階別的企業,效能會更高。

解釋 psp 各項指標及技能要求:

psp2.1

planning

·         estimate

development

·         analysis

·         design spec

·         design review

·         coding standard

·         design

·         coding

·         code review

·         test

record time spent

test report

size measurement

postmortem

process improvement plan

計畫·         估計這個任務需要多少時間

開發·         分析需求

·         生成設計文件

·         設計複審 (和同事審核設計文件)

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

·         具體設計

·         具體編碼

·         **複審

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

記錄時間花費

測試報告

計算工作量

事後總結

提出過程改進計畫

•按** psp 2.1, 了解乙個軟體工程師在接到乙個任務之後要做什麼,需要哪些技能,解釋你打算如何統計每項資料?

如上表所示,軟體工程師在接到乙個任務之後需要計畫、開發,然後記錄時間花費、測試報告、計算工作量、事後總結和提出過程改進計畫。其中,計畫和開發有更為細節的步驟。

統計資料,比如計畫階段,估計這個任務需要多少時間,不僅要考慮實際編碼、測試這些【硬】時間,還要考慮到分析、設計這些【軟】時間;計算工作量的時候,主要考慮記錄實際工作的時間,即有效利用的部分,比如查詢bug,這樣的時間花費需要有乙個統一的標準進行折算,否則會出現「划水」的現象。記錄專案時間花費的時候,還要考慮到有些任務是可以並行執行的。

系統分析與設計HW1

軟體工程的定義 軟體工程是 1 將系統化的 規範的 可度 量的方法應用於軟體的開發 執行和維護,即將工程 化方法應用於軟體 2 在 1 中所述方法的研究 閱讀經典名著 人月神話 等資料,解釋 software crisis cocomo 模型 software crisis 軟體危機泛指在計算機軟體...

系統分析與設計 HW1

軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,也是指將系統化 規範化 可度量的方法應用於軟體的開發 執行和維護中,即,將工程化的方法應用於軟體。軟體危機 software cr...

系統設計與分析 HW1

1 軟體工程的定義 軟體工程一直以來都缺乏乙個統一的定義,很多學者 組織機構都分別給出了自己認可的定義 ieee的定義 軟體工程是 1.將系統化的 嚴格約束的 可量化的方法應用於軟體的開發 執行和維護,即將工程化應用於軟體。2.在1中所述方法的研究。計算機科學技術百科全書 軟體工程是應用電腦科學 數...