軟體工程習題200題之二
軟體工程習題200題之二
我的軟體工程筆記99年末的一段,是當時幾乎所有軟體工程書籍的習題。這裡整理出來,希望對大家學習軟體工程有益。
1、Statemate方法是如何解決實時設計的特殊問題的?
2、什麼是規格說明語言?它具有什麼性質?
3、什麼是設計語言?它具有什麼性質?
4、CASE環境語言提出了什麼要求?如何實現?
5、什麼是原型開發語言?它具有什麼性質?
6、如何使原型開發語言可執行?
7、程式語言從心裡工程角度看各具有什麼特性?
8、評價選擇可用程式語言的準則是什麼?
9、舉例說明程式語言對軟體工程的各個步驟的影響。
10、程式語言中的基礎有哪些方面?
11、第一代至第四代語言是如何劃分的?各具有什麼特點?包括那些語言?
12、程式中與程式設計風格有關的因素有哪些?為建立良好的程式設計風格應遵循什麼原則?
13、提高程式設計效率應從哪些方面著手?
14、人機介面設計包括哪些方面?
15、在人機介面設計中應如何考慮使用者的使用要求?
16、人機介面的設計應遵循什麼原則?
17、人機互動方式分哪幾種?
18、如何採用結構化的分析方法和麵向物件分析方法來明確人機介面設計的任務?
19、在進行人機介面設計的初期(概要設計階段)必須解決那些問題?
20、人機介面的開發主要採用那些模型?
21、介面設計有哪些一般準則?
22、何為智慧人機介面?智慧人機介面由哪幾部分構成?各部分之間存在什麼關係?
23、多媒體技術可用於解決人機介面設計中的什麼問題?
24、為什麼在CASE中需要有資料庫的支援?
25、軟體工程中有哪些資料需要管理?
26、資料模型的評價準則有哪十個方面?他們對CASE有什麼意義?
27、CASE需要什麼樣的資料庫支援?
28、為什麼說軟體設計十分重要?
29、完成良好的軟體設計應遵循哪些原則?
30、抽象有哪幾種形式?他們各起什麼作用?
31、如何理解模組獨立性?用什麼指標來衡量模組獨立性?
32、為什麼資料設計是設計活動中十分重要的一項?進行資料設計應遵循什麼原則?
33、何為體系結構設計?進行體系結構設計應遵循什麼原則?
34、什麼是結構化設計?他在軟體發展史上具有什麼地位?
35、過程設計語言具有哪些特徵?
36、什麼是物件?物件有哪幾種形式?
37、什麼是類?類與物件間是什麼關係?
38、面向物件方法特徵有哪些?
39、面向物件方法基本要點是什麼?
40、面向物件設計涉及那幾個主要活動?面向物件設計如何體現三個主要的軟體設計概念:抽象資訊、隱藏和模組化?
41、面向物件分析涉及那幾個主要活動?如何應用系統建模?
42、Booch方法中運用了那幾類圖表?他們各有什麼作用?
43、Booch方法包括那些開發步驟?
44、Petri網是與分析與設計哪類系統?它是通過什麼方式來反映系統動態行為的?
45、運用Petri網進行系統建模與效能分析的具體步驟是什麼?
46、Petri網客分析系統哪些行為特徵?這些特徵含義是什麼?
47、Petri網的效能分析方法有哪幾種?其原理各是什麼?
48、軟體開發工具分哪幾類?各完成什麼工作?
49、軟體開發環境一般用來解決哪幾類問題?
50、何為CASE,Z-CASE含義是什麼?
51、環境整合包括那三個方面的整合?
52、整合方式分哪幾種?那種方式使整合思想得到充分體現?如何體現的?
53、軟體質量的含義是什麼?
54、影響軟體質量的因素分哪兩大類?
55、Boehm和McCall等人從哪些方面來確定軟體質量?他們有什麼異同?
56、ISO1985提出的關於軟體質量度量模型有哪三個層次組成?它有哪些特點?
57、軟體質量的各種特性怎樣度量?
58、什麼是軟體質量保證的策略?現代軟體質量保證的策略是什麼?
59、軟體質量保證活動有哪七個主要方面?如缺少一兩個方面行不行?是否還有沒有考慮到的方面?
60、為什麼說軟體正是技術評審是軟體質量保證的一個最基本的活動?
61、為什麼在軟體進行技術評審中要有一張預先設定的評審檢查表?
62、軟體的缺陷為什麼在軟體開發和維護過程中會擴大?硬體會產生這樣的問題嗎?
63、什麼是Halstead軟體科學度量?這種方法的實質是什麼?它可以用來進行軟體質量哪些方面的度量?它有哪些優缺點?
64、什麼是McCabe複雜性度量?這種方法的實質是什麼?它可以用來進行軟體質量哪些方面的度量?它有哪些優點?
65、什麼是軟體可靠性和軟體可用性?他們能否定量計算?
66、什麼是軟體安全性?軟體安全性與軟體可靠性有什麼不同?為什麼有了軟體可靠性還要考慮軟體安全性?軟體安全性應從哪些方面去考慮?
67、為什麼說軟體質量保證中最重要的兩個方面是:對軟體質量保證活動和軟體配置的審計;軟體質量保證計劃的制定和標準的採用?
68、為什麼說軟體測試是軟體開發中不可缺少的重要的遺患,但不是軟體質量保證的“安全網”?
69、為什麼把軟體測試的目標定義為只是發現錯誤?
70、軟體測試應當遵循什麼原則?為什麼要遵循這些原則?
71、單元(模組)測試、組裝測試和確認測試各自主要的目標是什麼?他們之間有哪些不同?相互有什麼關係?
72、什麼是黑盒子測試和白盒子測試?他們都適應哪些測試?
73、單元測試時,為什麼需要另外開發驅動程式和連線程式?
74、比較在組裝測試中,自頂向下與自底向上、先深度後寬度與先寬度後深度結合的優缺點。
75、為什麼說在確認測試階段,如果發現對使用者需求理解的錯誤,要修改就要付出極大的代價?
76、什麼是軟體測試中邏輯覆蓋?什麼是語句、分支、條件、分支/條件、多重合迴圈覆蓋?一般軟體測試至少應保證哪些覆蓋?為什麼?
77、什麼叫鄧家華分?在確定等價劃分測試用例中,為什麼在設計一個測試用例時,要使其儘可能多的覆蓋未被覆蓋過的合理的等價類,而是其只覆蓋且僅一個未被覆蓋過的不合理的等價類?
78、什麼是邊界值分析?他與等價類劃分有什麼不同?
79、什麼是因果圖?他用於何處?
80、什麼是程式圖?他用於何處?
81、糾錯技術中的歸納法和演繹法的中心思想是什麼?
82、什麼是軟體測試中的回溯測試?他有什麼用處?
83、為什麼實時系統測試較一般系統測試要困難得多?
84、根據統計,軟體維護國作量佔軟體整個生存週期工作量的10%~70%,這個比例隨著時間的退役還在增加,為什麼軟體維護需要這麼大的工作量?
85、軟體維護分哪幾種類型?根據統計,在軟體維護中,那種型別的維護所佔的比重最大?那種型別的維護所佔的比重最小?能說出他們的原因嗎?
86、軟體維護工作有哪些特點?為什麼?
87、什麼是軟體維護的副作用?如何防止軟體維護的副作用?
88、什麼是軟體的可維護性?如何提高軟體的可維護性?軟體的可維護性與軟體維護工作有什麼關係?為什麼在軟體開發過程中,要特別重視軟體的可維護性?
89、軟體的可維護性與那些軟體質量特性有關?能確定它們的優先次序嗎?
90、什麼是軟體的反推工程和再生工程?他們主要用於何處?
91、一個軟體的維護任務的工作程式是什麼?是否需要設立專門的維護機構?他們的職責是什麼?
92、如何保證和提高軟體維護工作的質量和效率?
93、有人說:“修改軟體是危險的”,你對這句話有什麼看法?
94、在軟體開發中,在重視技術問題的同時,為什麼還要重視管理問題?兩者哪個重要?有哪些主要的管理問題?
95、什麼是軟體的工作範圍?一個軟體的工作範圍應包括哪些主要內容?對他們有些什麼具體要求?
96、在確定了軟體的工作範圍之後,為什麼還要確定軟體開發所需要的人力資源、硬體資源和軟體資源?他們對軟體開發有什麼影響?
97、成本估算方法有哪幾種?
98、影響軟體成本的主要因素有哪些具體方面?
99、什麼是IBM、SLIM和COCOMO成本估算模型?它們之間有什麼不同?
100、什麼是軟體生產率資料?有哪些主要因素影響這些資料?為什麼要重視這些資料?這些資料對軟體開發有什麼意義?
101、怎樣具體進行軟體成本估算?他們分哪幾步?
102、什麼是軟體開發工作量(人-周或人-月或人-年)?什麼是軟體開發時間(週期)(周或月或年)?什麼是軟體開發進度?三者之間有什麼關係?
103、在安排軟體開發進度時,應該考慮哪些問題?為什麼?
104、什麼是軟體配置管理?他有什麼作用?
105、什麼是基線?他在配置管理中有什麼作用?
106、什麼是軟體配置管理的機制?有哪幾類機制?他們怎樣實現軟體配置管理?
107、什麼是軟體開發組織?開發組織有哪幾種方式?
108、什麼是主程式設計師小組?這種組織形式有什麼好處?
109、什麼是軟體產權?為什麼軟體產權要保護?
110、什麼是著作權、版權和專利權?他們有哪些異同?
111、什麼是商標權和商業祕密權?
112、著作權有哪幾種登記方式?辦理軟體著作權登記有哪些基本要求?
113、著作權為什麼要進行登記?
(完)