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

下載本文檔

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

文檔簡介

1、軟件工程復(fù)習(xí)材料一、考試復(fù)習(xí)范圍:1、軟件工程基本概念、基本原理2、需求分析,結(jié)構(gòu)化分析、面向?qū)ο蠓治?,結(jié)構(gòu)化分析建模、面向?qū)ο蠓治鼋?、軟件設(shè)計,結(jié)構(gòu)化程序設(shè)計,概要設(shè)計、詳細(xì)設(shè)計4、軟件測試二、考試題型:單項(xiàng)選擇題、簡答題、綜合應(yīng)用題(要求會畫:數(shù)據(jù)流圖、軟件結(jié)構(gòu)圖、用例圖、類圖、N-S盒圖、PAD圖)三、復(fù)習(xí)內(nèi)容:1、什么是軟件危機(jī)?人們把軟件開發(fā)和維護(hù)中的各種問題稱為“軟件危機(jī)”。2、軟件危機(jī)主要包含哪兩方面的問題?如何開發(fā)軟件以滿足軟件日益增長的需求。如何維護(hù)數(shù)量不斷增長的已有軟件。 3、軟件危機(jī)的表現(xiàn)有哪些?對軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確。用戶對完成的軟件很不滿意。軟件產(chǎn)品的

2、質(zhì)量很不可靠。 沒有完整的文檔。 軟件成本比重上升。 軟件開發(fā)生產(chǎn)效率低下,軟件開發(fā)技術(shù)進(jìn)步落后與需求的增長,造成“供不應(yīng)求”的局面。 4、什么是軟件工程?軟件工程的定義:采用工程的概念、原理和方法來開發(fā)和維護(hù)軟件,把經(jīng)過時間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,這就是軟件工程。5、.軟件工程包括3個要素有哪些?方法、工具和過程。6、軟件生命周期各階段有哪些?軟件生命周期包括:軟件定義、軟件開發(fā)、軟件維護(hù)三個時期。其中:軟件定義包括:問題定義、可行性研究、需求分析階段;軟件開發(fā)包括:總體設(shè)計、詳細(xì)設(shè)計、編碼、軟件測試階段。 7、需求分析的任務(wù)有哪些?需求分析的任務(wù)主要

3、有兩個方面:通過對問題及環(huán)境的理解、分析和綜合,建立分析模型。在完全弄清用戶對軟件系統(tǒng)的確切要求的基礎(chǔ)上,用“軟件需求規(guī)格說明書”把用戶的需求表達(dá)出來。8、軟件系統(tǒng)需求分類是哪些?軟件系統(tǒng)需求可以分為功能需求、非功能需求和領(lǐng)域需求:1)功能需求描述系統(tǒng)所預(yù)期提供的功能或服務(wù)。即定義系統(tǒng)應(yīng)該做什么,系統(tǒng)要求輸入什么信息,輸出什么信息,以及如何將輸入變換為輸出。它由開發(fā)的軟件類型、軟件未來的用戶以及開發(fā)的系統(tǒng)類型決定。2)非功能需求是指那些不直接與系統(tǒng)具體工作相關(guān)的一類需求。主要涉及系統(tǒng)的總體特性,如可靠性、反映時間和儲存空間等。 3)領(lǐng)域需求是來自系統(tǒng)的應(yīng)用領(lǐng)域的需求,反映了該領(lǐng)域的特點(diǎn),它可能

4、是一個新的特有的功能需求,對已存在的功能需求的約束或者是需要實(shí)現(xiàn)的一個特別計算。 9、獲取需求的方法有哪些? 1.通過系統(tǒng)調(diào)查獲取需求 2.通過快速原型獲取和驗(yàn)證需求 10、需求開發(fā)包括哪些內(nèi)容?需求開發(fā)又分為可行性研究、需求導(dǎo)出和分析(包括需求的獲取與建模)、編寫規(guī)格說明書和需求驗(yàn)證。 11、傳統(tǒng)的需求分析方法建立什么模型?分別畫什么圖?(或問:結(jié)構(gòu)化分析模型包括哪些?)包括:數(shù)據(jù)模型(ER圖),功能模型(數(shù)據(jù)流圖)、動態(tài)(行為)模型(狀態(tài)轉(zhuǎn)化圖)。12、如何建立數(shù)據(jù)流模型?要有根據(jù)業(yè)務(wù)處理建立數(shù)據(jù)流圖的能力例如:工資管理系統(tǒng)的數(shù)據(jù)流圖13、面向?qū)ο蟮姆治瞿P桶男??OOA模型的3種模型:

