考研軟件工程復試筆試面試詳細問答_第1頁
考研軟件工程復試筆試面試詳細問答_第2頁
考研軟件工程復試筆試面試詳細問答_第3頁
考研軟件工程復試筆試面試詳細問答_第4頁
考研軟件工程復試筆試面試詳細問答_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

什么是軟件工程?當前有哪幾種主要的軟件工程方法?概括地說,軟件工程是指導計算機軟件開發(fā)和保護的一門工程學科.采用工程的見解、原理、技術、和方法來開發(fā)與保護軟件,把經過時間考驗而證明正確的管理技術和當前能夠獲取的最好的技術方法結合起來,以經濟地開發(fā)出高質量的軟件并有效地保護它,這就是軟件工程。但軟件工程素來以來都缺乏一個一致的定義,很多學者、組織機構都分別給出了自己的定義。主要有傳統(tǒng)方法也稱為經典軟件工程方法或生命周期方法或構造化范型和面向對象方法。2、流程圖與數據流圖有什么主要差異?(1)數據流圖(dateflowdiagram,DFD),是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數據在系統(tǒng)中流動和辦理的過程,由于它只反響系統(tǒng)必定完成的邏輯功能,因此它是一種功能模型,是從數據的角度來描繪一個系統(tǒng)的;而流程圖則是從對數據加工的角度來描繪系統(tǒng)的;2)數據流圖中的箭頭是數據流,而流程圖中的箭頭則是控制流,它表達的是程序執(zhí)行的次序;3)數據流圖適合于宏觀地解析一個組織業(yè)務大要,而程序流程圖只適合于描繪系統(tǒng)中某個加工的執(zhí)行細節(jié)。4)數據流程圖應該要點描繪了數據加工的過程,主若是模塊內部,數據流圖則是描繪模塊之間的關系。3.軟件需求解析的任務是什么?有哪些主要步驟?需求解析的基本任務是深入描繪軟件的功能和性能、確定軟件設計的拘束和軟件同其他系統(tǒng)元素的接口細節(jié)、定義軟件的其他有效性需求,總之,需求解析的任務就是借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)的邏輯模型,解決目標系統(tǒng)的“做什么”的問題。主要步驟:問題鑒別功能需求:明確所開發(fā)的軟件必定具備什么樣的功能。性能需求:明確待開發(fā)的軟件的技術性能指標。環(huán)境需求:明確軟件運行時所需要的軟、硬件的要求。用戶界面需求:明確人機交互方式、輸入輸出數據格式。解析與綜合,導出軟件的邏輯模型解析人員對獲取的需求,進行一致性的解析檢查,在解析、綜合中漸漸細化軟件功能,劃分成各個子功能。用圖文結合的形式,建立起新系統(tǒng)的邏輯模型。編寫文檔編寫“需求規(guī)格說明書”,把雙方共同的理解與解析結果用規(guī)范的方式描繪出來,作為今后各項工作的基礎。編寫初步用戶使用手冊,重視反響被開發(fā)軟件的用戶功能界面和用戶使用的詳盡要求,用戶手冊能逼迫解析人員從用戶使用的見解考慮軟件。編寫確認測試計劃,作為今后確認和查收的依據。改正完滿軟件開發(fā)計劃。在需求解析階段對待開發(fā)的系統(tǒng)有了更進一步的認識,因此能改正確地估計開發(fā)成本、進度及資源要求,因此對原計劃要進行適合修正。4.簡述構造化解析、設計的要點:構造化解析方法適合于數據辦理種類軟件的需求解析。其要點是"自頂向下"地開發(fā)系統(tǒng),由整體到各組成部分,由表及里,由抽象到具體,漸漸求精.模塊化由頂向下,漸漸求精.上層模塊分解為基層模塊,有三種不相同的構造形式,即次序構造,選擇構造和循環(huán)構造.5.數據字典包括哪些主要內容?數據字典平時包括數據項、數據構造、數據流、數據儲藏和辦理過程五個部分.據字典內容包括:數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。分配多少空間,當前使用了多少空間等。列的缺省值。拘束信息的完滿性。用戶的名字。用戶及角色被授予的權限。用戶接見或使用的審計信息。其他產生的數據庫信息。6.軟件測試的目標是什么,有哪幾種主要有測試方法?軟件測試的目標:測試是為了發(fā)現程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極可能發(fā)現迄今為止還沒有發(fā)現的錯誤的測試方案;成功的測試是發(fā)現了到此刻為止還沒有發(fā)現的錯誤的測試。軟件測試的方法有動向測試、靜態(tài)測試和正確性證明7.白盒測試主要有哪些覆蓋?

