久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

軟件工程簡答題

時間:2019-05-14 10:31:35下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《軟件工程簡答題》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《軟件工程簡答題》。

第一篇:軟件工程簡答題

1.什么是軟件工程?簡述軟件工程的七條基本原理。軟件工程是一門研究如何用系統化、規范化、數量化等工程原則和方法來進行軟件開發和維護的學科。

七條基本原理:用分階段的生命周期計劃嚴格管理; 堅持進行階段評審; 實行嚴格的產品控制; 采用現代程序設計技術; 結果應能清楚地審查;

開發小組的人員應該少而精;

承認不斷改進軟件工程實踐的必要性。

2.什么是軟件生存周期模型?請至少列舉四種主要的模型。軟件生存周期模型是軟件開發全部過程、活動和任務的結構框架。它能直觀表達軟件開發全過程,明確規定要完成的主要活動、任務和開發策略。

四種主要的模型:瀑布模型,演化模型,噴泉模型,螺旋模型、基于構件的開發模型 3.為什么軟件需要維護?簡述軟件維護的過程。

1)改正在特定使用條件下暴露出來的一些潛在程序錯誤或設計缺陷;

2)因在軟件使用過程中數據環境發生變化(如所要處理的數據發生變化)或處理環境發生變化(如硬件或軟件操作系統等發生變化),需要修改軟件,以適應這種變化;

3)用戶和數據處理人員在使用時常提出改進現有功能、增加新功能、以及改善總體性能的要求,為滿足這些要求,需要修改軟件。

軟件維護的過程:首先建立維護的機構,申明提出維護申請報告的過程及評價的過程,為每一個維護申請規定標準的處理步驟,建立維護活動的記錄保管,并規定復審的標準。4.影響軟件維護工作量的因素有哪些?

1)系統大小。系統越大,功能越復雜,理解掌握起來就越困難,需要的維護工作量越大。2)程序設計語言。使用功能強的程序設計語言可以控制程序的規模。語言的功能越強,生成程序所需的指令數就越少;語言的功能越弱,實現同樣功能所需的語句就越多,程序就越大,維護起來就越困難。

3)系統年齡。老系統比新系統需要更多的維護工作量。許多老系統在當初并未按照軟件工程的要求進行開發,沒有文檔,或文檔太少,或者在長期的維護中許多地方與程序不一致,維護起來困難較大。

4)數據庫技術的應用。使用數據庫工具,可有效地管理和存儲用戶程序中的數據,可方便地修改、擴充報表。數據庫技術的使用可以減少維護工作量。

5)先進的軟件開發技術。在軟件開發時,如果使用能使軟件結構比較穩定的分析與設計技術(如面向對象分析、設計技術),可以減少一定的工作量。

6)其它。如,應用的類型、數學模型、任務的難度、IF嵌套深度等等都會對維護工作量產生一定的影響。

5.說明軟件文檔的作用

1.提高軟件開發過程的能見度。把開發過程中發生的事件以某種可閱讀的形式記錄在文檔中

2.提高研發效率。軟件文檔的編制,使得開發人員對各個階段的工作都進行周密思考,全盤權衡,減少返工。

3.記錄開發過程中有關信息,便于協調以后的軟件開發、使用和維護。4.便于潛在用戶了解軟件功能、性能等各項指標。6.如何理解模塊的獨立性,用什么指標衡量模塊的獨立性。模塊的獨立性是指軟件系統中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統中其他模塊的接口是簡單的。

模塊的獨立程度可以由兩個定性標準度量: 耦合,模塊之間的相對獨立性的度量; 內聚,模塊功能強度的度量。

7.原型化方法用于解決什么問題,這種方法的優缺點是什么 主要用于解決諸如用戶定義了一組一般性目標,但不能標識出詳細的輸入、處理及輸出需求;開發者可能不能確定算法的有效性、操作系統的適應性或人機交互的形式等問題 優點:1.明確并完善需求

2.探索設計選擇方案

3.發展為最終產品

缺點:1.用戶看到一個正在運行的原型便以為產品即將完成,會要求不再進行產品重建,而只是對原型進行修改就交付。由于原型沒有考慮軟件的總體質量和可維護行,交付原型會產生欲速則不達的效果

2.開發人員為了快速構建原型,可能會采用不合適的操作系統或程序設計語言,也可能使用一些效率低的算法。在一段時間的開發后,他們往往已經習慣了這些選擇,遇事便在系統中摻雜了這些不理想的選擇。

8.以G,J,Myers的觀點,簡述軟件測試的目的 1.軟件測試是為了發現錯誤而執行程序的過程

2.一個號的測試用例能夠發現至今尚未發現的錯誤

3.一個成功的測試是發現了至今尚未發現的錯誤

9.采用黑盒測試方法設計用例有哪幾種方法。這些方法有什么特點

1.等價類劃分法

把所有可能的輸入數據劃分成若干個等價的子集,使得每個子集中的一個典型值在測試中的作用于這一子集中所有其他值的作用相同

2.邊界值分析法

使等價類的每個邊界都要作為測試條件,不僅考慮輸入條件們還要考慮輸出空間產生的測試情況。邊界值分析法不僅重視輸入條件邊界,而且也從輸出域導出測試用例。

3.錯誤推測法

