《軟件工程》復(fù)習(xí)大綱_第1頁
《軟件工程》復(fù)習(xí)大綱_第2頁
《軟件工程》復(fù)習(xí)大綱_第3頁
《軟件工程》復(fù)習(xí)大綱_第4頁
《軟件工程》復(fù)習(xí)大綱_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章1. 軟件:是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機(jī)程序。包括使程序正常執(zhí)行所需的數(shù)據(jù),以及有關(guān)描述程序操作和使用的文檔。即:軟件 = 程序 + 文檔2. 軟件的特征:軟件的開發(fā)不同于硬件設(shè)計、不同于硬件制造、不同于硬件維修。3. 軟件危機(jī)出現(xiàn)的原因:軟件維護(hù)費(fèi)用的急劇上升,直接威脅計算機(jī)應(yīng)用的擴(kuò)大;4. 軟件生產(chǎn)技術(shù)進(jìn)步緩慢,是家居軟件危機(jī)的重要原因。5. 軟件工程學(xué)的范疇:軟件開發(fā)技術(shù)(軟件開發(fā)方法學(xué)、軟件工具、軟件工程環(huán)境)、軟件工程管理(軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)、度量學(xué))。6. 軟件工程:是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,目的

2、是為了實(shí)現(xiàn)按照預(yù)期的進(jìn)度和經(jīng)費(fèi)完成軟件生產(chǎn)計劃,同時提高軟件的生產(chǎn)率和可靠性。7. 軟件的發(fā)展:大體經(jīng)歷了程序、軟件、軟件產(chǎn)品3個階段。8. 工具和方法是軟件開發(fā)技術(shù)的兩大支柱。9. 三種編程范型:過程式編程范型、面向?qū)ο缶幊谭缎?、基于?gòu)件技術(shù)的編程范型。10. 三代軟件工程:傳統(tǒng)軟件工程面向?qū)ο筌浖こ袒跇?gòu)件的軟件工程。第二章1. 軟件生存周期:計劃、開發(fā)、運(yùn)行3個時期。2. 軟件生存周期的主要活動:需求分析軟件分析軟件設(shè)計編碼測試軟件測試運(yùn)行維護(hù)注:需求分析(用戶視角):功能需求、性能需求、環(huán)境約束、外部接口描述。軟件分析(開發(fā)人員視角):建立與需求模型一致的,與實(shí)現(xiàn)無關(guān)的軟件分析模型。

3、軟件設(shè)計:總體設(shè)計/概要設(shè)計、詳細(xì)設(shè)計(確定軟件的數(shù)據(jù)結(jié)構(gòu)和操作)。單元測試通常與編碼同時進(jìn)行。軟件測試:單元測試、集成測試、系統(tǒng)測試。3. 軟件過程:圍繞軟件開發(fā)所進(jìn)行的一系列活動。4. 瀑布模型是一種基于軟件生存周期的線性開發(fā)模型。5. 瀑布模型特點(diǎn):階段間的順序性和依賴性、推遲實(shí)現(xiàn)的觀點(diǎn)、保證質(zhì)量的觀點(diǎn)。6. 瀑布模型存在的問題:只有在需求分析準(zhǔn)確的前提下,才能得到預(yù)期的結(jié)果。7. 常見的演化模型(漸增式、迭代式):增量模型、螺旋模型。8. 增量模型:結(jié)合瀑布模型的順序特征與快速原型法的迭代特征。增量:小而可用的軟件9. 一般情況下,第一個增量是軟件的核心部分。如(增量一:需求-設(shè)計-實(shí)

4、現(xiàn)和集成-交付客戶)10. 螺旋模型(目前最常用):當(dāng)項(xiàng)目按照順時針方向沿螺旋線移動時,每輪螺旋包含:計劃、風(fēng)險分析、建立原型、用戶評審 4種活動。(高風(fēng)險的大型軟件采用此方法)第三章1. 結(jié)構(gòu)化設(shè)計 SD ; 結(jié)構(gòu)化分析 SA ; 軟件需求規(guī)格說明書 SAS ; 結(jié)構(gòu)圖 SC ;數(shù)據(jù)字典 DD ; 狀態(tài)轉(zhuǎn)換圖 STD ; 數(shù)據(jù)流圖 DFD2. SA需求分析的兩項(xiàng)基本任務(wù):建立系統(tǒng)分析模型、編寫軟件需求規(guī)格說明書。3. 分析模型組成:功能模型、數(shù)據(jù)模型、行為模型 3種。4. 抽象和分解是結(jié)構(gòu)化分析的主要指導(dǎo)思想,細(xì)化的實(shí)質(zhì)是分解。分解和細(xì)化是軟件設(shè)計的策略。5. 需求分析的步驟:需求獲取、需求

