軟體工程導論知識點

2022-09-11 11:15:03 字數 5130 閱讀 1398

軟體是程式、資料及相關文件的完整集合。其中,程式是能夠完成預定功能和效能的可執行的指令序列;資料是使程式能夠適當地處理資訊的資料結構;文件是開發、使用和維護程式所需要的**資料。

開發軟體時,對於提高軟體開發人員工作效率至關重要的是開發程式人員數量。

軟體工程中描述軟體生存週期的瀑布型別一般包括計畫、需求分析、設計、編碼、測試、維護等幾個階段。其中,設計階段在管理上可以依次分成概要設計和詳細設計兩個步驟。

在結構化的分析方法中,用以表達系統內資料的運**況的工具有資料流圖。

在結構化的分析方法中,用實體關係圖表達系統中的物件及其發展,在實體關係圖中,表達物件和實體關係之間的關聯有三種型別:一對一聯絡,一對多聯絡,多對多聯絡。

軟體需求分析的任務,不應包括結構化程式設計,進行需求分析可使用多種工具,但判定表是不適用的,在需求分析中,分析員要從使用者那裡解決的最重要的問題是要讓軟體做什麼。規格說明書的內容不應當包括對演算法詳細功能性描述,該文件在開發中具有重要的作用,但其作用不應包括軟體可行性分析的依據。

原型化方法是使用者和軟體開發人員之間進行的一種互動過程,適用於需求不確定性高的系統,它從使用者介面的開發入手,首先形成系統介面原型,使用者執行使用者介面原型,並就同意什麼和不同意什麼提出意見。

乙個模組的多個下屬模組在系統結構圖中所處的左右位置是無關緊要的。

一組語句在程式中多處出現,為了節省記憶體空間,把這些語句放在乙個模組中,該模組的內聚性是偶然內聚的。

將幾個邏輯上相似的成份,放在同乙個模組中,通過模組入口的乙個判斷決定執行哪乙個功能,該模組的內聚性是邏輯內聚的。

模組中所有成份引用共同的資料,該模組的內聚性是通訊內聚的。

模組內的某成份的輸出是另一些成份的輸入,該模組的內聚性是順序內聚的。

模組中所有成份結合起來完成一項任務,該模組的內聚是功能內聚。

模組化程式設計:1.便於由多人分工編制大型程式。

2.軟體功能易於擴充。3.

易於理解,也便與排錯。4.只要模組之間的介面關係不變,模組內部實現細節的修改將不會影響別的模組。

5.模組間的單向呼叫關係叫做模組的層次結構。

程式設計風格指導原則:1.巢狀的重數應加以限制。

2.盡量少使用全域性變數。3.

使用有意義的變數名。4.把常見的區域性優化工作留給編譯程式去做。

5.程式的格式應有助於讀者理解程式。6.

盡量少使用goto語句。

測試過程需要三類輸入:軟體配置,測試配置,測試工具。

測試的費用已超過軟體開發費用的30%以上,高產的測試是指用少量的測試用例執行程式發現被測試程式盡可能多的錯誤,單元測試是在實現階段完成的,整合測試的計畫是在概要設計階段制定的,確認測試的計畫是在需求分析階段制定的。

軟體測試的目的是發現軟體的錯誤,為了提高測試效率,應該選擇發現錯誤的可能性大的資料作為測試資料。使用白盒測試方法時,確定測試資料應根據程式的內部邏輯和制定的附帶標準。與設計測試無關的文件是專案開發計畫。

軟體的整合測試工作最好由不屬於該軟體開發組的軟體設計人員承擔,以提高整合測試的結果。

軟體除錯的目的是找出錯誤所在,並改正之。

結構化設計是一種應用最廣泛的系統設計方法,是以資料流圖為基礎,自頂向下,求精和模組化的過程。

概要設計的結構是提供乙份模組說明書。

需求分析是由分析員了解使用者的要求,認真細緻地調研、分析,最終應建立目標系統的邏輯模型並寫出軟體規格說明書。

注釋是提高程式可讀性的有效手段,好的程式注釋佔到程式總量的1/3.

變換型和事務型是程式結構的標準形式。從某處獲得資料,再對這些資料做處理,然後將結果送出是屬於變換型。

pad圖是一種詳細設計工具。

排錯一般是在測試發現錯誤後進行,其中找到錯誤位置佔排錯總工作量的95%。