列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例,錯誤推測法很大程度上靠知覺和經驗進行。

4.因果圖法

因果圖適合于描述對于多種輸入條件的組合,響應產生多個動作的形式來設計測試用例

第二篇:軟件工程簡答題

第一章

1簡述軟件的概念

軟件是計算機程序、數據結構和文檔的有機結合。其中,計算機程序能夠完成預訂功能和性能的可執行的指令;數據結構使得程序能夠適當地操作各種信息;文檔全面描述了程序的分析、設計過程和使用方法。2什么是軟件危機

落后的軟件生產方式無法滿足迅速增長的計算機軟件需求,從而導致軟件開發與維護過程中出現一系列嚴重問題的現象。

3軟件危機主要包含哪兩方面的問題

一是如何開發軟件,以滿足對軟件日益增長的需求;二是如何維護數量不斷膨脹的已有軟件。4簡述軟件危機產生的原因

是由于軟件產品本身的特點,以及開發軟件的方式方法,技術和人員引起的。

(1)軟件規模越來越大,結構越來越復雜。(2)軟件開發的管理困難而復雜。

(2)軟件開發費用不斷增加(4)開發技術落后(5)生產方式落后(6)開發工具落后

5什么是軟件工程

軟件工程是將系統性的、規范化的、可定量的方法應用于軟件的開發、運行和維護。

6簡述軟件生存周期的概念

軟件聲明周期是由軟件定義、軟件開發、軟件維護三個時期組成的。

定義階段的主要任務是解決“做什么”問題。通常被分為三個階段:問題定義、可行性研究、需求分析。開發階段的任務是解決“如何做”的問題。通常包括軟件設計、實現、測試等工作。

維護階段的主要任務是使軟件保持用戶滿意的需要。

7軟件工程的目標和內容是什么

目標:旨在開發滿足用戶需求,及時交付、不超過預算和無故障的軟件。

內容:(1)實現預期的功能,滿足用戶的需求。(2)增強軟件過程的可見性和可控性,提高軟件質量。

(3)提高軟件的可維護性(4)提高軟件開發的生產效率(5)合理預算開發成本。

第二章

1什么是項目?項目有哪兩種常見的形式?

項目是一項有待完成的任務,有特定的環境與要求,在一定的組織機構內,利用有限資源(包括人力、物力和財力等),在規定的時間內完成任務,任務要滿足一定質量、數量、性能技術指標等要求。通用商業軟件項目、定制軟件項目。

2簡述項目的開發流程

軟件項目開發流程通常包括:招標、投標、合同簽訂、軟件項目開發等。

3簡述軟件生命周期的各個階段

項目計劃階段、需求分析階段、系統設計階段、編碼測試階段、運行維護階段

4列舉項目的主要角色

機構領導、項目經理、系統分析員、系統設計師、程序員、測試員,還有配置管理員、質量保證員、產品維護人員等。

5典型的項目組織形式有哪些

民主制程序員組、主程序員組的組織方式、現代程序員組的組織方式

6簡述檢查點、里程碑、基線三者之間的關系

檢查點比較細,里程碑比較粗、基線最粗;重要的檢查點一般就是里程碑,重要的里程碑一般就是基線;檢查點一般依據時間的先后順序設定,里程碑一般依據關鍵成果的產出設定,基線依據一組關鍵成果的產出設定;在實際項目中,周例會是檢查點的表現形式、高層的階段匯報會是基線的表現形式。

7軟件生命周期計劃階段的主要任務

8軟件生命周期需求分析階段的主要任務

9軟件生命周期編碼測試階段的主要任務

第三章

1可行性研究的要素包括哪些

經濟:這個系統的經濟效益能超過它的開發成本嗎?

技術:使用現有技術能實現這個系統嗎?

社會:市場(未成熟、成熟、將要消亡)與政策

人:人物、開發人員、領導

法律:可能涉及的合同、侵權、責任及各種與法律相抵觸的問題。

2可行性研究的任務是什么

對以后的行動方針提出建議。

如果問題沒有可行的解,分析員應該建議停止這項開發工程,以避免時間、資源、人力和金錢的浪費。如果問題值得解,分析員應該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。

3什么是系統流程圖

系統流程圖簡稱流程圖或系統圖,是概括地描繪物理系統的傳統工具。

4可行性研究有哪些步驟及內容

① 復查項目目標和規模

訪問關鍵人員,仔細閱讀分析材料,對問題定義階段書寫的規模目標報告書進一步復確認。改正含

糊或不準確,清晰描述對目標系統的一切限制和約束。

② 研究目前系統

了解現有系統基本功能,保證新開發系統的功能性。

了解現有系統缺點,保證新開發系統改善缺陷。

了解現有系統運行使用所需費用,新系統應增加收入或減少使用費用。

了解現有系統能做什么,無需了解他怎樣做這些工作。

③ 形成高層邏輯模型

數據流圖:描繪數據在系統中流動處理情況。

數據字典:定義系統中使用的數據。

④ 重新定義問題

分析員與用戶以數據流圖和數據字典為討論基礎,再次復查問題定義、工程規模和目標。

如對問題有誤解,或遺漏要求,在此階段改正。

5簡述軟件質量的含義