5、提煉、需求描述、需求驗(yàn)證。6. SA模型的組成:如下圖7SA模型的描述:a) DFD、DD、PSPEC。(它們是早期SA模型的基本組成部分)b) CFD、CSPEC和STD。(它們是早期SA模型的擴(kuò)展部分)c) E-R圖(適用于描述具有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的軟件數(shù)據(jù)模型)8畫分層數(shù)據(jù)流圖:例題3-89模塊設(shè)計(詳細(xì)設(shè)計)的主要任務(wù)是編寫軟件的模塊設(shè)計說明書。目的是確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu)。10模塊設(shè)計的原則:清晰第一的設(shè)計風(fēng)格、結(jié)構(gòu)化的控制結(jié)構(gòu)、逐步細(xì)化的實(shí)現(xiàn)方法11“結(jié)構(gòu)化”保證程序的清晰、易讀,“逐步細(xì)化”實(shí)現(xiàn)程序的正確、可靠。結(jié)構(gòu)化程序設(shè)計原理和逐步細(xì)化的實(shí)現(xiàn)方法是完成模塊設(shè)計的基礎(chǔ)。第

6、四章1面向?qū)ο笫且詥栴}空間中出現(xiàn)的物體為中心進(jìn)行模型化的一種技術(shù)。面向?qū)ο蠹夹g(shù)通過抽象化現(xiàn)實(shí)世界中的物體,來描述一個系統(tǒng)。2對象是客觀世界的實(shí)體或概念在計算機(jī)中的表示。一個對象是具有唯一對象名和固定對外接口的一組屬性和操作集合,用來模擬組成或影響現(xiàn)實(shí)世界的一個或一組因素。3面向?qū)ο蟮幕咎卣鳎撼橄?、封裝、集成、多態(tài)。4面向?qū)ο箝_發(fā)的優(yōu)點(diǎn):提高軟件系統(tǒng)的可復(fù)用性、可擴(kuò)展性、可維護(hù)性。5類與對象的關(guān)系:可看成是抽象與具體的關(guān)系。組成類的每個對象都是該類的實(shí)例,實(shí)例是類的具體事務(wù),類是各個實(shí)例的綜合抽象。通過類還可以生成許多同類型的對象。6UML的組成:UML的模型元素、UML的元模型結(jié)構(gòu)、圖和視圖

7、。7 UML的4個抽象層次:用戶模型、模型、元模型、元元模型。8UML的2類圖:靜態(tài)圖(用例圖、類圖、對象圖、構(gòu)件圖、部署圖);動態(tài)圖(狀態(tài)圖、時序圖、協(xié)作圖、活動圖)5種視圖:用例視圖、邏輯視圖、進(jìn)程視圖、構(gòu)件視圖、部署視圖。9 UML的特點(diǎn):同意標(biāo)準(zhǔn)、面向?qū)ο?、表達(dá)能力強(qiáng),可視化。10用例圖就是由主角、用例以及它們之間的關(guān)系構(gòu)成的圖。該圖說明了用例模型中的關(guān)系。用例模型由一組用例圖組成,其基本組成部件是用例、參與者和系統(tǒng)。11類圖:是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。類圖最基本的元素是類或者接口。12對象圖是顯示了一組對象和他們之間的關(guān)系。使

