1. 程式人生 > >自考軟體工程常考簡答題(整理自歷年真題2015-208)

自考軟體工程常考簡答題(整理自歷年真題2015-208)

1.簡述軟體工程與軟體危機的概念以及提出軟體工程概念的目的。
軟體工程是應用電腦科學理論和技術以及工程管理原則和方法,按預算和進度實現滿足使用者要求的軟體產品的工程,或以此為研究物件的學科。軟體危機是指軟體生產率和軟體質量遠遠滿足不了社會發展的需求,成為社會經濟發展的制約因素。
提出軟體工程概念的目的是倡導以工程的原理原則和方法進行軟體開發,以期解決出現的軟體危機。
2.簡述需求規約的概念及其基本性質。
概念:一個產品/系統所有需求陳述的正式文件,表達了一個軟體產品/系統的概念模型。
需求規約基本性質:重要性和穩定性程度,可修改的,完整的,一致的。
3. 簡述事務設計的基本步驟。
設計準備,複審並精化系統模型;確定事務處理中心;設計系統模組結構圖的頂層和第一層;自頂向下,逐步求精;
4.簡述泛化的概念及其約束。
泛化是父類和子類之間的一種關係,“is-a-kind-of”關係,四種約束:完整,不完整,互斥,重疊
5.簡述RUP設計模型以及包含的元素。
RUP設計模型是rup設計的主要結果,儘量保持該系統具有分析模型的結構,並作為系統實現的輸入,包括以下元素:設計子系統和服務子系統以及其依賴,介面和內容;設計類以及它們具有的操作/屬性/關係及其實現需求;用況細化;體系結構描述。
6.簡述因果圖方法生成測試用例的基本步驟。
通過對軟體規格說明書的分析,找出一個模組的原因和結果,並給每個原因和結果賦予一個識別符號。
分析原因和結果 ,原因和原因之間的對應關係,畫出因果圖;
在因果圖上表示出特定約束或者限制條件。
把因果圖轉換成判定表。
為每一列設計測試用例;
7.簡述軟體開發的本質。
軟體開發的本質:實現問題空間的概念和處理邏輯到解空間的概念和處理邏輯的對映 實現這一對映的基本途徑是系統建模。
8.簡述結構化分析建模的基本步驟。
建立系統環境圖,確定系統語境;自頂向下,逐步求精,建立系統的層次資料流圖。定義資料字典;描述加工。
9.簡述RUP中用況模型和分析模型的區別。
前者使用客戶語言來描述,後者使用開發語言來描述。
前者給出的是系統對外的檢視,後者給出的是系統對內的檢視。
前者需求之間可能存在冗餘,衝突,不一致的問題,後者不存在這些問題。
前者捕獲的是系統功能,後者給出的是細化的系統功能。
前者定義了一些需要在分析模型中進一步予以分析的用況,後者定義了用況模型中每個用況的細。
前者使用用況予以結構化,後者使用衍型予以結構化類
10.簡述軟體生存週期過程、軟體生存週期模型、軟體專案過程管理之間的關係。
軟體生存週期過程回答軟體開發需要做哪些工作。
軟體生存週期模型回答軟體開發獲得或任務如何組織。
軟體專案過程管理回答軟體過程如何管理。
軟體生存週期過程是軟體生存週期模型和軟體專案管理過程的基礎。
軟體生存週期模型為軟體專案過程管理提供支援。
11.計算機軟體和軟體工程提出的目的。
計算機軟體是指計算機系統中的程式及其文件,程式是計算機任務的處理物件和處理規則的描述,文件是為了理解程式所需要的闡述性資料。
12.簡述變換設計的基本步驟
1.設計準備,複審並精化系統模型;2.確定輸入,變換,輸出三部分的邊界;3.設計系統模組結構圖的定策和第一層;4.自頂向下,逐步求精;
13.簡述資訊隱藏的概念及其意義。
資訊隱藏是指模組中所包含的資訊不允許其他不需要這些資訊的模組訪問;是實現模組低耦合的一種有效途徑;但是如果一個模組是“絕對”資訊隱藏的那麼對於系統來說就毫無意義。
14.簡述RUP中分析模型的表達及其建立所進行的主要活動。
在RUP中,一個系統的分析模型是由一個分析系統定義的,該分析系統包含一組具有層次結構的包,每一個包中可包含一些分析類和用況細化;一些分析類和用況細化還可以單獨出現在分析模型中,以凸顯它們在系統體系結構方面的作用。
15什麼是驗證和確認?有什麼區別?
驗證就是證實一個過程或專案的每一軟體工作產品/服務是否正確的反映了所規約的需求;
確認就是證實所期望使用的軟體工作產品是否滿足其需求;
區別:驗證是通過提供的客觀證據,證實規約的需求是否得以滿足。確認是通過提供客觀證據,證實有關特定期望的使用或應用的需求是否得以滿足。
16.關聯,泛化,細化和依賴的概念及前三者與依賴的關係
關聯是類目之間的一種結構關係,是對一組具有相同結構,相同鏈的描述;泛化是一般性類目和它的較為特殊性類目之間的一種關係;細化是類目之間的語義關係,其中一個類目規約保證了另一個類目執行的契約;依賴是一種使用關係,用於描述一個類目使用另一類目的資訊和服務。
17.簡述RUP和UML之間的關係
RUP和UML構成了一種特定的軟體開發方法學;
UML作為一種視覺化建模語言,給出了表達事物和事物之間關係的基本術語,給出了多種模型的表達工具;
RUP利用這些術語定義了需求獲取層,系統分析層,設計層,實現層,並給出了實現各層模型之間對映的基本活動和相關指導。
18.測試策略:
1.路徑覆蓋:執行所有可能穿過程式控制流程的路徑。
2.語句覆蓋:至少執行所有語句一次
3.分支覆蓋:至少將程式中的每一個分支執行一次
4.條件覆蓋:所有可能的條件取值,包括正反兩面,要至少執行一次
5.條件組合覆蓋:所有可能的條件取值組合,至少執行一次
19.程式流程圖的主要優點和缺點:
主要優點是對控制流程的描繪很直觀,便於初學者掌握;
主要缺點是:不是一種逐步求精的工具;所表達的控制流,往往不受任何約束可隨意轉移,從而會影響甚至破壞好的系統結構設計;不易表示資料結構。
20.簡述選擇軟體生存週期模型(SLCM)的步驟
1.標識開發專案可用的SLCM;2.標識那些會影響SLCM選擇的屬性;3.表示為選擇SLCM所需要的任何約束;4.評估所選擇的SLCM;5.選擇最能滿足專案屬性和約束的SLCM