5、 1)類-對象模型,描述系統(tǒng)所涉及的全部類-對象,每一個類-對象都通過屬性、操作和協(xié)作者來進(jìn)行進(jìn)一步描述; 2)對象-關(guān)系模型,描述對象之間的靜態(tài)關(guān)系,同時定義了系統(tǒng)中所有重要的消息路徑,它也可以具體化到對象的屬性、操作和協(xié)作者; 3)對象-行為模型描述了系統(tǒng)的動態(tài)行為,即對象在特定的狀態(tài)下如何反映外界的事件。3種模型分別起到描述數(shù)據(jù)模型、功能模型與行為模型的作用。14、結(jié)構(gòu)化建模的基本特點(diǎn)有哪些?1)結(jié)構(gòu)化方法是面向數(shù)據(jù)流分析方法之一,它采用圖形描述方式來建立分析模型,把軟件系統(tǒng)描繪成一個可見模型,為系統(tǒng)的審查和評價提供了有利的條件,也為軟件開發(fā)人員和用戶提供了交換信息的方便,為設(shè)計階段提供

6、了依據(jù)。2)結(jié)構(gòu)化方法的分析過程實(shí)際上是一個建模的活動,把系統(tǒng)自上向下逐層分解,逐步細(xì)化,從而獲得一個分析模型。3)結(jié)構(gòu)化方法比較適用數(shù)據(jù)處理的領(lǐng)域。為了適合用于實(shí)時控制系統(tǒng),可以在數(shù)據(jù)流圖中加入控制流,這是結(jié)構(gòu)化方法的一種擴(kuò)充。4)用數(shù)據(jù)流圖不適合描繪人機(jī)界面。而且對大型軟件項(xiàng)目,數(shù)據(jù)字典的規(guī)模相當(dāng)龐大,人工管理非常困難,因此需要借助于軟件開發(fā)工具。5)用結(jié)構(gòu)化方法建立的分析模型,只是提供人們閱讀的書面文檔,不能被機(jī)器閱讀和運(yùn)行。15、請說說原型開發(fā)的一般過程。 原型開發(fā)的軟件開發(fā)過程一般包括四個階段: 1)提出基本需求,建立原型目標(biāo)。 2)定義原型功能,建造快速原型。 3)對模型進(jìn)行檢驗(yàn),

7、補(bǔ)充、細(xì)化需求。 4)按照改進(jìn)的需求對模型進(jìn)行改進(jìn)、擴(kuò)充,評估原型。 5)通過第3)、4)步驟的反復(fù)循環(huán),最終形成完整、準(zhǔn)確的需求,模型也就成為了符合要求的目標(biāo)系統(tǒng)。16、軟件質(zhì)量保證有哪些方法?評審測試17、人類對客觀事物的認(rèn)知過程主要有兩種: 1)從一般到特殊的演繹方法, 2)從特殊到一般的歸納方法,18、面向?qū)ο蠓治龇椒ǖ囊c(diǎn)是什么?面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn)是什么? 利用“對象”的概念模型建立一個針對于問題域的模型,用戶和軟件工程師通過該模型進(jìn)行交流。通過在這么一個基于“對象”的問題域模型的基礎(chǔ)上形成需求規(guī)格說明書。面向?qū)ο蠓治龇椒ㄊ沟密浖こ處熌軌蛲ㄟ^對象、屬性和操作(作為主要的建模成分

8、)的表示來對問題建模。1)符合人類習(xí)慣的思維方法。2)穩(wěn)定性好。 3)可重用性好。4)可維護(hù)性好。 5)可伸縮性。19、用面向?qū)ο蟮挠美椒ㄟM(jìn)行需求分析根本要點(diǎn)是什么?面向?qū)ο蠓椒ㄖ?,需求?dǎo)出和分析目的用例方法,其要點(diǎn)是: 1)用例的重要功能是通過畫用例圖來鑒別和劃分系統(tǒng)功能。它把系統(tǒng)分成角色(actor)和用例(用例)。2)角色(actor)表示系統(tǒng)用戶能扮演的角色。3)用例描述了當(dāng)角色給系統(tǒng)特定的刺激時系統(tǒng)的活動,即一個用例描述了系統(tǒng)和一個角色(actor)的交互順序。4)用例被定義成系統(tǒng)執(zhí)行的一系列動作,動作執(zhí)行的結(jié)果能被指定角色察覺到。20、使用用例開發(fā)系統(tǒng)的一般過程有哪些?1)識別角