分層資料流圖是一種比較嚴格又易於理解的描述方式,它的頂層描述了系統的總貌。

資料流圖中,當資料流向或流自檔案時,資料流不必命名,有檔名就足夠了。

分析員是使用者和軟體人員的中間人。

在軟體開發中,有利於發揮集體智慧型的一種做法是設計評審。

在開發軟體時,程式開發環境可用來提高程式猿的工作效率。

軟體測試中設計測試例項主要由輸入資料和預期輸出結果兩部分組成。

結構化程式設計主要強調程式的可讀性。

開發軟體需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作軟體危機。

成功的測試是指發現程式的錯誤。

系統開發的需求分析階段的重要工作之一是資料定義。

文件是軟體開發人員、維護人員、使用者以及計算機之間的橋梁,軟體開發人員在各個階段以文件作為前段工作成功的體現和後段工作的基礎。

單獨測試乙個模組時,有時需要乙個驅動程式驅動被測試的模組,有時還要有乙個或幾個樁模組模擬由被測試模組呼叫的模組。

在結構化程式設計思想提出以前,在程式設計中曾強調程式的效率。現在,與程式的效率相比,人們更重視程式的可理解性。

軟體測試中,白盒測試方法是通過分析程式的內部邏輯來設計測試例項的方法,除了測試程式外,還適用於對軟體詳細設計階段的軟體文件進行測試。黑盒測試方法是根據程式的功能來設計測試例項的方法,除了測試程式外,它適用於需求分析階段的軟體文件進行測試。

在軟體生命週期中,維護階段所需工作量最大,約佔70%。

結構化分析方法產生的系統說明書由一套分層資料流圖,一本資料字典和一組**明及補充材料組成。

軟體的可維護性一般由兩次故障平均間隔時間和故障平均恢復時間來度量。

採用高階語言編寫程式,可提高程式的可移植性。

僅根據規格說明書描述的程式功能來實現測試例項的方法成為黑箱法。

測試是以發現錯誤為目的的,而排錯(除錯)是以定位,分析和改正錯誤為目的的。

請按順序寫出軟體生命期的幾個階段:需求分析,概要設計,詳細設計,編碼,測試,維護。

軟體發展過程中,第一階段(50年代)稱為「程式設計原始時期」,這時既沒有作業系統也沒有高階語言,程式設計師只能用組合語言編寫程式。第二階段(50年代末——60年代末)稱為「基本軟體期」,出現了作業系統並漸普及,隨之高階語言編譯技術也有較大發展。第三階段(60年代——70年代中)稱為「程式設計方法的時代」。

與硬體費用下降相反,軟體開發費用急劇上公升。人們提出了結構化程式設計和模組化程式設計等程式設計方法,設法降低軟體開發的費用。第四階段(70年代中至今)稱為「軟體工程時期」,軟體開發技術不再僅僅是程式設計技術,而是同軟體開發的各階段(需求分析,設計,編碼,測試,使用和維護)及整體和管理有關。

軟體危機出現於60年代末,為了解決軟體危機,人們提出了用工程學的原理來設計軟體,這就是軟體工程的誕生。

瀑布模型把軟體生存週期劃分為軟體定義、軟體開發和執行及維護三個階段,而每乙個階段又可細分為若干更小的階段。

軟體的概要設計又稱為總體設計,其主要任務是建立軟體系統的總體結構。

結構化分析sa是軟體開發需求分析階段所使用的方法,pad圖不是sa所使用的工具。

結構化分析方法以資料流圖、資料字典和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟體系統模型。

模組本身的內聚是模組獨立性的重要度量因素之一,在七類內聚中,具有最強內聚的一類是功能內聚。

jackson設計方法由英國的提出的,它是一種面向資料結構的設計方法。

結構化設計思想的核心是要求程式只由順序、迴圈和分支三種結構組成。

源程式的版面文件要求應有變數說明、適當注釋和統一書寫格式。

在軟體工程中,當前用於保證軟體質量的主要技術手段還是測試。

在軟體工程中,高質量的文件標準是完整性、一致性和無二義性。

在軟體研究過程中,case是指計算機輔助軟體工程。

軟體(結構)設計階段(概要設計)的文件是模組結構圖和說明書。

軟體的維護是指對軟體的改進、適應和完善。

逆向工程在軟體工程中主要用於分析階段。

軟體工程中,只根據程式的功能說明而不關係程式內部的邏輯結構的測試方法,稱為黑盒法測試。

