如何評測軟件工程知識技能水平?附帶個人整理試卷


高軟課程總結:

首先簡要的談一下該門課程的收獲:

1、對軟件有了一個更高層次的認識

在未接觸過高級軟件工程這門課程之前,我一直對軟件存在一些偏見或者是誤解,認為軟件就是程序,軟件的開發就是編寫程序,只是編完了程序,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。然后通過課程的學習逐漸認識到一個軟件的誕生不僅僅就是寫代碼的過程,甚至寫代碼的完成其中很小的一個部分,需求分析,設計,測試以及軟件的維護等都是一個高質量的軟件的誕生比不可少的過程。

2、對寫代碼有了更高層次的認識

之前在寫代碼時,只注重完成自己所需完成的功能即可。然后通過課程的學習逐漸認識到我們在完成代碼時,不僅有各種經驗【如課程教授的設計模式與編寫代碼的風格等】的參考,還需要考慮自己所完成的代碼的可重用性,可修改性以及可擴展性等各個方面去綜合考慮自己所寫的代碼,使的自己的代碼具有更好的可維護性。

3、對團隊開發的協作有了初步的認識

之前從未涉及過此類的知識,其實團隊之間的分工,統一,對於我這類從未設計過團隊項目的菜鳥而言,這種學習勢必能讓我們在以后的工作中少走一些彎路。

4、學會了多種圖形化的交流的方式

包括如何在用戶不具備專業知識的前提下仍然能完成對用戶需求的捕捉,例如從用戶的角度構建各種模型,來更好地明白客戶所需要的東西。例如:用例建模;包括如何避免軟件開發過程中概念的歧義性問題,通過領域建模。初步熟悉了各種UML圖。

我想對一門課程的學習老師所教授的有些方面知識啟發性的傳授,關於此門課程的學習僅僅通過該課程的學習還是不夠的,對於課上沒有詳細涉及的部分還需要自己去學習才能完善該學科的知識體系吧!

 

知識點簡要匯總【僅部分】

 

編程方面:

快捷鍵的熟悉與快速的輸入是程序員比不可少的基本功,稱為一名程序員之后你才能稱為軟件工程師;

其次是代碼風格的養成:是否具有注釋的好習慣,所編寫的代碼並不是自己理解即可,而是需要具有良好的可讀性的【你跑了后來來頂替你的人可就苦了】;然后還有命名規范,好的命名絕對是提高代碼可閱讀性的一個利器。

最后就是需要熟練掌握的工具集:好的開發與開發工具的使用是不可分割的,找准自己所工作領域的最適合的工具絕對能使工作效率大大升高。可以從市面流行的工具下手逐步找到自己最中意的工具,例如VSCode,IDEA、vim等等。

 

軟件開發過程方面:

軟件生命周期概念:將軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。

軟件過程的各種模型的特征、優缺點、使用范圍。

 

優點

缺點

使用范圍

瀑布模型

(1)有利於大型軟件開發過程中人員的組織、管理,

(2)有利於軟件開發方法和工具的研究,從而提高了大型軟件項目開發的質量和效率。

 

(1)開發過程一般不能逆轉,否則代價太大;

(2)實際的項目開發很難嚴格按該模型進行;

(3)客戶往往很難清楚地給出所有的需求,而該模型卻要求如此。

(4)軟件的實際情況必須到項目開發的后期客戶才能看到,這要求客戶有足夠的耐心。

(1)用戶的需求非常清楚全面,且在開發過程中沒有或很少變化;

(2)開發人員對軟件的應用領域很熟悉;

(3)用戶的使用環境非常穩定;

(4)開發工作對用戶參與的要求很低。

 

快速原型模型

(1)可以得到比較良好的需求定義,容易適應需求的變化;

(2)有利於開發與培訓的同步;

(3)開發費用低、開發周期短且對用戶更友好。

(1)客戶與開發者對原型理解不同;

(2)准確的原型設計比較困難;

(3)不利於開發人員的創新。