9、色來識別系統(tǒng)與外界交互的實(shí)體。2)識別用例。用例具有不同層次,對較為概括的用例,需要細(xì)化。3)當(dāng)用例細(xì)化到可以被理解的層次,需要基于用例進(jìn)行下一步的開發(fā)。用例主要用來描述交互,因此存在交互的實(shí)體和交互的細(xì)節(jié)。交互的實(shí)體采用類圖來描述;而交互的細(xì)節(jié),采用順序圖來描述。4)當(dāng)系統(tǒng)復(fù)雜到一定層次時,類圖和順序圖可能不能足以描述其復(fù)雜程度。在該情況下,需要使用狀態(tài)圖來輔助闡述。21、UML的定義及UML圖的構(gòu)成成份是哪些?1、UML是一個通用的標(biāo)準(zhǔn)建模語言,可以對任何具有靜態(tài)結(jié)構(gòu)和動態(tài)行為的系統(tǒng)進(jìn)行建模。UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測試的不同階段。2. UML 圖的構(gòu)成成分,U

10、ML的定義了5類10種模型圖 1)用例圖:這是一種用戶模型視圖,用例圖是系統(tǒng)功能的描述。它從用戶的角度描述系統(tǒng)的功能,并指出各個功能的操作者。2)靜態(tài)圖:這是一種結(jié)構(gòu)模型視圖,這種圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。有類圖、對象圖、包圖。3)行為圖:這是一種行為(動態(tài))模型視圖,這種圖描述系統(tǒng)的動態(tài)行為和組成系統(tǒng)的對象之間的交互關(guān)系。行為圖有狀態(tài)圖和活動圖。 4)實(shí)現(xiàn)圖:這是一種實(shí)現(xiàn)模型視圖,這種圖描述系統(tǒng)實(shí)現(xiàn)的信息,有構(gòu)件圖和配件圖。5)交互圖:這是一種環(huán)境模型視圖,表示系統(tǒng)的環(huán)境結(jié)構(gòu)和行為,這種圖描述系統(tǒng)對象之間的交互關(guān)系,有順序圖和合作圖。 3.完整需求分析主要用五種圖:用例圖、類圖、狀態(tài)圖、協(xié)作圖和

11、順序圖。 22、面向?qū)ο蟮姆治瞿P椭饕心男┳幽P蜆?gòu)成?它們分別是哪些圖?由3類子模型構(gòu)成,即:對象模型、動態(tài)模型和功能模型。對象模型(Object Model)用于描述系統(tǒng)內(nèi)部對象的靜態(tài)結(jié)構(gòu);動態(tài)模型描述軟件系統(tǒng)的控制結(jié)構(gòu);功能模型描述軟件系統(tǒng)必須要完成的功能。對象模型由一組類圖構(gòu)成。動態(tài)模型由一組狀態(tài)圖、順序圖等構(gòu)成。功能模型由一組數(shù)據(jù)流圖構(gòu)成。23、如何建立用例圖、類圖?建立類圖的工作步驟是:首先確定對象類和關(guān)聯(lián),對于大型復(fù)雜問題還要進(jìn)一步劃分若干個主題,然后給類和關(guān)聯(lián)增添屬性,以進(jìn)一步描述它們,接下來利用適當(dāng)?shù)睦^承關(guān)系進(jìn)一步合并和組織類。而對類中操作的最后確定,則需要等到建立了動態(tài)模型

