




已閱讀5頁,還剩6頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精品文檔第一章1,與計算機硬件相比,計算機軟件有哪些特點?軟件的特點如下。1) 無法直接觀察計算機軟件的物理形態,只能通過觀察它的實際運行情況來了解它的功能、特性和質量等。2) 人們在分析、設計、開發、測試軟件產品,以及在軟件開發項目的管理過程中,滲透了大量的腦力勞動。3) 不存在像硬件一樣的磨損和老化現象,但存在著缺陷維護和技術更新的問題。4) 軟件的開發和運行必須依賴于特定的計算機系統環境。5) 具有可復用性。3,什么是軟件危機?什么原因導致了軟件危機?軟件危機的現象如下。1) 經費超出預算,項目一再拖延。2) 不重視需求,開發的軟件不能滿足用戶的要求,項目成功率低。3) 沒有規范的軟件工程方法,軟件可維護性差、軟件質量差、可靠性差。4) 開發工具落后,手工方式,開發效率低。所有導致軟件危機的原因,都與軟件本身的產品特點相關。1) 軟件是一個復雜的邏輯產品。如果沒有解決復雜問題的有效方法,以及軟件產品的結構、質量、可維護性得不到保障,開發與維護費用就會持續升高。2) 軟件產品不能實現大規模復用,這導致了軟硬件生產效率的不同。3) 軟件生產是腦力勞動,它看不見、摸不著,開發成本、開發周期等都無法做到準確估算,生產過程不易控制。4) 軟件成本主要是由研發成本構成;而硬件的生產成本主要是材料和制造成本,分攤的研發成本很少,即軟件研發過程與硬件制造過程相比要復雜得多。5,請簡述軟件工程研究的內容。軟件工程研究的內容包括軟件開發方法、軟件開發模型、軟件支持過程和軟件管理過程。軟件開發方法的內容涵蓋市場調研、正式立項、需求分析、項目策劃、概要設計、詳細設計、編程、測試、試運行、產品發布、用戶培訓、產品復制、銷售、實施、系統維護、版本升級等。常用的軟件開發模型有瀑布模型、迭代模型、增量模型和原型模型等。軟件支持過程由所支持的CASE工具組成,常用的CASE工具有Power Designer和Rational Rose等。7,請簡述軟件工程的目標、過程和原則。目標、過程和原則是一切工程的三維框架,這里是以工程的觀點來看待軟件開發。1) 軟件工程的目標:降低成本、及時交付高質量的軟件產品(高質量、高效率、高效益)。2) 實現目標的過程即完成產品加工的過程,包括:基本過程、支持過程和組織過程。3) 進行過程應遵守的原則:原則就是過程中的軌道約束,包括:選取適宜的開發范型、采用合適的設計方法、提供高質量的工程支持、重視開發過程的管理。9,請簡述現代軟件工程與傳統軟件工程顯著的區別和改進。1) 傳統的軟件工程是基于結構化的軟件開發方法,而現代軟件工程是以面向對象技術為標志。2) 不僅在編程技術上有很大的改進,而且在分析、設計等整個開發過程中,采用面向對象的思維方式,更加完整、自然地反映客觀世界。3) 采用架構技術,開發效率、產品質量得到了極大提高。4) 更注重團隊開發和管理,融入更多、更新的管理理念和手段,如RUP模型、XP模型、過程改進、能力成熟度模型、配置管理等。第二章1,如何理解軟件生命周期的內在特征?軟件產品的生命周期是指從設計該產品的構想開始,到軟件需求的確定、軟件設計、軟件實現、產品測試與驗收、投入使用以及產品版本的不斷更新,再到最終該產品被市場淘汰的全過程。軟件生命周期這個概念從時間的角度將軟件的開發和維護的復雜過程分解為了若干個階段,每個階段都完成特定的相對獨立的任務。由于每個階段的任務相對于總任務難度會大幅度降低,因此在資源外配、時間把握和項目管理上都會比較容易控制。應該合理地劃分軟件生命周期的各個階段,使各個階段之間既相互區別又相互聯系,為每個階段賦予特定的任務。3,當需求不能一次搞清楚,且系統需求比較復雜時應選用哪種開發模型比較合?開發模型不是孤立或排斥的,它們之間需要相互借鑒和參考。螺旋模型是一種綜合性的模型,適和于較復雜的系統。5, XP是一種什么樣的模型?XP是現代版的增量模型,特點是客戶參與、適應變化、測試驅動、以代碼為核心。實行XP的條件如下。1) 企業具有較高的能力成熟度,具有團隊開發環境和配套的測試工具。2) 軟件結構是開放的,增量可隨意整合。3) 開發團隊擁有“系統隱喻。7,請簡述軟件過程。軟件過程就是軟件產品的加工過程,其本質就是將“客觀世界”映射(虛擬)到“計算機世界”,即從抽象到具體的逐步細化過程。系統分析就是對客觀世界的抽象,中間要經過分析模型、設計模型的逐步細化(具體化),最終的具體結果就是計算機世界里的代碼。9,請簡述CMM的作用。1) CMM是評價軟件組織開發能力(水平)的參考模型,是一種認證標準,認可軟件工程達到的程度(如同評定職稱的條件)2) CMM是軟件組織提升自身能力、走向成熟的參照系。它提供了走向成熟的階梯目標,但并不提供走向目標的方法。3) CMM等級的提高依靠軟件過程改進。4) CMM既是評估軟件能力成熟度的模型,也起到了促進軟件企業按照該模型設置的級別和關鍵過程域不斷改進自己的軟件過程的作用。11,假設你要開發一個軟件,它的功能是把73624.9385這個數開平方,所得到的結果應該精確到小數點后4位。一旦實現并測試完之后,該產品將被拋棄。你打算選用哪種軟件生命周期模型?請說明你做出這樣選擇的理由。對這個軟件的需求很明確,實現開平方功能的算法也很成熟。因此,既無須通過原型模型來分析需求也無須用原型模型來驗證設計方案。此外,一旦實現并測試完之后,該產品將被地棄,因此也無須使用有助于提高軟件可維護性的增量模型或螺旋模型來開發該軟件。綜上所述,為了開發這個簡單的軟件,使用大多數人所熟悉的瀑布模型就可以了。第五章1,在選擇編程語言時,通常要考慮哪些因素?1) 待開發系統的應用領域,即項目的應用范圍。2) 用戶的要求。3) 軟件開發人員的喜好和能力。4) 系統的可移植性要求。5) 算法和數據結構的復雜性。3,什么是調試?什么是測試?二者有何區別?調試(debug)指的是對模塊的調試,是程序員交付可運行的代碼模塊所必須經歷的工作。軟件測試(test)有如下特點。1) 軟件測試的目的是發現程序中的錯誤,是為了證明程序有錯,而不是證明程序無錯。2) 不僅僅是測試程序,還應該對開發過程中所有的產品進行測試,包括文檔,其目的是為了盡早地、盡可能多地發現并排除軟件中潛在的錯誤。二者的區別如圖5.2所示。5,請簡述靜態測試和動態測試的區別。按照執行測試時是否需要運行程序,軟件測試可以劃分為靜態測試和動態測試。靜態測試以人工測試為主,通過測試人員認真閱讀文檔和代碼,仔細分析其正確性、一致性及邏輯結構的正確性,從而找出軟件產品中的錯誤或缺陷。靜態測試對自動化工具的依賴性較小,通過人腦的思考和邏輯判斷來查找錯誤,因而可以更好地發揮人的主觀能動性。與靜態測試不同的是,動態測試需要通過實際運行被測程序來發現問題。測試人員可以輸入一系列的測試用例,通過觀察測試用例的輸出結果是否與預期相符來檢驗系統內潛在的問題或缺陷。7,軟件測試的目的是什么?測試的目的如下1) 測試是一個為了發現程序中的錯誤為目的的程序執行過程。2) 個好的測試用例是能最大限度地找到迄今為止尚未發現的錯誤。3) 成功的測試是能發現了那些尚未發現的錯誤。9,什么是白盒測試?有哪些常用的白盒測試方法?白盒測試主要針對于程序內部邏輯和數據流程的測試,因此白盒測試的測試用例設計需要了解程序的內部邏輯。常用的白盒測試方法主要有邏輯覆蓋法、基本路徑測試法。11,軟件測試應該劃分幾個階段?各個階段應重點測試的內容是什么?軟件測試總的來說可分為單元測試、集成測試、系統測試、驗收測試。每個階段又分為確定測試計劃,測試設計,設計測試用例,實施測試,進行測試報告5個步驟。1) 單元測試是對軟件中的基本組成單位進行的測試,如一個模塊、一個過程等。它是軟件動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。2) 集成測試是軟件系統集成過程中所進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。3) 系統測試是對已經集成好的軟件系統進行徹底的測試,以驗證軟件系統的正確性和性能等滿足其規約所指定的要求,檢查軟件的行為和輸出是否正確并非是一項簡單的任務,它被稱為測試的“先知者問題.4) 驗收測試是向軟件的購買者展示該軟件系統滿足其用戶的需求。它的測試數據通常是系統測試的測試數據的子集。5) 回歸測試是在軟件維護階段,對軟件進行修改之后進行的測試。其目的是檢驗對軟件進行。第十一章1, 請簡述項目、項目管理和軟件項目管理。項目、項目管理和軟件項目管理的概念如下。1) 項目是一次性的多任務工作,它具有確定的開始日期、結束日期、工作范圍、經費預算、2) 質量標準,以及特定的功能、性能和接口要求。3) 項目管理是為了實現項目目標,運用相關的知識、技能、方法與工具,對項目的計劃、進度、質量、成本、資源進行管理和控制的活動。4) 軟件項目管理以通用的項目管理知識體系為基礎,管理的對象是軟件工程項目。它結合軟件工程自身的科學規律,采用適合軟件產品自身特點的管理方法,使得整個軟件開發過程(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本按期、按質的完成軟件交付用戶使用。3,請簡述項目計劃應該包括的內容。項目計劃應該包括的內容如下。1) 確定詳細的項目實施范圍。2) 定義遞交的工作成果。3) 評估實施過程中主要的風險。4) 制定項目實施的時間計劃。5) 成本和預算計劃。6) 人力資源計劃等。5,如何進行項目的時間管理?項目的時間管理首先要對項目活動進行定義,依據包括:工作分解結構、項目范圍說明、歷史信息、約束條件、假定和專家評論。在整個項目中,我們需要一份能清晰描述活動發生的時間和所需要的資源的計劃,項目進度安排的內容為如下1) 定義一組項目活動,并建立活動之間的相互關系。2) 估算各個活動的工作量和完成任務所需要的資源。3) 定義里程碑。4) 分配人力和其他資源,制定進度時序。5) 檢查進度安排,確保任務之間沒有沖突,并且包含了完成項目必需的所有任務。7,請簡述估算的作用。計劃是項目的啟動入口,項目開展過程就是執行計劃。而估算是制定計劃的依據,因此估算是項目開展的基礎。估算的主要工作如下。1) 范圍估算:搞清軟件邊界。2) 規模估算:定量單位采用LOC或FP3) 工作量估算:工作量估算決定了開發團隊的規模和組建,決定開發周期和進度估算。4) 開發周期與進度估算:進度估算是對整個開發周期中不同階段的里程碑進行估算。5) 人力資源估算:在考慮各種軟件開發資源時,人是最重要最優先考慮的資源。6) 開發成本估算:整個開發周期所花費的工作量產生的勞動費用。7) 軟硬件資源估算:軟件開發所需的硬件工具及軟件工具。9,請簡述做進度計劃的兩種方式。做進度計劃的兩種方式如下。1) Gant圖用線段標明子任務的分解;標明各個任務的計劃開始時間、完成時間;標明各個任務與參與工作的人數,各子任務間的并行和串行的關系的銜接情況。特點:簡單、明了、直觀、易于編制;以文檔與評審作為開發進度的里程碑。缺點:無法標明多個任務之間存在的相互制約關系;無法標明關鍵的控制作業。2) 工程網絡圖是用時間和節點來表示工作流程的有序、有向的網狀圖形。它可彌補Gantt圖無法表達關鍵路徑和作業之間的制約關系,并且易于調整。第十二章1, 目前項目開發時常用的小組組織方法有哪些?目前,項目開發時常用的小組組織方法:民主制程序員組、主程序員組和現代程序員組。3,民主制、主程員制各存在什么問題?民主制程序員組中所有程序員不分主次,這樣在責任落實、分工協作方面存在一些問題。責任不明,分工不清,大家都負責,實際上沒有人負責。主程序員制是主程序員負責制,克服了民主制的缺點,但又走到了另一個極端-只有主程序員負責,其他成員的積極性就被扼殺了。另外,主程序員這個位置既是一個技術崗位,也是一個管理角色,這樣的位置很難找到勝任的人擔任。熱衷于技術的人,往往對管理不感興趣,而具有管理才能的人,大多不會是技術專家。第十三章1,風險識別的步驟有哪些?風險識別分為三步進行:收集資料;估計項目風險形勢;識別風險。3,請簡述軟件質量的定義。所謂軟件質量,就是供方提供的軟件產品滿足用戶明確和隱含需求的能力特性的總和。5, 什么是配置項?什么是配置管理?軟件配置管理中的基本單元,稱為軟件配置項。在開發過程中,將軟件的文檔、程序、數據進行分割與綜合,以利于軟件的定義、標識、跟蹤、管理,使其最終形成受控的軟件版本產品,這一管理過程稱為軟件配置管理。7,請簡述軟件配置管理的工作內容。配置管理的工作內容一般包括如下的4個方面。1) 標識配置項。配置項是配置管理中的基本單元,每個配置項應該包含相應的基本配置管理的信息。標識配置項就是要給配置項取一個合適的名字。2) 進行配置控制。進行配置控制是配置管理的關鍵,包括存取控制、版本控制、變更控制和產品發布控制等。存取控制通過配置管理中的“軟件開發庫”、“軟件基線庫”、“軟件產品庫”來實現。每個庫對應著不同級別的操作權限,為團隊成員授予不同的訪問權利。版本控制往往使用自動的版本控制工具來實現,如SVN,變更控制是應對軟件開發過程中各種變化的機制,可以通過建立控制點和報告與審查制度來實現。產品發布控制面向最終發布版本的軟件產品,旨在保證提交給用戶的軟件產品版本是完整、正確和一致的。3) 記錄配置狀態。配置狀態報告記錄了軟件開發過程中每一次配置變更的詳細信息。記錄配置狀態的目的是使配置管理的過程具有可追蹤性。4) 執行配置審計。配置審計是為了保證軟件工作產品的一致性和完整性,從而保證最終軟件版本產品發布的正確性。第十四章1,為什么要進行軟件維護?軟件維護的作用有哪些?軟件維護是軟件產品生命周期的最后一個階段。在產品交付并且投入使用之后,為了解決在使用過程中不斷發現的各種問題,保證系統正常運行,同時使系統功能隨著用戶需求的更新而不斷升級,軟件維護的工作是非常必要的。概括地說,軟件維護就是指在軟件產品交付給用戶之后,為了改正軟件測試階段未發現的缺陷,改進軟件產品的性能,補充軟件產品的新功能等,所進行的修改軟件的過程。3,傳統軟件維護分哪幾大類?傳統軟件維護分4類,分別是糾錯性維護、適應性維護、完善性維護和預防性維護。5,請簡述結構化維護和非結構化維護。結構化維護的前提是軟件產品或軟件項目必須有完善的文檔,并且文檔與程序代碼互相匹配,兩者完全一致。在這樣的前提下,維護不但會比較省力,而且維護后可以用原來的測試用例進行回歸測試。相反,若軟件產品或軟件項目只有程序而沒有文檔,或文檔很不規范、很不齊全,對這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自我評估2025年計算機二級考試試題及答案
- 端局交換機企業數字化轉型與智慧升級戰略研究報告
- 木鉗企業數字化轉型與智慧升級戰略研究報告
- 噪聲系數測試儀企業數字化轉型與智慧升級戰略研究報告
- 2025年塑料擠吹中空成型機項目建議書
- 養生水氧吧企業數字化轉型與智慧升級戰略研究報告
- 農林廢棄物資源化利用企業ESG實踐與創新戰略研究報告
- 應急燈企業ESG實踐與創新戰略研究報告
- 再生錫企業ESG實踐與創新戰略研究報告
- 電池極合金企業數字化轉型與智慧升級戰略研究報告
- 人防工程施工常見質量問題及質量通病案例
- 好書推薦——《青銅葵花》PPT課件
- 景區防火應急預案
- 壓瘡的預防措施及護理
- 國家開放大學《病理生理學》形考任務1-4參考答案
- lNG-CNG加氣站土建施工組織設計
- 診斷試驗和篩檢試驗的評價
- (修正版)壓實度自動計算表
- 平凡之路歌詞
- 氣柜施工方案
- 《膀胱結石的護理》PPT課件.ppt
評論
0/150
提交評論