8、用對象圖來說明數(shù)據(jù)結(jié)構(gòu),類圖中的類或組件等的實(shí)例的靜態(tài)快照。對象圖和類圖一樣反映系統(tǒng)的靜態(tài)過程,但它是從實(shí)際的或原型化的情景來表達(dá)的。13狀態(tài)圖是描述一個實(shí)體基于事件反應(yīng)的動態(tài)行為,顯示了該實(shí)體如何根據(jù)當(dāng)前所處的狀態(tài)對不同的事件做出反應(yīng)的。14時序圖用來描述對象之間的動態(tài)交互,著重體現(xiàn)對象間消息傳遞的時間順序。15協(xié)作圖用來描述相互協(xié)作的對象間的交互和鏈接。16構(gòu)件圖顯示軟件構(gòu)件之間的依賴關(guān)系。17部署圖描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上執(zhí)行的軟件。第五章1. 軟件需求主要指一個軟件系統(tǒng)必須遵循的條件或具備的能力。2. 軟件需求的3個層次:業(yè)務(wù)需求、用戶需求、功能需求。軟件項(xiàng)目中40%6

9、0%的問題源自軟件需求階段。3. 軟件需求的6個特性:功能性、可用性、可靠性、性能、可支持性、設(shè)計約束。4. 需求工程與需求分析之間的區(qū)別: 需求工程是指應(yīng)用已證實(shí)有效的技術(shù)、方法進(jìn)行需求分析,確定客戶需求,幫助分析人員理解問題并定義目標(biāo)系統(tǒng)的所有外部特征的一門學(xué)科。它通過合適的工具和記號系統(tǒng)地描述待開發(fā)系統(tǒng)及其行為特征和相關(guān)約束,形成需求文檔,并對用戶不斷變化的需求演進(jìn)給予支持。 所謂需求分析,是指對要解決的問題進(jìn)行詳細(xì)的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么。5. 需求分析的步驟:需求獲取、需求建模、需求描述(編寫SRS)、需求驗(yàn)證。6. 需求分析的主

10、要任務(wù):建立需求模型。需求分析是迭代過程。第六章1. 面向?qū)ο蠓治龅娜蝿?wù)是:將需求階段產(chǎn)生的需求模型 轉(zhuǎn)換為 軟件分析模型。面向?qū)ο笤O(shè)計的任務(wù)是:將分析階段建立的分析模型 轉(zhuǎn)換為 軟件設(shè)計模型。2. 面向?qū)ο蠓治鯫OA的建模步驟:需求理解、定義類和對象、標(biāo)識對象的屬性和操作、標(biāo)識類的結(jié)構(gòu)和層次、建立對象-關(guān)系模型、建立對象-行為模型、評審OOA模型。3. OOA的優(yōu)點(diǎn):同時加強(qiáng)了對問題空間和軟件系統(tǒng)的理解;改進(jìn)包括用戶在內(nèi)的軟件分析有關(guān)的各類人員之間的交流;對需求的變化具有較強(qiáng)的適應(yīng)性;很好的支持軟件復(fù)用;確保從需求模型到設(shè)計模型的一致性。4. 分析模型(是一種概念模型)的特點(diǎn):全面覆蓋軟件的

11、功能需求;分析模型與軟件的實(shí)現(xiàn)無關(guān);分析模型的表述方法與所采用的分析技術(shù)有關(guān)。5. 典型的五層次模型:建立類/對象層(抽象出類和對象)、建立屬性層(設(shè)計靜態(tài)屬性和關(guān)系)、建立服務(wù)層(定義動態(tài)屬性和消息通信)、建立結(jié)構(gòu)層(定義層次結(jié)構(gòu)關(guān)系)、建立主題層(每個主題構(gòu)成一個子系統(tǒng))。第七章1. 軟件設(shè)計的基本概念:模塊(定義輸入、輸出和特性的程序?qū)嶓w)與構(gòu)件、抽象與細(xì)化、信息隱藏、軟件復(fù)用。2. 軟件設(shè)計的基礎(chǔ):分析階段對目標(biāo)系統(tǒng)的數(shù)據(jù)、功能、行為建模。3. 軟件設(shè)計包括:數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計、接口設(shè)計、過程設(shè)計。4. 模塊的獨(dú)立性從2個方面度量:模塊本身的內(nèi)聚、模塊之間的耦合。5. 內(nèi)聚分類:低

12、內(nèi)聚(偶然性內(nèi)聚、邏輯性內(nèi)聚、時間性內(nèi)聚)、中內(nèi)聚(過程性內(nèi)聚、通訊性內(nèi)聚)、高內(nèi)聚(順序性內(nèi)聚、功能性內(nèi)聚)。6. 耦合分類:弱耦合(非直接耦合、數(shù)據(jù)耦合、特征耦合)、中耦合(控制耦合)、較強(qiáng)耦合(外部耦合、公共耦合)、強(qiáng)耦合(內(nèi)容耦合)。7. OO設(shè)計模型由系統(tǒng)架構(gòu)層、類和對象層、消息層、責(zé)任層4個層次組成。8. 面向?qū)ο笤O(shè)計中,數(shù)據(jù)和過程被封裝為類/對象的屬性和操作;接口被封裝為對象間的消息,而體系結(jié)構(gòu)的設(shè)計則體現(xiàn)為系統(tǒng)的技術(shù)基礎(chǔ)設(shè)施和具有控制流程的對象間的協(xié)作。9. OOD的軟件設(shè)計可劃分為2個層次:系統(tǒng)架構(gòu)設(shè)計、系統(tǒng)元素設(shè)計。10. 系統(tǒng)架構(gòu)設(shè)計的內(nèi)容:系統(tǒng)高層結(jié)構(gòu)設(shè)計、確定設(shè)計元素

13、、確定任務(wù)管理策略、實(shí)現(xiàn)分布式機(jī)制、設(shè)計數(shù)據(jù)存儲方案、人機(jī)界面設(shè)計。系統(tǒng)元素設(shè)計的內(nèi)容:子系統(tǒng)設(shè)計、分包設(shè)計、類/對象設(shè)計。11. 層次架構(gòu)的基本原則:將系統(tǒng)劃分不同的層次。確定設(shè)計元素的主要工作是:確定設(shè)計類、子系統(tǒng)、子系統(tǒng)接口。第八章1,編碼的目的:使用選定的程序設(shè)計語言,把設(shè)計模型翻譯為用該語言書寫的源程序(或源代碼)。2,編碼的風(fēng)格:清晰的前提下追求效率。3編碼風(fēng)格的要求:使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)、實(shí)現(xiàn)源程序的文檔化、滿足用戶友好的輸入輸出風(fēng)格。4測試的特性:挑剔型、復(fù)雜性、不徹底性、經(jīng)濟(jì)型。5測試分類:靜態(tài)分析(靜態(tài)分析器分析、代碼評審(代碼會審、走查、辦公桌檢查);動態(tài)測試(黑盒測試(功

14、能測試)、白盒測試(結(jié)構(gòu)測試)。6測試文檔內(nèi)容:測試計劃、測試報告。測試計劃的主體是測試內(nèi)容說明:測試項(xiàng)目名稱、測試目的、步驟和進(jìn)度、測試用例設(shè)計。測試報告的主題是測試結(jié)果:測試項(xiàng)目名稱、實(shí)測結(jié)果和期望結(jié)果的比較、發(fā)現(xiàn)問題、測試效果。7黑盒測試:根據(jù)被測試程序功能來進(jìn)行測試,也稱功能測試。白盒測試:以程序結(jié)構(gòu)為依據(jù),又稱結(jié)構(gòu)測試。8黑盒測試分類:等價類法、邊界值法、錯誤猜測法。9白盒測試分類:路經(jīng)測試(點(diǎn)覆蓋、邊覆蓋、路徑覆蓋)、邏輯覆蓋測試(語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋)。10測試的層次性:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試。(確認(rèn)測試和系統(tǒng)測試都是對整個程

15、序的測試,二者都屬于高級測試)。第九、十、十一、十二章1軟件維護(hù):在一個軟件產(chǎn)品交付使用后對其進(jìn)行修改,以糾正故障、改進(jìn)其性能和其他屬性,或使產(chǎn)品適應(yīng)改變了的環(huán)境。目的:滿足用戶對已開發(fā)產(chǎn)品的性能與運(yùn)行環(huán)境不斷提高的要求,進(jìn)而延長軟件的壽命。分類:完整性維護(hù)、適應(yīng)性維護(hù)、糾錯性維護(hù)等。2軟件復(fù)用的定義: 利用工程知識或方法,由一已存在的系統(tǒng),來建造一新系統(tǒng)。目的:這種技術(shù),可改進(jìn)軟件產(chǎn)品質(zhì)量和生產(chǎn)率。還有軟件檢查、軟件計量、軟件可靠性、軟件可維修性、軟件工具評估和選擇等。軟件復(fù)用能更快、更好、成本更低地生產(chǎn)軟件制品。3軟件可靠性:在給定的時間內(nèi),程序按照規(guī)定的條件成功的運(yùn)行的概率。軟件工程復(fù)習(xí)

16、大綱第一章1. 軟件危機(jī)概念指軟件在開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。兩方面問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。2. 軟將危機(jī)有哪些現(xiàn)象典型表現(xiàn):對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確;經(jīng)常出現(xiàn)用戶對“已完成的”軟件產(chǎn)品不滿意的情況;軟件產(chǎn)品的質(zhì)量往往達(dá)不到需求;難維護(hù);沒有適當(dāng)?shù)奈臋n資料;軟件成本在計算機(jī)系統(tǒng)總成本中所占的比列逐年上升;軟件開發(fā)生產(chǎn)效率提高的速度遠(yuǎn)遠(yuǎn)不能滿足社會對軟件產(chǎn)品的日益增長的需求。3. 軟件工程概念軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過實(shí)踐考驗(yàn)而證明正

17、確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效的維護(hù)它,這就是軟件工程。4. 軟件工程7條基本原理用分階段的生命周期計劃嚴(yán)格管理;堅(jiān)持進(jìn)行階段評審;實(shí)行嚴(yán)格的產(chǎn)品控制;采用現(xiàn)代程序設(shè)計技術(shù);結(jié)果應(yīng)能清楚的審查;開發(fā)小組的人員應(yīng)該少而精;承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。5. 軟件工程方法學(xué)包含3個基本要素是什么方法、工具、過程;方法:完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答怎么樣做的問題;工具:為運(yùn)用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程:為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作。6. 軟件生命周期劃分哪些階段

18、3個時期:軟件定義、軟件開發(fā)和運(yùn)行維護(hù)軟件定義:確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。7. 各階段的任務(wù)是什么1. 問題定義 必須確定要解決的問題是什么。2. 可行性研究 對于上一個階段所確定的問題有行得通的解決方法? 可行性研究的結(jié)果是客戶做出是否繼續(xù)進(jìn)行這項(xiàng)工程的決定的重要依據(jù)。3. 需求分析 為了解決這個問題,目標(biāo)系統(tǒng)必須做什么 確定目標(biāo)系統(tǒng)必須具備的功能4. 總體設(shè)計 怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)(抽象) 提出方案(低成本,中成本,高成本)5. 詳細(xì)設(shè)計 把解法具體化。應(yīng)該怎樣具