在軟體的設計階段應提供的文件是概要設計規格說明書和詳細設計規格說明書。

程式流程圖、n—s圖和pad圖是設計階段的詳細設計使用的演算法表達工具。

軟體的可維護性是指軟體的可理解程度,程式修改的難易程度。

月收入≤800元者免稅,現用輸入數800元和801元測試程式,則採用的是邊緣值分析方法。

採用黑盒法測試程式是根據程式的功能說明。

資料流圖的**明中描述的最基本部分是加工邏輯。

系統的健壯性是指在有干擾或輸入資料不合理等意外情況下,系統仍能進行適當地工作。

軟體工程學是應用科學理論和工程上的技術指導軟體開發的學科,其目的是用較少的投資獲得高質量的軟體。

不適於作為資料流圖處理(加工)框名稱的是工資支票資料。

某模組的功能是列印錄取通知書或不錄取通知書,呼叫模組可通過此模組傳遞布林標誌資訊決定本次呼叫哪種通知書的列印,這種模組之間的耦合稱為控制耦合。

適應性維護的含義是為使軟體在改變樂得環境下仍能使用所進行的維護。

採用白盒法測試模組(程式),應根據內部邏輯結構。

軟體的質量標準中,某些因素是不可兼得的。

程式編寫(實現)階段完成的文件有使用者手冊、操作手冊。

軟體總體結構的內容應在概要設計規格說明書文件中闡明。

使用結構化分析方法時,採用的基本手段是分解和抽象。

決定軟體可維護性的主要因素可概括為可測試性、可理解性、可修改性。

要減少兩個模組之間的耦合,則必須模組間傳遞的引數要少且不傳遞開關型引數以及兩模組不引用同樣的全域性變數。

軟體開發中系統分析階段產生的文件是系統說明書。

初始化模組和結束模組從塊內聯絡看,被稱為時間內聚模組。

結構化設計方法採用變換分析和事物分析技術實現從資料流圖匯出初始化結構圖。

在軟體測試中,確認(驗收)測試主要用於發現需求分析階段的錯誤。

結構化系統分析主要是通過處理功能分解進行分析的。

結構化設計方法是面向資料流的設計方法。

在維護請求且進行的維護過程中,應先確定維護型別,然後對維護要求進行評估並分別處理。

劃分軟體生存週期的階段時應遵循的基本原則是各階段的任務盡可能相對獨立。

ooa模型規定了一組物件如何協同才能完成軟體系統所指定的工作。這種協同在模型中是以表明物件通訊方式的一組訊息連線來表示的。

用黑盒法設計測試用例時採用的方法包括因果圖法。

軟體維護過程中,修改**或資料後未作測試將會引起維護***。

視覺化不屬於物件導向程式設計的特性。

一般來說,在管理軟體中,軟體生存週期各個階段的工作量以維護階段所佔的比例最大。

系統開發人員使用系統流程圖或其他工具描述系統,估計每種方案的成本和效益的工作是在總體設計階段進行的。

設一模組內部的處理動作為:成分a的輸出是成分b的輸入,則該模組的聚合性稱為順序內聚。

軟體工程導論複習知識點

1 軟體 軟體定義 軟體 程式 文件 資料 軟體特點 1 具有抽象性 2 沒有明顯的製造過程 3 軟體的維護比硬體的維護要複雜得多 4 對計算機系統有著不同程度的依賴性 5 尚未完全擺脫手工藝的開發方式 6 軟體本身是複雜的 7 軟體成本相當昂貴 8 相當多的軟體工作涉及到社會因素 軟體的發展 程式...

軟體工程知識點

3 軟體工程原則 抽象 資訊隱蔽 模組化 區域性化 確定性 一致性 完備性和可驗證性。1 抽象 2 資訊隱蔽 3 模組化 4 區域性化 5 確定性 6 一致性 7 完備性 8 可驗證性 3.2 結構化分析方法 1 需求分析 需求分析方法有 1 結構化需求分析方法 2 物件導向的分析方法。2 結構化分...

軟體工程導論

1.軟體的定義 軟體是程式 資料及相關文件的完整集合。2.軟體危機的定義 表現 原因 定義 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。表現 a 對軟體開發成本和進度的估計常常很不準確。b 使用者對 已完成的 軟體系統不滿意的現象經常發生。c 軟體產品的質量往往靠不住。d 軟體...