12、和功能模型之后。例如:學(xué)生管理系統(tǒng)用例圖例要有根據(jù)業(yè)務(wù)處理建立用例圖、類圖的能力學(xué)生管理類圖例:24、軟件設(shè)計原則:模塊的獨(dú)立性原則:所謂模塊的獨(dú)立性,是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能,而與軟件系統(tǒng)中其他的模塊的接口是簡單的。例如,若一個模塊只具有單一的功能且與其他模塊沒有太多的聯(lián)系,則稱此模塊具有模塊獨(dú)立性。模塊的耦合性,聚合性的概念,它們是對模塊獨(dú)立性的度量。在進(jìn)行軟件設(shè)計過程中,力爭松散(低)耦合,高內(nèi)聚。25、軟件設(shè)計種類傳統(tǒng)的軟件設(shè)計方法(結(jié)構(gòu)化軟件設(shè)計方法)、面向?qū)ο笤O(shè)計方法。26、結(jié)構(gòu)化程序設(shè)計有哪些設(shè)計類型?有:概要設(shè)計、詳細(xì)設(shè)計27、面向?qū)ο筌浖O(shè)計有哪些設(shè)計

13、類型?有:系統(tǒng)設(shè)計、對象設(shè)計28、面向數(shù)據(jù)流的軟件設(shè)計方法是概要設(shè)計的一種方法,是基于分析模型,到設(shè)計模型的過程。具體的就是通過數(shù)據(jù)流圖到軟件(模塊)結(jié)構(gòu)圖。同學(xué)們應(yīng)有該方法進(jìn)行軟件設(shè)計的能力29、詳細(xì)設(shè)計工具程序流程圖、N-S圖(合圖)、PAD圖(問題分析圖)、PDL(偽代碼)同學(xué)們應(yīng)有建立這些圖,并這些圖進(jìn)行轉(zhuǎn)換的能力30、軟件測試 軟件測試是在軟件正式投入運(yùn)行前,對軟件的需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是質(zhì)量保證工作最為關(guān)鍵的一個環(huán)節(jié)。軟件測試過程包括4個步驟進(jìn)行:單元測試、集成測試(組裝測試)、驗(yàn)收測試(確認(rèn)測試)、系統(tǒng)測試軟件測試方法有:白盒測試方法、黑盒測試方法31、測試和

14、調(diào)試測試是為了發(fā)現(xiàn)錯誤而運(yùn)行程序的過程調(diào)試是為了改正錯誤而對錯誤進(jìn)行定位與修改程序,從而排除該錯誤。32、(詳細(xì)設(shè)計例)設(shè)計使用篩選法獲取1100之間素數(shù)的程序(可以根據(jù)下面的參考程序代碼),要求使用PDL描述程序執(zhí)行的各步驟,并畫出N-S圖或PAD圖。參考程序代碼:素數(shù)也稱為質(zhì)數(shù), 是不能被從2開始到比自己小1的任何正整數(shù)整除的自然數(shù), 解決的算法描述如下:(1)構(gòu)造外循環(huán)得到一個1100之間的數(shù)i, 為了減少循環(huán)次數(shù), 可跳過所有偶數(shù);(2)構(gòu)造內(nèi)循環(huán)得到一個2m之間的數(shù)j, 令msqrt(i);(3)內(nèi)循環(huán)結(jié)束后判斷j是否大于等于m+1, 若是, 則i必為素數(shù), 打印輸出; 否則再次進(jìn)行外循環(huán)。Java程序如下:public class sushu public static void main(String args) int n=0, m, i, j;for(i=3; i=100; i+=2)m=(int)Math.sqrt(double)i) ;for(j=2; j=m+1)System.out.print(i+ );n+;/wai xun huanint n=0, m, i, j;i=3While i=100m=(int)Math.sqrt(double)i) ; j=

溫馨提示

  • 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

提交評論