3種。語句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋、點覆蓋、邊覆蓋、路徑覆蓋8、選擇一種程序設計語言的主要有哪些依據?為了使程序簡單測試和保護以減少生命周期的總成本,采用的高級語言應該有理想的模塊化體系,以及可讀性好的控制構造和數據構造;為了便于調試和提高軟件可靠性,語言特點應該使編譯程序能夠盡可能多地發(fā)現程序中的錯誤;為了降低軟件開發(fā)和保護的成本,采用的語言應該有優(yōu)異的獨立編譯體系。上述這些要求是選擇語言的理想標準,但是在實質采用語言時不能夠不過考慮理論上的標準,還必定同時考慮合用方面的各種限制。系統(tǒng)用戶的要求能夠使用的編譯程序能夠獲取的軟件工具系統(tǒng)規(guī)模程序員的知識軟件可移植性要求軟件的應用領域9.軟件的保護的目標是什么,有哪幾種保護種類?糾正在使用過程中裸露出來的錯誤而進行的改進性保護,適應外面環(huán)境的變化而進行的適應性保護,改進原有的軟件而進行的完滿性保護,以及改進將來的可保護性和可靠性而進行的預防性保護。軟件保護的分類:軟件保護主要劃分為糾錯性保護、適應性保護和完滿性保護。糾錯性保護。由于先期的測試不能能揭示軟件系統(tǒng)中所有潛藏的錯誤,用戶在使用軟件時仍將會遇到錯誤,診斷和改正這些錯誤的過程稱為糾錯性保護。適應性保護。由于新的硬件設備不斷推出,操作系統(tǒng)和編譯系統(tǒng)也不斷地升級,為了使軟件能適應新的環(huán)境而引起的程序改正和擴大活動稱為適應性保護。完滿性保護。在軟件的正常使用過程中,用戶還會不斷地提出新的需求。為了滿足用戶新的需求而增加軟件功能的活動稱為完滿性保護。10.簡述提高軟件質量的主要措施。復審:是在軟件生命周期每個階段結束從前,都采用必然的標準對該段產生的軟件配置成分進行嚴格的正式或非正式的檢測。復查:是檢查已有的資料,以判斷在軟件生命周期某個階段的工作可否能夠開始或連續(xù)。管理復審:是向開發(fā)組織或使用部門的管理人員供應有關項目的整體情況、成本和進度等方面的情況,以便他們從管理角度對開發(fā)工作進行審查。測試:包括測試計劃、測試過程和測試結果3個階段。11.面向對象如何實現模塊獨立性,其偶合和內聚的含義是什么?由于對象是由數據及能夠對這些數據施加的操作所組成的一致體,而且對象是以數據為中心的,操作圍繞對其數據所需做的辦理來設置,沒有沒關的操作。因此,對象內部各種元素相互結合得很親近。內聚性相當強,由于完成對象所需要的元素(數據和方法)基本上都被封裝在對象內部,它與外界的聯(lián)系自然就比較少。因此,對象之間的耦合平時比較松??傊?,面向對象使用對象、類、繼承和信息的方法,既使用類和繼承等體系,而且對象之間僅能經過傳達信息實現相互通信來實現模塊的獨立性。12.面向對象和面向過程軟件工程有哪些差異?1)面向過程就是解析出解決問題所需要的步驟,爾后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。面向對象是把組成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。2)面向過程是把一件事一項工程分解成為一個個小的功能,用一個個函數來實現.面向對象是把事情看作是一個個小的對象組成的,也許說一個個小部分組成的,這些對象之間的互有關系,組成了整個項目.在面向對象的思想中,萬物皆對象。而"類",就是對象的抽象也許說是概括。簡述對象、類、信息、方法的基本見解。1)對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不但能表示詳盡的事物,還能夠表示抽象的規(guī)則、計劃或事件。2)類是擁有相同或相似性質的對象的抽象。對象的抽象是類,類的詳盡化就是對象,也能夠說類的實例是對象。類擁有屬性,它是對象的狀態(tài)的抽象,用數據構造來描繪類的屬性。類擁有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描繪。對象之間進行通信的構造叫做信息。在對象的操作中,當一個信息發(fā)送給某個對象時,信息包括接收對象去執(zhí)行某種操作的信息。發(fā)送一條信息最少要包括說明接受信息的對象名、發(fā)送給該對象的信息名(即對象名、方法名)。一般還要對參數加以說明,參數能夠是認識該信息的對象所知道的變量名,也許是所有對象都知道的全局變量名。(4)類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體。14.簡述面向對象解析設計的三個模型。答:三個模型:對象模型、動向模型、功能模型(1)對象模型描繪系統(tǒng)的靜態(tài)構造,包括類和對象,它們的屬性和操作,以及它們之間的關系。構造對象模型的目的在于找出與應用程序親近有關的見解。對象模型用包括對象及對象的關系圖表示。(2)動向模型重視于系統(tǒng)的控制邏輯,察看在任何時候對象及其關系的改變,描繪這些波及時序和改變的狀態(tài)。動向模型包括狀態(tài)圖和事件追蹤圖。狀態(tài)圖是一個狀態(tài)和事件的網絡,重視于描繪每一類對象的動向行為。事件追蹤圖則重視于說明系統(tǒng)執(zhí)行過程中的一個特點“場景”,也叫做腳本(scenarios),是完成系統(tǒng)某個功能的一個事件序列。腳本平時初步于一個系統(tǒng)外面的輸入事件,結束于一個系統(tǒng)外面的輸出事件。3)功能模型重視于系統(tǒng)內部數據的傳達和辦理。功能模型表示,經過計算,從輸出數據能獲取什么樣的輸出數據,但不考慮參加計算的數據按什么時序執(zhí)行。功能模型由多個數據流圖組成,它們指明從外面輸出,經過操作和內部儲藏,直到外面輸出的整個數據流情況。功能模型還包括了對象模型內部數據間的限制。功能模型中的數據流圖經常形成一個層次構造,一個數據流圖的過程能夠由下一層的數據流圖作進一步的說明。什么是軟件工程?當前有哪幾種主要的軟件工程方法?概括地說,軟件工程是指導計算機軟件開發(fā)和保護的一門工程學科.采用工程的見解、原理、技術、和方法來開發(fā)與保護軟件,把經過時間考驗而證明正確的管理技術和當前能夠獲取的最好的技術方法結合起來,以經濟地開發(fā)出高質量的軟件并有效地保護它,這就是軟件工程。但軟件工程素來以來都缺乏一個一致的定義,很多學者、組織機構都分別給出了自己的定義。主要有傳統(tǒng)方法也稱為經典軟件工程方法或生命周期方法或構造化范型和面向對象方法。2、流程圖與數據流圖有什么主要差異?(1)數據流圖(dateflowdiagram,DFD

),是

SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數據在系統(tǒng)中流動和辦理的過程,由于它只反響系統(tǒng)必定完成的邏輯功能,因此它是一種功能模型,是從數據的角度來描述一個系統(tǒng)的;而流程圖則是從對數據加工的角度來描繪系統(tǒng)的;2)數據流圖中的箭頭是數據流,而流程圖中的箭頭則是控制流,它表達的是程序執(zhí)行的次序;3)數據流圖適合于宏觀地解析一個組織業(yè)務大要,而程序流程圖只適合于描繪系統(tǒng)中某個加工的執(zhí)行細節(jié)。4)數據流程圖應該要點描繪了數據加工的過程,主若是模塊內部,數據流圖則是描繪模塊之間的關系。3.軟件需求解析的任務是什么?有哪些主要步驟?需求解析的基本任務是深入描繪軟件的功能和性能、確定軟件設計的拘束和軟件同其他系統(tǒng)元素的接口細節(jié)、定義軟件的其他有效性需求,總之,需求解析的任務就是借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)的邏輯模型,解決目標系統(tǒng)的“做什么”的問題。主要步驟:問題鑒別功能需求:明確所開發(fā)的軟件必定具備什么樣的功能。性能需求:明確待開發(fā)的軟件的技術性能指標。環(huán)境需求:明確軟件運行時所需要的軟、硬件的要求。用戶界面需求:明確人機交互方式、輸入輸出數據格式。解析與綜合,導出軟件的邏輯模型解析人員對獲取的需求,進行一致性的解析檢查,在解析、綜合中漸漸細化軟件功能,劃分成各個子功能。用圖文結合的形式,建立起新系統(tǒng)的邏輯模型。編寫文檔編寫“需求規(guī)格說明書”,把雙方共同的理解與解析結果用規(guī)范的方式描繪出來,作為今后各項工作的基礎。編寫初步用戶使用手冊,重視反響被開發(fā)軟件的用戶功能界面和用戶使用的詳盡要求,用戶手冊能逼迫解析人員從用戶使用的見解考慮軟件。編寫確認測試計劃,作為今后確認和查收的依據。改正完滿軟件開發(fā)計劃。在需求解析階段對待開發(fā)的系統(tǒng)有了更進一步的認識,因此能改正確地估計開發(fā)成本、進度及資源要求,因此對原計劃要進行適合修正。4.簡述構造化解析、設計的要點:構造化解析方法適合于數據辦理種類軟件的需求解析。其要點是"自頂向下"地開發(fā)系統(tǒng),由整體到各組成部分,由表及里,由抽象到具體,漸漸求精.模塊化由頂向下,漸漸求精.上層模塊分解為基層模塊,有三種不相同的構造形式,即次序構造,選擇構造和循環(huán)構造.5.數據字典包括哪些主要內容?數據字典平時包括數據項、數據構造、數據流、數據儲藏和辦理過程五個部分.據字典內容包括:數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。分配多少空間,當前使用了多少空間等。列的缺省值。拘束信息的完滿性。用戶的名字。用戶及角色被授予的權限。用戶接見或使用的審計信息。其他產生的數據庫信息。6.軟件測試的目標是什么,有哪幾種主要有測試方法?軟件測試的目標:測試是為了發(fā)現程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極可能發(fā)現迄今為止還沒有發(fā)現的錯誤的測試方案;成功的測試是發(fā)現了到此刻為止還沒有發(fā)現的錯誤的測試。軟件測試的方法有動向測試、靜態(tài)測試和正確性證明3種。7.白盒測試主要有哪些覆蓋?語句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋、點覆蓋、邊覆蓋、路徑覆蓋8、選擇一種程序設計語言的主要有哪些依據?為了使程序簡單測試和保護以減少生命周期的總成本,采用的高級語言應該有理想的模塊化體系,以及可讀性好的控制構造和數據構造;為了便于調試和提高軟件可靠性,語言特點應該使編譯程序能夠盡可能多地發(fā)現程序中的錯誤;為了降低軟件開發(fā)和保護的成本,采用的語言應該有優(yōu)異的獨立編譯體系。上述這些要求是選擇語言的理想標準,但是在實質采用語言時不能夠不過考慮理論上的標準,還必定同時考慮合用方面的各種限制。系統(tǒng)用戶的要求能夠使用的編譯程序能夠獲取的軟件工具系統(tǒng)規(guī)模程序員的知識軟件可移植性要求軟件的應用領域9.軟件的保護的目標是什么,有哪幾種保護種類?糾正在使用過程中裸露出來的錯誤而進行的改進性保護,適應外面環(huán)境的變化而進行的適應性保護,改進原有的軟件而進行的完滿性保護,以及改進將來的可保護性和可靠性而進行的預防性保護。軟件保護的分類:軟件保護主要劃分為糾錯性保護、適應性保護和完滿性保護。糾錯性保護。由于先期的測試不能能揭示軟件系統(tǒng)中所有潛藏的錯誤,用戶在使用軟件時仍將會遇到錯誤,診斷和改正這些錯誤的過程稱為糾錯性保護。適應性保護。由于新的硬件設備不斷推出,操作系統(tǒng)和編譯系統(tǒng)也不斷地升級,為了使軟件能適應新的環(huán)境而引起的程序改正和擴大活動稱為適應性保護。完滿性保護。在軟件的正常使用過程中,用戶還會不斷地提出新的需求。為了滿足用戶新的需求而增加軟件功能的活動稱為完滿性保護。10.簡述提高軟件質量的主要措施。復審:是在軟件生命周期每個階段結束從前,都采用必然的標準對該段產生的軟件配置成分進行嚴格的正式或非正式的檢測。復查:是檢查已有的資料,以判斷在軟件生命周期某個階段的工作可否能夠開始或連續(xù)。管理復審:是向開發(fā)組織或使用部門的管理人員供應有關項目的整體情況、成本和進度等方面的情況,以便他們從管理角度對開發(fā)工作進行審查。測試:包括測試計劃、測試過程和測試結果3個階段。11.面向對象如何實現模塊獨立性,其偶合和內聚的含義是什么?由于對象是由數據及能夠對這些數據施加的操作所組成的一致體,而且對象是以數據為中心的,操作圍繞對其數據所需做的辦理來設置,沒有沒關的操作。因此,對象內部各種元素相互結合得很親近。內聚性相當強,由于完成對象所需要的元素(數據和方法)基本上都被封裝在對象內部,它與外界的聯(lián)系自然就比較少。因此,對象之間的耦合平時比較松??傊?,面向對象使用對象、類、繼承和信息的方法,既使用類和繼承等體系,而且對象之間僅能經過傳達信息實現相互通信來實現模塊的獨立性。12.面向對象和面向過程軟件工程有哪些差異?1)面向過程就是解析出解決問題所需要的步驟,爾后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。面向對象是把組成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。2)面向過程是把一件事一項工程分解成為一個個小的功能,用一個個函數來實現.面向對象是把事情看作是一個個小的對象組成的,也許說一個個小部分組成的,這些對象之間的互有關系,組成了整個項目.在面向對象的思想中,萬物皆對象。而"類",就是對象的抽象也許說是概括。簡述對象、類、信息、方法的基本見解。1)對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不但能表示詳盡的事物,還能夠表示抽象的規(guī)則、計劃或事件。2)類是擁有相同或相似性質的對象的抽象。對象的抽象是類,類的詳盡化就是對象,也能夠說類的實例是對象。類擁有屬性,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論