19、體實(shí)現(xiàn)這個系統(tǒng)。設(shè)計出程序的詳細(xì)規(guī)格說明(包含必要的細(xì)節(jié))6. 編碼和單元測試 寫出正確的容易理解、容易維護(hù)的程序模塊7. 綜合測試 通過過程類型的測試使軟件達(dá)到預(yù)定的要求8. 軟件維護(hù) 通過各種必要的維護(hù)活動使系統(tǒng)持久地滿足用戶的需要。改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù)。8. 軟件過程概念軟件過程描述為了開發(fā)出客戶需要的團(tuán)建,什么人、在什么時候、做什么事以及怎樣做這些事以實(shí)現(xiàn)某一個特定的具體目標(biāo)。過程定義了運(yùn)用方法的順序、應(yīng)該支付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施,以及標(biāo)志軟件開發(fā)各個階段任務(wù)完成的里程碑。9. 軟件過程模型都有哪些(瀑布模型)瀑布模型 快速

20、原型模型(快速建立一個能反映客戶需求的原型模型,讓用戶在計算機(jī)上試用,然后提出修給意見,開發(fā)人員再此基礎(chǔ)上不斷修改,用戶不斷測試,知道確定能做所需要的工作,開發(fā)人員便根據(jù)此書寫規(guī)格說明文檔。根據(jù)這份文檔開發(fā)出的軟件便可以滿足用戶的真實(shí)需求) 增量模型(分批逐步向用戶提交產(chǎn)品,整個軟件產(chǎn)品被分解成許多個增量構(gòu)件,開發(fā)人員一個構(gòu)件接著一個構(gòu)件的向用戶提交產(chǎn)品) 螺旋模型(可看做在每個階段之前都增加了風(fēng)險分析過程的快速原型模型。適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目) 噴泉模型10. 畫圖說明瀑布模型11. 瀑布模型有什么特點(diǎn)1. 階段間具有順序性和依賴性:必須等前一段的工作完成之后,才能開始后一階段的工作

21、;前一階段的輸出文檔就是后一階段的輸入文檔。前一段的輸出文檔正確,后一階段的工作才能獲得真正的結(jié)果。2. 推遲實(shí)現(xiàn)的觀點(diǎn):在編碼之前設(shè)置了系統(tǒng)分析與系統(tǒng)設(shè)計的各個階段,分析與設(shè)計階段的基本任務(wù)規(guī)定,在這兩個階段主要考慮目標(biāo)系統(tǒng)的邏輯模型,不涉及軟件的物理實(shí)現(xiàn)。3. 質(zhì)量保證的觀點(diǎn):堅(jiān)持兩個重要做法:每個階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù)(運(yùn)行時期對軟件進(jìn)行維護(hù)的重要依據(jù));每個階段結(jié)束前都要對所完成的文檔進(jìn)行評審,以便盡早發(fā)現(xiàn)問題,改正錯誤。優(yōu)點(diǎn):可強(qiáng)迫開發(fā)人員采用規(guī)范的方法;嚴(yán)格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組

22、的仔細(xì)檢查。12. 在軟件生產(chǎn)中為什么強(qiáng)調(diào)管理(項(xiàng)目管理中介紹)所謂的管理就是通過計劃、組織和控制等一系列活動,合理配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。軟件項(xiàng)目管理過程從一組項(xiàng)目計劃活動開始,而制定計劃的基礎(chǔ)是工作量估計和完成期限估計。很多項(xiàng)目的失敗都是因?yàn)楣芾聿簧啤5诙?. 可行性研究的目的 用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。(基本目的是用較小的成本在較短的時間內(nèi)確定是否存在可行的解法,忽略許多細(xì)節(jié))2. 從哪些方面進(jìn)行可行性研究技術(shù)可行性;經(jīng)濟(jì)可行性;操作可行性。3. 系統(tǒng)流程圖的作用4. 數(shù)據(jù)流圖的作用;數(shù)據(jù)流圖是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸

23、出的過程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。只需考慮系統(tǒng)必須要完成的基本邏輯功能。5. 數(shù)據(jù)字典的作用,數(shù)據(jù)字典要定義哪些組成,畫出倉庫定貨系統(tǒng)的組成數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有原色的定義的結(jié)合。作用:在軟件分析和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。有助于分析員和用戶之間的通信。定義組成:順序 選擇 重復(fù) 可選第三章1. 需求分析任務(wù)是軟件定義時期的最后一個階段,它的基本任務(wù)是準(zhǔn)確的回答“系統(tǒng)必須做什么“這個問題。(僅確定系統(tǒng)必須完成哪些工作,對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求)2. 系統(tǒng)

24、綜合需求功能需求:制定系統(tǒng)必須提供的服務(wù)性能需求:系統(tǒng)必須滿足的定時約束或容量約束可靠性和可用性需求:可靠性需求定量地指定系統(tǒng)的可靠性;可用性量化了用戶可以使用系統(tǒng)的程度出錯處理需求:說明系統(tǒng)對環(huán)境錯誤應(yīng)該如何響應(yīng)(錯誤不是由系統(tǒng)本身造成)接口需求:描述應(yīng)用系統(tǒng)與它的環(huán)境通信的格式約束:設(shè)計約束或?qū)崿F(xiàn)約束描述在設(shè)計或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時應(yīng)遵守的限制條件逆向需求:說明軟件系統(tǒng)不應(yīng)該做什么將來可能提出的要求:應(yīng)該明確的列出那些雖然不屬于當(dāng)前系統(tǒng)開發(fā)范疇,但是據(jù)分析將來很可能會提出來的要求3. 什么叫模型,在需求分析中要建立哪些模型 模型,就是為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面