軟件質量是“軟件與明確地和隱含地定義的需求相一致的程度”,是軟件與明確地敘述的功能和性能需求、文檔中明確描述的開發標準以及任何專業開發的軟件產品都應該具有的隱含特征相一致的程度。6度量軟件規模的常用技術有哪些

(1)LOC(Lines of Code,代碼行)估算(2)FP(功能點)估算

(3)Delphi 估算法(4)類比法

7簡述成本估算的步驟

(1)任務分解(2)估算每個任務的成本(3)直接成本估算

(4)間接成本估算(5)項目總估算成本(6)項目總報價

8簡述風險及風險管理的目標

所有可能危害項目的因素都稱為風險,風險事件最終可能發生,也可能不發生,風險管理的目的是在風險產生危害之前識別它們,從而有計劃地消除或削弱風險。

9簡述風險管理的主要過程

風險識別,風險量化,風險應對計劃制定和風險監控。

10簡述什么是CMM

能力成熟度模型(CMM),用于評價軟件機構的軟件過程能力成熟度的模型

CMM的策略是力圖改進對軟件過程的管理,而在技術方面的改進是其必然結果。

11簡述工程網絡圖的繪制步驟

(1)畫工程網絡圖。(2)計算事件的最早時刻。(3)計算事件的最遲時刻。

(4)確定工程的關鍵路徑。(5)計算每個子任務的機動時間。

第七章

1進行軟件測試的目的(1)測試是一個為了發現錯誤而執行程序的過程。

(2)一個好的測試用例是指很可能找到迄 今為至尚未發現的錯誤的測試用例。

(3)一個成功的測試是指揭示了迄今為至尚未發現的錯誤的測試。

2簡述什么是軟件測試

“用人工或自動的手段來執行和評價系統或系統部件的過程,以檢驗它是否滿足規定的需求,或識別期望的結果和實際的結果之間有無差別”。

3簡述什么是軟件質量

見第三章

4簡述什么是靜態測試

不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。5簡述什么是動態測試

通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率和健壯性等性能。目前,動態測試是公司測試工作的主要方式。

6軟件測試原則有哪些

(1)所有的測試都應可追溯到客戶需求。

(2)應該在測試工作真正開始前的較長時間就進行測試計劃。

(3)測試中發現的80%的錯誤可能來自于20%的程序代碼。

(4)測試應從“小規模”開始,逐步轉向“大規模”。

(5)窮舉測試是不可能的。

(6)為了達到最有效的測試,應由獨立的第三方來承擔測試。

(7)在設計測試用例時,應包括合理的輸入條件和不合理的輸入條件。

(8)嚴格執行測試計劃,排除測試的隨意性。

(9)應當對每一個測試結果做全面檢查。

(10)妥善保存測試計劃、測試用例、出錯統計和最終分析報告,為維護提供方便。

(11)檢查程序是否做了應做的事僅是成功的一半,另一半是檢查程序是否做了不該做的事。

(12)在規劃測試時不要設想程序中不會查出錯誤。

第八章

1什么是軟件維護

是指軟件系統交付使用以后,為了改正錯誤或滿足新的需要而修改軟件的過程。

2什么是軟件的可維護性

軟件能夠被理解、改正、適應和完善以適應新的環境的難易程度。

3軟件維護目標是什么??

為了改正軟件系統中的錯誤,使軟件能夠滿足預期的正常運行狀態的要求;為了使軟件適應內部或外部環境變化。

第三篇:軟件工程

1.軟件危機的概念 系統的數據要求,功能需求,性能需求,顯示出程序的輪廓。

軟件危機是指在計算機軟件開發、使用與可靠性需求,可用性需求,出錯處理需求,混合方式

維護過程中遇到的一系列嚴重問題和難接口需求,約束,逆向需求以及將來可能優點:綜合了以上兩種策略的長處 題。提出的需求。9.確認測試

補充: 5.常使用的圖形工具 確認測試又稱有效性測試。有效性測試是

1.軟件危機的表現有哪些? 實體-聯系圖,數據流圖,狀態轉換圖,在模擬的環境下,運用黑盒測試的方法,答:1)對軟件開發成本和進度的估計常層次方框圖,warnier圖,IPO圖。驗證被測軟件是否滿足需求規格說明書常很不準確。第五章 列出的需求。任務是驗證軟件的功能和性

2)用戶對已完成的軟件不滿意1.總體設計的任務 能及其他特性是否與用戶的要求一致。對的現象時有發生。劃分出組成系統的物理元素——程序、文軟件的功能和性能要求在軟件需求規格

3)軟件產品的質量往往是靠不件、數據庫、人工過程和文檔等等 說明書中已經明確規定,它包含的信息就住的。設計軟件的結構。也就是要確定系統中每是軟件確認測試的基礎。

4)軟件常常是不可維護的。個程序是由哪些模塊組成的,以及這些模10.什么是白盒測試,其測試技術有那些,5)軟件通常沒有適當的文檔資塊相互間的關系。覆蓋標準的強弱程度

料。2.模塊化思想 白盒測試是一種測試用例設計方法,盒子

6)軟件成本在計算機系統總成就是把程序劃分成獨立命名且可獨立訪指的是被測試的軟件,白盒指的是盒子是本中所占比例逐年上升。問的模塊,每個模塊完成一個子功能,把可視的,你清楚盒子內部的東西以及里面

