版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《軟件工程》是全國(guó)高等教育自學(xué)考試計(jì)算機(jī)及應(yīng)用(獨(dú)立本科段)的一門專業(yè)課。任務(wù),以及這些活動(dòng)和任務(wù)的組織、實(shí)施和管理。械工業(yè)出版社出版,2011年版。系、章節(jié)安排、內(nèi)容選取都不一樣,這是考生一定要注意的。新版教材的內(nèi)容組織特點(diǎn)主要體現(xiàn)在:基于對(duì)軟件開(kāi)發(fā)本質(zhì)的認(rèn)識(shí),講解軟件工程的兩大技術(shù)問(wèn)題:一是開(kāi)發(fā)邏輯,二是開(kāi)發(fā)途徑。以及項(xiàng)目軟件生存周期的規(guī)劃與監(jiān)控。開(kāi)發(fā)途徑涉及結(jié)構(gòu)化方法和面向?qū)ο蠓椒?,以及支持軟件評(píng)估所需要的軟件測(cè)試技術(shù)等。本課程共有8章:第6章:軟件測(cè)試。9四、面向?qū)ο蠓椒?UML(單、填、簡(jiǎn)55右。第1章和第8章的考核知識(shí)點(diǎn)相對(duì)較少。本課程的考試題型分為:(1)以教學(xué)大綱為準(zhǔn)繩。自學(xué)考試的原則是:考試范圍既不超出大綱又不超出教材范圍。所以考生一定根據(jù)教學(xué)大綱規(guī)定的考試內(nèi)容和考核要求,認(rèn)真學(xué)習(xí)教材,要全面、系統(tǒng)了解教材中的基本概念、基本知識(shí)。抓重點(diǎn),對(duì)重點(diǎn)內(nèi)容要進(jìn)行深入細(xì)致的學(xué)習(xí)。重視理論聯(lián)系實(shí)際,訓(xùn)練并逐漸提高運(yùn)用所學(xué)理論分析和解決實(shí)際案例的能力。考生應(yīng)當(dāng)注意在全面系統(tǒng)學(xué)習(xí)教材的基礎(chǔ)上,盡可能多地了解和分析實(shí)際案例,以便更深刻地領(lǐng)會(huì)教材的內(nèi)容,提高分析和解決實(shí)際問(wèn)題的能力。根據(jù)實(shí)際情況自己安排,利用平時(shí)空余時(shí)間觀看網(wǎng)絡(luò)課件,形成基本的了解。接下來(lái)認(rèn)真地做一些練習(xí)題,不清楚的地方再回過(guò)頭去看看書,并注意對(duì)不同的知識(shí)點(diǎn)進(jìn)行比較,加深印象。復(fù)習(xí)建議:本章內(nèi)容較少,主要是讓大家了解軟件工程的提出的背景-軟件危機(jī)以及軟件工程研究的內(nèi)容??荚囶}目類型主要是單項(xiàng)選擇題、填空題,題量在3%~5%之間。軟件開(kāi)發(fā)的速度、軟件制品的質(zhì)量、軟件開(kāi)發(fā)成本是軟件工程的三個(gè)軟件復(fù)用技術(shù):構(gòu)件技術(shù)、平臺(tái)技術(shù)、需求工程技術(shù)、領(lǐng)域分析技術(shù)、應(yīng)用集成技術(shù)等。輯之間的映射。運(yùn)用所掌握的知識(shí),通過(guò)抽象,給出系統(tǒng)的一個(gè)結(jié)構(gòu)。模型是一個(gè)抽象。模型是在特定意圖下所確定的角度和抽象層次上對(duì)物理系統(tǒng)的描述,通常包含對(duì)該系統(tǒng)邊界的描述、對(duì)系統(tǒng)內(nèi)各模型元素以及它們之間關(guān)系的語(yǔ)義描述。復(fù)習(xí)建議:正確定義問(wèn)題,是解決問(wèn)題的基礎(chǔ)。需求獲取是軟件開(kāi)發(fā)的第一步,它的工作質(zhì)量決定了整個(gè)軟件開(kāi)發(fā)工作的成的重點(diǎn)內(nèi)容??己说念}目類型主要有:?jiǎn)雾?xiàng)選擇題、填空題、簡(jiǎn)答題,分值在10%左右。內(nèi)容以基本概念、基本原理為主。一個(gè)需求是有關(guān)一個(gè)“要予構(gòu)造”的陳述,描述了待開(kāi)發(fā)產(chǎn)品/系統(tǒng)功能能力、性能參數(shù)或其它性質(zhì)。(1)功能需求,是整個(gè)需求的主體。(2)非功能需求:性能需求、外部接口需求、設(shè)計(jì)約束和質(zhì)量屬性需求。能夠區(qū)分哪些是功能需求,哪些是性能需求。IEEE標(biāo)準(zhǔn)830-1998(IEEE(1)需求規(guī)約是軟件開(kāi)發(fā)組織和用戶之間一份事實(shí)上的技術(shù)復(fù)習(xí)建議:本章是整個(gè)課程的重點(diǎn)內(nèi)容,其基本思想、基本原理和基本方法是軟件工程理論體系中最經(jīng)典的內(nèi)容,建議考生在牢記基本概念、基本原理的基礎(chǔ)上,對(duì)綜合應(yīng)用題多下工夫,多做練習(xí)。用于建立系統(tǒng)功能模型。是一種描述數(shù)據(jù)變換的圖形化工具,其中包含的元素可以是數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工、數(shù)據(jù)源和數(shù)據(jù)潭等。4.建模過(guò)程(繪制流程圖的過(guò)程)(1)建立系統(tǒng)環(huán)境圖(4)??(1)基本信息管理:教務(wù)管理人員輸入或修改學(xué)期教學(xué)執(zhí)行計(jì)劃、學(xué)生名單和教師名單;(2)學(xué)生選課:學(xué)生根據(jù)教學(xué)執(zhí)行計(jì)劃進(jìn)行選課;(3)分配任課教師:教務(wù)管理人員為符合開(kāi)課條件的課程分配教師,并打印任課通知單給教師;(4)成績(jī)管理:每門課程的教師在考試評(píng)分結(jié)束后將考試成績(jī)交給教務(wù)管理人員,教務(wù)管理人員輸入、【解析】任課安排任課安排學(xué)期教學(xué)執(zhí)行計(jì)劃學(xué)生名單學(xué)生選課結(jié)果教師信息定義數(shù)據(jù)流程圖中所有數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)。順序結(jié)構(gòu):+選擇結(jié)構(gòu):|子界:m..nc)右上限代表每一種條件的取值(用Y和N來(lái)表示)d)右下限用X表示所對(duì)應(yīng)的條件組合所產(chǎn)生的結(jié)果【例題】畫出顧客購(gòu)貨的折扣政策的決策表。銷售商在給顧客的折扣時(shí),要考慮付款日期和交易額這兩個(gè)因素。若付款日期在10天以內(nèi)(含10天則當(dāng)交易額超過(guò)¥10,000時(shí),給予5%的折扣;當(dāng)交易額在¥5,000到¥10,000之間(含¥5,0【解析】判斷樹(shù)(DecisionTree)也稱為決策樹(shù),是用來(lái)描述在一組不同的條件下,決策的行動(dòng)是根據(jù)不同條件及其取值來(lái)選擇的處理過(guò)程。業(yè)務(wù)規(guī)則的描述通??梢允褂门袛鄻?shù)這一過(guò)程描述工具?!纠}】畫出顧客購(gòu)貨的折扣政策的決策樹(shù)。銷售商在給顧客的折扣時(shí),要考慮付款日期和交易額這兩個(gè)因素。若付款日期在10天以內(nèi)(含10天則當(dāng)交易額超過(guò)¥10,000時(shí),給予5%的折扣;當(dāng)交易額在¥5,000到¥10,000之間(含解析:【例題】用結(jié)構(gòu)化語(yǔ)言表達(dá):顧客購(gòu)貨的折扣政策。當(dāng)交易額超過(guò)¥10,000時(shí),給予3%的折扣;當(dāng)交易額在¥5,000到¥10,000折扣;當(dāng)交易額低于¥5,000時(shí),沒(méi)有折扣。若付款日期超過(guò)10天,則無(wú)論交易額多少,均不給任何折扣。把系統(tǒng)的功能需求分配到一個(gè)特定的軟件體系結(jié)構(gòu)中。結(jié)構(gòu)圖(StructureChart)是對(duì)軟件總體結(jié)構(gòu)的一種圖形描述,它顯示了軟件的層次結(jié)構(gòu)、組織和通訊。也就是說(shuō),在結(jié)構(gòu)圖中,顯示了軟件是由哪些模塊組成的,這些模塊按照什么樣的層次結(jié)構(gòu)組織在塊之間通過(guò)什么接口聯(lián)系在一起。結(jié)構(gòu)圖也稱之為控制結(jié)構(gòu)圖、模塊結(jié)構(gòu)圖或系統(tǒng)結(jié)構(gòu)圖。層次圖中一個(gè)矩形框代表一個(gè)模塊,框間的連線表示調(diào)用關(guān)系(在H圖(即層次圖)里除了頂層的方框之外,每個(gè)方框都變換中心三部分組成。其中變換中心使系統(tǒng)數(shù)據(jù)發(fā)生本質(zhì)的變化,輸入臂將物理輸入變換出臂則將邏輯輸出變換成物理輸出。行的加工路徑,然后根據(jù)輸入的屬性,選擇某一加工路徑。如下圖所示。業(yè)務(wù)中心完成以下任務(wù):【例題】控制結(jié)構(gòu)圖的繪制根據(jù)數(shù)據(jù)計(jì)算的數(shù)據(jù)流圖:畫出以轉(zhuǎn)換為中心的控制結(jié)構(gòu)圖?!窘馕觥窟@是一個(gè)典型的以“轉(zhuǎn)換為中心”結(jié)構(gòu)的分解,可以轉(zhuǎn)化為:【例題】產(chǎn)生固定資產(chǎn)資料數(shù)據(jù)流程圖如下,做出以業(yè)務(wù)為中心的模塊控制結(jié)構(gòu)圖?!窘馕觥窟@是以業(yè)務(wù)為中心的處理,根據(jù)模板,可以轉(zhuǎn)化為:固定資產(chǎn)卡片資產(chǎn)變動(dòng)表固定資產(chǎn)明細(xì)表固定資產(chǎn)卡片資產(chǎn)變動(dòng)表固定資產(chǎn)明細(xì)表折舊匯總表執(zhí)行一個(gè)特殊任務(wù)的一個(gè)過(guò)程以及相關(guān)的數(shù)據(jù)結(jié)構(gòu)。模塊通常由兩部分組成:模塊接口和模塊體?!胺侄沃焙汀俺橄蟆?。把一個(gè)待開(kāi)發(fā)的軟件分解成若干個(gè)簡(jiǎn)單的、具有高內(nèi)聚低耦合的模塊,這一過(guò)程稱為模塊化。模塊化是系統(tǒng)設(shè)計(jì)基本原理/原則之一。是指一個(gè)模塊內(nèi)部個(gè)成分之間相互關(guān)聯(lián)程度的度量。也就是說(shuō),凝聚是對(duì)模塊內(nèi)各一種度量。很顯然,一個(gè)模塊的內(nèi)聚越大越好。(1)偶然凝聚可維護(hù)性最差反之,模塊間的依賴程度越小,則其耦合程度也就越小。很顯然,為了使軟件具有較好的可維護(hù)性和可修改性,模塊間的關(guān)聯(lián)程度即耦合程度應(yīng)越小越好。因?yàn)轳詈铣潭仍叫?,表明模塊間的獨(dú)立程度越大,這樣在修改一個(gè)模塊時(shí),對(duì)其它模塊的影響程度就越小,從而使模塊的修改工作局限于一個(gè)最小范圍之內(nèi)。原則是:盡量用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,避免使用內(nèi)容耦合。11.啟發(fā)式規(guī)則高內(nèi)聚、低耦合。(3)力求深度、寬度、扇出、扇入適中。深度:表示其控制的層數(shù)。寬度:同一層次上模塊總數(shù)的最大值。扇出:一個(gè)模塊直接控制的下級(jí)模塊的數(shù)目。扇入:有多少個(gè)上級(jí)模塊直接調(diào)用它。(4)盡量使模塊的作用域在其控制域內(nèi)。模塊的控制域:這個(gè)模塊本身以及所有直接或間接從屬它的模塊的集合。模塊的作用域:受該模塊內(nèi)一個(gè)判斷所影響的所有模塊的集合。具體描述模塊結(jié)構(gòu)圖中的每一模塊,即給出實(shí)現(xiàn)模塊功能的實(shí)施機(jī)制,包括一組例程和數(shù)據(jù)結(jié)構(gòu)。一種基于結(jié)構(gòu)的編程方法,即采用順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)進(jìn)行編程,其中每一結(jié)構(gòu)只允許一個(gè)入口和一個(gè)出口。三種基本的控制結(jié)構(gòu):(b)IF-THEN-ELSE型選擇(分支)結(jié)構(gòu);①程序流程圖:程序流程圖又稱為程序框圖,它是歷史最悠久使用最廣泛的描述過(guò)程也是用得最混亂的一種方法。為N-S圖。(a)順序;(b)IF-THEN-ELSE型分支;(c)CASE型多分支;PAD是問(wèn)題分析圖(ProblemAnalysisDiagram)的英文縮寫,自1973年一定程度的推廣。它用二維樹(shù)形結(jié)構(gòu)的圖來(lái)表示程序的控制流,將這種圖翻譯成程序代碼PDL也稱為偽碼,它是用正文形式表示數(shù)據(jù)和處理過(guò)程的設(shè)計(jì)工具。的語(yǔ)法?!锟梢宰鳛樽⑨尮ぞ咧苯硬逶谠闯绦蛑虚g。完整準(zhǔn)確地描述滿足需求規(guī)約所要求的所有功能模塊,以及伴隨功能模塊而出現(xiàn)的非功能機(jī)制。設(shè)計(jì)規(guī)約包括概要設(shè)計(jì)規(guī)約和詳細(xì)設(shè)計(jì)規(guī)約。指明高層軟件體系結(jié)構(gòu)?!纠}】根據(jù)下列變換型的數(shù)據(jù)流圖,設(shè)計(jì)出初始軟件結(jié)構(gòu)圖?!敬鸢浮緼ABDCFE【解析】這是一個(gè)典型的變換型數(shù)據(jù)流程圖,將其轉(zhuǎn)換為模塊控制圖時(shí),第一層可以分解為三個(gè)模塊:輸入模塊、變換模塊、輸出模塊。每一模塊還可以繼續(xù)分解。復(fù)習(xí)建議:以不變應(yīng)萬(wàn)變。UML是目前流行的建模語(yǔ)言,特別是在網(wǎng)站開(kāi)發(fā)中廣泛應(yīng)用。內(nèi)容??己祟}目類型包括單項(xiàng)選擇題、填空題、簡(jiǎn)答題作用。面向?qū)ο蠼_^(guò)程的步驟:a)建立用況(usecase)模型和用況場(chǎng)景a)建立活動(dòng)圖和狀態(tài)圖(4)需求驗(yàn)證組方法組成。對(duì)象只描述客觀事物本質(zhì)的與系統(tǒng)目標(biāo)有關(guān)的特征。對(duì)象之間通過(guò)消息通信,一個(gè)對(duì)象通過(guò)向另一個(gè)對(duì)象發(fā)送消息激活某一個(gè)功能。一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。類有超類(Superclass)和子類(Subclass)之分。類在類圖上使用包含三個(gè)部分的矩形來(lái)描述,如下圖4-1所示。最上面每條屬性可以包括屬性的可見(jiàn)性、屬性名稱、類型、缺省值和約束特性。UML規(guī)定類的屬性的語(yǔ)法為:通常也被稱為功能,但是它們被約束在類的內(nèi)部,只能作用到該類的對(duì)象上。操作表組成操作界面。例如:+取客戶地址(客戶名:字符串):字符串接口是操作的一個(gè)集合,其中每個(gè)操作描述了類、構(gòu)件或子系統(tǒng)的一個(gè)服務(wù)。協(xié)作是一個(gè)交互,涉及交互的三要素:交互各方、交互方式以及交互內(nèi)容。對(duì)一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作應(yīng)產(chǎn)生對(duì)特定參與者有值的、可觀察的結(jié)果。至少具有一個(gè)進(jìn)程或線程的類。能夠啟動(dòng)系統(tǒng)的控制活動(dòng),并且其對(duì)象的行的。表示方法:兩條豎線。系統(tǒng)設(shè)計(jì)中的一種模塊化部件,通過(guò)外部接口隱藏了它的內(nèi)部實(shí)現(xiàn)。系統(tǒng)中包含物理信息的、可替代的物理部件。節(jié)點(diǎn)是在運(yùn)行時(shí)存在的物理元素,通常表示一種具有記憶能力和處理能力的計(jì)算機(jī)資源。關(guān)聯(lián)反映了類和類之間的靜態(tài)關(guān)系。關(guān)聯(lián)在模型中,特別是在永久業(yè)務(wù)對(duì)象模型中是最基本的關(guān)系。鏈(link)是對(duì)象之間具有特定語(yǔ)義關(guān)系的抽象?,F(xiàn)的最小和最大的數(shù)目。13.泛化/繼承繼承:特殊類(子類)的對(duì)象擁有其一般類(超類)的全部屬性與服務(wù),稱作特殊類對(duì)一般類的繼承(Inheritance)。利用繼承(inheritance子類可以繼承父類的屬性和方法。子類/父類也可分別叫做特殊類/一般類、子類/超類、派生類/基類等。繼承反映了類之間的一種聯(lián)系或結(jié)構(gòu):一般-特殊結(jié)構(gòu),也稱分類結(jié)構(gòu)(ClassificationStructure是由一組具有繼承關(guān)系的類所組成的結(jié)構(gòu)。僅由一些單繼承關(guān)系的類形成的結(jié)構(gòu)又稱作層次結(jié)構(gòu)(Hierarchy是指一般類中定義的屬性或服務(wù)被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表使得同一屬性或服務(wù)名在一般類及其各個(gè)特殊類中具有不同的語(yǔ)義。多態(tài)是指用同一界面形式表示不同對(duì)象類中的不同實(shí)現(xiàn)的能力。多態(tài)性的實(shí)現(xiàn)基于兩個(gè)基本原理:封裝和泛化。多態(tài)性實(shí)現(xiàn)的方法:(2)定義一個(gè)抽象類——接口類細(xì)化是類目之間的語(yǔ)義關(guān)系,其中一個(gè)類目規(guī)約了保證另一類目執(zhí)行的契約。用空心三角形的虛線表示。16.依賴依賴是一種使用關(guān)系,用于描述一個(gè)類目使用另一類目的信息和服務(wù)。用有向虛線段表示。包是模型元素的一個(gè)分組,一個(gè)包本身可以被嵌套在其它包中,并且可以含有子包和其它類型的模型元素。圖形化工具。(1)對(duì)象結(jié)構(gòu)建?!悎D和對(duì)象圖(2)應(yīng)用結(jié)構(gòu)建?!鼒D、構(gòu)件圖、部署圖、組合結(jié)構(gòu)圖任何系統(tǒng)都需要從兩方面進(jìn)行描述:結(jié)構(gòu)信息和行為信息。系統(tǒng)的組成表達(dá)了系統(tǒng)系,稱為結(jié)構(gòu);這些組成要素的執(zhí)行邏輯稱為行為。在面向?qū)ο蠓骄褪钦f(shuō),前者說(shuō)明了系統(tǒng)的組成部分是什么,而后者則說(shuō)明了系統(tǒng)做什么。類圖顯示系統(tǒng)各個(gè)部分以及怎樣將它們組裝起來(lái);但卻不能模擬組裝后系統(tǒng)的工作情況。構(gòu)造類圖的三個(gè)關(guān)鍵問(wèn)題是:(1)模型化待建系統(tǒng)中的概念,形成類圖(2)模型化待建系統(tǒng)中的各種關(guān)系,形成該系統(tǒng)的初始關(guān)系。(3)模型化系統(tǒng)中的協(xié)作,給出該系統(tǒng)的最終類圖。用況是對(duì)一個(gè)參與者(actor)使用系統(tǒng)的一項(xiàng)功能時(shí)所進(jìn)行的交出現(xiàn)異常的動(dòng)作序列。況之間關(guān)系的一種圖。6個(gè)模型元素:(3)參與者:系統(tǒng)用戶:是最常見(jiàn)的一種角色。是直接使用系統(tǒng)的人。另一個(gè)系統(tǒng):如DSS可作為MIS的一個(gè)活動(dòng)者。補(bǔ)貨系統(tǒng)可作為定單處作。(4)關(guān)聯(lián)對(duì)象或者類的整體行為的某些規(guī)則所能適應(yīng)的對(duì)象或類的狀況、情況、條件、形式或生存周期。僅當(dāng)對(duì)象的行為規(guī)則不同時(shí),才稱對(duì)象處于不同的狀態(tài)。在由對(duì)象的全部屬性的屬性值集合所構(gòu)成的笛卡兒乘積中的每一個(gè)等價(jià)集合(即,使對(duì)象的服務(wù)呈現(xiàn)相同行為規(guī)則的屬性值的集合)稱之為對(duì)象的一種狀態(tài)。y為其加注臨界條件、動(dòng)作表達(dá)式等標(biāo)簽。UnpaiUnpaid partialpayment>PartlyPaid par partialpayment partialpaymentFullyPaid互是指在場(chǎng)景或用況的事件流中發(fā)生的。每一個(gè)對(duì)象(類)用一條生命線來(lái)表示——即用互過(guò)程中對(duì)象的生命期。生命線之間的箭頭連線代表消息。順序圖中的基本元素包括:線實(shí)際上顯示了消息的順序,在生命線之上的消息比在它之下的消息先發(fā)生。在生命線中的棒形是活動(dòng)生命線,用以強(qiáng)調(diào)一個(gè)對(duì)象只有在一個(gè)場(chǎng)景的部分中處于活動(dòng)狀態(tài)。?同步消息——返回消息。同步消息假定有一個(gè)返回消息。同步消息用有實(shí)心的箭頭表示;返回消息用虛線、箭頭也不是實(shí)心來(lái)表示。?反身消息——消息的發(fā)送方和接收方是同一個(gè)對(duì)象。?異步消息——沒(méi)有返回值的消息。用非實(shí)心箭頭表示。?定時(shí)消息——對(duì)消息附加時(shí)間約束條件,包括:發(fā)送時(shí)間、接收時(shí)間、已用時(shí)間等。掌握RUP在解決下列三個(gè)問(wèn)題的基本方法。(3)在不同抽象層之間進(jìn)行“映射”的過(guò)程指導(dǎo)。本章考核題目類型包括單項(xiàng)選擇題、填空題、簡(jiǎn)答題,分值在10%~15%之間。重點(diǎn)要掌握基本概念、基本原理。1.迭代式開(kāi)發(fā)在軟件開(kāi)發(fā)的早期階段就想完全、準(zhǔn)確的捕獲用戶的需求幾乎是不可能的。實(shí)際上,我們經(jīng)常遇到的問(wèn)題是需求在整個(gè)軟件開(kāi)發(fā)工程中經(jīng)常會(huì)改變。迭代式開(kāi)發(fā)允許在每次迭代過(guò)程中需求可能有變化細(xì)化來(lái)加深對(duì)問(wèn)題的理解。迭代式開(kāi)發(fā)不僅可以降低項(xiàng)目的風(fēng)險(xiǎn),而且每個(gè)迭代過(guò)程都可以執(zhí)行版本結(jié)束,可以鼓舞開(kāi)發(fā)人員。2.管理需求確定系統(tǒng)的需求是一個(gè)連續(xù)的過(guò)程,開(kāi)發(fā)人員在開(kāi)發(fā)系統(tǒng)之前不可能完全詳細(xì)的說(shuō)明一個(gè)系能性需求的有效方法。3.體系結(jié)構(gòu)組件使重用成為可能,系統(tǒng)可以由組件組成?;讵?dú)立的、可替換的、模塊化的軟件體系結(jié)構(gòu)。4.可視化建模RUP往往和UML聯(lián)系在一起,對(duì)軟件系統(tǒng)建立可視化模型幫助人們提告訴我們?nèi)绾慰梢暬膶?duì)軟件系統(tǒng)建模,獲取有關(guān)體系結(jié)構(gòu)于組件的結(jié)構(gòu)和行為信息。5.驗(yàn)證軟件質(zhì)量樣可以及早發(fā)現(xiàn)軟件中的缺陷。6.控制軟件變更變更,以此為每個(gè)開(kāi)發(fā)人員建立安全的工作空間。第一節(jié)RUP的特點(diǎn)1.用況驅(qū)動(dòng)在系統(tǒng)的生存周期中,以用況作為基礎(chǔ),驅(qū)動(dòng)系統(tǒng)有關(guān)人員對(duì)所要建立系統(tǒng)的功能需求進(jìn)系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等活動(dòng),包括制定計(jì)劃、分配任務(wù)、監(jiān)控執(zhí)行和進(jìn)行組織在一起,使各個(gè)階段中都可以回溯到用戶的實(shí)際需求。2.以體系結(jié)構(gòu)為中心系統(tǒng)體系結(jié)構(gòu):是對(duì)系統(tǒng)語(yǔ)義的概括描述,對(duì)所有項(xiàng)目有關(guān)人員都是可以理解的。3.迭代與增量一個(gè)迭代是一個(gè)完整的開(kāi)發(fā)循環(huán),產(chǎn)生一個(gè)可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個(gè)子集,它增量式地發(fā)展,從一個(gè)迭代過(guò)程到另一個(gè)迭代過(guò)程到成為最終的系統(tǒng)。二維開(kāi)發(fā)模型:RUP軟件開(kāi)發(fā)生命周期是一個(gè)二維的軟件開(kāi)發(fā)模型。橫軸通過(guò)時(shí)間組織,是過(guò)程展開(kāi)的生命周期特征,碑(Milestone縱軸以內(nèi)容來(lái)組織為自然的邏輯活動(dòng),體現(xiàn)開(kāi)發(fā)過(guò)程的靜態(tài)結(jié)構(gòu),用來(lái)描述它的術(shù)語(yǔ)主要包Milestones每個(gè)階段本質(zhì)上是兩個(gè)里程碑之間的時(shí)間跨度。在每個(gè)階段的結(jié)尾執(zhí)行一次評(píng)估以確定這個(gè)階段的目標(biāo)是否已經(jīng)滿足。如果評(píng)估結(jié)果令人滿意的話,可以允許項(xiàng)目進(jìn)入下一個(gè)階段。圖5-2:RUP二維開(kāi)發(fā)模型(1)初始階段初始階段的目標(biāo)是為系統(tǒng)建立商業(yè)案例并確定項(xiàng)目的邊界。為了達(dá)到該目的必須識(shí)別所有與系統(tǒng)交外部實(shí)體,在較高層次上定義交互的特性。本階段具有非常重要的意義,在這個(gè)階段中所關(guān)注的是整個(gè)進(jìn)行中的業(yè)務(wù)和需求方面的主要風(fēng)險(xiǎn)。對(duì)于建立在原有系統(tǒng)基礎(chǔ)上的開(kāi)發(fā)項(xiàng)目來(lái)講,初始階段可能很短始階段結(jié)束時(shí)是第一個(gè)重要的里程碑:生命周期目標(biāo)(LifecycleObjective)里程碑。生命價(jià)項(xiàng)目基本的生存能力。(2)細(xì)化階段細(xì)化階段的目標(biāo)是分析問(wèn)題領(lǐng)域,建立健全的體系結(jié)構(gòu)基礎(chǔ),編制項(xiàng)目計(jì)劃,素。為了達(dá)到該目的,必須在理解整個(gè)系統(tǒng)的基礎(chǔ)上,對(duì)體系結(jié)構(gòu)作出決策,包括其范圍、主要性能等非功能需求。同時(shí)為項(xiàng)目建立支持環(huán)境,包括創(chuàng)建開(kāi)發(fā)案例,創(chuàng)建模板、準(zhǔn)則并準(zhǔn)備工具結(jié)束時(shí)第二個(gè)重要的里程碑:生命周期結(jié)構(gòu)(LifecycleArchitecture)里程碑。生命周期結(jié)構(gòu)建立了管理基準(zhǔn)并使項(xiàng)目小組能夠在構(gòu)建階段中進(jìn)行衡量。此刻,要檢驗(yàn)詳細(xì)的系統(tǒng)目標(biāo)和的選擇以及主要風(fēng)險(xiǎn)的解決方案。(3)構(gòu)造階段在構(gòu)建階段,所有剩余的構(gòu)件和應(yīng)用程序功能被開(kāi)發(fā)并集成為產(chǎn)品,所有的功能被詳細(xì)測(cè)試。從某種意義上說(shuō),構(gòu)建階段是一個(gè)制造過(guò)程,其重點(diǎn)放在管理資源及控制運(yùn)作以優(yōu)化成本、進(jìn)度和質(zhì)量。測(cè)試環(huán)境中進(jìn)行部署。此刻,要確定軟件、環(huán)境、用戶是否可以開(kāi)始系統(tǒng)的運(yùn)作。此時(shí)的產(chǎn)品版為“beta”版。(4)交付階段交付階段的重點(diǎn)是確保軟件對(duì)最終用戶是可用的。交付階段可以跨越幾次迭代,包括為發(fā)布做準(zhǔn)備的產(chǎn)品測(cè)試,基于用戶反饋的少量的調(diào)整。在生命周期的這一點(diǎn)上,用戶反饋應(yīng)主要集中在產(chǎn)品調(diào)整裝和可用性問(wèn)題,所有主要的結(jié)構(gòu)問(wèn)題應(yīng)該已經(jīng)在項(xiàng)目生命周期的早期階段解決了。在交付階段期。在一些情況下這個(gè)里程碑可能與下一個(gè)周期的初始階段的結(jié)束重合。第二節(jié)核心工作流RUP中有9個(gè)核心工作流,分為6個(gè)核心過(guò)程工作流(CoreProcessWorkflows)和3個(gè)核心支持工作流意迭代過(guò)程中的階段是完全不同的,這些工作流在整個(gè)生命周期中一次又一次被訪問(wèn)。9個(gè)核心工作流在項(xiàng)目中輪流被使用,在每一次迭代中以不同的重點(diǎn)和強(qiáng)度重復(fù)。(1)商業(yè)建模用況模型和商業(yè)對(duì)象模型中定義組織的過(guò)程,角色和責(zé)任。(2)需求需求(Requirement)工作流的目標(biāo)是描述系統(tǒng)應(yīng)該做什么,并使開(kāi)發(fā)人員和用戶就這一描述達(dá)成共識(shí)。為了達(dá)到該目標(biāo),要對(duì)需要的功能和約束進(jìn)行提取、組織、文檔化;最重要的是理解系統(tǒng)所解決和范圍。(3)分析和設(shè)計(jì)整設(shè)計(jì)使其與實(shí)現(xiàn)環(huán)境相匹配,優(yōu)化其性能。分析設(shè)計(jì)的結(jié)果是一個(gè)設(shè)計(jì)模型和一個(gè)可選的分析子系統(tǒng)(Subsystem而描述則體現(xiàn)了類的對(duì)象如何協(xié)同工作實(shí)現(xiàn)用況的功能。設(shè)計(jì)活動(dòng)以體系結(jié)中心,體系結(jié)構(gòu)由若干結(jié)構(gòu)視圖來(lái)表達(dá),結(jié)構(gòu)視圖是整個(gè)設(shè)重要的特點(diǎn)體現(xiàn)得更加清晰。體系結(jié)構(gòu)不僅僅是良好設(shè)計(jì)模型的承載媒介,而且在系統(tǒng)的開(kāi)發(fā)中能提高被創(chuàng)建模型的質(zhì)量。(4)實(shí)現(xiàn)文件、二進(jìn)制文件、可執(zhí)行文件)實(shí)現(xiàn)類和對(duì)象;將開(kāi)發(fā)出的組件作為單元進(jìn)行測(cè)試以及集成由(或小組)所產(chǎn)生的結(jié)果,使其成為可執(zhí)行的系統(tǒng)。(5)測(cè)試功能性和系統(tǒng)性能來(lái)進(jìn)行。(6)部署部署(Deployment)工作流的目的是成功的生成版本并將軟件分發(fā)給最終用戶。部署工作流 (7)配置和變更管理配置和變更管理工作流描繪了如何在多個(gè)成員組成的項(xiàng)目中控制大量的產(chǎn)物。配置和變更管理工作流提供了準(zhǔn)則來(lái)管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過(guò)程中的版本。工作流描述了如何管理并布式開(kāi)發(fā)、如何自動(dòng)化創(chuàng)建工程。同時(shí)也闡述了對(duì)產(chǎn)品修改原因、時(shí)間、人員保持審計(jì)記錄。軟件項(xiàng)目管理(ProjectManagement)平衡各種可能產(chǎn)生沖突的付使用戶滿意的產(chǎn)品。其目標(biāo)包括:為項(xiàng)目的管理提供框架,為計(jì)劃、人員配備、執(zhí)行和監(jiān)控項(xiàng)目提供的準(zhǔn)則,為管理風(fēng)險(xiǎn)提供框架等。(9)環(huán)境環(huán)境(Environment)工作流的目的是向軟件開(kāi)發(fā)組織提供軟件開(kāi)發(fā)環(huán)境,包括過(guò)程和工具。環(huán)境工作流集中于配置項(xiàng)目過(guò)程中所需要的活動(dòng),同樣也支持開(kāi)發(fā)項(xiàng)目規(guī)范的活動(dòng),提供了逐步的指導(dǎo)手冊(cè)并介紹何在組織中實(shí)現(xiàn)過(guò)程。RUP運(yùn)用用況(UseCase)技術(shù)來(lái)獲取需求。創(chuàng)建系統(tǒng)用況模型的活動(dòng)和任務(wù):在系統(tǒng)用況模型的基礎(chǔ)上,創(chuàng)建系統(tǒng)分析模型以及在該分析模型視角下的體系結(jié)構(gòu)描述。分析類:是類的一種衍型,很少有操作和特征標(biāo)記,而用責(zé)任來(lái)定義其行為,并且其屬性和關(guān)系也是概念性的。存在三種不同類型的類:實(shí)體類、邊界類和控制類。實(shí)體類描述要保存到持久存儲(chǔ)體中的信息。如:數(shù)據(jù)庫(kù)、各種形式的數(shù)據(jù)文件中的信息。包括:活動(dòng)者類?;顒?dòng)者類代表出現(xiàn)在用況模型中的活動(dòng)者?;顒?dòng)者是現(xiàn)實(shí)世界中與系統(tǒng)交互的人和/或機(jī)構(gòu)。例如,訂單處理系統(tǒng)中客戶是一個(gè)活動(dòng)者類。業(yè)務(wù)類描述業(yè)務(wù)的地點(diǎn)、物品、概念和事件。例如訂單處理系統(tǒng)中的訂單、商品等都是業(yè)務(wù)類。也稱界面類(UI類是組成系統(tǒng)用戶界面的屏幕顯示、菜單和報(bào)表。例如,訂單處理系統(tǒng)中客戶登錄系統(tǒng)的界面、顯示和編輯訂單的屏幕等都屬于UI類。邊界類位于系統(tǒng)與外界的交界處。如:窗體類、報(bào)表類、描述通信協(xié)議的類、直接與外接與外部系統(tǒng)交互的類??刂祁愂侵饕?fù)責(zé)其它類工作的類。如:主程序類、主窗體類。分析包把一些變化限制到一個(gè)業(yè)務(wù)過(guò)程、一個(gè)參與者的行為或一組緊密相關(guān)的用況析包。服務(wù)包和共享包。用況細(xì)化:定義滿足需求規(guī)約所需要的軟件結(jié)構(gòu)。RUP的設(shè)計(jì)目標(biāo):定義滿足系統(tǒng)/產(chǎn)品分析模型所規(guī)約需求的軟件結(jié)構(gòu)。4個(gè)術(shù)語(yǔ):兩個(gè)角度:了解設(shè)計(jì)類的主要特征:操作、屬性、關(guān)系、方法、實(shí)現(xiàn)需求、是否為主動(dòng)類。RUP實(shí)現(xiàn)的目標(biāo):包括:內(nèi)部測(cè)試、中間測(cè)試和最終測(cè)試。RUP測(cè)試包括的主要活動(dòng):錯(cuò)誤是不可避免的,我們要做的就是發(fā)現(xiàn)它,并改正它。軟件測(cè)試是保證軟件過(guò)程質(zhì)量和軟件產(chǎn)品質(zhì)量的基礎(chǔ)。因此軟件測(cè)試本章既有基本概念,也有綜合應(yīng)用,要求考生多做練習(xí)。測(cè)試對(duì)象:各個(gè)階段產(chǎn)生的源程序和文檔?;诓煌牧?chǎng),對(duì)軟件測(cè)試的目的存在著兩種完全對(duì)立的觀點(diǎn)。(2)另一種是希望測(cè)試成為表明軟件產(chǎn)品中不存在錯(cuò)誤的過(guò)程,驗(yàn)證該軟件中已正確地實(shí)現(xiàn)了用戶的要求,因此,它們傾向于選取導(dǎo)致程序失敗概率最小的測(cè)試實(shí)例和數(shù)據(jù)。顯然,第二種觀點(diǎn)對(duì)完善和提高軟件質(zhì)量和可靠性毫無(wú)價(jià)值,因此測(cè)試的目的應(yīng)該地發(fā)現(xiàn)并改正軟件種存在的錯(cuò)誤。GlenfordJ.Myers把這一觀點(diǎn)歸納為:測(cè)試法分為黑盒法和白盒法。定義域中有代表性的元素組成測(cè)試集,這些數(shù)據(jù)應(yīng)包括對(duì)程序是有效的和無(wú)效的輸入,極端的、殊的數(shù)據(jù)元素。因此,黑盒測(cè)試法是從外界來(lái)檢查模塊或程序的功能,也即根據(jù)模塊的輸入和輸?shù)媒Y(jié)果得差異。這種測(cè)試無(wú)須知道模塊的內(nèi)部邏輯,而是給定一輸入,檢查是否會(huì)得到所期望的測(cè)試法又具體分為等價(jià)類法,邊值分析法,因果圖法和錯(cuò)誤猜測(cè)法等?!纠}.填空題】黑盒法又稱為_______法,黑盒測(cè)試法是從外界來(lái)檢查模塊或程序的功能,也即根據(jù)模塊的輸入和輸出,得出所得結(jié)果得差異。依據(jù)的是程序的邏輯結(jié)構(gòu)?;驹兀哼^(guò)程塊、節(jié)點(diǎn)、判定。鏈、路徑的概念。a)路徑覆蓋:執(zhí)行所有可能穿過(guò)程序控制流程的路徑。最強(qiáng)的測(cè)試度量。b)語(yǔ)句覆蓋:至少執(zhí)行程序中所有語(yǔ)句一次。最低的測(cè)試度量。c)分支覆蓋:至少將程序中的每個(gè)分支執(zhí)行一次。最小的強(qiáng)制性測(cè)試需求是語(yǔ)句覆蓋率?!纠}】根據(jù)下列程序流程圖,設(shè)計(jì)不超過(guò)2組的測(cè)試用例,使之滿據(jù)的執(zhí)行路徑、輸入值、輸出值及兩個(gè)判定(3)和(5)的判定結(jié)果。在本題中,要求設(shè)計(jì)測(cè)試用例,滿足語(yǔ)句覆蓋,即所有語(yǔ)句都必須執(zhí)行一遍。7是根據(jù)程序的I/O特性,將程序的輸入劃分為有限個(gè)等價(jià)區(qū)段,使得從行的測(cè)試等價(jià)于該區(qū)段內(nèi)任何數(shù)據(jù)的測(cè)試。對(duì)于每個(gè)輸入條件存在著程序有效輸入的有效等價(jià)類是一種根據(jù)I/O邊界等價(jià)類上或緊靠邊界的條件,選擇測(cè)試用例的更有效的方法。例如,給定三個(gè)點(diǎn),判定能否構(gòu)成三角形,可選取兩邊之和等于第三邊的實(shí)例作為邊值分析法的測(cè)試用例。測(cè)試。(1)按等價(jià)類劃分法,設(shè)計(jì)測(cè)試用例(要求列出設(shè)(2)按邊界值分析法,設(shè)計(jì)測(cè)試用例?!窘馕觥浚?)等價(jià)類法:是通過(guò)從用自然語(yǔ)言書寫的功能說(shuō)明表中找出因—輸入條件和果—輸出結(jié)果,通過(guò)換成一張判定表,然后為每種輸出條件的組合設(shè)計(jì)測(cè)試用例。錯(cuò)誤推測(cè)法是根據(jù)測(cè)試人員的經(jīng)驗(yàn)和直覺(jué)推測(cè)程序種可能存在的各種錯(cuò)誤。試和系統(tǒng)測(cè)試。單元測(cè)試(UnitTesting)又稱模塊測(cè)試(ModuleTesting或模塊分調(diào),用于測(cè)試單模塊的邏輯和功能是否正確。單元測(cè)試采用白盒測(cè)試技術(shù)。驅(qū)動(dòng)模塊和承接模塊。試是與單元測(cè)試平行進(jìn)行的。集成測(cè)試采用黑盒測(cè)試技術(shù)。開(kāi)發(fā)邏輯,是獲取正確軟件的關(guān)鍵!圍繞生命周期的階段劃分,掌握每一階段的任務(wù)、內(nèi)容、工作方法、工作成果。題目類型包括單項(xiàng)選擇題、填空題、簡(jiǎn)答題,分值在10%左右。是軟件的產(chǎn)生直到報(bào)廢的生命周期,周期內(nèi)有問(wèn)題定義、可行性分析、總體描述、但隨著新的面向?qū)ο蟮脑O(shè)計(jì)方法和技術(shù)的成熟,軟件生命周期設(shè)計(jì)方法的指導(dǎo)意義正在逐步減少。一般來(lái)說(shuō),軟件生存周包括計(jì)劃、開(kāi)發(fā)、運(yùn)行三個(gè)時(shí)期,每一時(shí)期又可分為的主要任務(wù)是分析用戶要求,分析新系統(tǒng)的主要目標(biāo)以及開(kāi)發(fā)該系統(tǒng)的可行性。開(kāi)發(fā)時(shí)期兩大任務(wù)具體。具體分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試。其中編碼和測(cè)試指那些與軟件生產(chǎn)直接相關(guān)的活動(dòng)集。軟件開(kāi)發(fā)者所從事的一系列活動(dòng)和任務(wù)。將一組需求轉(zhuǎn)換為一個(gè)軟件產(chǎn)品或系統(tǒng)。(4)可以使用一些非交付的軟件項(xiàng)。(1)建立系統(tǒng)的頂層體系結(jié)構(gòu)是指有關(guān)各方按他們的目標(biāo)所從事的一系列支持活動(dòng)集。支持活動(dòng)有助于提高系統(tǒng)或軟件產(chǎn)品的質(zhì)量。應(yīng)用管理上、技術(shù)上的規(guī)程來(lái)支持整個(gè)軟件生存周期的過(guò)程。與軟件生產(chǎn)組織有關(guān)的活動(dòng)集。 軟件是整個(gè)系統(tǒng)的組成部分。區(qū)分系統(tǒng)需求分析和軟件需求分析。沒(méi)有明確過(guò)程、活動(dòng)、任務(wù)之間的時(shí)間依賴的序列。支持活動(dòng)之間的迭代和再現(xiàn)。把過(guò)程劃分為一些小的“片段”系統(tǒng)需求——每一階段的輸入,即工作對(duì)象以及本階段的工作成果,作為輸出傳送到下一階段。瀑布模型的貢獻(xiàn):(1)在決定系統(tǒng)怎樣做之前存在一個(gè)需求階段,它鼓勵(lì)對(duì)系統(tǒng)做什么有一個(gè)規(guī)約。瀑布模型存在的問(wèn)題:(1)要求客戶能夠完整、正確和清晰地表達(dá)他們的需求,并要求開(kāi)發(fā)人員一開(kāi)始就理解這一應(yīng)用。(2)由于需求的不確定性,使設(shè)計(jì)、編碼和測(cè)試階段都可能發(fā)生延期,并且當(dāng)項(xiàng)目接近結(jié)束時(shí),出現(xiàn)了大量的集成和測(cè)試工作。(3)在開(kāi)始的階段中,很難評(píng)估真正的進(jìn)度狀態(tài),并且直到項(xiàng)目結(jié)束之前都不能演示系統(tǒng)的功能。(4)在一個(gè)項(xiàng)目的早期階段,過(guò)分地強(qiáng)調(diào)了基線和里程碑處的文檔,并可能需要花費(fèi)更多的時(shí)間用于建立一些用處不大的文檔。增量模型融合了瀑布模型的基本成分(重復(fù)應(yīng)用)和原型實(shí)現(xiàn)的迭代特征,該模型往往是核心的產(chǎn)品,即第1個(gè)增量實(shí)現(xiàn)了基本的需求,但很多補(bǔ)充的特征還沒(méi)有發(fā)使用和評(píng)估都作為下一個(gè)增量發(fā)布的新特征和功能,這個(gè)過(guò)程在每一個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生了最終的完善產(chǎn)品。增量模型適用于“技術(shù)驅(qū)動(dòng)”的軟件產(chǎn)品開(kāi)發(fā)。優(yōu)點(diǎn):采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開(kāi)始不用投入大量人力資源。如果核心產(chǎn)品很受歡加人力實(shí)現(xiàn)下一個(gè)增量。當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它提供了一種先推出核徑。這樣即可先發(fā)布部分功能給客戶,對(duì)客戶起到鎮(zhèn)靜劑的作用。此外,增量能夠有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn)。缺點(diǎn):增量模型存在以下缺陷:這需要軟件具備開(kāi)放式的體系結(jié)構(gòu)。2)在開(kāi)發(fā)過(guò)程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而使軟件過(guò)程的控制失去整體性。開(kāi)發(fā)的方法較適應(yīng)于需求經(jīng)常改變的軟件開(kāi)發(fā)過(guò)程。3.演化模型演化模型是一種全局的軟件(或產(chǎn)品)生存周期模型。屬于迭代開(kāi)發(fā)方法。即根據(jù)用戶的基本需求,通過(guò)快速分析構(gòu)造出該軟件的一個(gè)初始可運(yùn)行版本,這個(gè)為原型,然后根據(jù)用戶在使用原型的過(guò)程中提出的意見(jiàn)和建議對(duì)原型進(jìn)行改進(jìn),獲得原型一過(guò)程,最終可得到令用戶滿意的軟件產(chǎn)品。采用演化模型的開(kāi)發(fā)過(guò)程,實(shí)際上就是從初成最終軟件產(chǎn)品的過(guò)程。演化模型特別適用于對(duì)軟件需求缺乏準(zhǔn)確認(rèn)識(shí)的情況。演化模型主要針對(duì)事先不能完整定義需求的軟件開(kāi)發(fā)。用戶可以給出待開(kāi)發(fā)系統(tǒng)的核心需求到核心需求實(shí)現(xiàn)后,能夠有效地提出反饋,以支持系統(tǒng)的最終設(shè)計(jì)和實(shí)現(xiàn)。軟件開(kāi)發(fā)人員根據(jù)用戶的需求,首先開(kāi)發(fā)核心系統(tǒng)。當(dāng)該核心系統(tǒng)投入運(yùn)行后,用戶試用之,完成他們的工作,并提出精化系統(tǒng)能力的需求。軟件開(kāi)發(fā)人員根據(jù)用戶的反饋,實(shí)施開(kāi)發(fā)的迭代過(guò)程。第一迭代過(guò)程均由需求、設(shè)計(jì)、編碼、辦法,每循環(huán)開(kāi)發(fā)一部分的功能,它們成為這個(gè)產(chǎn)品的原型的新增功能。于是,設(shè)計(jì)就不斷地演統(tǒng)。實(shí)際上,這個(gè)模型可看作是重復(fù)執(zhí)行的多個(gè)“瀑布模型”?!把莼P汀币箝_(kāi)發(fā)人員有能力把項(xiàng)目的產(chǎn)品需求分解為不同組,以便分批循環(huán)開(kāi)發(fā)。這種分組并不是絕對(duì)隨意性的,而是要根據(jù)功能的重要性及對(duì)總體設(shè)計(jì)的基礎(chǔ)結(jié)構(gòu)的影響而作出判斷。有發(fā)循環(huán)以六周到八周為適當(dāng)?shù)拈L(zhǎng)度。演化模型的優(yōu)點(diǎn):(1)任何功能一經(jīng)開(kāi)發(fā)就能進(jìn)入測(cè)試以便驗(yàn)證是否符合產(chǎn)品需求。得。而對(duì)于已提出的產(chǎn)品需求,則可根據(jù)對(duì)現(xiàn)階段原型的試用而作出修改。會(huì)去采取早期預(yù)防措施,增加項(xiàng)目成功的機(jī)率。(4)大大有助于早期建立產(chǎn)品開(kāi)發(fā)的配置管理,產(chǎn)品構(gòu)建(build自動(dòng)化測(cè)試,缺陷跟蹤,文檔管理。均衡整個(gè)開(kāi)發(fā)過(guò)程的負(fù)荷。(5)開(kāi)發(fā)中的經(jīng)驗(yàn)教訓(xùn)能反饋應(yīng)用于本產(chǎn)品的下一個(gè)循環(huán)過(guò)程,大大提高質(zhì)量與效率。時(shí)刻結(jié)束開(kāi)發(fā),但仍然有一個(gè)具有部分功能的,可工作的產(chǎn)品。(7)心理上,開(kāi)發(fā)人員早日見(jiàn)到產(chǎn)品的雛型,是一種鼓舞。(8)使用戶可以在新的一批功能開(kāi)發(fā)測(cè)試后,立即參加驗(yàn)證,以便提供非常有價(jià)值的反饋??蛻糇髡故竞驮囉?。演化模型的缺點(diǎn):性,并因而影響產(chǎn)品性能的優(yōu)化及產(chǎn)品的可維護(hù)性。(2)如果缺乏嚴(yán)格的過(guò)程管理的話,這個(gè)生命周期模型很可能退化為一種原始的無(wú)計(jì)劃的“試-錯(cuò)-改”模式。部分功能的產(chǎn)品。螺旋模型(SpiralModel)采用一種周期性的方法來(lái)進(jìn)行系統(tǒng)開(kāi)發(fā)。這會(huì)導(dǎo)致開(kāi)發(fā)出眾多的中用它,項(xiàng)目經(jīng)理在早期就能夠?yàn)榭蛻魧?shí)證某些概念。該模型是快速原型法,以進(jìn)化的開(kāi)發(fā)方式為由這4個(gè)階段進(jìn)行迭代。軟件開(kāi)發(fā)過(guò)程每迭代一次,軟件開(kāi)發(fā)又前進(jìn)一個(gè)層螺旋模型基本做法是在“瀑布模型”的每一個(gè)開(kāi)發(fā)階段前引入一個(gè)非常嚴(yán)格的風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)控制,它把軟件項(xiàng)目分解成一個(gè)個(gè)小項(xiàng)目。每個(gè)小項(xiàng)目都標(biāo)識(shí)一個(gè)或多個(gè)主要風(fēng)險(xiǎn),直到所有的素都被確定。螺旋模型強(qiáng)調(diào)風(fēng)險(xiǎn)分析,使得開(kāi)發(fā)人員和用戶對(duì)每個(gè)演因此特別適用于龐大、復(fù)雜并具有高風(fēng)險(xiǎn)的系統(tǒng)。對(duì)于這些系統(tǒng),風(fēng)險(xiǎn)是軟件開(kāi)發(fā)不可忽視且潛及時(shí)對(duì)風(fēng)險(xiǎn)進(jìn)行識(shí)別及分析,決定采取何種對(duì)策,進(jìn)而消除或減少風(fēng)險(xiǎn)的損害。(1)制定計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開(kāi)發(fā)的限制條件;(2)風(fēng)險(xiǎn)分析:分析評(píng)估所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn);(3)實(shí)施工程:實(shí)施軟件開(kāi)發(fā)和驗(yàn)證;(4)客戶評(píng)估:評(píng)價(jià)開(kāi)發(fā)工作,提出修正建議,制定下一步計(jì)劃。螺旋模型很大程度上是一種風(fēng)險(xiǎn)驅(qū)動(dòng)的方法體系,因?yàn)樵诿總€(gè)階段之前及經(jīng)常發(fā)生的循環(huán)之的方式工作,而不是項(xiàng)目經(jīng)理的方式。螺旋模型中存在眾多變量,并且在將來(lái)會(huì)有更大幅度的增長(zhǎng),該體系正良好運(yùn)作著。噴泉模型是一種以用戶需求為動(dòng)力,以對(duì)象為驅(qū)動(dòng)的模型,模型認(rèn)為軟件開(kāi)發(fā)過(guò)程自下而上周期的各階段是相互迭代和無(wú)間隙的特性。軟件的某個(gè)部分常常多次,相關(guān)對(duì)象在每次迭代中隨之加入漸進(jìn)的軟件成分。無(wú)間隙指在各項(xiàng)活動(dòng)之間無(wú)明顯邊界,計(jì)活動(dòng)之間沒(méi)有明顯的界限,由于對(duì)象概念的引入,表達(dá)分析、設(shè)計(jì)、實(shí)現(xiàn)等活動(dòng)可以較為容易地實(shí)現(xiàn)活動(dòng)的迭代和無(wú)間隙,使其開(kāi)發(fā)自然地包括復(fù)用。噴泉模型不像瀑布模型那樣,需要分析活動(dòng)結(jié)束后才開(kāi)始設(shè)計(jì)活動(dòng),設(shè)計(jì)活動(dòng)結(jié)束后才開(kāi)始編碼活動(dòng)。該模型的各個(gè)階段沒(méi)有明顯的界限,開(kāi)發(fā)人員可以同步進(jìn)行開(kāi)發(fā)。其優(yōu)點(diǎn)是可以提高軟件項(xiàng)目開(kāi)省開(kāi)發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。由于噴泉模型在各個(gè)開(kāi)發(fā)階段是重疊的,因此在需要大量的開(kāi)發(fā)人員,因此不利于項(xiàng)目的管理。此外這種模型要求嚴(yán)格管理文檔,使得審核的難其是面對(duì)可能隨時(shí)加入各種信息、需求與資料的情況。復(fù)習(xí)建議:軟件過(guò)程的改善問(wèn)題。單項(xiàng)選擇題和填空題,分值在5%左右。第一節(jié)背景和原理全稱是CapabilityMaturityModelIntegration,即軟件能力成熟度模型集成,梅隆大學(xué)和美國(guó)國(guó)防工業(yè)協(xié)會(huì)共同開(kāi)發(fā)和研制的,其目的是幫助軟件企業(yè)對(duì)軟件工程過(guò)程進(jìn)行管理和改進(jìn),增強(qiáng)開(kāi)發(fā)與改進(jìn)能力,從而能按時(shí)地、不超預(yù)算地開(kāi)發(fā)出高質(zhì)量的軟件。其所依據(jù)的想法是:只要集中持續(xù)努力去建立有效的軟件工程過(guò)程的基礎(chǔ)結(jié)構(gòu),不斷進(jìn)行管理的實(shí)踐和過(guò)程的改進(jìn),就可以克服軟件中的困難。CMMI為改進(jìn)一個(gè)組織的各種過(guò)程提供了一個(gè)單一的集成化框架,新的集成模型模型的不一致性,減少了模型間的重復(fù),增加透明度和理解,建立了一個(gè)自動(dòng)的、可擴(kuò)展的框架。因而能夠從總體上改進(jìn)組織的質(zhì)量和效率。成本效益、明確重點(diǎn)、過(guò)程集中和靈活性四個(gè)方面。CMMI核心理念:過(guò)程管理3.CMMI核心理念:過(guò)程管理CMMI是一套融合多學(xué)科的、可擴(kuò)充的產(chǎn)品集合,其研制的初步動(dòng)機(jī)型實(shí)現(xiàn)一個(gè)組織的集成化過(guò)程改進(jìn)。CMMI的本質(zhì)是軟件管理工程的一個(gè)部分管理工程的核心問(wèn)題,50多年來(lái)計(jì)算機(jī)的發(fā)展使人們認(rèn)識(shí)到要高效率、高質(zhì)量改善軟件生產(chǎn)過(guò)程?;赌P偷倪^(guò)程改進(jìn)是指用采用能力模型來(lái)指導(dǎo)組織的過(guò)程改進(jìn),使之過(guò)程進(jìn)行改善,該組織也能變得更加成熟。CMM的成功促使其他學(xué)科也相繼開(kāi)發(fā)類似的過(guò)程改進(jìn)模型,例如系統(tǒng)工程、需求不過(guò),在同一個(gè)組織中多個(gè)過(guò)程改進(jìn)模型的存在可能會(huì)引起沖突和混淆。CMMI就模式之間的協(xié)調(diào)。第二節(jié)C
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024生豬買賣合同協(xié)議書范本
- 個(gè)人勞動(dòng)合同(2024版)4篇
- 2025年度新能源產(chǎn)業(yè)借款合同綠色能源發(fā)展支持3篇
- 2025年度二手房買賣居間服務(wù)與鄰里關(guān)系協(xié)調(diào)合同正本4篇
- 2025年度新能源車輛采購(gòu)代理合同終止協(xié)議范本3篇
- 2025年油氣儲(chǔ)罐安全監(jiān)控系統(tǒng)銷售合同范本4篇
- 2025年高校食堂食品安全與營(yíng)養(yǎng)餐配送服務(wù)協(xié)議3篇
- 文化視角下的兒童交通行為分析與引導(dǎo)策略研究
- 2025版農(nóng)戶小麥種植保險(xiǎn)及購(gòu)銷保障合同2篇
- 2025版互聯(lián)網(wǎng)廣告內(nèi)容審核與發(fā)布協(xié)議3篇
- 2024-2030年中國(guó)海泡石產(chǎn)業(yè)運(yùn)行形勢(shì)及投資規(guī)模研究報(bào)告
- 動(dòng)物醫(yī)學(xué)類專業(yè)生涯發(fā)展展示
- 2024年同等學(xué)力申碩英語(yǔ)考試真題
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 非遺文化走進(jìn)數(shù)字展廳+大數(shù)據(jù)與互聯(lián)網(wǎng)系創(chuàng)業(yè)計(jì)劃書
- 科普知識(shí)進(jìn)社區(qū)活動(dòng)總結(jié)與反思
- 現(xiàn)金日記賬模板(帶公式)
- 消化內(nèi)科??票O(jiān)測(cè)指標(biāo)匯總分析
- 混凝土結(jié)構(gòu)工程施工質(zhì)量驗(yàn)收規(guī)范
- 肝性腦病患者的護(hù)理措施課件
- 大跨度斜拉橋上部結(jié)構(gòu)施工技術(shù)(圖文并茂)
評(píng)論
0/150
提交評(píng)論