25、描寫。數(shù)據(jù)模型、功能模型、行為模型4. 一些圖的作用(E-R圖,狀態(tài)轉(zhuǎn)換圖,層次方框圖,warnier圖,IPO圖)實(shí)體-聯(lián)系圖(ER圖):為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確的描述出來(描述數(shù)據(jù)模型)狀態(tài)轉(zhuǎn)換圖:通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件(動態(tài)模型)層次方框圖:(數(shù)據(jù)的層次結(jié)構(gòu))Warnier圖:數(shù)據(jù)的層次結(jié)構(gòu)IPO圖:描述輸入、處理和輸出之間的關(guān)系5. 從那些地方驗(yàn)證軟件需求一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。完整性:需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個功能或性能現(xiàn)實(shí)性:制定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。有效

26、性:必須證明需求是有效的,確實(shí)能解決用戶面對的問題。第五章1. 總體設(shè)計主要任務(wù)是什么總體設(shè)計(概要設(shè)計,初步設(shè)計)的基本目的就是回答“概括地說,系統(tǒng)應(yīng)該如何實(shí)現(xiàn)”這個問題。設(shè)計過程首先尋找實(shí)現(xiàn)目標(biāo)系統(tǒng)的各種不同的方案,需求分析階段得到的數(shù)據(jù)力圖是設(shè)想各種可能方案的基礎(chǔ)。2. 什么是模塊化,有什么優(yōu)點(diǎn)模塊是由邊界元素限定的相鄰程序元素的序列,而且有一個總體標(biāo)識符代表它。模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。優(yōu)點(diǎn):可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱讀和理解;模塊化使軟件容易測試和調(diào)試,因而

27、有助于提高軟件的可靠性;因?yàn)樽儎油簧婕吧贁?shù)幾個模塊,所以模塊化能夠提高軟件的可修改性;也有助于軟件開發(fā)工程的組織管理。3. 什么是耦合,有哪些類型耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。模塊間無任何連接,耦合程度最低。兩個模塊彼此間通過數(shù)交換信息,交換的信息僅僅是數(shù)據(jù),這種耦合稱為數(shù)據(jù)耦合(低耦合)。如果傳遞的信息中有控制信息,這種耦合稱為控制耦合(中等程度耦合,增加系統(tǒng)的復(fù)雜程度)。當(dāng)把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被條用的模塊只需要使用其中一部分?jǐn)?shù)據(jù)元素時,就出現(xiàn)了特征耦合。當(dāng)兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,它們之間的耦合稱為公共環(huán)境耦合。內(nèi)容耦合(避免使用)4.

28、什么是內(nèi)聚,有哪些類型內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò)展。高內(nèi)聚往往意味著模塊間的松耦合。5. 軟件設(shè)計有哪些啟發(fā)式原則改進(jìn)軟件結(jié)構(gòu)提高模塊的獨(dú)立性(低耦合高內(nèi)聚)模塊規(guī)模應(yīng)用適中深度、寬度、扇出(直接控制)和扇入(被直接調(diào)用數(shù)量)都應(yīng)適當(dāng)模塊的作用域應(yīng)該在控制域之內(nèi)力爭降低模塊接口的復(fù)雜程度設(shè)計單入口單出口的模塊模塊功能應(yīng)該可以預(yù)測6. 描述軟件?圖:結(jié)構(gòu)圖,層次圖和HIPO層次圖:描繪軟件的層次結(jié)構(gòu)(方框間連線表示調(diào)用關(guān)系,適用于自頂向下設(shè)計軟件的過程中使用)HIPO:層次圖加輸入、處理、輸出圖(與層次圖不同的是,在每個框里增加了編號)第六章1. 詳細(xì)設(shè)計的主要任務(wù)根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序(詳細(xì)設(shè)計的結(jié)果基本上決定了最終的程序代碼的質(zhì)量)。2. 結(jié)構(gòu)程序設(shè)計基本原理結(jié)構(gòu)程序設(shè)計是盡可能少用GO TO語句的程序設(shè)計方案。最好盡在檢測出錯誤時才使用GO TO語句,而且應(yīng)該總是使用向前GO TO語句。3. 詳細(xì)設(shè)計的工具:程序流程圖,盒圖,判定表,判定樹,問題分析圖第七章1. 在代碼中加注釋的作用是什么使程序代碼的邏輯簡明清晰,易讀易懂,便于后期的維護(hù)和修改

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論