(1)對所開發的領域比較熟悉而且有快速的原型開發工具;

(2)項目招投標時,可以以原型模型作為軟件的開發模型;

(3)進行產品移植或升級時,或對已有產品原型進行客戶化工作時,原型模型是非常適合的。

增量模型

(1)采用增量模型的優點是人員分配靈活,剛開始不用投入大量人力資源;

(2)如果核心產品很受歡迎,則可增加人力實現下一個增量;

(3)可先發布部分功能給客戶,對客戶起到鎮靜劑的作用。

(1)並行開發構件有可能遇到不能集成的風險,軟件必須具備開放式的體系結構;

(2)增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。

(1)進行已有產品升級或新版本開發,增量模型是非常適合的;

(2)對完成期限嚴格要求的產品,可以使用增量模型;

(3)對所開發的領域比較熟悉而且已有原型系統,增量模型也是非常適合的。

 

設計模式:

設計模式,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。

僅舉例一個比較熟悉的設計模式:

觀察者模式:

觀察者模式(又被稱為發布-訂閱(Publish/Subscribe)模式,屬於行為型模式的一種,它定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態變化時,會通知所有的觀察者對象,使他們能夠自動更新自己。

形象表述:

 

 

 分析及建模方面:

用例建模:

用例建模的目的:從用戶的角度去建立系統功能的模型,

具體步驟為:

確定參與者,即與系統交互的人、其他系統、硬件等。

確定用例:用例應該典型的描繪系統功能中某個從開始到結束的過程。

具體可參考之前作業:用例建模作業

業務領域建模:

領域建模的目的是通過建立映射問題空間的常用詞匯來解決項目溝通不暢的問題。

【個人理解:容易出現有歧義的詞,當出現有歧義的詞時,就會導致有不同的理解,從而可能會導致實現偏差。若提前定義了該詞的意義,就可以避免這種情況。】

具體可參考之前的作業:業務領域建模。

 

 

 

 


 

區分軟件工程師水平高低的人數【個人觀點】:

1.僅僅是停留在編程語言面上還是理解編程語言的思想【OOP 、OOD、OOA】以及各種編程語言的優勢在什么領域劣勢,在什么領域?

2.數據結構與算法,搬磚還是造輪子?同樣一個問題的處理時間不同的DS或者算法處理的時間

2.在給出一個需求的時候之后,是只關注需求的完成,還是在完成需求的完成的同時遵循代碼的規范,例如:正確的命名方式以及邏輯模塊的划分【1個方法中多個邏輯?】

3.在處理問題的時候是只關注眼前的問題,還是在解決到當前的問題時考慮對其他模塊的影響。

4.能精准的鎖定自己所設計的軟件的用戶群體,以及對用戶群體心理的把握,是僅僅完成產品還是在完成產品的同時能考慮到大多數用戶的偏好。

5.在出現問題時是否能快速逐級的鎖定出問題的模塊?

6.對各種設計模式的機制理解以及應用場景

7.是否具備足夠的網絡安全安全方面的知識

8.進度安排,項目管理

9.撰寫技術文檔

10.僅僅會用框架還是明白各種框架的原理機制與為什么這么設計?指出該框架的優劣

11.對系統質量的要求:一般、嚴厲、苛刻?

 

 

 

 

 

由於是軟件工程的考試,所以相關試題均是軟件工程的試題。

試卷部分

一、名詞解釋

1.功能內聚

參考答案:功能內聚指模塊內所有元素共同完成一個功能,缺一不可,因此模塊不能再分割。

2.多態

參考答案:同一操作作用於不同的對象,可以有不同的解釋,產生不同的執行結果。

3.模塊化

參考答案:模塊化是指解決一個復雜問題時自頂向下逐層把系統划分成若干模塊的過程。

4.設計模式

參考答案:設計模式,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。

5.實現視圖

 參考答案:從程序員的角度看待系統的視圖。

二、填空題

1.瀑布模型是以文檔為驅動、適合於______軟件項目的開發。

參考答案:軟件需求確定的

考察點及解析:區分於軟件需求不確定的快速原型模型。

根據瀑布模型與快速原型模型概念即可得。

來源:2006年中南大學考研試題

 

2.模塊之間的耦合最好采用______耦合。

參考答案:數據

考察點及解析:耦合緊密程度排序

一般模塊之間可能的連接方式有七種,構成耦合性的七種類型。它們之間的關系為(耦合性性由強到弱):

 解析:

內容耦合(Content Coupling) 如果發生下列情形,兩個模塊之間就發生了內容耦合。

1.一個模塊直接訪問另一個模塊的內部數據;

2.一個模塊不通過正常入口轉到另一模塊內部;

3.兩個模塊有一部分程序代碼重疊(只可能出現在匯編語言中);

4.一個模塊有多個入口。

公共耦合(Common Coupling) 若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。

外部耦合(External Coupling) 一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。

控制耦合(Control Coupling) 如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。

印記耦合(Stamp Coupling) 如果一組模塊通過參數表傳遞記錄信息,就是標記耦合。它是某一數據結構的子結構,而不是簡單變量。

數據耦合(Data Coupling) 如果一個模塊訪問另一個模塊時,彼此之間是通過數據參數(不是控制參數、公共數據結構或外部變量)來交換輸入、輸出信息的,則稱這種耦合為數據耦合。

非直接耦合(Nondirect Coupling) 如果兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。這種耦合的模塊獨立性最強。

來源:2014年944專業課考研真題

 

3.在常見的軟件生存期模型中,______模型是風險驅動的。

參考答案:螺旋

考察點及解析:螺旋模型的特點。

螺旋模型是一種演化軟件開發過程模型,它兼顧了快速原型的迭代的特征以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟件應用。

來源:2008年中南大學考研試題

 

4.UML 關系包括關聯、 聚合、 泛化、 實現、 依賴等 5 種類型, 請將合適的關 系填寫在下列描述的( ) 中。 ① 用例及其協作之間是_____關系。 ② 在學校中, 一個學生可以選修多門課程, 一門課程可以由多個學生選修, 那 么學生和課程之間是______ 關系。 ③ 類 A 的一個操作調用類 B 的一個操作, 且這兩個類之間不存在其他關系, 那 么類 A 和類 B 之間是__ 關系。 ④ 森林和樹木之間是_____ 關系。

參考答案:實現,關聯,依賴,聚合

考察點及解析:UML幾種關系的理解

解析見選擇題2.

來源:百度文庫,高級軟件工程師測試題第一套

 

5.需求分析的基本任務是___________,在需求分析結束前,系統分析員應該寫出 _ ________,以書面的形式准確描述軟件需求。

參考答案:准確地回答系統必須做什么 ,軟件需求規格說明書。

考察點及解析:熟悉對軟件開發過程中需求分析階段。【需求分析為開發過程中的重要階段】

解析見簡答題4。

來源:2008中南大學考研真題

 

三、選擇題

1.UML是軟件開發中的一個重要工具,它主要應用於哪種軟件開發方法()。

A.基於瀑布模型的結構化方法 B.基於需求動態定義的原型化方法

C. 基於對象的面向對象的方法 D. 基於數據的數據流開發方法

參考答案:C

考察點及解析:對UML的理解

面向對象的技術首先是SmallTalk語言中得到應用,后來隨着C++、JAVA等面向對象語言的出現,面向對象技術的廣泛開發工具的支持,UML是在面向對象的軟件開發在設計階段常用的一個工具。

來源:鄭州大學軟件工程考研試題【年份待確定】

 

2.車與車輪之間的關系是()。

A.組合  B.聚合  C.繼承  D.關聯

參考答案:A

考察點及解析:UML的幾種關系的理解

UML中定義的關系主要有6種

泛化:

在程序中通過“繼承”來實現,也可以認為就是繼承; 通過空心三角形+實線來表示,子類指向父類。

實現:

可以理解為類與接口之間的關系; 通過空心三角形+虛線來表示,從實現類指向接口

依賴:

是一種“使用”關系,即一個類(A)的實現需要用到另一個類(B)。 盡量不要使用雙向依賴。 一般表現為類A中的方法需要類B的實例作為其參數或變量,但是類A本身並不需要引用類B的實例作為其成員變量。 使用虛線箭頭表示,類A指向類B。

關聯:

比依賴的關系更強,類A使用類B的實例作為自己本身的一個成員變量。 使用實線箭頭表示,類A指向類B。

聚合:

傳說中的 has-a關系,類A和類B是整體和部分的關系。但是兩個部分的生存周期可以不同,沒那么強的約束關系。 是一種更強的關聯關系,關聯關系的特例。 使用空心菱形+實線來表示,范圍小的指向范圍大的。

組合:

contains-a關系,類A和類B也是整體和部分關系,但是之間的關聯更強,有共同的生命周期,一旦整體不存在,部分也將不存在。 通過實心菱形+實線來表示,范圍小的指向范圍大的。

來源: 百度文庫 軟件工程測試題匯集

 

3.在軟件開發中,需求分析階段可以使用的工具是( )。

A、N-S圖 B、DFD圖 C、PAD圖 D、程序流程圖

參考答案:B

考察點以及解析:

需求分析最重要的就是IT人員、業務人員都能夠理解的,便於雙方溝通、確認,同時又不能夠是純粹自然語言的,否則沒有辦法轉換為計算機的程序實現: 1、N-S圖,Nassi和Shneiderman 提出了一種符合結構化程序設計原則的圖形描述工具,叫做盒圖,也叫做N-S圖。為表示五種基本控制結構,在N-S圖中規定了五種圖形構件。 2、DFD圖,簡稱DFD,它從數據傳遞和加工角度,以圖形方式來表達系統的邏輯功能、數據在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具及用於表示軟件模型的一種圖示方法。 3、PAD圖,PAD是Problem Analysis Diagram的縮寫,它是日本日立公司提出,由程序流程圖演化來的,用結構化程序設計思想表現程序邏輯結構的圖形工具。 4、程序流程圖,獨立於任何一種程序設計語言,比較直觀、清晰,易於學習掌握。 DFD圖是需求分析階段業務人員能夠理解的工具,而N-S圖、PAD圖、程序流程圖,都是具體到設計階段的設計工具

來源:http://www.k51.com.cn/QuestDetail/0c78e9fb-6f7f-415b-b5d5-e6d6001500c6.html

 

4.以下哪一項不是面向對象的特征( ).

A.多態性 B.繼承性 C.封裝性 D.過程調用

參考答案:D

考察點及解析:OOP特征的理解

面向對象的特征有:

(1)對象唯一性。

每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。

(2)抽象性。

抽象性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的划分都是主觀的,但必須與具體的應用有關。

(3)繼承性。

繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。

繼承性是面向對象程序設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。

在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。

在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承

多重繼承,JAVA、VB、NET、Objective-C均僅支持單繼承,注意在C++多重繼承時,需小心二義性。

軟件開發中,類的繼承性使所建立的軟件具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重用性。

采用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重用性。

(4)多態性(多形性)

多態性是指相同的操作或函數、過程可作用於多種類型的對象上並獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。

多態性允許每個對象以適合自身的方式去響應共同的消息。

多態性增強了軟件的靈活性和重用性。

來源:2016年復旦大學期末考試題

 

5.模塊內聚度越高,說明模塊內各成分彼此結合的程度越( )。

A.松散 B.緊密 C.無法判斷 D.相等

參考答案:B

考察點:內聚與耦合的概念理解。

內聚度是前述信息隱藏和局部化概念的自然擴展,它標志一個模塊內部各成分彼此結合的緊密程度。內聚度按其高低程度可分為7級,內聚度越高越好。

內聚度是前述信息隱藏和局部化概念的自然擴展,它標志一個模塊內部各成分彼此結合的緊密程度。

設計軟件時,應該能夠識別內聚度的高低,並通過修改設計盡可能提高模塊內聚度,從而獲得較高的模塊獨立性

來源:2015北京航空航天大學期末考試題

 

6.下面不屬於軟件需求分析階段主要工作的是()

A、需求變更申請

B、需求分析

C、需求評審

D、需求獲取

參考答案:A

考察點與解析:

需求分析是軟件生命周期的一個重要階段,它的基本任務是准確地回答“系統必須做什么”這個問題,

它的主要工作分為4個方面,分別是需求獲取、需求分析、編寫需求規格說明書及需求評審。需求獲取是通過和用戶的接觸初步確定系統的功能;需求分析的任務是確定系統必須完成哪些工作,也就是對目標系統提出完整、准確、清晰、具體的要求;在需求分析階段結束以前,系統分析員應該寫出需求規格說明書;需求評審是根據需求規格說明書來嚴格審查和驗證需求分析的結果。

來源:https://www.shangxueba.cn/933321.html

 

7、下列選項中不屬於結構化程序設計原則的是( )。

A、可封裝

B、自頂向下

C、模塊化

D、逐步求精

參考答案:A

考察點與解析:

結構化程序設計的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A。

來源:

 

8、構成計算機軟件的是()

A、源代碼

B、程序與數據

C、程序與文檔

D、程序、數據、相關文檔

參考答案:D

考察點及解析:軟件指的是計算機系統中與硬件相互依賴的另 —部分,包括程序、數據和有關的文檔,選D。

來源:計算機二級MS Office試題庫

 

9、軟件開發模型是對軟件開發過程的一種規范描述,用於表示軟件開發過程的整體框架和軟件開發活動各階段間的關系。下列模型屬於軟件開發模型的是

Ⅰ.瀑布模型 Ⅱ.快速原型模型 Ⅲ.增量模型 Ⅳ.螺旋模型

A、Ⅰ、II、Ⅲ和Ⅳ

B、II、Ⅲ

C、Ⅰ、II和Ⅳ

D、II、Ⅲ和Ⅳ

參考答案:A

考察點及解析:軟件開發模型的了解。

軟件開發模型(Software Development Model)是指軟件開發全部過程、活動和任務的結構框架。軟件開發包括需求、設計、編碼和測試等階段,有時也包括維護階段。 軟件開發模型能清晰、直觀地表達軟件開發全過程,明確規定了要完成的主要活動和任務,用來作為軟件項目工作的基礎。對於不同的軟件系統,可以采用不同的開發方法、使用不同的程序設計語言以及各種不同技能的人員參與工作、運用不同的管理方法和手段等,以及允許采用不同的軟件工具和不同的軟件工程環境。

軟件工程之軟件開發模型類型 1.邊做邊改模型 2.瀑布模型 3.演化模型 4.增量模型 5.螺旋模型 6.噴泉模型 7.敏捷模型-SCRUM

各種模型的優點和缺點 瀑布模型 文檔驅動 系統可能不滿足客戶的需求 快速原型模型 關注滿足客戶需求 可能導致系統設計差、效率低,難於維護 增量模型 開發早期反饋及時,易於維護 需要開放式體系結構,可能會設計差、效率低 螺旋模型 風險驅動 風險分析人員需要有經驗且經過充分訓練

來源:https://wenku.baidu.com/view/0813c9d86e1aff00bed5b9f3f90f76c661374c55.html


 

四、簡答題【簡答題無解析】

1.什么是軟件工程?軟件工程與計算機科學有什么不同?

參考答案:軟件工程是將系統化的、嚴格約束的、可量化的方法應用於軟件的開發、運行和維護,即將工程化應用於軟件。

SE與CS的區別:計算機科學着重於計算機相關原理和理論的研究。而軟件工程與計算機科學不同,軟件工程着重於如何建造軟件系統,即把計算機技術看做工具,用以解決問題。

考察點:區分SE於CS

來源:一個復習提綱上列出的一道題目。

 

2..面向對象方法中,類和對象有何聯系與區別?舉例說明。

參考答案:聯系:類是一組相似對象的一般化描述,同一個類中的對象繼承類的屬性和方法。

區別:類是一個抽象的概念,它不存在與現實中的時間空間中,類只是為所有的對象定義了抽象的屬性和行為;類是一個靜態的概念,類本身不攜帶任何數據,當沒有為類創建任何對象時,類本身不存在於內存空間中。對象是類的一個具體。它是一個實實在在存在的東西;對象是一個動態的概念,每一個對象都存在這有別於其它對象的屬於自己的獨特的屬性和行為。對象的屬性可以隨它自己的行為而發生改變。

舉例:各自發揮。

考察點:考察對類與對象的理解

來源:2012年944考研真題

 

3.描述一個你最熟悉的設計模式以及這樣設計的優缺點

參考答案:開放性試題

考察點:設計模式的理解考察

來源:來自之前高軟作業

 

4.軟件生存周期都包括哪些活動(至少寫5個)。

參考答案:

image-20200101142243805

來源:2015-2016復旦大學期末考試題

 

5.傳統"瀑布模型"的主要缺陷是什么? 試說明造成缺陷的原因。

參考答案:傳統"瀑布模型"的主要缺陷及其原因: 在項目的早期, 用戶常常很難清楚地 給出所有需求, 瀑布模型卻要求如此。 由於瀑布模型的特點, 早期的錯誤直到開 發晚期才能被發現, 開發的風險較大。

考察點:傳統瀑布模型以及缺點

來源:https://wenku.baidu.com/view/606bf1aaccbff121dc36835e.html

 

6.黑盒測試與白盒測試的差異是什么?

參考答案:

一、測試方式不同

1、黑盒測試:功能測試,是通過測試來檢測每個功能是否都能正常使用。

2、白盒測試:稱結構測試、透明盒測試、邏輯驅動測試或基於代碼的測試。

二、測試目的不同

1、黑盒測試:把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。

2、白盒測試:通過檢查軟件內部的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試。在程序不同地方設立檢查點,檢查程序的狀態,以確定實際運行狀態與預期狀態是否一致。

三、測試原則不同

1、黑盒測試:以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的。很明顯,如果外部特性本身設計有問題或規格說明的規定有誤,用黑盒測試方法是發現不了的。

2、白盒測試:一個模塊中的所有獨立路徑至少被測試一次。所有邏輯值均需測試true和false兩種情況。

考察點:黑盒測試與白盒測試的差異。

來源:2019年南京大學考研真題

7.用例建模與領域建模的用處?

用例建模作用:

首先,用例模型是一種標准的語言,很容易成為開發人員之間交流和溝通的媒介,用例模型可以精確地定義軟件需求,出現歧義的可能性很小,這可以保證用戶和開發人員對需求理解的一致性 其次,用例模型可以成為我們評估壓法工作量的一個標准,特別是對於迭代式開發言。迭代式開發模型里,通常依據用例模型來划分軟件的開發周期:優先級別高的用例會在早期的迭代周期中實現,而優先級別低的用例則被安排在后續的迭代周期中完成。可以通過限制每個迭代周期中的用例個數來保證迭代周期長度的合理性 再次,用例模型在整個開發過程中都扮演着非常重要的角色,它可以驅動軟件的分析和設計逐步細化 最后,測試過程中使用的測試用例-----特別是那些關注軟件功能的測試用例---往往也是根據用例模型來確定的。

【個人理解其實就是讓用戶可以在不具備專業知識的前提下,也可以與分析員無障礙的溝通的中介。】

領域建模的目的是通過建立映射問題空間的常用詞匯來解決項目溝通不暢的問題。

【個人理解:容易出現有歧義的詞,當出現有歧義的詞時,就會導致有不同的理解,從而可能會導致實現偏差。若提前定義了該詞的意義,就可以避免這種情況。】

來源:個人出題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM