




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
*軟件工程專業(yè)*復(fù)習(xí)*資料
什么是軟件工程?它的目標(biāo)和內(nèi)容是什么?
軟件工程是一種用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。軟件工程是一
門工程性學(xué)科,目的是成功的建造一個(gè)大型軟件系統(tǒng),所謂成功是要達(dá)到以下幾個(gè)目標(biāo):付
出較低的開發(fā)成本,達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需
要較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;開發(fā)的軟件可靠性高。軟件工程
研究的主要內(nèi)容是軟件開發(fā)技術(shù)和軟件開發(fā)管理兩方面,在軟件開發(fā)技術(shù)中,主要研究軟件
開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,主要研究軟件管理學(xué)、
軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué)等。
軟件文檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)效率;作為開發(fā)人員階段工作成
果和結(jié)束標(biāo)志;記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù);提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)
資料;便于用戶了解軟件功能、性能。軟件開發(fā)項(xiàng)目生存期各階段應(yīng)包括得文檔以及與各
類人員的關(guān)系如下:可行性研究報(bào)告、項(xiàng)目開發(fā)計(jì)劃、軟件需求說明書、數(shù)據(jù)要求說明書、
測(cè)試計(jì)劃、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書、用戶手冊(cè)、操作手冊(cè)、測(cè)試分析報(bào)告、開發(fā)
進(jìn)度月報(bào)、項(xiàng)目開發(fā)總結(jié)、程序維護(hù)手冊(cè)(維護(hù)修改建議)
軟件過程模型:
什么是瀑布模型(又叫作生命周期模型)?
瀑布模型是將軟件生存周期的各項(xiàng)活動(dòng)規(guī)定為按固定順序而連接的若干階段工作,形如瀑布
流水,最終得到軟件產(chǎn)品。核心思想是按工序?qū)栴}化簡(jiǎn),將功能的實(shí)現(xiàn)與設(shè)計(jì)分開,便于
分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。將軟件生命周期劃
分為制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編寫、軟件測(cè)試和運(yùn)行維護(hù)等六個(gè)基本活動(dòng),并
且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。
增量模型的基本思想是什么?
為了克服瀑布模型的局限性,使開發(fā)過程具有一定的靈活性和可修改性,于是產(chǎn)生了增量模
型。它是在瀑布模型的基礎(chǔ)上加以修改而形成的。增量模型和瀑布模型之間的本質(zhì)區(qū)別是:
瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一個(gè)階段的工作之前,必須完成前一階段的所
有細(xì)節(jié)。而增量模型屬于非整體開發(fā)模型,它推遲某些階段或所有階段中的細(xì)節(jié),從而較早
的產(chǎn)生工作軟件。增量模型是在項(xiàng)目的開發(fā)過程中以一系列的增量方式開發(fā)系統(tǒng)。增量方式
包括增量開發(fā)和增量提交。增量開發(fā)是指在項(xiàng)目開發(fā)周期內(nèi),以一定的時(shí)間間隔開發(fā)部分工
作軟件;增量提交是指在項(xiàng)目開發(fā)周期內(nèi),以一定的時(shí)間間隔增量方式向用戶提交工作軟件
及相應(yīng)文檔。增量開發(fā)和增量提交可以同時(shí)使用,也可以單獨(dú)使用。
快速原型模型有幾種?各有何特點(diǎn)?
根據(jù)原型的不同作用,有三類原型模型:⑴探索型原型。這種類型的原型模型是把原型用于
開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索各種方案的可
行性。它主要針對(duì)開發(fā)目標(biāo)模糊,用戶與開發(fā)著對(duì)項(xiàng)目都缺乏經(jīng)驗(yàn)的情況,通過對(duì)原型的開
發(fā)來明確用戶的需求。⑵實(shí)驗(yàn)型原型。這種原型主要用于設(shè)計(jì)階段,考核實(shí)現(xiàn)方案是否合適,
能否實(shí)現(xiàn),對(duì)于一個(gè)大型系統(tǒng),若對(duì)設(shè)計(jì)方案心中沒有把握時(shí),可通過這種原型來證實(shí)設(shè)計(jì)
方案的正確性。⑶演化型原型。這種原型主要用于及早向用戶提交一個(gè)原型系統(tǒng),該原型系
統(tǒng)或者包含系統(tǒng)的框或者包含系統(tǒng)的主要功能。在得到用戶的認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充
演變?yōu)樽罱K的軟件系統(tǒng),它將原型的思路擴(kuò)展到軟件開發(fā)的全過程。
快速原型模型的主要特點(diǎn)之一是:及早提供工作軟件:快速原型技術(shù)適用于軟件產(chǎn)品
要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計(jì)一些復(fù)雜的算法等場(chǎng)合?;舅悸肥?
先給出一個(gè)系統(tǒng)的最初實(shí)現(xiàn),讓用戶去使用和評(píng)價(jià),不斷進(jìn)行細(xì)化和改善,經(jīng)過多次這樣的
反復(fù)過程后形成最終的完善的系統(tǒng)。
軟件生存周期一般可分為以下兒個(gè)階段:1)問題定義:?jiǎn)栴}定義階段必須回答的關(guān)鍵問
題是“要解決的問題是什么?",正確理解用戶的真正需求。2)可行性研究:這個(gè)階
段要回答的關(guān)鍵問題是:對(duì)于上一個(gè)階段所確定的問題“有行得通的解決辦法嗎?",可行
性研究階段應(yīng)該導(dǎo)出系統(tǒng)的高層邏輯模型,準(zhǔn)確地估計(jì)系統(tǒng)的成本和效益。3)需求分析:
需求分析階段的任務(wù),主要是確定目標(biāo)系統(tǒng)必須具備的功能,得出經(jīng)用戶確認(rèn)的系統(tǒng)邏輯模
型。根據(jù)該系統(tǒng)邏輯模型,準(zhǔn)確地回答“為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么"。4)
總體設(shè)計(jì):也叫概要設(shè)計(jì)或初步設(shè)計(jì)。這個(gè)階段必須回答的是“概括地說,應(yīng)該如何解決
這個(gè)問題”。總體設(shè)計(jì)的目標(biāo)是將需求分析階段定義的系統(tǒng)模型轉(zhuǎn)換成相應(yīng)的軟件結(jié)構(gòu),以
規(guī)定軟件的形態(tài)及各成分間的層次關(guān)系、界面及接口要求。5)詳細(xì)設(shè)計(jì):詳細(xì)設(shè)計(jì)階段
的任務(wù)是把解法具體化,也就是回答“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)”。詳細(xì)設(shè)計(jì)亦即模塊
設(shè)計(jì)。它是在算法設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,針對(duì)每個(gè)模塊的功能、接口和算法定義,設(shè)計(jì)
模塊內(nèi)部的算法過程及程序的邏輯結(jié)構(gòu),并編寫模塊設(shè)計(jì)說明。6)編碼:這個(gè)階段的任
務(wù),是根據(jù)詳細(xì)設(shè)計(jì)的結(jié)果,選擇一種適合的程序設(shè)計(jì)語言,把詳細(xì)設(shè)計(jì)的結(jié)果翻譯成程序
的源代碼。7)測(cè)試:以便盡早發(fā)現(xiàn)程序中的錯(cuò)誤和缺陷而進(jìn)行的一個(gè)過程,有單元測(cè)試、
集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試4種。8)運(yùn)行與維護(hù):通過各種必要的維護(hù)措施支持軟件
系統(tǒng)能持久地滿足用戶的需要。維護(hù)階段是軟件生存周期中花費(fèi)精力和費(fèi)用最多的階段
可行性研究的任務(wù)是什么?
首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模和目標(biāo),確定項(xiàng)目的約束和限制,
把他們清楚地列舉出來。然后,分析員進(jìn)行簡(jiǎn)要的需求分析,抽象出該項(xiàng)目的邏輯結(jié)構(gòu),建
立邏輯模型。從邏輯模型出發(fā),經(jīng)過壓縮的設(shè)計(jì),探索出若干種可供選擇的主要解決方法,
對(duì)每種解決方法都要研究它的可行性,可從以下三個(gè)方面分析研究每種解決方法的可行性。
㈠技術(shù)可行性:對(duì)要開發(fā)項(xiàng)目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源條件下,
技術(shù)風(fēng)險(xiǎn)有多大,項(xiàng)目是否能實(shí)現(xiàn)。㈡經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解取得效益
的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā)。㈢社會(huì)可行性:要開發(fā)的項(xiàng)目是否存在任何
侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、
人員素質(zhì)、操作方式是否可行。
計(jì)算機(jī)系統(tǒng)的軟件要素中的軟部件由程序、數(shù)據(jù)和過程
軟件=程序+文檔
可行性分析文檔(已經(jīng)發(fā)放給大家)
項(xiàng)目開發(fā)計(jì)劃文檔(已經(jīng)發(fā)放給大家)
需求分析階段的基本任務(wù)是什么?
需求分析階段的基本任務(wù)是要準(zhǔn)確的定義新系統(tǒng)的目標(biāo),為了滿足用戶需要,回答系統(tǒng)
必須“做什么”的問題。本階段要進(jìn)行以下兒方面的工作:㈠問題識(shí)別。雙方確定對(duì)問題的
綜合需求,這些需求包括:功能需求、性能需求、環(huán)境需求、用戶界面需求,另外還有可靠
性、安全性、保密性、可移植性、可維護(hù)性等方面的需求。㈡分析與綜合,導(dǎo)出軟件的邏輯
模型。分析人員對(duì)獲取的需求,進(jìn)行一致性的分析檢查,在分析、綜合中逐步細(xì)化軟件功能,
劃分成各個(gè)子功能。這里也包括對(duì)數(shù)據(jù)域進(jìn)行分解,并分配到各個(gè)子功能上,以確定系統(tǒng)的
構(gòu)成及主要成份,并用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。㈢編寫文檔。編寫“需
求規(guī)格說明書”、編寫初步用戶使用手冊(cè)、編寫確認(rèn)測(cè)試計(jì)劃、修改完善軟件開發(fā)計(jì)劃
軟件需求工程的基本任務(wù)是準(zhǔn)確地回答“軟件系統(tǒng)必須做什么?”這個(gè)問題。它在系統(tǒng)工程
和軟件設(shè)計(jì)之間起到橋梁的作用。用戶對(duì)軟件需求的描述不精確,導(dǎo)致軟件危機(jī)。為了使用
戶需求逐步精細(xì)化,使用需求工程中需求建模技術(shù)。需求規(guī)格說明書在軟件開發(fā)中具有重要
的作用,它也可以作為軟件可行性分析的依據(jù)。
需求建模的定義:用戶需求逐步精細(xì)化、完全化、一致化,需求規(guī)格說明是軟件工程測(cè)試的
依據(jù)
0-i-儼。Utyse-Frdje.Vs-,▼,.-.-rSg-er,'r,liJtr'iytsie'.?eA-f.it??rrpl?..jrfrd5----->J
3NftM?L5ie?'M?7C?S*I?)?i?E>??.¥)Sttir-sntfi~R(DISBC抬升
J3W▲,山T&JMMMVIF臼?44丁?
金?口0??|W言’三三AI口皂X?立科AB/Unn1二d<
QIOeKd;”|小crij**-Aak
ProjectDescriptionofTarget
System
TbcC^crFridgeprojectutouseInteroc:cotoccwir.-.vtsiooaodmcchmkal
GJfiwuiwmmi
?IPiqesOnatnier.elTagetSysentenstocteaieOBintt*@eniandprodudrvvivingeiatcs
s-<2.Scv?aoGesctutnreM^nyofotcdai)>U>kstexch?sa?xmdth£icfti^eraioc.andaCttxrFri^e
--#2IScGateIutxJdaOou3autccnHtxMiofmac,cffceseroutnetasksOvprojectKa
?22S*a?o2sp?c&wbtetofduarea^?chwiaDowyourouteareepes>itauto
?23SCSIJ23
detenmiewhatrecipeyouwoddSectofix.andletyeaknowiftheitemsto
二.?SireBine
?*?31FwdHvrt7?makeitleskfchvonkitchenSpecificalyknownasCARA(Qfibrd
K?32%?eMtMHAutomatedRecipeAgent)(berecipea^ent2pemaniyserwthepupmeci
a?33A?aoo$M<0*dccvaaraDymnL討aiicppmg1>?andtdKngloitc\nn癡ii?n;?iich?<■
U?14AurntrArenaiarinngfoeacnraiccec^peand&,vitecuwhichcurrcot2yresideintbe&idge.
占一■,Mar-F-ntsanalRmaAWTwnte
CARAn*&rdxecrossindex&ErentSveoiory?fthefidgeanda
「?41Pwrlaan^flM,《c?
?42&MdrecipedatabaxbordertoM>附EwhXnmktomikemdwh*inf7c&ns:
sueloWboughtirowgrocvrykt)Therrqpcdafabatcwflcswntial-,
haverecite,ofapedfictype'Mtfahet(uC?eic.luhanetc)whchthe:
ScenarioDescriptions
2.1Scenario1
Annbashadaboni)leday.Ontbewaytowokshegotcaughtiotraficand
hercarcmMatedTha?n?&herbeefatgimporttnlaertingwiftanew
p?^>octnvcfcotThisSteedbatobehindaDday.andillevswdHeedie
wotAtftteivetheUnetocuoydetesank:muchneedediboppng<xevenplan:
amealt<xthatoi^u'LooksHeeifsKI-Capic.,shegran*>)tdtobersdf
Butns*'Shebadjustpachasedanewcjberfeidge\vxfatheCARAjxosran
ft*juMibesehpesofsitMt>on?Skloggedirtobrakitcheo6”<hewrb,
andlawalhatavonteieape>.andwhethetcanottbeilenbueededforthese:
re6pe?uweinberkitchenNowZccnddprepareaihcf)pinRfeuandthe
需求模型建立
IRequirementsdetails
1.1Modellevelrequirements
1.1.1Requirement1.ProjectDescriptionofTargetSystem
TitleIDText1.
Priority1
Workload
需求規(guī)格說明書
用戶需求采用例如采用用例(UseCase)文檔或場(chǎng)景(Scenario)等方式說明。
功能需求定義了開發(fā)者應(yīng)提供的軟件功能或服務(wù),但不涉及這些功能或服務(wù)的實(shí)現(xiàn)。
非功能需求則是對(duì)功能需求的補(bǔ)充,包括了對(duì)系統(tǒng)的各種限制和用戶對(duì)系統(tǒng)的質(zhì)量要
求。
需求分析常用的分析方法有:
1基于瀑布模型的結(jié)構(gòu)化方法,結(jié)構(gòu)化分析方法的分析策略是:自頂向下,逐層分解
2基于需求動(dòng)態(tài)定義就的原型化方法
3基于對(duì)象的面向?qū)ο蟮姆椒ǎ篣ML是軟件開發(fā)中的一個(gè)重要工具
4基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
5面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)Jackson方法給出三種結(jié)構(gòu)是.順序結(jié)構(gòu),選擇結(jié)構(gòu),重復(fù)結(jié)構(gòu)
面向?qū)ο蟮男枨蠓治?/p>
1Booch方法
2Rumbaugh方法
3Coad和Yourdon方法
4Jacobson方法
5Wirfs—Brock方法
6UML的00A方法(現(xiàn)在主流技術(shù)基本都使用UML來建模,其他很少使用)
技術(shù)可行性分析
對(duì)系統(tǒng)的簡(jiǎn)要描述
本系統(tǒng)有利于對(duì)學(xué)校教職工人員工資的發(fā)放和管理。
與現(xiàn)有系統(tǒng)比較的優(yōu)越性
與傳統(tǒng)的手工記賬方式相比,占據(jù)空間小、易于統(tǒng)計(jì)工資總額、易于更新、易
于數(shù)據(jù)備份。
處理流程和數(shù)據(jù)流程
經(jīng)濟(jì)可行性分析
支出
一次性支出:16?5萬元
A終端PC機(jī)1臺(tái):8000元
A服務(wù)器2臺(tái)及網(wǎng)絡(luò)設(shè)備:70000元
A微機(jī)一臺(tái)5000元
A開發(fā)環(huán)境的正版軟件:17000元
A其中:正版WindowsServer2003:5000元
正版MicrosoftSQLServer2005(企業(yè)10用戶):12000
元
A員工使用培訓(xùn)費(fèi):5000元
A其他費(fèi)用:10000元
A開發(fā)人員工資(開發(fā)時(shí)間為2個(gè)月,開發(fā)者按月領(lǐng)取工資,5000元/人
/月):50000元
經(jīng)常性支出:2.5萬元
A每年的維護(hù)和升級(jí)費(fèi)用:2000元
A使用周期為五年,共計(jì):10000元
A不可預(yù)知費(fèi)用:15000元
累計(jì)支出:10.8238萬元
系統(tǒng)的投資成本總額為:16.5萬元+2.5萬元+10.8238萬元=29.8283萬元
收益
現(xiàn)從事學(xué)校工資管理人員數(shù)量為6人,該系統(tǒng)投入使用后,工作效率可大幅
提高,從事該工作的人員可縮減為2人,工資按每人每月***元計(jì)算,每年可節(jié)
省的工資為+++萬元,銀行年利率按5%計(jì)算,效益計(jì)算如下表:
年份將來收益值(萬元)(1+0.05)"現(xiàn)在收益值(萬元)累計(jì)現(xiàn)在收益值(萬元)
第一年+++1.05+++/1.05+++/1.05
第二年+++1.1025+++/1.1025?
第三年+++1.1576+++/1.1576?
第四年+++1.2155+++/1.2155?
第五年+++1.2763+++/1.2763---
系統(tǒng)的效益總額為==-萬元
成本/收益分析
在五年內(nèi),系統(tǒng)的總成本為29.8283萬元,系統(tǒng)總收益為===萬元。
>投資回收期:?年
>純收益:===萬元-29.8283萬元=???萬元〉0
從經(jīng)濟(jì)上考慮,開發(fā)本系統(tǒng)完全可行的。
社會(huì)因素可行性分析
法律方面的可行性
系統(tǒng)的研制和開發(fā),將不會(huì)侵犯他人、集體和國(guó)家的利益,不會(huì)違反國(guó)家政策和
法律。
使用方面的可行性
系統(tǒng)的研制和開發(fā)充分考慮到用戶的工資發(fā)放策略、管理流程和操作人員
的素質(zhì)等因素,可以滿足用戶的使用要求。同時(shí),管理人員必須經(jīng)過相關(guān)培訓(xùn),
掌握一定的計(jì)算機(jī)知識(shí),能熟練使用系統(tǒng)以及進(jìn)行日常維護(hù)。
軟件設(shè)計(jì):
傳統(tǒng)的結(jié)構(gòu)化方法將軟件設(shè)計(jì)劃分為體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)及過程設(shè)計(jì)四部分;
結(jié)構(gòu)化分析特點(diǎn):自頂向下,逐步求精
面向?qū)ο蠓椒▌t將軟件設(shè)計(jì)劃分為體系結(jié)構(gòu)設(shè)計(jì)、類設(shè)計(jì)/數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、構(gòu)件級(jí)設(shè)
計(jì)四部分。
創(chuàng)建良好設(shè)計(jì)的原則
1設(shè)計(jì)應(yīng)遵循抽象化的原則,包含數(shù)據(jù)抽象和過程抽象
2設(shè)計(jì)應(yīng)當(dāng)遵循模塊化的原則。
3設(shè)計(jì)應(yīng)遵循信息隱蔽的原則。
4模塊獨(dú)立性
5高內(nèi)聚,低耦合
高-------------------------內(nèi)聚性-----------------------低
功能內(nèi)聚層內(nèi)聚通信內(nèi)聚順序內(nèi)聚過程內(nèi)聚時(shí)間內(nèi)聚實(shí)用程序內(nèi)聚
強(qiáng)----------------------模塊獨(dú)立性<---------------------弱
內(nèi)聚性:內(nèi)聚是一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。
(1)功能內(nèi)聚
一個(gè)模塊中各個(gè)部分都是為了完成一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。
這種模塊就是功能內(nèi)聚模塊。功能內(nèi)聚模塊的模塊獨(dú)立性最強(qiáng)。
(2)層內(nèi)聚
相關(guān)服務(wù)放在一起,并有嚴(yán)格的層次結(jié)構(gòu),高層服務(wù)可訪問低層服務(wù),反之不可。如分
層結(jié)構(gòu)。
(3)通信內(nèi)聚
訪問或操作同一數(shù)據(jù)的過程放在一個(gè)類中,這些過程可以互相通信。如某個(gè)類設(shè)計(jì)。
(4)順序內(nèi)聚:存在一系列過程,其中一個(gè)過程向另一個(gè)過程提供輸入,這些過程放在一起,
形成順序內(nèi)聚。如面向?qū)ο笙到y(tǒng)中的消息序列。
(5)過程內(nèi)聚:幾個(gè)一次調(diào)用的操作放在一個(gè)模塊中,它們是相關(guān)的且必須以特定次序執(zhí)行,
則稱這個(gè)模塊為過程內(nèi)聚模塊。但在這種模塊內(nèi),一個(gè)操作的輸出不一定是下一個(gè)操作的輸
入。如調(diào)用結(jié)構(gòu)。
(6)時(shí)間內(nèi)聚:程序執(zhí)行過程中同一階段內(nèi)完成的操作放在一起,達(dá)到時(shí)間內(nèi)聚。
(7)實(shí)用程序內(nèi)聚:邏輯上不能納入其他內(nèi)聚類型的相關(guān)實(shí)用程序放在一起,形成實(shí)用程序
內(nèi)聚。如可復(fù)用的過程或類。
緊密<-------------------耦合性----------------------松散
內(nèi)容公共控制標(biāo)記數(shù)據(jù)例程調(diào)類型使外部
耦合耦合耦合耦合耦合用耦合用耦合耦合
弱------------------->模塊獨(dú)立性--------------------->強(qiáng)
耦合性:耦合是模塊間互相連接的緊密程度的度量,它取決于各個(gè)模塊之間接口的復(fù)雜度、
調(diào)用方式以及哪些信息通過接口。
模塊之間的耦合性越高,其模塊獨(dú)立性就越弱。模塊的內(nèi)聚性越高,它與其他模塊之間的耦
合性就會(huì)降低,而模塊獨(dú)立性就越強(qiáng)。
(1)內(nèi)容耦合
如果發(fā)生下列情形,模塊間就是內(nèi)容耦合:
一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù);
(2)公共耦合
若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就是公共耦合。公共數(shù)據(jù)環(huán)境可
以是全局變量、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。
(3)控制耦合
一個(gè)過程通過標(biāo)志、開關(guān)或命令顯式地控制另一個(gè)過程
的動(dòng)作,就產(chǎn)生控制耦合。
(4)標(biāo)記耦合
如果一組模塊通過參數(shù)表傳遞結(jié)構(gòu)或?qū)ο?注意,不是簡(jiǎn)單變量或結(jié)構(gòu)中的某一分量),
就是標(biāo)記耦合。
(5)數(shù)據(jù)耦合
如果模塊之間的訪問是通過數(shù)據(jù)參數(shù)(不是控制參數(shù)、結(jié)構(gòu)或?qū)ο髤?shù)、公共數(shù)據(jù)結(jié)構(gòu))
來交換輸入、輸出信息的,則稱這種耦合為數(shù)據(jù)耦合.
(6)例程調(diào)用耦合
一個(gè)程序(或?qū)ο蟮牟僮?調(diào)用另一個(gè)程序(或另一個(gè)對(duì)象的操作),就產(chǎn)生例程調(diào)用
耦合。
(7)類型使用耦合
類將實(shí)例變量或本地變量聲明為另一個(gè)類的實(shí)例,就產(chǎn)生類型(嵌套)耦合。
(8)包含/引入耦合
一個(gè)構(gòu)件引入(import)一個(gè)包時(shí)就產(chǎn)生引入耦合,一個(gè)構(gòu)件包含(include)另一個(gè)構(gòu)
件時(shí),就產(chǎn)生包含耦合。
(9)外部耦合
模塊對(duì)外部系統(tǒng),如操作系統(tǒng)、共享庫或硬件有依賴關(guān)系時(shí)就產(chǎn)生外部耦合??赏ㄟ^信
息隱蔽減少這種依賴關(guān)系。
面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)
與傳統(tǒng)方法中的數(shù)據(jù)設(shè)計(jì)所不同的是,面向?qū)ο笤O(shè)計(jì)中的數(shù)據(jù)設(shè)計(jì)并不是獨(dú)立進(jìn)行的,面向
對(duì)象設(shè)計(jì)中的類圖相當(dāng)于數(shù)據(jù)的邏輯模型,可以很容易地轉(zhuǎn)換成數(shù)據(jù)的物理模型。
人機(jī)交互部分的設(shè)計(jì)(數(shù)據(jù)庫版本)
面向?qū)ο竽P椭饕梢韵履男┠P徒M成
1對(duì)象模型描述對(duì)象、類、層次和關(guān)系,靜態(tài)結(jié)構(gòu),其作用是描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包
括構(gòu)成系統(tǒng)的類和對(duì)象,它們的屬性和操作,以及它們之間的聯(lián)系。-對(duì)象模型包括類
圖
2動(dòng)態(tài)模型其作用是描述系統(tǒng)的控制邏輯,主要涉及系統(tǒng)中各個(gè)類和對(duì)象的時(shí)序及變化
情況。時(shí)序圖等
3功能模型功能模型:描述系統(tǒng)的功能表示方法:數(shù)據(jù)流圖,用例圖
概要設(shè)計(jì)階段的基本任務(wù)是什么?
⑴設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)(簡(jiǎn)稱軟件結(jié)構(gòu)),具體為:①采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)
按功能劃分成模塊。②確定每個(gè)模塊的功能。③確定模塊之間的調(diào)用關(guān)系。④確定模塊之間
的接口,即模塊之間傳遞的信息。⑤評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量。⑵數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì),漢數(shù)
據(jù)結(jié)構(gòu)的設(shè)計(jì)及數(shù)據(jù)庫的設(shè)計(jì)。⑶編寫概要設(shè)計(jì)文檔。主要有:概要設(shè)計(jì)說明書;數(shù)據(jù)庫設(shè)
計(jì)說明書;用戶手冊(cè);修訂測(cè)試計(jì)劃。⑷評(píng)審。
詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?有哪幾種描述方法?
詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的第二階段,其基本任務(wù)有:為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì);為模塊
內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì);對(duì)數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì),即確定數(shù)據(jù)庫的物理結(jié)構(gòu);其它設(shè)計(jì),根
據(jù)軟件系統(tǒng)類型,還可能要進(jìn)行代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì);編寫詳細(xì)
設(shè)計(jì)說明書;評(píng)審。詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。如結(jié)構(gòu)化程序流
程圖、盒圖和問題分析圖。IPO圖也是詳細(xì)設(shè)計(jì)的主要工具之一。表格工具如判定表可作為
詳細(xì)設(shè)計(jì)中描述邏輯條件復(fù)雜的算法。過程設(shè)計(jì)語言(PDL)是一種用于描述模塊算法設(shè)計(jì)
和處理細(xì)節(jié)的語言工具。
過程設(shè)計(jì)(詳細(xì)設(shè)計(jì))
在過程設(shè)計(jì)階段,要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確地表達(dá)這些算法。
對(duì)每個(gè)模塊規(guī)定的功能以及算法的設(shè)計(jì),給出適當(dāng)?shù)乃惴枋觯?/p>
圖形工具:程序流程圖,N-S,PAD,HIPO
表格工具:判定表
語言工具:PDL,HIPO
PAD圖
采用黑盒技術(shù)(功能測(cè)試)設(shè)計(jì)測(cè)試用例的方法及各自的特點(diǎn)。
㈠等價(jià)類劃分。等價(jià)類劃分是將輸入數(shù)據(jù)域按有效的或無效的(也稱合理的或不合理的)劃
分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其它值的測(cè)試。
㈡邊界值分析。該方法是將測(cè)試邊界情況作為重點(diǎn)目標(biāo),選取正好等于,剛剛大于或剛剛小
于邊界值的情況,根據(jù)這些情況選擇測(cè)試用例。
㈢錯(cuò)誤推測(cè)。錯(cuò)誤推測(cè)法沒有確定的步驟,憑檢驗(yàn)進(jìn)行。它的基本思想是列出程序中可能發(fā)
生錯(cuò)誤的情況,根據(jù)這些情況選擇測(cè)試用例。
㈣因果圖。因果圖能有效的檢測(cè)輸入條件的各種組合可能會(huì)引起的錯(cuò)誤。因果圖的基本原理
是通過畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)
一個(gè)測(cè)試用例。
在網(wǎng)絡(luò)中,sendfile命令用來發(fā)送一個(gè)文件到不同的服務(wù)器。Sendfile有三個(gè)變量:變量
1是發(fā)送者根目錄的文件名,變量2是接受文件服務(wù)器的名稱,變量3是接受方的用戶useid。
如果所有的變量是正確的,那么文件成功發(fā)送,否則給發(fā)送者返回一個(gè)錯(cuò)誤信息。如果原因
用1代表變量1,2代表變量2,3代表變量3,結(jié)果用100代表成功,101代表返回錯(cuò)誤信
息,請(qǐng)畫出因果圖并建立因果關(guān)系判定表。
\測(cè)
12345678
\試
\用
\例
8\
原因110100110
原因210010101
原因310001011
結(jié)果10010000000
結(jié)果1010111111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中生社會(huì)實(shí)踐能力的多元化發(fā)展與評(píng)價(jià)考核試卷
- 保健食品營(yíng)養(yǎng)需求分析與滿足策略實(shí)施效果考核試卷
- 合成氣制合成油考核試卷
- 國(guó)際貿(mào)易信用證條款解析與應(yīng)用考核試卷
- 網(wǎng)購家具合同范本
- 簡(jiǎn)單的工傷合同范本
- 賣車簡(jiǎn)單合同范本
- 農(nóng)業(yè)訂單合同范本
- 電視購物產(chǎn)品退換政策協(xié)議
- 瑜伽培訓(xùn)合同協(xié)議書
- 醫(yī)學(xué)教材成人高尿酸血癥與痛風(fēng)食養(yǎng)指南(2024年版)解讀課件
- 小學(xué)數(shù)學(xué)北師大版三年級(jí)下長(zhǎng)方形的面積教案
- DGJ32 J 67-2008 商業(yè)建筑設(shè)計(jì)防火規(guī)范
- 2024年上海交通大學(xué)招考聘用高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 2024年江西省中考生物·地理合卷試卷真題(含答案逐題解析)
- 2024年山東省濰坊市中考數(shù)學(xué)真題試題(含答案及解析)
- 開票稅點(diǎn)自動(dòng)計(jì)算器
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫及參考答案
- 醫(yī)療器械質(zhì)量安全風(fēng)險(xiǎn)會(huì)商管理制度
- 焦慮自評(píng)量表(SAS)
- 患者轉(zhuǎn)運(yùn)意外應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論