7)軟件開發生產率提高的速度這些模塊集成起來構成一個整體,可以完是如何運作的。“白盒”法全面了解程序內遠跟不上日益增長的軟件需求。成指定的功能滿足用戶的需求。部邏輯結構、對所有邏輯路徑進行測試。

2.產生軟件危機的原因主要有哪些? 3.衡量模塊獨立的標準(內聚和耦合的白盒測試的測試方法有代碼檢查法、靜態答:1)用戶對軟件需求的描述不精確。含義,種類)結構分析法、靜態質量度量法、邏輯覆蓋

2)軟件開發人員對用戶需求的內聚:標志著每一個模塊內各個元素彼此法、基本路徑測試法、域測試、符號測試、理解有偏差。結合的緊密程度,是信息隱藏和局部化概路徑覆蓋和程序變異。

3)缺乏處理大型軟件項目的經念的自然拓展。偶然內聚,邏輯內聚,時種覆蓋標準:語句覆蓋、判定覆蓋、條件驗。間內聚,功能內聚,順序內聚,通信內聚,覆蓋、判定/條件覆蓋、條件組合覆蓋和

4)開發大型軟件易產生疏漏和過程內聚。路徑覆蓋發現錯誤的能力呈由弱至強的錯誤。耦合:是對一個軟件結構內不同模塊之間變化。

5)缺乏有力的方法學的指導和互連程度的度量。數據耦合,控制耦合,11.什么時候黑盒測試,其測試技術有哪有效的開發工具的支持。特征耦合,公共環境耦合,內容耦合。些,(等價劃分,邊介值分析法)

6)面對日益增長的軟件需求,4.啟發式規則 黑盒測試也稱功能測試,它是通過測試來人們顯得力不從心。1.改進軟件結構提高模塊的獨立性檢測每個功能是否都能正常使用。

2軟件的概念 2.模塊規模應該適中等價類劃分的辦法是把程序的輸入域劃完成特點功能的程序以及數據結構和文 3.深度、寬度、扇出和扇入都應適當 分成若干部分(子集),然后從每個部分檔 4.模塊的作用范圍應在控制范圍之內中選取少數代表性數據作為測試用例

3.軟件工程的基本原理 5.力爭降低模塊接口的復雜程度 邊界值分析是通過選擇等價類邊界的測

1.用分階段的生命周期計劃嚴格管理 6.設計單入口單出口的模塊試用例。邊界值分析法不僅重視輸入條件

2.堅持進行階段評審 7.模塊功能應該可以預測 邊界,而且也必須考慮輸出域邊界。它是

3.實行嚴格的產品控制 5.面向數據流的設計方法把信息流映射對等價類劃分方法的補充。

4.采用現代程序設計技術 成軟件結構 12.軟件調試技術有哪些

5.結果應能清楚地審查 信息流:變換流,事物流 蠻干法,蠻干法可能是尋找軟件錯誤原因

6.開發小組的人員應該少而精 映射:變換分析,事物分析 的最低效的方法,僅當所有其他方法都

7.承認不斷改進軟件工程實踐的必要性失敗的情況下才使用。

4軟件生命周期分成哪幾個階段?各階第六章 回溯法,回溯法是一種相當常用的調試方段的任務是什么? 1.詳細設計的基本任務 法,當調試小程序時很有效。從發現癥

1.問題定義: 1.為每個模塊確定采用的算法。2.確定狀的地方開始,人工沿程序的控制流往回

2.可行性研究:研究問題的范圍,探索這每一模塊使用的數據結構追蹤分析源程序代碼,知道找出錯誤原因個問題是否值得去解決,是否有可行的解3.確定模塊接口的細節,包括對系統外為止。

決方法。部的接口和用戶界面,對系統內部其 原因排除法,對分查找法、歸納法、演繹

3.需求分析:主要是確定目標系統必須具它模塊的接口,以及關于模塊輸入數據、法都屬于原因排除法。

備哪些功能 輸出數據及局部數據的全部細節。13.軟件可靠性(可靠性和可用性的含義)

4.總體設計: 4.為每一模塊設計出一組測試用例。

5.詳細設計:就是把解法具體化,設計出2.程序的三種基本結構

程序的詳細規格說明。順序結構,選擇結構,循環結構

6.編碼和單元測試:寫出正確的容易理解3.詳細設計的工具

容易維護的程序模塊。1.圖形工具

7.綜合測試:通過各種類型的測試使軟件2.表格工具

達到預定的要求 3.語言工具

8.軟件維護:通過各種必要的維護活動使4.jackson方法

系統持久地滿足用戶的需要。(改正性維5.復雜性度量的方法

護,適應性維護,完善性維護,預防性維Halstead方法:它根據程序中運算符和

護)操作數的總數來度量程序的復雜程度

5.瀑布模型,快速原型模型,增量模型,McCabe方法 :McCabe方法根據程序控制

螺旋模型的特點 流的復雜程度定量度量程序的復雜程度,瀑布模型階:段時間具有順序性和依賴第七章

性。推遲現實的觀點。質量保證的觀點。1.選擇程序設計語言應考慮哪些因素

快速原型模型:軟件產品的開發基本上是1.系統用戶的要求

線性順序進行的,本質是“快速”加速軟2.可以使用的編譯程序

