![軟件工程簡答題復(fù)習(xí)題帶答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/67768f30-97e7-4b3b-9c08-69dd4e660c05/67768f30-97e7-4b3b-9c08-69dd4e660c051.gif)
![軟件工程簡答題復(fù)習(xí)題帶答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/67768f30-97e7-4b3b-9c08-69dd4e660c05/67768f30-97e7-4b3b-9c08-69dd4e660c052.gif)
![軟件工程簡答題復(fù)習(xí)題帶答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/67768f30-97e7-4b3b-9c08-69dd4e660c05/67768f30-97e7-4b3b-9c08-69dd4e660c053.gif)
![軟件工程簡答題復(fù)習(xí)題帶答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/67768f30-97e7-4b3b-9c08-69dd4e660c05/67768f30-97e7-4b3b-9c08-69dd4e660c054.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章1,與計算機硬件相比,計算機軟件有哪些特點?軟件的特點如下。1) 無法直接觀察計算機軟件的物理形態(tài),只能通過觀察它的實際運行情況來了解它的功能、特性和質(zhì)量等。2) 人們在分析、設(shè)計、開發(fā)、測試軟件產(chǎn)品,以及在軟件開發(fā)項目的管理過程中,滲透了大量的腦力勞動。3) 不存在像硬件一樣的磨損和老化現(xiàn)象,但存在著缺陷維護和技術(shù)更新的問題。4) 軟件的開發(fā)和運行必須依賴于特定的計算機系統(tǒng)環(huán)境。5) 具有可復(fù)用性。3,什么是軟件危機?什么原因?qū)е铝塑浖C?軟件危機的現(xiàn)象如下。1) 經(jīng)費超出 預(yù)算,項目一再拖延。2) 不重視需求,開發(fā)的軟件不能滿足用戶的要求,項目成功率低。3) 沒有規(guī)范的 軟件工程方
2、法 ,軟件可維護性差、軟件質(zhì)量差、可靠性差。4) 開發(fā)工具 落后,手工方式,開發(fā)效率低。所有導(dǎo)致軟件危機的原因,都與軟件本身的產(chǎn)品特點相關(guān)。1) 軟件是一個復(fù)雜的邏輯產(chǎn)品。如果沒有解決復(fù)雜問題的有效方法,以及軟件產(chǎn)品的結(jié)構(gòu)、質(zhì)量、可維護性得不到保障,開發(fā)與維護費用就會持續(xù)升高。2) 軟件產(chǎn)品不能實現(xiàn)大規(guī)模復(fù)用,這導(dǎo)致了軟硬件生產(chǎn)效率的不同。3) 軟件生產(chǎn)是腦力勞動,它看不見、摸不著,開發(fā)成本、開發(fā)周期等都無法做到準確估算,生產(chǎn)過程不易控制。4) 軟件成本主要是由研發(fā)成本構(gòu)成;而硬件的生產(chǎn)成本主要是材料和制造成本,分攤的研發(fā)成本很少,即軟件研發(fā)過程與硬件制造過程相比要復(fù)雜得多。5,請簡述軟件工程
3、研究的內(nèi)容。軟件工程研究的內(nèi)容包括軟件開發(fā)方法、軟件開發(fā)模型、軟件支持過程和軟件管理過程。軟件開發(fā)方法的內(nèi)容涵蓋市場調(diào)研、正式立項、需求分析、項目策劃、概要設(shè)計、詳細設(shè)計、編程、測試、試運行、產(chǎn)品發(fā)布、用戶培訓(xùn)、產(chǎn)品復(fù)制、銷售、實施、系統(tǒng)維護、版本升級等。常用的軟件開發(fā)模型有瀑布模型、迭代模型、增量模型和原型模型等。軟件支持過程由所支持的CASE工具組成,常用的 CASE工具有 PowerDesigner 和Rational Rose等。7,請簡述軟件工程的目標、過程和原則。目標、過程和原則是一切工程的三維框架,這里是以工程的觀點來看待軟件開發(fā)。1) 軟件工程的目標: 降低成本、及時交付高質(zhì)量
4、的軟件產(chǎn)品(高質(zhì)量、高效率、高效益)。2) 實現(xiàn)目標的過程即完成產(chǎn)品加工的過程 ,包括:基本過程、支持過程和組織過程。3) 進行過程應(yīng)遵守的原則 :原則就是過程中的軌道約束,包括:選取適宜的開發(fā)范型、采用合適的設(shè)計方法、提供高質(zhì)量的工程支持、重視開發(fā)過程的管理。9,請簡述現(xiàn)代軟件工程與傳統(tǒng)軟件工程顯著的區(qū)別和改進。1) 傳統(tǒng)的軟件工程是基于結(jié)構(gòu)化的軟件開發(fā)方法,而現(xiàn)代軟件工程是以面向?qū)ο蠹夹g(shù)為標志。2) 不僅在編程技術(shù)上有很大的改進,而且在分析、設(shè)計等整個開發(fā)過程中,采用面向?qū)ο蟮乃季S方式,更加完整、自然地反映客觀世界。3) 采用架構(gòu)技術(shù),開發(fā)效率、產(chǎn)品質(zhì)量得到了極大提高。4) 更注重團隊開發(fā)
5、和管理,融入更多、更新的管理理念和手段,如RUP模型、 XP模型、過程改進、能力成熟度模型、配置管理等。第二章1,如何理解軟件生命周期的內(nèi)在特征?軟件產(chǎn)品的生命周期是指從設(shè)計該產(chǎn)品的構(gòu)想開始,到軟件需求的確定、軟件設(shè)計、軟件實現(xiàn)、產(chǎn)品測試與驗收、投入使用以及產(chǎn)品版本的不斷更新,再到最終該產(chǎn)品被市場淘汰的全過程。軟件生命周期這個概念從時間的角度將軟件的開發(fā)和維護的復(fù)雜過程分解為了若干個階段,每個階段都完成特定的相對獨立的任務(wù)。由于每個階段的任務(wù)相對于總?cè)蝿?wù)難度會大幅度降低,因此在資源外配、時間把握和項目管理上都會比較容易控制。應(yīng)該合理地劃分軟件生命周期的各個階段,使各個階段之間既相互區(qū)別又相互聯(lián)
6、系,為每個階段賦予特定的任務(wù)。3,當(dāng)需求不能一次搞清楚,且系統(tǒng)需求比較復(fù)雜時應(yīng)選用哪種開發(fā)模型比較合?開發(fā)模型不是孤立或排斥的,它們之間需要相互借鑒和參考。螺旋模型是一種綜合性的模型,適和于較復(fù)雜的系統(tǒng)。5, XP 是一種什么樣的模型?XP是現(xiàn)代版的增量模型,特點是客戶參與、適應(yīng)變化、測試驅(qū)動、以代碼為核心。實行 XP的條件如下。1) 企業(yè)具有較高的能力成熟度,具有團隊開發(fā)環(huán)境和配套的測試工具。2) 軟件結(jié)構(gòu)是開放的,增量可隨意整合。3) 開發(fā)團隊擁有 “系統(tǒng)隱喻 。7,請簡述軟件過程。軟件過程就是軟件產(chǎn)品的加工過程,其本質(zhì)就是將“客觀世界”映射(虛擬)到“計算機世界”,即從抽象到具體的逐步細
7、化過程。系統(tǒng)分析就是對客觀世界的抽象,中間要經(jīng)過分析模型、設(shè)計模型的逐步細化(具體化),最終的具體結(jié)果就是計算機世界里的代碼。9,請簡述 CMM 的作用。1) CMM 是評價軟件組織開發(fā)能力(水平)的參考模型,是一種認證標準,認可軟件工程達到的程度(如同評定職稱的條件)2) CMM 是軟件組織提升自身能力、走向成熟的參照系。它提供了走向成熟的階梯目標,但并不提供走向目標的方法。3) CMM 等級的提高依靠軟件過程改進。4) CMM 既是評估軟件能力成熟度的模型,也起到了促進軟件企業(yè)按照該模型設(shè)置的級別和關(guān)鍵過程域不斷改進自己的軟件過程的作用。11 ,假設(shè)你要開發(fā)一個軟件,它的功能是把73624
8、.9385 這個數(shù)開平方,所得到的結(jié)果應(yīng)該精確到小數(shù)點后4 位。一旦實現(xiàn)并測試完之后,該產(chǎn)品將被拋棄。你打算選用哪種軟件生命周期模型?請說明你做出這樣選擇的理由。對這個軟件的需求很明確,實現(xiàn)開平方功能的算法也很成熟。因此,既無須通過原型模型來分析需求也無須用原型模型來驗證設(shè)計方案。此外,一旦實現(xiàn)并測試完之后,該產(chǎn)品將被地棄,因此也無須使用有助于提高軟件可維護性的增量模型或螺旋模型來開發(fā)該軟件。綜上所述,為了開發(fā)這個簡單的軟件,使用大多數(shù)人所熟悉的瀑布模型就可以了。第五章1,在選擇編程語言時,通常要考慮哪些因素?1) 待開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即項目的應(yīng)用范圍。2) 用戶的要求。3) 軟件開發(fā)人員的
9、喜好和能力。4) 系統(tǒng)的可移植性要求。5) 算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。3,什么是調(diào)試?什么是測試?二者有何區(qū)別?調(diào)試( debug )指的是對模塊的調(diào)試,是程序員交付可運行的代碼模塊所必須經(jīng)歷的工作。軟件測試( test )有如下特點。1) 軟件測試的目的是發(fā)現(xiàn)程序中的錯誤,是為了證明程序有錯,而不是證明程序無錯。2) 不僅僅是測試程序,還應(yīng)該對開發(fā)過程中所有的產(chǎn)品進行測試,包括文檔,其目的是為了盡早地、盡可能多地發(fā)現(xiàn)并排除軟件中潛在的錯誤。二者的區(qū)別如圖 5.2 所示。5,請簡述靜態(tài)測試和動態(tài)測試的區(qū)別。按照執(zhí)行測試時是否需要運行程序,軟件測試可以劃分為靜態(tài)測試和動態(tài)測試。靜態(tài)測試以人工測試為
10、主,通過測試人員認真閱讀文檔和代碼,仔細分析其正確性、一致性及邏輯結(jié)構(gòu)的正確性,從而找出軟件產(chǎn)品中的錯誤或缺陷。靜態(tài)測試對自動化工具的依賴性較小,通過人腦的思考和邏輯判斷來查找錯誤,因而可以更好地發(fā)揮人的主觀能動性。與靜態(tài)測試不同的是,動態(tài)測試需要通過實際運行被測程序來發(fā)現(xiàn)問題。測試人員可以輸入一系列的測試用例,通過觀察測試用例的輸出結(jié)果是否與預(yù)期相符來檢驗系統(tǒng)內(nèi)潛在的問題或缺陷。7,軟件測試的目的是什么?測試的目的如下1) 測試是一個為了發(fā)現(xiàn)程序中的錯誤為目的的程序執(zhí)行過程。2) 個好的測試用例是能最大限度地找到迄今為止尚未發(fā)現(xiàn)的錯誤。3) 成功的測試是能發(fā)現(xiàn)了那些尚未發(fā)現(xiàn)的錯誤。9,什么是
11、白盒測試?有哪些常用的白盒測試方法?白盒測試主要針對于程序內(nèi)部邏輯和數(shù)據(jù)流程的測試,因此白盒測試的測試用例設(shè)計需要了解程序的內(nèi)部邏輯。常用的白盒測試方法主要有邏輯覆蓋法、基本路徑測試法。11 ,軟件測試應(yīng)該劃分幾個階段?各個階段應(yīng)重點測試的內(nèi)容是什么?軟件測試總的來說可分為單元測試、集成測試、系統(tǒng)測試、驗收測試。每個階段又分為確定測試計劃,測試設(shè)計,設(shè)計測試用例,實施測試,進行測試報告5個步驟。1) 單元測試是對軟件中的基本組成單位進行的測試,如一個模塊、一個過程等。它是軟件動態(tài)測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。2) 集成測試是軟件系統(tǒng)集成過程中所
12、進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。3) 系統(tǒng)測試是對已經(jīng)集成好的軟件系統(tǒng)進行徹底的測試,以驗證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求,檢查軟件的行為和輸出是否正確并非是一項簡單的任務(wù),它被稱為測試的 “先知者問題 .4) 驗收測試是向軟件的購買者展示該軟件系統(tǒng)滿足其用戶的需求。它的測試數(shù)據(jù)通常是系統(tǒng)測試的測試數(shù)據(jù)的子集。5) 回歸測試是在軟件維護階段,對軟件進行修改之后進行的測試。其目的是檢驗對軟件進行。第十一章1,請簡述項目、項目管理和軟件項目管理。項目、項目管理和軟件項目管理的概念如下。1) 項目是一次性的多任務(wù)工作,它具有確定的開始日期、結(jié)束日期、工作范圍、
13、經(jīng)費預(yù)算、2) 質(zhì)量標準,以及特定的功能、性能和接口要求。3) 項目管理是為了實現(xiàn)項目目標,運用相關(guān)的知識、技能、方法與工具,對項目的計劃、進度、質(zhì)量、成本、資源進行管理和控制的活動。4) 軟件項目管理以通用的項目管理知識體系為基礎(chǔ),管理的對象是軟件工程項目。它結(jié)合軟件工程自身的科學(xué)規(guī)律,采用適合軟件產(chǎn)品自身特點的管理方法,使得整個軟件開發(fā)過程(從分析、設(shè)計、編碼到測試、維護全過程)都能在管理者的控制之下,以預(yù)定成本按期、按質(zhì)的完成軟件交付用戶使用。3,請簡述項目計劃應(yīng)該包括的內(nèi)容。項目計劃應(yīng)該包括的內(nèi)容如下。1) 確定詳細的項目實施范圍。2) 定義遞交的工作成果。3) 評估實施過程中主要的風(fēng)
14、險。4) 制定項目實施的時間計劃。5) 成本和預(yù)算計劃。6) 人力資源計劃等。5,如何進行項目的時間管理?項目的時間管理首先要對項目活動進行定義,依據(jù)包括:工作分解結(jié)構(gòu)、項目范圍說明、歷史信息、約束條件、假定和專家評論。在整個項目中,我們需要一份能清晰描述活動發(fā)生的時間和所需要的資源的計劃,項目進度安排的內(nèi)容為如下1) 定義一組項目活動,并建立活動之間的相互關(guān)系。2) 估算各個活動的工作量和完成任務(wù)所需要的資源。3) 定義里程碑。4) 分配人力和其他資源,制定進度時序。5) 檢查進度安排,確保任務(wù)之間沒有沖突,并且包含了完成項目必需的所有任務(wù)。7,請簡述估算的作用。計劃是項目的啟動入口,項目開
15、展過程就是執(zhí)行計劃。而估算是制定計劃的依據(jù),因此估算是項目開展的基礎(chǔ)。估算的主要工作如下。1) 范圍估算 :搞清軟件邊界。2) 規(guī)模估算 :定量單位采用 LOC 或FP3) 工作量估算 :工作量估算決定了開發(fā)團隊的規(guī)模和組建,決定開發(fā)周期和進度估算。4) 開發(fā)周期與進度估算 :進度估算是對整個開發(fā)周期中不同階段的里程碑進行估算。5) 人力資源估算 :在考慮各種軟件開發(fā)資源時,人是最重要最優(yōu)先考慮的資源。6) 開發(fā)成本估算 :整個開發(fā)周期所花費的工作量產(chǎn)生的勞動費用。7) 軟硬件資源估算 :軟件開發(fā)所需的硬件工具及軟件工具。9,請簡述做進度計劃的兩種方式。做進度計劃的兩種方式如下。1) Gant
16、 圖用線段標明子任務(wù)的分解;標明各個任務(wù)的計劃開始時間、完成時間;標明各個任務(wù)與參與工作的人數(shù),各子任務(wù)間的并行和串行的關(guān)系的銜接情況。特點:簡單、明了、直觀、易于編制;以文檔與評審作為開發(fā)進度的里程碑。缺點:無法標明多個任務(wù)之間存在的相互制約關(guān)系;無法標明關(guān)鍵的控制作業(yè)。2) 工程網(wǎng)絡(luò)圖是用時間和節(jié)點來表示工作流程的有序、有向的網(wǎng)狀圖形。它可彌補Gantt 圖無法表達關(guān)鍵路徑和作業(yè)之間的制約關(guān)系,并且易于調(diào)整。第十二章1,目前項目開發(fā)時常用的小組組織方法有哪些?目前,項目開發(fā)時常用的小組組織方法:民主制程序員組、主程序員組和現(xiàn)代程序員組。3,民主制、主程員制各存在什么問題?民主制程序員組中所
17、有程序員不分主次,這樣在責(zé)任落實、分工協(xié)作方面存在一些問題。責(zé)任不明,分工不清,大家都負責(zé),實際上沒有人負責(zé)。主程序員制是主程序員負責(zé)制,克服了民主制的缺點,但又走到了另一個極端- 只有主程序員負責(zé),其他成員的積極性就被扼殺了。另外,主程序員這個位置既是一個技術(shù)崗位,也是一個管理角色,這樣的位置很難找到勝任的人擔(dān)任。熱衷于技術(shù)的人,往往對管理不感興趣,而具有管理才能的人,大多不會是技術(shù)專家。第十三章1,風(fēng)險識別的步驟有哪些?風(fēng)險識別分為三步進行:收集資料;估計項目風(fēng)險形勢;識別風(fēng)險。3,請簡述軟件質(zhì)量的定義。所謂軟件質(zhì)量,就是供方提供的軟件產(chǎn)品滿足用戶明確和隱含需求的能力特性的總和。5, 什么
18、是配置項?什么是配置管理?軟件配置管理中的基本單元,稱為軟件配置項。在開發(fā)過程中,將軟件的文檔、程序、數(shù)據(jù)進行分割與綜合,以利于軟件的定義、標識、跟蹤、管理,使其最終形成受控的軟件版本產(chǎn)品,這一管理過程稱為軟件配置管理。7,請簡述軟件配置管理的工作內(nèi)容。配置管理的工作內(nèi)容一般包括如下的4個方面。1) 標識配置項。 配置項是配置管理中的基本單元,每個配置項應(yīng)該包含相應(yīng)的基本配置管理的信息。標識配置項就是要給配置項取一個合適的名字。2) 進行配置控制。 進行配置控制是配置管理的關(guān)鍵,包括存取控制、版本控制、變更控制和產(chǎn)品發(fā)布控制等。存取控制通過配置管理中的“軟件開發(fā)庫”、“軟件基線庫”、“軟件產(chǎn)品
19、庫”來實現(xiàn)。每個庫對應(yīng)著不同級別的操作權(quán)限,為團隊成員授予不同的訪問權(quán)利。版本控制往往使用自動的版本控制工具來實現(xiàn),如 SVN ,變更控制是應(yīng)對軟件開發(fā)過程中各種變化的機制,可以通過建立控制點和報告與審查制度來實現(xiàn)。產(chǎn)品發(fā)布控制面向最終發(fā)布版本的軟件產(chǎn)品,旨在保證提交給用戶的軟件產(chǎn)品版本是完整、正確和一致的。3) 記錄配置狀態(tài)。 配置狀態(tài)報告記錄了軟件開發(fā)過程中每一次配置變更的詳細信息。記錄配置狀態(tài)的目的是使配置管理的過程具有可追蹤性。4) 執(zhí)行配置審計。 配置審計是為了保證軟件工作產(chǎn)品的一致性和完整性,從而保證最終軟件版本產(chǎn)品發(fā)布的正確性。第十四章1,為什么要進行軟件維護?軟件維護的作用有哪
20、些?軟件維護是軟件產(chǎn)品生命周期的最后一個階段。在產(chǎn)品交付并且投入使用之后,為了解決在使用過程中不斷發(fā)現(xiàn)的各種問題,保證系統(tǒng)正常運行,同時使系統(tǒng)功能隨著用戶需求的更新而不斷升級,軟件維護的工作是非常必要的。概括地說,軟件維護就是指在軟件產(chǎn)品交付給用戶之后,為了改正軟件測試階段未發(fā)現(xiàn)的缺陷,改進軟件產(chǎn)品的性能,補充軟件產(chǎn)品的新功能等,所進行的修改軟件的過程。3,傳統(tǒng)軟件維護分哪幾大類?傳統(tǒng)軟件維護分 4類,分別是 糾錯性維護 、適應(yīng)性維護 、完善性維護 和預(yù)防性維護。5,請簡述結(jié)構(gòu)化維護和非結(jié)構(gòu)化維護。結(jié)構(gòu)化維護的前提是軟件產(chǎn)品或軟件項目必須有完善的文檔,并且文檔與程序代碼互相匹配,兩者完全一致。在這樣的前提下,維護不但會比較省力,而且維護后可以用原來的測試用例進行回歸測試。相反,若軟件產(chǎn)品或軟件項目只有程序而沒有文檔,或文檔很不規(guī)范、很不齊全
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人事合同終止協(xié)議書樣本
- 與建筑公司簽訂的建筑合同文件模板
- 買賣合同樣本簡單格式
- 二手摩托車買賣合同范本
- 上海市保障性住房買賣合同示例
- 個人消費借款抵押擔(dān)保合同
- 交通事故責(zé)任劃分合同協(xié)議
- 個人資產(chǎn)轉(zhuǎn)讓合同范例
- 交通銀行外匯融資合同樣本
- 中小學(xué)學(xué)生校園意外傷害賠償合同范本
- 三對三籃球賽記錄表
- 礦山電工知識點講解
- 物業(yè)公司服務(wù)質(zhì)量檢查流程
- 中國心胸外科的歷史和現(xiàn)狀
- 人教版9年級全一冊英語單詞表
- 三門峽水利工程案例分析工程倫理
- 中國旅游地理區(qū)劃-京津冀旅游區(qū)
- “1+X”證書制度試點職業(yè)技能等級證書全名錄
- 《社會主義市場經(jīng)濟理論(第三版)》第八章社會主義市場經(jīng)濟調(diào)控論
- 交流伺服系統(tǒng)常見故障及處理分解課件
- 水土保持單元工程質(zhì)量評定表
評論
0/150
提交評論