已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
logo軟件工程小論文題目軟件設(shè)計(jì)專(zhuān)業(yè)班級(jí): 小組成員: 授課教師: 完成時(shí)間: xx 年x月x日 xxxx學(xué)院軟件工程小論文軟件設(shè)計(jì)目錄摘要1引言2第一章 軟件設(shè)計(jì)概述31.1 軟件設(shè)計(jì)定義31.2 設(shè)計(jì)要素31.3 設(shè)計(jì)原則31.4 設(shè)計(jì)過(guò)程41.5 指導(dǎo)方針41.6 設(shè)計(jì)基礎(chǔ)5第二章 設(shè)計(jì)方法62.1 模塊設(shè)計(jì)62.2 數(shù)據(jù)設(shè)計(jì)62.3 體系設(shè)計(jì)7第三章 框架設(shè)計(jì)73.1 瀑布模型73.1.1 概述73.1.2 瀑布模型優(yōu)缺點(diǎn)83.1.3 客戶需求83.2 增量模型93.2.1 概述9圖3-2 增量模型103.2.2 增量模型優(yōu)缺點(diǎn)10小結(jié)11個(gè)人感想11參考文獻(xiàn)13摘要軟件設(shè)計(jì)是把許多事物和問(wèn)題抽象起來(lái),并且抽象它們不同的層次和角度。建議用數(shù)學(xué)語(yǔ)言來(lái)抽象事務(wù)和問(wèn)題,因?yàn)閿?shù)學(xué)是最好的抽象語(yǔ)言,并且它的本質(zhì)就是抽象。將復(fù)雜的問(wèn)題分解成可以管理的片斷會(huì)更容易。將問(wèn)題或事物分解并模塊化這使得解決問(wèn)題變得容易,分解的越細(xì)模塊數(shù)量也就越多,它的副作用就是使得設(shè)計(jì)者考慮更多的模塊之間耦合度的情況。關(guān)鍵字:抽象語(yǔ)言 模塊化 耦合度引言軟件設(shè)計(jì)方法論的這套基本原理已經(jīng)經(jīng)過(guò)了多年的進(jìn)化,在軟件開(kāi)發(fā)的生命周期中,軟件設(shè)計(jì)是在軟件描述提供的的基礎(chǔ)上,對(duì)軟件需求進(jìn)行分析以形成軟件內(nèi)部結(jié)構(gòu)的描述說(shuō)明的活動(dòng)之一。耦合和內(nèi)聚是兩個(gè)用來(lái)評(píng)估軟件設(shè)計(jì)質(zhì)量的方法。每種概念的影響程度不盡相同,但它們都經(jīng)歷了時(shí)間的洗禮?;谶@些基本原理設(shè)計(jì)者可以采用更多更成熟的設(shè)計(jì)方法。第一章 軟件設(shè)計(jì)概述1.1 軟件設(shè)計(jì)定義軟件設(shè)計(jì)即應(yīng)用各種各樣的技術(shù)和原理,并用它們足夠詳細(xì)的定義一個(gè)設(shè)備、一個(gè)程序或系統(tǒng)的物理實(shí)現(xiàn)的過(guò)程?!睂?duì)任意的工程產(chǎn)品或系統(tǒng),開(kāi)發(fā)階段絕對(duì)的第一步是確定將來(lái)所要構(gòu)建的制造原型或?qū)嶓w表現(xiàn)的目標(biāo)構(gòu)思。這個(gè)步驟是由多方面的直覺(jué)與判斷力來(lái)共同決定的。這些方面包括構(gòu)建類(lèi)似模型的經(jīng)驗(yàn)、一組引領(lǐng)模型發(fā)展的原則、一套啟動(dòng)質(zhì)量評(píng)價(jià)的標(biāo)準(zhǔn)、以及重復(fù)修改直至設(shè)計(jì)最后定型的過(guò)程本身。計(jì)算機(jī)軟件設(shè)計(jì)與其他工程學(xué)科相比還處在幼年時(shí)期,仍在不斷變化中,例如更新的方法、更好的算法分析、以及理解力的顯著進(jìn)化。軟件設(shè)計(jì)的方法論的出現(xiàn)也只有三十年多一點(diǎn),仍然缺乏深度、適應(yīng)性和定量性質(zhì),通常更多的與經(jīng)典工程設(shè)計(jì)學(xué)科相聯(lián)系。盡管如此,現(xiàn)今的軟件技術(shù)已經(jīng)存在、設(shè)計(jì)質(zhì)量的標(biāo)準(zhǔn)也可使用、設(shè)計(jì)符號(hào)亦可以應(yīng)用。軟件設(shè)計(jì)是一種在設(shè)計(jì)者計(jì)劃中通過(guò)諸如軟件如何滿足客戶的需要,如何才能容易地實(shí)現(xiàn)和如何才能方便地?cái)U(kuò)展功能以適應(yīng)新的需求等不同的考慮的創(chuàng)造性活動(dòng)。軟件設(shè)計(jì)有很多設(shè)計(jì)方法或技巧,通過(guò)借鑒他人的經(jīng)驗(yàn)讓這件事完成得更好。同時(shí),設(shè)計(jì)者們也可以利用成熟的標(biāo)記法將他們的想法和計(jì)劃傳達(dá)給開(kāi)發(fā)者以及其他相關(guān)人員,使他們更好地了解這個(gè)系統(tǒng)。帶著這些意見(jiàn),我們一起來(lái)看看什么有助于程序員們找到他們的軟件涅盤(pán)。1.2 設(shè)計(jì)要素軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)設(shè)計(jì),接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。結(jié)構(gòu)設(shè)計(jì)是指:定義軟件系統(tǒng)各主要部件之間的關(guān)系。數(shù)據(jù)設(shè)計(jì)是指:將模型轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的定義。接口設(shè)計(jì)是指:軟件內(nèi)部,軟件和操作系統(tǒng)間以及軟件和人之間如何通信。過(guò)程設(shè)計(jì)是指:系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述。 1.3 設(shè)計(jì)原則(1).設(shè)計(jì)對(duì)于分析模型應(yīng)該是可跟蹤的:軟件的模塊可能被映射到多個(gè)需求上。(2).設(shè)計(jì)結(jié)構(gòu)應(yīng)該盡可能的模擬實(shí)際問(wèn)題。(3).設(shè)計(jì)應(yīng)該表現(xiàn)出一致性。(4).不要把設(shè)計(jì)當(dāng)成編寫(xiě)代碼。(5).在創(chuàng)建設(shè)計(jì)時(shí)就應(yīng)該能夠評(píng)估質(zhì)量。(6).評(píng)審設(shè)計(jì)以減少語(yǔ)義性的錯(cuò)誤。(7).設(shè)計(jì)應(yīng)該模塊化,將軟件邏輯地劃分為元素或子系統(tǒng),并包含數(shù)據(jù)、體系結(jié)構(gòu)、接口和構(gòu)件的清晰表示。 1.4 設(shè)計(jì)過(guò)程軟件的設(shè)計(jì)是一個(gè)將需求轉(zhuǎn)變?yōu)檐浖愂觯ū磉_(dá))的過(guò)程。這種陳述給一個(gè)對(duì)軟件的全局觀點(diǎn)。系統(tǒng)通過(guò)逐步求精使得設(shè)計(jì)陳述逐漸接近源代碼。這里有兩個(gè)基本步驟;第一步是初步設(shè)計(jì) Preliminary design ,關(guān)注于如何將需求轉(zhuǎn)換成數(shù)據(jù)和軟件框架。第二步是詳細(xì)設(shè)計(jì)Detail design ,關(guān)注于將框架逐步求精細(xì)化為具體的數(shù)據(jù)結(jié)構(gòu)和軟件的算法表達(dá)。發(fā)生中的設(shè)計(jì)行為、數(shù)據(jù)、算法和程序設(shè)計(jì)都需要由現(xiàn)代程序所需的界面設(shè)計(jì)這一清晰的行為來(lái)結(jié)合起來(lái)。界面設(shè)計(jì)Interface design建立程序布局和人機(jī)交互機(jī)制。貫穿設(shè)計(jì)過(guò)程的質(zhì)量由一系列的正式技術(shù)評(píng)定formal technical reviews或設(shè)計(jì)排演 design walkthroughs來(lái)評(píng)價(jià)。 1.5 指導(dǎo)方針(1).設(shè)計(jì)應(yīng)該展現(xiàn)層次結(jié)構(gòu)使得軟件各部分之間的控制更明智。(2).設(shè)計(jì)應(yīng)當(dāng)模塊化;這就是說(shuō),軟件應(yīng)在邏輯上分割為實(shí)現(xiàn)特定的功能和子功能的部分。(3).設(shè)計(jì)應(yīng)當(dāng)由清晰且可分離的數(shù)據(jù)和過(guò)程表達(dá)來(lái)構(gòu)成。(4).設(shè)計(jì)應(yīng)使得模塊展現(xiàn)獨(dú)立的功能特性。(5).設(shè)計(jì)應(yīng)使得界面能降低模塊之間及其與外部環(huán)境的連接復(fù)雜性。(6).設(shè)計(jì)應(yīng)源自于軟件需求分析期間獲得的信息所定之可重復(fù)方法的使用。要擁有良好的設(shè)計(jì)特征不是靠碰運(yùn)氣,而在設(shè)計(jì)過(guò)程中通過(guò)綜合運(yùn)用基礎(chǔ)設(shè)計(jì)原理、系統(tǒng)方法論、徹底的評(píng)定回顧可以有助于良好的設(shè)計(jì)。軟件設(shè)計(jì)方法每天都在進(jìn)化,作為已經(jīng)經(jīng)過(guò)測(cè)試和細(xì)化的方法,良好的設(shè)計(jì)應(yīng)具有以下的四種特性,并在所有這些特性之間保持一致。A.將信息領(lǐng)域的表達(dá)轉(zhuǎn)換為軟件設(shè)計(jì)的表達(dá)的機(jī)制。B.表示功能組件及其界面的符號(hào)。C.逐步求精和分割的試探。D.質(zhì)量評(píng)估的指導(dǎo)方針。開(kāi)發(fā)軟件的時(shí)候,不管采用何種設(shè)計(jì)方法您必須能夠熟練運(yùn)用一套關(guān)于數(shù)據(jù)、算法和程序設(shè)計(jì)的基本原理。(7).設(shè)計(jì)應(yīng)該導(dǎo)出降低模塊和外部環(huán)境間復(fù)雜連接的接口。 1.6 設(shè)計(jì)基礎(chǔ)抽象Abstraction在最高層次上指的是使用待解決的問(wèn)題領(lǐng)域內(nèi)的術(shù)語(yǔ)描述的解決方案。相對(duì)較低層次的抽象則更多的面向程序語(yǔ)言,最低層的抽象則是解決方案的可直接實(shí)現(xiàn)的方式描述。軟件設(shè)計(jì)的每一個(gè)步驟都是對(duì)相應(yīng)層次解決方案的抽象的逐步求精。求精 Refinement 又叫做逐步求精指的是通過(guò)程序細(xì)節(jié)連續(xù)細(xì)化來(lái)開(kāi)發(fā)程序體系的策略。分步驟的對(duì)程序抽象進(jìn)行分解直至成為編程語(yǔ)言的過(guò)程同時(shí)造就了程序的層次結(jié)構(gòu)。在這一點(diǎn)上要對(duì)細(xì)節(jié)多做考慮,這也展示了求精實(shí)際上是個(gè)苦心經(jīng)營(yíng)的過(guò)程。模塊化 Modularity 指的是軟件可被分割為分別命名并可尋址的組件(也叫做模塊),將模塊綜合起來(lái)又可以滿足問(wèn)題的需求的性質(zhì)?!败浖哪K化是允許智能化管理程序的唯一屬性?!睋Q句話說(shuō),當(dāng)您將一個(gè)復(fù)雜問(wèn)題分解為一些小問(wèn)題時(shí)會(huì)更容易解決。需要重點(diǎn)解釋的是即使一個(gè)系統(tǒng)必須象“單片機(jī)”一樣來(lái)實(shí)現(xiàn),它也可以采用模塊化設(shè)計(jì)。軟件體系(架構(gòu))Software Architecture涉及到程序的兩個(gè)重要特性:1)模塊的層次結(jié)構(gòu)。 2)數(shù)據(jù)結(jié)構(gòu) 。這源自于需求分析時(shí)將真實(shí)世界問(wèn)題的含蓄定義與軟件解決方案的要素關(guān)聯(lián)起來(lái)的分割過(guò)程。當(dāng)問(wèn)題的每個(gè)部分通過(guò)一個(gè)或多個(gè)軟件要素得到解決后,與問(wèn)題的定義和解決相一致軟件和數(shù)據(jù)結(jié)構(gòu)的進(jìn)化就開(kāi)始了。這個(gè)過(guò)程代表了軟件的需求分析和設(shè)計(jì)之間的位置??刂茖蛹?jí)Control Hierarchy也稱作程序結(jié)構(gòu),描述程序組件的組織并意味著控制層級(jí)。它并不描述軟件的程序方面,比如進(jìn)程順序、決定的事件/命令、或工作循環(huán)。數(shù)據(jù)結(jié)構(gòu)Data structure描述了單個(gè)數(shù)據(jù)間的邏輯關(guān)系。數(shù)據(jù)結(jié)構(gòu)規(guī)定了數(shù)據(jù)的組織、訪問(wèn)方法、關(guān)聯(lián)程度、和信息的選擇處理。數(shù)據(jù)結(jié)構(gòu)的組織和復(fù)雜性只受限于設(shè)計(jì)者的靈活性。唯一的限制就是經(jīng)典數(shù)據(jù)結(jié)構(gòu)的數(shù)量阻礙了更多的久經(jīng)考驗(yàn)的結(jié)構(gòu)出現(xiàn)。軟件程序Software Procedure著重于處理每個(gè)模塊的細(xì)節(jié)并必須提供一個(gè)精確的處理規(guī)范,包括事件順序、準(zhǔn)確的判定點(diǎn)、重復(fù)操作、甚至數(shù)據(jù)結(jié)構(gòu)。軟件的程序表現(xiàn)是分層的,處理方法應(yīng)該包括其所有子模塊的參考。信息隱藏Information Hiding的法則建議 由設(shè)計(jì)決定所刻劃的模塊特性應(yīng)該對(duì)其余的模塊不可見(jiàn) 。換句話說(shuō),模塊應(yīng)被設(shè)計(jì)和指定為包含在模塊內(nèi)部且其他模塊不可訪問(wèn)的內(nèi)容對(duì)其他模塊來(lái)說(shuō)是無(wú)需的。隱藏意味著有效的模塊性能夠通過(guò)定義一套獨(dú)立的模塊來(lái)實(shí)現(xiàn),這些模塊相互之間的通信僅僅包括實(shí)現(xiàn)軟件功能的所必須的信息。將使用信息隱藏作為設(shè)計(jì)標(biāo)準(zhǔn)在測(cè)試或今后的維護(hù)期間需要修改系統(tǒng)時(shí)帶來(lái)了最大的好處。第二章 設(shè)計(jì)方法設(shè)計(jì)過(guò)程中用以促成模塊化設(shè)計(jì)的四個(gè)區(qū)域:模塊、數(shù)據(jù)、體系 和程序設(shè)計(jì)。2.1 模塊設(shè)計(jì)模塊設(shè)計(jì)減低了復(fù)雜性、便于修改、且使得支持系統(tǒng)不同部分的并行開(kāi)發(fā)實(shí)現(xiàn)起來(lái)更容易。模塊類(lèi)型提供的操作特性通過(guò)結(jié)合時(shí)間歷史、激活機(jī)制、和控制模式來(lái)表現(xiàn)。在程序結(jié)構(gòu)內(nèi)部,模塊可以被分類(lèi)為:(1).順序 sequential模塊,由應(yīng)用程序引用和執(zhí)行,但不能從表觀上中斷。(2).增量 incremental模塊,可被應(yīng)用程序先行中斷,而后再?gòu)闹袛帱c(diǎn)重新開(kāi)始。 (3).并行 parallel 模塊,在多處理器環(huán)境下可以與其他模塊同時(shí)執(zhí)行。單獨(dú)的模塊更容易開(kāi)發(fā),因?yàn)楣δ芸梢员粍澐殖鰜?lái),而界面只是用來(lái)確保功能的獨(dú)立。功能的獨(dú)立性可以使用兩個(gè)定性的標(biāo)準(zhǔn)來(lái)衡量: 凝聚性 cohesion 衡量模塊的功能強(qiáng)度的相關(guān)性,和耦合性 coupling 衡量模塊間的相互依賴的相關(guān)性。2.2 數(shù)據(jù)設(shè)計(jì) 數(shù)據(jù)設(shè)計(jì)Data design首先并且有些人也堅(jiān)信,是最重要的設(shè)計(jì)行為。數(shù)據(jù)結(jié)構(gòu)的影響和程序上的復(fù)雜性導(dǎo)致數(shù)據(jù)設(shè)計(jì)對(duì)軟件質(zhì)量有著深遠(yuǎn)的影響。這種質(zhì)量由以下的原理來(lái)實(shí)施:(1).適用于功能和行為分析的系統(tǒng)分析原理同樣應(yīng)該適用于數(shù)據(jù)。(2).所有的數(shù)據(jù)結(jié)構(gòu),以及各自所完成的操作都應(yīng)該被確定。(3).創(chuàng)建數(shù)據(jù)詞典并用來(lái)詳細(xì)說(shuō)明數(shù)據(jù)和程序的設(shè)計(jì)。(4).底層的數(shù)據(jù)設(shè)計(jì)決定應(yīng)該延遲至設(shè)計(jì)過(guò)程的后期。(5)數(shù)據(jù)結(jié)構(gòu)的陳述(具體說(shuō)明)應(yīng)該只被那些直接使用包含在此結(jié)構(gòu)內(nèi)的數(shù)據(jù)的模塊所知道。(6).用的數(shù)據(jù)結(jié)構(gòu)和操作庫(kù)可以在適當(dāng)?shù)臅r(shí)候使用。(7).軟件設(shè)計(jì)和編程語(yǔ)言應(yīng)該支持抽象數(shù)據(jù)類(lèi)型的規(guī)范和實(shí)現(xiàn)。2.3 體系設(shè)計(jì)體系設(shè)Architectural Design的主要目標(biāo)是開(kāi)發(fā)模塊化的程序結(jié)構(gòu)并表達(dá)出模塊間的控制相關(guān)性。另外,體系設(shè)計(jì)融合了程序結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu),以及使得數(shù)據(jù)得以在程序中流動(dòng)的界面定義。這種方法鼓勵(lì)設(shè)計(jì)者關(guān)注系統(tǒng)的整體設(shè)計(jì)而不是系統(tǒng)中單獨(dú)的組件。選用不同的方法會(huì)采用不同的途徑來(lái)接近體系的原點(diǎn),但所有這些方法都應(yīng)該認(rèn)識(shí)到具有軟件全局觀念的重要性。程序設(shè)計(jì)Procedural Design在數(shù)據(jù)、程序結(jié)構(gòu)、和陳述詳細(xì)算法的說(shuō)明都已使用類(lèi)似英語(yǔ)的自然語(yǔ)言來(lái)呈現(xiàn)后,再確定程序設(shè)計(jì)。使用自然語(yǔ)言來(lái)陳述的原因是當(dāng)開(kāi)發(fā)小組的絕大多數(shù)成員使用自然語(yǔ)言來(lái)交流的話,那么小組外的一個(gè)新手在不經(jīng)學(xué)習(xí)的情況下會(huì)更容易理解這些說(shuō)明。這里有個(gè)問(wèn)題:程序設(shè)計(jì)必須毫無(wú)歧義的來(lái)詳細(xì)說(shuō)明程序,但我們都知道不含糊的自然語(yǔ)言也就不自然了。第三章 框架設(shè)計(jì)為了獲得高質(zhì)量的軟件所需要完成的一系列的任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。3.1 瀑布模型3.1.1 概述1970年溫斯頓羅伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被廣泛采用的軟件開(kāi)發(fā)模型。瀑布模型是最早出現(xiàn)的軟件開(kāi)發(fā)模型,在軟件工程中占有重要的地位,它提供了軟件開(kāi)發(fā)的基本框架。其過(guò)程是從上一項(xiàng)活動(dòng)接收該項(xiàng)活動(dòng)的工作對(duì)象作為輸入,利用這一輸入實(shí)施該項(xiàng)活動(dòng)應(yīng)完成的內(nèi)容給出該項(xiàng)活動(dòng)的工作成果,并作為輸出傳給下一項(xiàng)活動(dòng)。同時(shí)評(píng)審該項(xiàng)活動(dòng)的實(shí)施,若確認(rèn),則繼續(xù)下一項(xiàng)活動(dòng);否則返回前面,甚至更前面的活動(dòng)。對(duì)于經(jīng)常變化的項(xiàng)目而言,瀑布模型毫無(wú)價(jià)值。(采用瀑布模型的軟件過(guò)程如圖所示)圖3-1 瀑布模型3.1.2 瀑布模型優(yōu)缺點(diǎn)1. 優(yōu)點(diǎn)1) 為項(xiàng)目提供了按階段劃分的檢查點(diǎn)。2) 當(dāng)前一階段完成后,您只需要去關(guān)注后續(xù)階段。3) 可在迭代模型中應(yīng)用瀑布模型。增量迭代應(yīng)用于瀑布模型。迭代1解決最大的問(wèn)題。每次迭代產(chǎn)生一個(gè)可運(yùn)行的版本,同時(shí)增加更多的功能。每次迭代必須經(jīng)過(guò)質(zhì)量和集成測(cè)試。2. 缺點(diǎn)1) 在項(xiàng)目各個(gè)階段之間極少有反饋。2) 只有在項(xiàng)目生命周期的后期才能看到結(jié)果。3) 通過(guò)過(guò)多的強(qiáng)制完成日期和里程碑來(lái)跟蹤各個(gè)項(xiàng)目階段。4)瀑布模型的突出缺點(diǎn)是不適應(yīng)用戶需求的變化3.1.3 客戶需求盡管瀑布模型招致了很多批評(píng),但是它對(duì)很多類(lèi)型的項(xiàng)目而言依然是有效的,如果正確使用,可以節(jié)省大量的時(shí)間和金錢(qián)。對(duì)于您的項(xiàng)目而言,是否使用這一模型主要取決于您是否能理解客戶的需求以及在項(xiàng)目的進(jìn)程中這些需求的變化程度,對(duì)于經(jīng)常變化的項(xiàng)目而言,瀑布模型毫無(wú)價(jià)值,對(duì)于這種情況,您可以考慮其他的架構(gòu)來(lái)進(jìn)行項(xiàng)目管理,比如名為螺旋模型(spiral model)的方法。在瀑布模型中,軟件開(kāi)發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照線性方式進(jìn)行,當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果,實(shí)施完成所需的工作內(nèi)容。當(dāng)前活動(dòng)的工作結(jié)果需要進(jìn)行驗(yàn)證,如果驗(yàn)證通過(guò),則該結(jié)果作為下一項(xiàng)活動(dòng)的輸入,繼續(xù)進(jìn)行下一項(xiàng)活動(dòng),否則返回修改。瀑布模型強(qiáng)調(diào)文檔的作用,并要求每個(gè)階段都要仔細(xì)驗(yàn)證。但是,這種模型的線性過(guò)程太理想化,已不再適合現(xiàn)代的軟件開(kāi)發(fā)模式,幾乎被業(yè)界拋棄,其主要問(wèn)題在于:1) 各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量; 2)由于開(kāi)發(fā)模型是線性的,用戶只有等到整個(gè)過(guò)程的末期才能見(jiàn)到開(kāi)發(fā)成果,從而增加了開(kāi)發(fā)的風(fēng)險(xiǎn);3) 早期的錯(cuò)誤可能要等到開(kāi)發(fā)后期的測(cè)試階段才能發(fā)現(xiàn),進(jìn)而帶來(lái)嚴(yán)重的后果。 按照瀑布模型的階段劃分,軟件測(cè)試可以分為單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試。3.2 增量模型3.2.1 概述增量模型融合了瀑布模型的基本成分(重復(fù)應(yīng)用)和原型實(shí)現(xiàn)的迭代特征,該模型采用隨著日程時(shí)間的進(jìn)展而交錯(cuò)的線性序列,每一個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的“增量”。當(dāng)使用增量模型時(shí),第1個(gè)增量往往是核心的產(chǎn)品,即第1個(gè)增量實(shí)現(xiàn)了基本的需求,但很多補(bǔ)充的特征還沒(méi)有發(fā)布??蛻魧?duì)每一個(gè)增量的使用和評(píng)估都作為下一個(gè)增量發(fā)布的新特征和功能,這個(gè)過(guò)程在每一個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生了最終的完善產(chǎn)品。增量模型(incremental model)與原型實(shí)現(xiàn)模型和其他演化方法一樣,本質(zhì)上是迭代的,但與原型實(shí)現(xiàn)不一樣的是其強(qiáng)調(diào)每一個(gè)增量均發(fā)布一個(gè)可操作產(chǎn)品。早期的增量是最終產(chǎn)品的“可拆卸”版本,但提供了為用戶服務(wù)的功能,并且為用戶提供了評(píng)估的平臺(tái)。圖3-2 增量模型3.2.2 增量模型優(yōu)缺點(diǎn)1.特色增量模型的特點(diǎn)是引進(jìn)了增量包的概念,無(wú)須等到所有需求都出來(lái),只要某個(gè)需求的增量包出來(lái)即可進(jìn)行開(kāi)發(fā)。雖然某個(gè)增量包可能還需要進(jìn)一步適應(yīng)客戶的需求并且更改,但只要這個(gè)增量包足夠小,其影響對(duì)整個(gè)項(xiàng)目來(lái)說(shuō)是可以承受的。2.優(yōu)點(diǎn)采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開(kāi)始不用投入大量人力資源。如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)下一個(gè)增量。當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它提供了一種先推出核心產(chǎn)品的途徑。這樣即可先發(fā)布部分功能給客戶,對(duì)客戶起到鎮(zhèn)靜劑的作用。此外,增量能夠有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn)。3. 缺點(diǎn)1) .由于各個(gè)構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的,所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分,這需要軟件具備開(kāi)放式的體系結(jié)構(gòu)。2) .在開(kāi)發(fā)過(guò)程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而使軟件過(guò)程的控制失去整體性。3) .如果增量包之間存在相交的情況且未很好處理,則必須做全盤(pán)系統(tǒng)分析,這種模型將功能細(xì)化后分別開(kāi)發(fā)的方法較適應(yīng)于需求經(jīng)常改變的軟件開(kāi)發(fā)過(guò)程。小結(jié)個(gè)人感想曾聽(tīng)老師說(shuō)過(guò),如果,某個(gè)科目的結(jié)束了,你做了一個(gè)課程設(shè)計(jì)或者小論文,只要是認(rèn)真完成了。那么你對(duì)這門(mén)課至少掌握了70%。寫(xiě)完這個(gè)小論文,我深有感觸。曾經(jīng)認(rèn)為,軟件就是寫(xiě)程序,一個(gè)軟件工作組就是由程序員組成。在這次寫(xiě)小論文的過(guò)程中,我了解到軟件工程對(duì)于軟件設(shè)計(jì)的重要性,因?yàn)檐浖菫榱私o用戶使用而研發(fā)的,所以這其中必須有用戶的需求分析,當(dāng)知道開(kāi)發(fā)方向后,還要知道這其中可能出現(xiàn)的問(wèn)題,以及怎樣解決這些問(wèn)題。之后就要設(shè)計(jì)出這個(gè)程序的大體框架,然后再寫(xiě)出程序,經(jīng)過(guò)調(diào)試,糾錯(cuò)后交付使用。后期需要大量的維護(hù)。也許就像不了解軟件的人永遠(yuǎn)想不通軟件為什么要跟新一樣,沒(méi)有學(xué)過(guò)軟件工程的人,是很難寫(xiě)出一個(gè)軟件的,他們寫(xiě)出的只是程序,而不是一個(gè)可以使用的軟件。段曉強(qiáng) 1032104108經(jīng)過(guò)課程設(shè)計(jì)這段時(shí)間老師地教誨和自己地努力,我發(fā)現(xiàn)了自己的不足,積累了一些經(jīng)驗(yàn)。我們?cè)趯W(xué)習(xí)的過(guò)程中對(duì)自己要有信心。一個(gè)人能力發(fā)揮的程度并不完全取決于周?chē)h(huán)境,而在很大程度上決定于自身的努力。我們?cè)趯W(xué)習(xí)的過(guò)程中不能只學(xué)而不去總結(jié)歸納。當(dāng)然,在總結(jié)中,隨著新舊知識(shí)不斷地融合與相撞,同時(shí)也會(huì)產(chǎn)生新的東西,啟發(fā)人的大腦,從而不斷地創(chuàng)新,豐富學(xué)習(xí)內(nèi)容。創(chuàng)新是在一定的學(xué)習(xí)積累的基礎(chǔ)上的,因此,它不僅要求我們只學(xué)會(huì)現(xiàn)有的知識(shí),更重要地是創(chuàng)新,這樣
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于水電安裝施工合同范例
- 創(chuàng)文合同范例
- 個(gè)體商戶分紅合同范例
- 民間房子出租合同范例
- 背債定金合同范例
- 商務(wù)司機(jī)勞務(wù)合同范例
- 銅仁幼兒師范高等專(zhuān)科學(xué)?!犊臻g形態(tài)》2023-2024學(xué)年第一學(xué)期期末試卷
- 銅川職業(yè)技術(shù)學(xué)院《織行為學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)數(shù)學(xué)一年級(jí)第二學(xué)期口算計(jì)算共5046道題
- 小學(xué)數(shù)學(xué)二年級(jí)第二學(xué)期口算計(jì)算共5076道題
- 危機(jī)管理手冊(cè)
- 2023山東省科創(chuàng)集團(tuán)限公司集團(tuán)總部招聘1人上岸筆試歷年難、易錯(cuò)點(diǎn)考題附帶參考答案與詳解
- 數(shù)學(xué)建模基礎(chǔ)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 屋面輕質(zhì)混凝土找坡層技術(shù)交底
- 食品工程原理課程設(shè)計(jì)花生油換熱器的設(shè)計(jì)
- 福利彩票機(jī)轉(zhuǎn)讓協(xié)議
- 中國(guó)常用漢字大全
- 農(nóng)村留守兒童的營(yíng)養(yǎng)狀況及干預(yù)措施論文
- 水利工程建設(shè)匯報(bào)材料(通用3篇)
- 10篇罪犯矯治個(gè)案
- 2023河南省成人高考《英語(yǔ)》(高升專(zhuān))考試卷及答案(單選題型)
評(píng)論
0/150
提交評(píng)論