件的開發過程,節約軟件開發成本。3.可以得到的軟件工具

增量模型:能在較短時間內向用戶提交可4.工程規模

完成部分工作的產品。逐步增加產品功5.程序員的知識

能,可以使用戶有較充裕的時間學習和適6.軟件可移植性要求

應新產品,從而減少一個全新的軟件可能7.軟件的應用領域

給客戶組織帶來的沖擊。2.良好的編程風格包括哪些方面

螺旋模型:對可選方案和約束條件的強調1.程序內部的文檔2.數據說明 3.語句構

有利于已有軟件的重用,也有助于把軟件造4.輸入輸出 5.效率

質量作為軟件開發的一個重要目標。減少3軟件測試的目標

了過多的測試或測試不足帶來的風險。更目的:(1)測試是為了發現程序中的錯誤

重要的是在螺旋模型中維護只是模型的而執行程序的過程;

另一個周期,在維護和開發之間并沒有本(2)好的測試方案是極可能發現迄今為

質區別。風險驅動的。止尚未發現的錯誤的測試方案;

(3)成功的測試是發現了至今為止尚未

第二章 發現的錯誤的測試。

1.可行性研究的目的 定義:為了發現程序中的錯誤而執行程序

就是用最小的代價在盡可能短的時間內的過程。

確定問題是否能夠解決。補充:

補充: 軟件測試步驟 :

可行性研究的步驟 :(1)模塊測試(2)子系統測試(3)系統

1.復查系統規模和目標。測試(4)驗收測試(5)平行運行

2.研究現有的系統。4.確定測試計劃是在哪個階段制定的3.導出新系統高層邏輯模型。5.黑盒測試和白盒測試的概念

4.進一步定義問題黑盒測試

5.導出和評價供選擇的解法。1把程序看作一個黑盒子,完全不考慮程

6.推薦行動方針序的內部結構和處理過程

7.草擬開發計劃2對程序接口進行測試,檢查程序功能是

8.書寫文檔提交審查 否能按規格說明書的規定正常使用;

程序是否能適當地接受輸入數據并產生

2.系統流程圖的作用 正確的輸出信息;

系統流程圖是描繪物理系統的傳統工具,程序運行過程中能否保持外部信息的完

它用圖形符號來表示系統中的各個部件。整性

它表達了系統中各個元素之間的信息流白盒測試

動的情況。1把程序堪稱裝在一個透明的白盒子里,3.數據流圖的概念 測試者完全知道程序的結構處理算法

數據流圖是一種圖形化技術,它描繪信息2按照程序內部的邏輯測試程序,檢測程

流和數據從移動到輸出的過程中所經受序中的主要執行通路是否都能按的變換。預定要求正確工作

4.數據流圖里面的符號,畫數據流圖。6.測試的步驟及每個步驟形成的文檔

5.數據字典最基本的功能,以及與數據流單元測試:(模塊測試)發現的往往是編

圖的關系。碼和詳細設計的錯誤

最基本的功能:在軟件分析和設計的過程集成測試:著重測試模塊的接口 中給人提供關于數據的描述信息。

關系:數據流圖和數據字典共同構成系統系統測試:發現的往往是軟件設計中的錯的邏輯模型,沒有數據字典,數據流圖就誤,也可能發現需要說明中的錯誤 不嚴格,然而沒有數據流圖,數據字典也驗收測試:(確認測試)往往發現需求說難于發揮作用。只有數據流圖和對數據流明書中的錯誤 圖中每個元素的精確定義放在一起,才能7.漸增式和非漸增式的區別 共同構成系統的規格說明。“非漸增式”,即先獨立地測試每一模塊,第三章 然后將所有這些模塊連接到一起運行; 1.需求分析屬于哪一個階段,任務是什“漸增式”,即在已測試過的N個模塊的么。基礎上再增加一個模塊,再對N十1個模需求分析是軟件定義時期的最后一個階塊進行測試。段.漸增式比非漸增式優越,因為用漸增式,1.確定對系統的綜合要求(功能需求,性如果是“由頂向下”則可利用前面已測試能需求,可靠性和可用性需求,出錯處理過的模塊,而不必另外準備驅動模塊,如需求,接口需求,約束,逆向需求,將來果是“由底向上”,也可利用已測試過的可能提出的要求)模塊,不必再準備樁模塊。漸增式可以較2.分析系統的數據要求早地發現模塊界面之間的錯誤,有利于排3.導出系統的邏輯模型 錯,檢查比較徹底 4.修正系統開發計劃2.需求分析的產品是什么 8.自頂向下,自下而上,以及混合策略的3.面向過程的分析方法主要是建立三類優缺點 模型 自頂向下數據模型(按照用戶的觀點對數據建立的優點:能較早顯示整個程序的輪廓,向用模型,把用戶的數據要求清楚,準確地描戶展示程序的概貌,取得用戶的理解與支述出來。描述了從用戶角度看到的數據,持。缺點:當測試上層模塊時因使用樁它反應了用戶的現實環境,屬性,聯系),模塊較多,很難模擬出真實模塊的全部功功能模型,行為模型(通過描繪系統的狀能,使部分測試內容被迫推遲,只能等待態及引起系統狀態轉換的事件來表示系換上真實模塊后再補充測試。統的行為)由底向上4.軟件需求規格說明書的內容 優點:測試從下層模塊開始,測試設計用通常用自然語言完整,準確,具體地描述例比較容易。缺點:在測試的早期不能

第四篇:《軟件工程》

《軟件工程》課程分析

本課程是軟件技術專業學生必修的一門專業必修課。根據培養軟件開發人員的需要,本課程的任務是使學生通過本課程的學習,了解軟件項目開發和維護的一般過程,掌握軟件開發的傳統方法和最新方法。能在軟件工程的理論指導下,開發一個小型管理系統,為今后從事軟件工程實踐打下良好的基礎。

一、課程分析

(一)教學計劃的制定和教學內容的選取

根據培養應用技能型人才的總目標,制訂本專業教學計劃,課程的教材配套,教學、實驗、實訓、課程設計大綱和指導書等教學文件齊全,近幾年來引入了現代教學技術手段,已初步建設、形成了具有特色的全套課堂教學和實驗教學課件。

根據該課程的基本教學要求和特點,結合學時的安排,從教材的整體內容出發,有側重地進行取舍,篩選出學生必須掌握的基本教學內容,較好地解決了教學中質量與數量的矛盾。

(二)教學方法分析

由于該課程是用于指導軟件開發的,和實踐聯系非常緊密。所以采用了理論聯系實際的方法進行授課。一方面,讓學生模擬軟件公司的項目小組進行軟件開發;一方面,對學生進行適時的理論指導。既調動了學生的積極性,又讓學生了解了該課程的理論內容,收到了一舉兩得的效果。具體教學過程如下:

第一步:模擬軟件公司的開發項目小組,分組,分設角色(項目經理、用戶、需求人員、設計人員、程序員、測試人員、軟件安裝培訓維護人員),確定開發題。讓每個小組的學生聚在一起,在項目經理的組織下通過調研、討論來制定自己小組的開發題目,大家感覺就象在軟件公司實習一樣,非常新鮮,感興趣。每個學生都積極主動的去完成自己應承擔的那部分工作。

第二步:模擬軟件項目開發全過程的各個階段,進行相關的理論授課和實際開發。即對軟件開發的每一階段,首先按照教材內容進行理論授課,然后讓學生參照授課內容進行實際的軟件開發實踐。

在此階段結束后,每班召開一個模擬方案論證會,由各開發小組選出代表上臺講解本組的開發方案,其他同學模擬用戶對開發方案提出意見。由于大家對模擬方案論證會非常感興趣,發言積極踴躍,論證會結束后,每個小組的設計方案都得到了很好的補充和完善。

第三步:學期末各小組提交各自完成的軟件系統及開發文檔,并進行總結演示,由任課教師進行講評。

抽象理論課的教學應理論聯系實際,讓學生在實際應用中掌握抽象的理論,在興趣中學習,達到我們高職的雙向型培養目標。

二、存在的問題與希望

在上述的教學中,雖然實現了理論聯系實際,但也存在著一些問題,比如每個項目小組中總有個別同學存在依賴心理,不參與項目開發,最后抄襲別的同學的項目成果,自己得不到實際的鍛煉,影響了大三的畢業設計和日后的軟件開發。另外,如果該課程只上課,沒有實訓的話,實驗課時太少,學生很難全面完成一個系統的開發。

第五篇:軟件工程

軟件工程

1.談談你對軟件工具的理解,你用過什么軟件工具

軟件工具是指為支持計算機軟件的開發、維護、模擬、移植或管理而研制的程序系統。它是為專門目的而開發的,在軟件工程范圍內也就是為實現軟件生存期中的各種處理活動(包括管理、開發和維護)的自動化和半自動化面開發的程序系統。

開發軟件工具的最終目的是為了提高軟件生產率和改善軟件的質量。

軟件工具分為六類:模擬工具、開發工具、測試和評估工具、運行和維護工具、性能質量工具和程序設計支持工具。

應該是看對象來選擇測試工具!比如:

功能測試工具:WinRunner

性能測試工具:LoadRunner

內存泄漏測試工具:Purify

單元測試工具:Junit

測試管理工具:TestDirector還有東軟的bugbaseIBM開發的 rational。

2.什么是軟件的可維護性:

軟件可維護性即維護人員對該軟件進行維護的難易程度,具體包括理解、改正、改動和改進該軟件的難易程度。

決定可維護性的因素:

1.系統的大小

2.系統的年齡

3.結構合理性

可維護性的度量:

可理解性

可測試性

可修改性

可移植性

3.軟件開發和寫程序有什么不同?軟件開發的內容是:需求、設計、編程和 測試 維護!

需求分析

軟件需求分析就是回答做什么的問題。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規格說明書文檔并最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟件系統的體系結構,并將整個系統分解成若干個子系統或模塊,定義子系統或模塊間的接口關系,對各子系統進行具體設計定義,編寫軟件概要設計和詳細設計說明書,數據庫或數據結構設計說明書,組裝測試計劃。

設計

軟件設計可以分為概要設計和詳細設計兩個階段。實際上軟件設計的主要任務就是將軟件分解成模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據,也可以是可組合、可分解和可更換的功能單元。模塊,然后進行模塊設計。概要設計就是結構設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、算法和數據結構,次要任務就是設計數據庫,常用方法還是結構化程序設計方法。

編碼

軟件編碼是指把軟件設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的“源程序清單”。充分了解軟件開發語言、工具的特性和編程風格,有助于開發工具的選擇以及保證軟件產品的開發質量。

測試

軟件測試的目的是以較小的代價發現盡可能多的錯誤。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據的是程序內部的的邏輯結構來發現軟件的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。白盒法和黑盒法依據的是軟件的功能或軟件行為描述,發現軟件的接口、功能和結構錯誤。其中接口錯誤包括內部/外部接口、資源管理、集成化以及系統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。黑盒法。

維護

維護是旨在已完成對軟件的研制(分析、設計、編碼和測試)工作并交付使用以后,對軟件產品所進行的一些軟件工程的活動。即根據軟件運行的情況,對軟件進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟件問題報告、軟件修改報告。

4.什么是軟件設計的”高內聚 低耦合”

內聚:一個模塊內各個元素彼此結合的緊密程度

耦合:一個軟件結構內不同模塊之間互連程度的度量

對于低耦合,(模塊的獨立性)

一個完整的系統,模塊與模塊之間,盡可能的使其獨立存在。也就是說,讓每個模塊,盡可能的獨立完成某個特定的子功能。模塊與模塊之間的接口,盡量的少而簡單。如果某兩個模塊間的關系比較復雜的話,最好首先考慮進一步的模塊劃分。這樣有利于修改和組合.對于高內聚:

在一個模塊內,讓每個元素之間都盡可能的緊密相連。也就是充分利用每一個元素的功能,各施所能,以最終實現某個功能。

5.case在軟件工程中的作用

CASE(Computer Aided(or Assisted)Software Engineering計算機輔助軟件工程。CASE的一個基本思想就是提供一組能夠自動覆蓋軟件開發生命周期各個階段的集成的、減少勞動力的工具。CASE已被證明可以加快開發速度,提高應用軟件生產率并保證應用軟件的可靠品質。CASE工具由許多部分組成,一般我們按軟件開發的不同階段分為上層CASE和下層CASE產品。上層或前端CASE工具自動進行應用的計劃、設計和分析,幫助用戶定義需求,產生需求說明,并可完成與應用開發相關的所有計劃工作。下層或后端CASE工具自動進行應用系統的編程、測試和維護工作。

除非下層CASE和上層CASE工具的供應商提供統一界面,否則用戶必須編寫或重新將所有信息從上層CASE工具轉換到下層CASE工具。獨立的CASE工具供應商愈來愈希望將它們的工具連接在一起建立統一的界面以減少用戶不必要的開發工作。

CASE工具帶來的好處

計算機專業人員利用計算機使他們的企業提高了效率,企業的各個部門通過使用計算機

提高了生產率和效率,增強了企業的競爭力并使之帶來了更多的利潤。

6.為什么要進行軟件測試?常用的軟件測試的方法有哪些?

軟件測試的目的:盡可能發現并改正被測試軟件中的錯誤,提高軟件的可靠性。

軟件測試方法主要包括單元測試,集成測試,系統測試,用戶測試,回歸測試。

還有就是自定而下,和自下而上的方法。

7.談談你對保證軟件質量的技術和方法的認識? 1.作為一個軟件質量保證人員需要良好的溝通能力,因為如果沒有良好的溝通能力,很多問題都沒有辦法解決,原因很簡單,測試人員發現了bug,開發人員或項目經理在怎么不理,但是他們都會想到,萬一測試人員發現了bug而自己忽視了,那么就有可能成為軟件里的一顆不定時地炸彈,那么作為一個開發人員或項目經理對bug的重視程度肯定相對比較高,至少要看測試人員發現的bug,但是QA就不一定了,因為QA保證的流程的正確的執行,相關人員就是認為流程不重要,只要我開發的產品沒有問題那就沒有問題,客戶肯定不會關注我的流程,在加上古人的名言“結果說明了一切”,所以沒有良好的溝通能力,一些問題將很難去解決,做起來就沒有成就感。

2.個人感覺比溝通能力更重要的是,堅持原則,在遇到困難的時候,是不是還能堅持原則,在遇到項目組的種種不理不睬的時候,是不是還能堅持原則,在項目組不按照計劃走的時候,是不是還能堅持原則。

3.個人心態,我工作三年的經歷告訴我,如果開發和測試相比,開發是天堂,測試是地獄的話,但如果測試和QA相比的話,那測試就是天堂,QA就是地獄,所以心態很重要,在三年里我就鍛煉成一個非常好的心態,隨便怎么說CMMI沒用,隨便怎么說CMMI就是寫文檔,隨便怎么說QA真煩人,我笑容依然燦爛,從容面對,而且一個QA要有堅定的信念,如果你都不相信過程能給項目開發帶來好處,那你還指望誰能相信。

8.提高軟件生產率有哪些手段?

1.挑選精干人員(管理 計劃不好 技術搭配不當)

2.提高階段效率 3消除人工階段

4.減少重復勞動 5.建造簡單產品

6.重用軟部件庫(已經存在的軟件功能部件

9.什么是軟件的可靠性和有用性

可靠性就是指軟件運行的穩定性,可用性就是操作的便利性。比如一輛汽車,可靠性好應該歸功于機械部分,可用性好則是內飾和中控系統的功勞。

10什么是軟件規格說明?作用是什么?將其形式化的意義是什么?

11.什么是軟件重用?實現軟件重用的方法有哪些?

軟件重用,是指在兩次或多次不同的軟件開發過程中重復使用相同或相似軟件元素的過程。軟件元素包括程序代碼、測試用例、設計文檔、設計過程、需要分析文檔甚至領域知識。通常,可重用的元素也稱作軟構件,可重用的軟構件越大,重用的粒度越大。

根據軟件開發的不同階段實現軟件重用主要有四個途徑:

抽象:對重用對象概括提煉,從而得到能全面描述側重算法和數據結構的軟件構件的各部分的描述。

選擇:是對重用對象進行存放,匹配和檢索的功能。

實例化:對數據類型中對象進行參數的提供 轉換。

集成:

12.什么是軟件移植?你認為構造一個工具實現windows到Unix的移植有意義嗎?難大不? 軟件可移植性是指代碼可以在不同平臺間移植,我們一般說的軟件的可移植性指的是軟件可移植性,簡單的說就是指源代碼移到不同的平臺下(不同的操作系統,例如從Windows

下移到Linux下)時,需要修改的內容越少,移植性越好。要保證軟件可移植性,就是少用或不用系統特有的東西,比如你用C語言編程,你可以使用C語言本身的庫,但不要用

WindowsAPI函數,因為WindowsAPI函數在Linux下是沒有的,如果想移植到Linux平臺下,使用WindowsAPI函數的部分代碼就要做出修改了。

下載軟件工程簡答題word格式文檔
下載軟件工程簡答題.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    軟件工程

    軟件工程—心得體會 摘要 本文結合基層實踐教學的實際情況和現實需要,系統地總結了《軟件工程》實踐教學的特征,詳細分析了實踐教學過程存在的問題,并提出了該課程實踐教學改革......

    軟件工程

    一、名詞解釋 軟件: 指計算機系統中的程序及其文檔。 支持軟件:支持軟件的開發和維護的軟件。 系統軟件:屬于計算機系統中最靠近硬件的一層,其它軟件一般都通過系統軟件發揮作......

    軟件工程

    2.2軟件開發的基本策略 人們都有自己的世界觀和方法論,能自然而然地運用于生活和工作中。同樣,程序員腦子里的軟件工程觀念會無形地支配其怎么去做事情。軟件工程三十年的發......

    軟件工程

    填好發給我!!!!一、填空題: 1.面向對象分析的目的是對客觀世界的系統進行 __________________,對象就是客觀世界的; 2.軟件工程方法學包括:工程環境建立、方法、工具和過程; 3.思想概括......

    軟件工程

    1. 軟件工程:是指導計算機軟件開發和維護的工程學科 2. 軟件危機:是指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題 3. 軟件過程:是為了開發出高質量的軟件產品所需......

    軟件工程練習題

    練習題 一、判斷題 1. 螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動。(錯) 2. 軟件的模塊數越少,其軟件成本越低。(錯) 3. JAVA語言編譯器是一個CASE工具。(對)。......

    軟件工程報告

    軟件工程實訓(論文) 論文題目 學 院應用數學學院 專業信息與計算科學 年級班別12級2班 學 號3212008007 學生姓名 洪春暉 指導老師 李小英 2015 年12月 對軟件工程的認識......

    軟件工程課件

    題目一:“教務管理系統之子系統——學院課程安排” 1.系統簡介 每個學期的期中,學校教務處向各個學院發出下各學期的教學計劃,包括課程名稱、課程代碼、課時、班級類別(本科、專......

主站蜘蛛池模板: 久久精品国产亚洲夜色av网站| 国产做a爱免费视频在线观看| 在线亚洲中文精品第1页| 一区二区三区乱码在线 | 中文| 国产极品女主播国产区| 五月av综合av国产av| 欧美老妇人与禽交| 亚洲午夜精品久久久久久APP| 婷婷六月在线精品免费视频观看| 日日拍夜夜嗷嗷叫国产| 欧洲熟妇性色黄| 中国农村熟妇性视频| 亚洲人成网亚洲欧洲无码| 免费看撕开奶罩揉吮奶头视频| 国产亚洲欧美日韩二三线| 国产偷国产偷高清精品| 国产精品乱码一区二区三| 国产精品人成视频免费国产| 与子敌伦刺激对白播放| 国产另类ts人妖一区二区| 国产99视频精品免视看7| 无码国产精品成人| 不卡一区二区视频日本| 少妇下蹲露大唇无遮挡| 亚洲码欧美码一区二区三区| 国产午夜无码视频免费网站| 国产乱妇无乱码大黄aa片| 婷婷97狠狠成人免费视频| 亚洲中文无码av永久不收费| 黑人巨大跨种族video| 久久综合九色综合97网| 国产美女遭强高潮免费| 欧美精品一区二区a片免费| 久爱无码精品免费视频在线观看| 人人妻人人妻人人片av| 无码人妻一区二区三区在线视频| 国模无码人体一区二区| 国产在线精品国偷产拍| 日本19禁啪啪吃奶大尺度| av鲁丝一区鲁丝二区鲁丝三区| 亚洲精品乱码久久久久红杏|