版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章軟件工程概述1 .什么是軟件?軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合,包括程序、數(shù)據(jù)和文檔2 .什么是軟件危機(jī),其內(nèi)容主要是指什么?(1)軟件危機(jī)指落后的軟件生產(chǎn)方式無(wú)法滿足迅速增長(zhǎng)的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件 開發(fā)與維護(hù)過(guò)程中出現(xiàn)一系列問(wèn)題的現(xiàn)象。(2)主要表現(xiàn) 開發(fā)進(jìn)度難以預(yù)測(cè)開發(fā)成本難以控制用戶對(duì)產(chǎn)品功能難以滿足產(chǎn)品質(zhì)量無(wú)法保證,難以維護(hù)缺少適當(dāng)?shù)奈臋n資料3 .什么是軟件工程?軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的 原則、方法,以達(dá)到提高軟件質(zhì)量,降低開發(fā)成本的目的。4 .軟件工程的目標(biāo)及其組成部分(1)目標(biāo):在給定成本、進(jìn)度
2、的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、 可理解性、可維護(hù)性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟 件產(chǎn)品。(2)組成部分方法:是指產(chǎn)生某些結(jié)果的形式化過(guò)程。工具:是用更好的方式完成某件事情的設(shè)備或自動(dòng)化系統(tǒng),如各種集成開發(fā)環(huán)境、編譯 工具、測(cè)試工具等。過(guò)程:生產(chǎn)特定產(chǎn)品的工具和技術(shù)的結(jié)合5 .軟件開發(fā)方法的定義軟件開發(fā)方法是一種使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣組織軟件生產(chǎn)過(guò)程的方法。主要有:結(jié)構(gòu)化方法、可視化開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法等6 .好的軟件的一些主要衡量指標(biāo)。例如 McCall的質(zhì)量模型。第二章過(guò)程和生命周期建模1 .什么是軟件生命周期?主
3、要分為哪些階段?各個(gè)階段的主要任務(wù)及產(chǎn)生的主要制品?(1)軟件生命周期是指軟件的產(chǎn)生直到報(bào)廢或停止使用的過(guò)程。(2)階段、任務(wù)及制品問(wèn)題定義:弄清“用戶需要計(jì)算機(jī)解決什么問(wèn)題”,提出關(guān)于“系統(tǒng)目標(biāo)與范圍的說(shuō)明”,提 交用戶審查和確認(rèn)??尚行匝芯浚毫私庥脩粢蠛同F(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)、市場(chǎng)等方面研究并論證開發(fā)該軟件系統(tǒng)的可行性。需求分析:確定用戶對(duì)待開發(fā)軟件系統(tǒng)的需求,包括功能、性能、運(yùn)行環(huán)境約束。編寫 需求規(guī)格說(shuō)明書和初步的用戶手冊(cè)。概要(總體)設(shè)計(jì):根據(jù) SRS建立目標(biāo)軟件系統(tǒng)總體結(jié)構(gòu)、設(shè)計(jì)全局?jǐn)?shù)據(jù)庫(kù)和數(shù)據(jù)結(jié)構(gòu),規(guī)定設(shè)計(jì)約束,制定集成測(cè)試計(jì)劃詳細(xì)設(shè)計(jì):細(xì)化概要設(shè)計(jì)生成的各個(gè)模塊,詳細(xì)描述模塊
4、的內(nèi)部細(xì)節(jié)(算法、數(shù)據(jù)結(jié)構(gòu)等),形成可編程的程序模塊,制定單元測(cè)試計(jì)劃程序編碼:根據(jù)詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書編寫源程序集成測(cè)試:根據(jù)概要設(shè)計(jì)規(guī)格說(shuō)明書,將經(jīng)過(guò)單元測(cè)試的模塊逐步進(jìn)行集成和測(cè)試確認(rèn)測(cè)試:根據(jù)軟件需求規(guī)格說(shuō)明書,測(cè)試軟件系統(tǒng)是否滿足用戶的需求運(yùn)行維護(hù):對(duì)使用后的軟件進(jìn)行維護(hù),包括修正錯(cuò)誤,增加功能,搬遷新環(huán)境等性能維護(hù)。2 .需求分析的定義。在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。即確定要計(jì)算機(jī)“做什么”,要達(dá)到什么樣的效果。3 .典型的軟件開發(fā)過(guò)程模型的特點(diǎn)(優(yōu)缺點(diǎn))及要求,特別是原型法、瀑布模型、螺旋
5、模 型、增量和迭代等。一、瀑布模型需求分析一系統(tǒng)分析一程序設(shè)計(jì)一編碼一單元測(cè)試和集成測(cè)試 一系統(tǒng)測(cè)試一驗(yàn)收測(cè)試一運(yùn)行和維護(hù)(1)要求:一個(gè)開發(fā)階段必須在另一個(gè)開發(fā)階段開始之前完成。當(dāng)客戶引發(fā)的所有需求都已經(jīng)過(guò)完整性和一致性分析,并形成需求文檔之后,開發(fā)團(tuán)隊(duì)才能夠開始進(jìn)行系統(tǒng)設(shè)計(jì)活動(dòng)。每一個(gè)過(guò)程活動(dòng)都有與其相關(guān)聯(lián)的里程碑和可交付產(chǎn)品。(2)特點(diǎn):優(yōu)點(diǎn):采用規(guī)范的結(jié)構(gòu)化方法;嚴(yán)格規(guī)定每個(gè)階段提交的文檔;要求每個(gè)階段交出的產(chǎn)品必須經(jīng)過(guò)驗(yàn)證缺點(diǎn):對(duì)如何處理開發(fā)中產(chǎn)品和活動(dòng)的變化沒(méi)有提供相關(guān)指導(dǎo);將軟件開發(fā)視為制造而不是創(chuàng)造;創(chuàng)造一個(gè)產(chǎn)品沒(méi)有迭代的活動(dòng);需要等待很長(zhǎng)的時(shí)間、原型法I典睥迎"I:
6、 I 二贅小 1t屈詞主如:麗用11dLi原型法是指在獲取一組基本的需求定義后,利用高級(jí)軟件工具可視化的開發(fā)環(huán)境,快速地 建立一個(gè)目標(biāo)系統(tǒng)的最初版本,并把它交給用戶試用、補(bǔ)充和修改,再進(jìn)行新的版本開發(fā)。反復(fù)進(jìn)行這個(gè)過(guò)程,直到得出系統(tǒng)的“精確解”,即用戶滿意為止。(1)要求(過(guò)程)確定用戶的基本需求;構(gòu)造初始原形;運(yùn)行、評(píng)價(jià)、修改原形;形成最終的管理信息系統(tǒng)(2)特點(diǎn)優(yōu)點(diǎn):符合人們認(rèn)識(shí)事物的規(guī)律,系統(tǒng)開發(fā)循序漸進(jìn),反復(fù)修改,減少開發(fā)中的風(fēng)險(xiǎn)和不 確定性;開發(fā)周期短,成本相對(duì)少。缺點(diǎn):忽略軟件的總體質(zhì)量和長(zhǎng)期的可維護(hù)性;開發(fā)過(guò)程要經(jīng)過(guò)多次反復(fù)修改評(píng)價(jià),不便 于管理;開發(fā)人員易將原型取代系統(tǒng)分析;缺
7、乏規(guī)范化的文檔資料 適用范圍:處理過(guò)程明確、簡(jiǎn)單系統(tǒng);涉及面窄的小型系統(tǒng)三、階段化開發(fā):增量和迭代增量開發(fā):需求文檔中指定的系統(tǒng)按功能劃分為子系統(tǒng)。定義發(fā)布時(shí)首先定義一個(gè)小的功 能子系統(tǒng),然后在每一個(gè)新的發(fā)布中增加新功能。迭代開發(fā):一開始就提交一個(gè)完整的系統(tǒng),然后在每一個(gè)新的發(fā)布中改變每個(gè)子系統(tǒng)的功 特點(diǎn):縮短循環(huán)周期,客戶可以提前獲得一部分系統(tǒng)功能四、螺旋模型螺旋模型的每個(gè)迭代都圍繞 4個(gè)主要活動(dòng):計(jì)劃;確定目標(biāo)、可選方案及約束;評(píng)估可選 方案及風(fēng)險(xiǎn);開發(fā)與測(cè)試特點(diǎn):優(yōu)點(diǎn):有利于軟件重用,重視軟件質(zhì)量;減少過(guò)多測(cè)試缺點(diǎn):風(fēng)險(xiǎn)驅(qū)動(dòng),需要豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn);主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目;
8、隨著迭代次數(shù)增加,工作量加大,開發(fā)成本增加4 .原型法的特點(diǎn)以及分類:探索型(遞增型)原型、實(shí)驗(yàn)型(拋棄型)原型和演化型原型。5 .敏捷開發(fā)方法和極限編程的特點(diǎn)。(1)敏捷方法強(qiáng)調(diào)靈活性在快速、有效開發(fā)在軟件中的作用相對(duì)于過(guò)程和工具,更強(qiáng)調(diào)個(gè)人和交互的價(jià)值更喜歡在生產(chǎn)運(yùn)行的軟件上投入時(shí)間,而不是在文檔的編寫上注重客戶的合作,而不是合同談判專注于對(duì)變化的反應(yīng),而不是創(chuàng)建一個(gè)計(jì)劃而后遵循這個(gè)計(jì)劃(2)極限編程具有強(qiáng)溝通、簡(jiǎn)化設(shè)計(jì)和迅速反饋等特點(diǎn),一般只適合于規(guī)模小、進(jìn)度緊、需求不穩(wěn)定、開發(fā)小項(xiàng)目的小團(tuán)隊(duì)。極限編程的核心有4個(gè)要點(diǎn):交流、簡(jiǎn)單、反饋和勇氣。第三章 計(jì)劃和項(xiàng)目管理1 .了解項(xiàng)目計(jì)劃和管
9、理的主要內(nèi)容和常用方法(1)項(xiàng)目計(jì)劃要列出軟件開發(fā)要做的主要工作和任務(wù)清單,要回答“軟件工程項(xiàng)目做什么”強(qiáng)調(diào)可調(diào)性創(chuàng)造性分析性響應(yīng)性,用于協(xié)調(diào)項(xiàng)目編制、指導(dǎo)項(xiàng)目執(zhí)行。(2)項(xiàng)目管理,就是項(xiàng)目的管理者,在有限的資源約束下,運(yùn)用系統(tǒng)的觀點(diǎn)、方法和理論, 對(duì)項(xiàng)目涉及的全部工作進(jìn)行有效地管理。即從項(xiàng)目的投資決策開始到項(xiàng)目結(jié)束的全過(guò)程進(jìn) 行計(jì)劃、組織、指揮、協(xié)調(diào)、控制和評(píng)價(jià),以實(shí)現(xiàn)項(xiàng)目的目標(biāo)。主要有:階段化管理、量化管理和優(yōu)化管理三個(gè)方面。2 .軟件可行性研究的內(nèi)容。了解用戶要求和現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)、市場(chǎng)等方面研究并論證開發(fā)該軟件系統(tǒng)的可行 性。第四章獲取需求1 .了解需求的重要性及需求分析階段的目
10、標(biāo)及主要產(chǎn)物。(1)重要性需求在軟件開發(fā)起到了決策的作用,提供了開發(fā)的方向,指明了開發(fā)策略缺少需求或需求錯(cuò)誤會(huì)導(dǎo)致項(xiàng)目開發(fā)失敗(2)目標(biāo)及產(chǎn)物了解客戶要求 分析系統(tǒng)的數(shù)據(jù)要求需求規(guī)格說(shuō)明書2 .需求工程包括哪些方面?需求工程包括需求開發(fā)和管理,而需求開發(fā)又包括:需求獲取,需求分析,需求規(guī)格說(shuō)明 和需求驗(yàn)證。3 .需求的類型:功能需求、非功能需求或質(zhì)量需求、設(shè)計(jì)約束、過(guò)程約束。4 .兩種需求文檔:需求定義文檔和需求規(guī)格說(shuō)明書。5 .需求規(guī)格說(shuō)明書的主要內(nèi)容。略6 .常用的需求建模表示方法:ER圖、事件跟蹤、狀態(tài)機(jī)、Petri網(wǎng)、數(shù)據(jù)流圖、用例圖和 原型法。第五章UML部分1 .UML的作用:是為
11、軟件系統(tǒng)的制品進(jìn)行描述(specifying )、可視化(visualizing )、構(gòu)造 (constructing )、3®化(documenting )的種語(yǔ)言。2 .UML中的4+1視圖:用例視圖,設(shè)計(jì)視圖,進(jìn)程視圖,實(shí)現(xiàn)視圖,分布視圖。用例視圖:用來(lái)支持軟件系統(tǒng)的需求分析,它定義系統(tǒng)的邊界,關(guān)注的是系統(tǒng)的外部功 能的描述。邏輯視圖(設(shè)計(jì)+進(jìn)程):定義系統(tǒng)的實(shí)現(xiàn)邏輯,描述實(shí)現(xiàn)用例圖描述的功能以及設(shè)計(jì)軟 件系統(tǒng)的設(shè)計(jì)概念。實(shí)現(xiàn)視圖:描述組成一個(gè)軟件系統(tǒng)的各個(gè)物理部件以各種方式組合起來(lái),構(gòu)成一個(gè)可實(shí) 際運(yùn)行的系統(tǒng)。分布視圖:描述軟件產(chǎn)品在計(jì)算機(jī)硬件系統(tǒng)和網(wǎng)絡(luò)上的安裝、分發(fā)、分布。
12、3 .UML中的三種擴(kuò)展機(jī)制:構(gòu)造型 Stereotype ;標(biāo)記值tagged value;約束constraint.構(gòu)造型(stereotype):對(duì)UML詞匯(建模元素)的擴(kuò)充,用來(lái)描述和已有的UML建模元素類似,但又對(duì)特定的問(wèn)題領(lǐng)域有特殊意義的建模元素。(類)標(biāo)記彳K ( tagged value):對(duì)UML建模元素的構(gòu)成(property)的擴(kuò)充,用于為此建模元素增 加新的規(guī)格說(shuō)明。(類的屬性)約束(constraint):約束用來(lái)擴(kuò)充 UML建模元素的語(yǔ)義,以便增加新的規(guī)則或修改已有 的規(guī)則(關(guān)系)4 .UML中所包含的9種圖形及各自的作用。類圖:包含類、接口、協(xié)同及其關(guān)系,用來(lái)描
13、述邏輯視圖的靜態(tài)屬性。對(duì)象圖:包含對(duì)象及其關(guān)系,用來(lái)表示類圖的類的對(duì)象在系統(tǒng)運(yùn)行過(guò)程中某一時(shí)刻的狀態(tài)。組件圖:描述系統(tǒng)的物理實(shí)現(xiàn),包括構(gòu)成軟件系統(tǒng)的各部件的組織和關(guān)系。類圖里的類 在實(shí)現(xiàn)時(shí)最終會(huì)映射到組件圖的某個(gè)組件。一個(gè)組件可以實(shí)現(xiàn)多個(gè)類。分布圖:描述系統(tǒng)的組件在運(yùn)行時(shí)在運(yùn)行節(jié)點(diǎn)上分布,一個(gè)節(jié)點(diǎn)可包含一個(gè)或多個(gè)組件。用例圖:描述系統(tǒng)的邊界和其上的動(dòng)態(tài)行為,包括用例、系統(tǒng)作用者及其之間的關(guān)系。序列圖和協(xié)作圖:用來(lái)描述一組對(duì)象之間的動(dòng)態(tài)交互。狀態(tài)圖和狀態(tài)機(jī):用來(lái)描述對(duì)象的動(dòng)態(tài)特性。前者強(qiáng)調(diào)對(duì)象對(duì)外部事件的相應(yīng)及相應(yīng) 的狀態(tài)變遷,后者描述對(duì)象之間控制流的轉(zhuǎn)換和同步機(jī)制。5 .用例圖的作用。用例圖用
14、來(lái)描述軟件需求模型中的系統(tǒng)功能,通過(guò)一組用例可以描述軟件系統(tǒng)能夠給用 戶提供的功能。用例圖可以作為整個(gè)系統(tǒng)開發(fā)過(guò)程中的開發(fā)依據(jù),指導(dǎo)和驅(qū)動(dòng)其他模型。6 .用例圖的主要構(gòu)成部分。參與者用例系統(tǒng)邊界關(guān)系(箭頭)(同言,、-尹柱存運(yùn)推、U 1 .國(guó) r.rir收Aer為不 ,”住耳_.j < <ihu lu串二./、4¥/預(yù)訂則產(chǎn)JF 濟(jì)寇T槍owtitiaZX對(duì)間7 .類圖的主要作用類圖是描述類、接口以及它們之間關(guān)系的圖,它顯示了系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu),是一種靜態(tài)結(jié)構(gòu)。8 .了解類之間的各種關(guān)系:關(guān)聯(lián)、依賴、繼承或泛化、組合 &聚合關(guān)聯(lián):用來(lái)表示兩個(gè)(或多個(gè))類的對(duì)象
15、之間的結(jié)構(gòu)關(guān)系,在代碼中表現(xiàn)為一個(gè)類以屬性的形式包含對(duì)類的一個(gè)或多個(gè)對(duì)象的引用。依賴:表示一個(gè)類以某種形式依賴于其他類。依賴關(guān)系中,其中一個(gè)類的改編可能會(huì)影 響另一個(gè)類。在程序代碼中,依賴關(guān)系意味著一個(gè)類的對(duì)象出現(xiàn)在另一個(gè)類的操作當(dāng)中。常見(jiàn)的有兩種情況:一個(gè)類將另一個(gè)類的對(duì)象作為自己某個(gè)操作的參數(shù)(形參) ,或者是操 作的局部變量。泛化(繼承):定義類和包之間的一般元素和特殊元素之間的分類關(guān)系。聚合:表示類之間整體與部分的關(guān)系。聚合意味著一個(gè)類擁有但共享另一個(gè)類的對(duì)象。組合:特殊形式的聚合。一個(gè)部分類最多只屬于一個(gè)整體類,整體類不存在時(shí),部分類 將同時(shí)銷毀。9 .了解類圖的基本建模步驟10 .
16、接口和抽象類的定義及各自的特點(diǎn)。(1)抽象類抽象類是指那些不具有任何對(duì)象的類,其作用是為其他的類描述它們的公共屬性和行為。通常,抽象類具有一組抽象操作。一個(gè)擁有至少一個(gè)抽象操作的類必定是一個(gè)抽象類。(2)接口接口是一組沒(méi)有實(shí)現(xiàn)的操作的集合。接口只提供操作的聲明,不提供任何相應(yīng)的功能代碼。具體的功能代碼由使用該接口的類實(shí)現(xiàn),這叫作實(shí)現(xiàn)關(guān)系。特點(diǎn):接口只包含操作而不包含屬性,并且操作都是公有的(public),不允許使用可見(jiàn)性限定符。接口不能自己實(shí)現(xiàn)其操作,而是由相應(yīng)的類來(lái)實(shí)現(xiàn)。接口沒(méi)有構(gòu)造函數(shù)和析構(gòu)函數(shù),不能直接被實(shí)例化一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。(3)對(duì)比接口是一個(gè)不帶實(shí)現(xiàn)的類,它只規(guī)定類的外部特
17、性,包括公共屬性、操作及其語(yǔ)義,因此只有操作聲明而沒(méi)有方法體和物理存儲(chǔ)區(qū)。抽象類和接口很相似,也只定義接口而推遲定義其實(shí)現(xiàn)部分,然而抽象類允許增加一些 方法的實(shí)現(xiàn)。語(yǔ)義層面上:抽象類是一種類是對(duì)一組具有相同屬性和方法的邏輯上有關(guān)系的事物的一種抽象。而接口則是對(duì)一組具有相同屬性和方法的邏輯上不相關(guān)處物的一種抽象。抽象類中可以有自己的數(shù)據(jù)成員,也可以有非abstract的成員方法。而接口中的方法只能有靜態(tài)的不能被修改的數(shù)據(jù)成員抽象類表示的是一種繼承關(guān)系,一個(gè)類只能使用一次繼承關(guān)系。但是,一個(gè)類卻可以實(shí) 現(xiàn)多個(gè) interface。抽象類中的方法可以有默認(rèn)行為。但接口中的方法卻不能擁有默認(rèn)行為。11
18、 .交互圖的分類:順序圖和協(xié)作圖,各自的優(yōu)缺點(diǎn)。UML2.0中協(xié)作圖改成通信圖。交互圖描述一個(gè)交互,其中包括了一系列的對(duì)象及其關(guān)系以及通過(guò)這些關(guān)系在對(duì)象之間傳送的消息。(1)順序圖強(qiáng)調(diào)的是消息發(fā)送的時(shí)間的先后順序。對(duì)象:序列圖中所包含的每個(gè)對(duì)象用一個(gè)對(duì)象框(短式)表示,對(duì)象名需帶下劃線。生存線:對(duì)象框下畫的一條垂直虛線,稱為該對(duì)象的生存線,表示對(duì)象的生存時(shí)間。激活期:對(duì)象生存線上的一個(gè)細(xì)長(zhǎng)方形框,表示該對(duì)象的激活時(shí)間段,即活動(dòng)期間。消息:對(duì)象之間消息的發(fā)送和接收用兩個(gè)對(duì)象生存線(激活期)之間的消息箭頭線。(2)協(xié)作圖強(qiáng)調(diào)的是發(fā)送和接收消息的對(duì)象之間的組織結(jié)構(gòu)。一個(gè)協(xié)作圖顯示了一系列的對(duì)象和在這
19、些對(duì)象之間的聯(lián)系以及對(duì)象間發(fā)送和接收的消息。構(gòu)成:對(duì)象;連接;在此連接上傳遞的消息(3)對(duì)比相同點(diǎn):它們都表現(xiàn)出了對(duì)象之間的交互信息。兩個(gè)圖對(duì)象的繪制方式相同不同點(diǎn):順序圖反映了對(duì)象之間交互的時(shí)間關(guān)系,而通信圖反映了對(duì)象之間交互的空間關(guān)系。順序圖用于展示特定的業(yè)務(wù)場(chǎng)景,而通信圖用來(lái)展示詳細(xì)的業(yè)務(wù)過(guò)程。順序圖的對(duì)象在圖形的頂部一字排開,而通信圖對(duì)象的擺放位置在二維空間只要選擇合 適的位置即可。通信圖不能表現(xiàn)組合片段。12 .狀態(tài)圖和活動(dòng)圖各自的作用。(注意活動(dòng)圖中泳道的作用)(1)狀態(tài)圖狀態(tài)圖描述了一個(gè)對(duì)象或交互過(guò)程在它的生命周期中對(duì)一系列外界激勵(lì)的所呈現(xiàn)出的不同 狀態(tài)以及它相應(yīng)的響應(yīng)和活動(dòng)。狀
20、態(tài)圖描述交互對(duì)對(duì)象內(nèi)部的影響,交互圖中的消息在這里變成外部事件對(duì)對(duì)象發(fā)出的命 令,對(duì)象對(duì)這些命令的響應(yīng)導(dǎo)致對(duì)象的狀態(tài)發(fā)生變化。因此,從這個(gè)意義上說(shuō),狀態(tài)圖是順序圖的進(jìn)一步細(xì)化,并且是對(duì)核心對(duì)象(選擇核心對(duì)象的依據(jù)是看是否在多個(gè)交互圖中 有多個(gè)消息指向該對(duì)象)的細(xì)化。TT(2)活動(dòng)圖在UML里,用來(lái)為非反應(yīng)型對(duì)象建模的狀態(tài)機(jī)被稱為活動(dòng)圖?;顒?dòng)圖是一種特殊形式的狀態(tài)機(jī),用于對(duì)計(jì)算流程和工作流程建模。活動(dòng)圖著重表現(xiàn)活動(dòng)的控制流,描述在對(duì)象之間傳遞的操作泳道:活動(dòng)圖可以用來(lái)表達(dá)軟件對(duì)象的比較復(fù)雜的動(dòng)態(tài)行為。這些動(dòng)態(tài)行為可能是模擬現(xiàn)實(shí)世界的某個(gè)機(jī)構(gòu)的各業(yè)務(wù)部門的運(yùn)作情況;也可能是一個(gè)復(fù)雜的算法,這算法可
21、能需要由軟件系統(tǒng)中的多個(gè)協(xié)同共同實(shí)現(xiàn)。(協(xié)同指的是多個(gè)類的對(duì)象共同工作,以提供單個(gè)類的的對(duì)象單獨(dú)工作不能提供的動(dòng)態(tài)行為)在UML里,對(duì)在語(yǔ)義上互相關(guān)聯(lián)的活動(dòng)狀態(tài)的子集的劃分,是使用泳道 (swim lane)實(shí)現(xiàn)的。泳道是活動(dòng)圖里對(duì)其中的活動(dòng)按照其職責(zé)上的關(guān)聯(lián)進(jìn)行的劃分。泳道在活動(dòng)圖內(nèi)是一系 列的垂直的隔斷。在活動(dòng)圖里,泳道區(qū)分了其中的活動(dòng)的不同職責(zé)。在有泳道的活動(dòng)圖中,每一活動(dòng)都屬于且只屬于一個(gè)泳道。泳道之間可以有變遷的傳遞。 泳道從語(yǔ)義上可以理解為是一個(gè)模型包。泳道可以有名字,以區(qū)分不同狀態(tài)集合的職責(zé)。泳道可以用在為復(fù)雜的算法進(jìn)行建模的活動(dòng)圖上。這時(shí),一個(gè)泳道對(duì)應(yīng)于一個(gè)協(xié)同,其 中的活動(dòng)可
22、以由一個(gè)或多各互相連接的類的對(duì)象實(shí)現(xiàn)。帶有泳道的活動(dòng)圖也可以在軟件開發(fā)的需求分析階段用來(lái)為業(yè)務(wù)部門的業(yè)務(wù)流程的建模 上,這時(shí),泳道可以代表業(yè)務(wù)流程中的一個(gè)業(yè)務(wù)部門。13 .組件圖的作用以及組件與接口間的關(guān)系。 組件是一個(gè)相對(duì)獨(dú)立的物理塊,是系統(tǒng)的一個(gè)物理和可替代的組成部分,一般作為一個(gè)獨(dú) 立的文件存在。組件具有確定的借口,相互之間可以調(diào)用,組件之間存在依賴關(guān)系。 組件圖的主要目的是顯示系統(tǒng)組件間的結(jié)構(gòu)關(guān)系。組件與接口:組件的一個(gè)重要特性就是實(shí)現(xiàn)了邏輯視圖中為軟件系統(tǒng)規(guī)定的設(shè)計(jì)詞匯的語(yǔ)義,語(yǔ)義除 了靜態(tài)結(jié)構(gòu)之外,即是其規(guī)定的動(dòng)態(tài)行為。從組件外部來(lái)看,一個(gè)組件區(qū)分于另一個(gè)組件 的的本質(zhì)特征就是其動(dòng)
23、態(tài)行為。如果需要強(qiáng)調(diào)組件的動(dòng)態(tài)行為,即組件為外部世界提供的 服務(wù),就可以使用接口。通過(guò)將軟件系統(tǒng)的劃分為不同的可執(zhí)行組件,可以實(shí)現(xiàn)軟件系統(tǒng)的組件化。軟件系統(tǒng)在 物理上由不同組件構(gòu)成,有些組件向外部提供由接口規(guī)定的服務(wù),有些組件使用這些服務(wù)。組件化的好處:組件是可替換的;邊界清晰;便于維護(hù)、升級(jí);組件化的軟件系統(tǒng)可以 是分布式的,不要求使所有組件都運(yùn)行于一個(gè)結(jié)點(diǎn)一個(gè)組件實(shí)現(xiàn)了一個(gè)接口,被一個(gè)組件實(shí)現(xiàn)的接口是該組件的實(shí)現(xiàn)接口。一個(gè)組件使用了另一個(gè)組件通過(guò)接口提供的服務(wù),被一個(gè)組件調(diào)用的接口是該組件的輸入 接口14 .部署圖的作用以及節(jié)點(diǎn)的分類(1)部署圖(配置圖)是用來(lái)顯示系統(tǒng)中軟件和硬件的物理架
24、構(gòu)。從部署圖中,您可以了 解到軟件和硬件組件之間的物理關(guān)系以及處理節(jié)點(diǎn)的組件分布情況。使用部署圖可以顯示 運(yùn)行時(shí)系統(tǒng)的結(jié)構(gòu),同時(shí)還傳達(dá)構(gòu)成應(yīng)用程序的硬件和軟件元素的配置和部署方式。部署圖描述了一個(gè)運(yùn)行時(shí)的硬件結(jié)點(diǎn),以及在這些結(jié)點(diǎn)上運(yùn)行的軟件組件的靜態(tài)視圖。 部署圖顯示了系統(tǒng)的硬件,安裝在硬件上的軟件,以及用于連接異構(gòu)的機(jī)器之間的中間件。(2)節(jié)點(diǎn)節(jié)點(diǎn)是運(yùn)行時(shí)代表計(jì)算資源的物理元素。節(jié)點(diǎn)通常有內(nèi)存及處理能力,它可以是物理設(shè)備 及運(yùn)行在該設(shè)備上的軟件系統(tǒng)。節(jié)點(diǎn)分為處理機(jī)和設(shè)備處理機(jī):能執(zhí)行軟件、具備計(jì)算能力的節(jié)點(diǎn),如主機(jī)、服務(wù)器、客戶機(jī)等設(shè)備:沒(méi)有計(jì)算能力的節(jié)點(diǎn),如打印機(jī)、傳感器、終端等15.主要
25、的面相對(duì)象設(shè)計(jì)原則及各自的原理:OCP,LSP,DIP,ISP,CARP,LoD設(shè)計(jì)原則名稱簡(jiǎn)介里氏替換原則LSP任意父類可以出現(xiàn)的地方,子類也可以出現(xiàn)開閉原則OCP對(duì)擴(kuò)展開發(fā),對(duì)修改關(guān)閉單一職責(zé)原則SRPr類的職責(zé)單一依賴倒車t原則DIP;針對(duì)抽象(或接口)編程,而不針對(duì)具體編程接口隔離原則ISP使用多個(gè)專門接口要優(yōu)于使用單一的接口組合聚合原則CRP優(yōu)先使用組合或聚合關(guān)系,不要過(guò)于使用繼承關(guān)系迪米特原則LoD一個(gè)軟件實(shí)體對(duì)其他實(shí)體的引用越少越好LSP李氏替換原則:如果在任何情況下,子類(或子類型)或?qū)崿F(xiàn)類與基類都是可以互 換的,那么繼承的使用就是合適的。為了達(dá)到這一目標(biāo),子類不能添加任何父類
26、沒(méi)有的附加約束。OCP開閉原則:軟件實(shí)體(類、模塊、函數(shù)等)應(yīng)該是可擴(kuò)展的,但是不可修改的。SRP單一職責(zé)原則:規(guī)定一個(gè)類應(yīng)該只有一個(gè)發(fā)生變化的原因。如果一個(gè) 類承擔(dān)的職責(zé)過(guò)多,就等于把這些職責(zé)耦合在一起了。一個(gè)職責(zé) 的變化可能會(huì)削弱或者 抑制這個(gè)類完成其他職責(zé)的能力。這 種耦合會(huì) 導(dǎo)致脆弱的設(shè)計(jì),當(dāng)發(fā)生變化時(shí),設(shè)計(jì)會(huì)遭受到意 想不到的破壞。而如果想要避免這 種現(xiàn)象的發(fā)生,就要盡可能的遵守 單一職責(zé)原則。此原則 的核 心就是解耦和增 強(qiáng)內(nèi)聚性。ISP接口隔離原則:客戶端不應(yīng)該依賴它不需要的接口; 一個(gè)類對(duì)另一個(gè)類的依賴應(yīng)該建立在最小的接口上。 為了避免 肥接口(fat inteface)應(yīng)當(dāng)以
27、一個(gè) 類實(shí)現(xiàn)多個(gè)接口,而各客 戶 僅僅獲知必須的接口DIP依賴倒轉(zhuǎn)原則:程序要依賴于抽象接口,不要依賴于具體實(shí)現(xiàn)。簡(jiǎn)單的說(shuō)就是要求對(duì)抽象進(jìn)行編程,不要對(duì)實(shí)現(xiàn)進(jìn) 行編程,這樣就降低了客 戶與實(shí)現(xiàn)模塊間的耦合。CRP組合復(fù)用原則:繼承復(fù)用:實(shí)現(xiàn)簡(jiǎn)單,易于擴(kuò)展。破壞系統(tǒng)的封閉性,從基類繼承而來(lái)的實(shí)現(xiàn)是靜態(tài)的,不能在運(yùn)行時(shí)動(dòng)態(tài)改變,缺乏靈活性(即“白盒” 復(fù)用)。組合/聚合復(fù)用:耦合度較低,可以靈活地選擇成員對(duì)象的操作;可以在運(yùn)行時(shí)動(dòng)態(tài)改變。(即“黑盒”復(fù)用)迪米特原則:指一個(gè)軟件實(shí)體應(yīng)該盡量少與其他實(shí)體發(fā)生相互作用。16 .設(shè)計(jì)模式的內(nèi)容和分類。(1)設(shè)計(jì)模是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類編
28、目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。一個(gè)模式有四個(gè)基本要素:模式名稱、問(wèn)題、解決方案、效果(2)分類創(chuàng)建型模式:抽象的實(shí)例化過(guò)程,隱藏了對(duì)象創(chuàng)建的具體細(xì)節(jié),使程序代碼不依賴具體 的對(duì)象。例:?jiǎn)卫J?、抽象工廠模式、建造者模式、工廠模式、原型模式。結(jié)構(gòu)型模式:描述類和對(duì)象之間通過(guò)組織形成新的結(jié)構(gòu),以實(shí)現(xiàn)新的功能。例:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式。行為型模式:描述算法以及對(duì)象之間的任務(wù)(職責(zé))分配及它們之間的通訊模式。例:模版方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解 釋器模式、狀態(tài)模式、策略模式、職責(zé)鏈模式、訪問(wèn)者模式。17 .設(shè)計(jì)模式
29、與面向?qū)ο笤O(shè)計(jì)原則之間的關(guān)系,特別是 OCP原則設(shè)計(jì)模式就是實(shí)現(xiàn)了面向?qū)ο笤瓌t,從而達(dá)到了代碼復(fù)用、增加可維護(hù)性的目的。18 .了解常見(jiàn)設(shè)計(jì)模式的設(shè)計(jì)思想及其原理,了解如何從 OCP的角度進(jìn)行分析第六章設(shè)計(jì)系統(tǒng)1 .概念設(shè)計(jì)和技術(shù)設(shè)計(jì)的內(nèi)容概念設(shè)計(jì):是由分析用戶需求到生成概念產(chǎn)品的一系列有序的、可組織的、有目標(biāo)的設(shè) 計(jì)活動(dòng),它表現(xiàn)為一個(gè)由粗到精、由模糊到清晰、由抽象到具體的不斷進(jìn)化的過(guò)程。技術(shù)設(shè)計(jì):對(duì)主要硬件部分及其功能的描述,確定設(shè)計(jì)軟件構(gòu)件的層次和功能、數(shù)據(jù)結(jié) 構(gòu)和數(shù)據(jù)流2 .好的設(shè)計(jì)的衡量:內(nèi)聚和耦合內(nèi)聚是一個(gè)模塊內(nèi)部各成分之間相關(guān)聯(lián)程度的度量。(高內(nèi)聚)耦合是指對(duì)象之間的依賴性(低耦合
30、),耦合性是程序結(jié)構(gòu)中各個(gè)模塊之間相互關(guān)聯(lián)的度 量。它取決于各個(gè)模塊之間的接口的復(fù)雜程度、調(diào)用模塊的方式以及哪些信息通過(guò)接口。3 .常用的內(nèi)聚和耦合度類型(1)內(nèi)聚類型低一高:功能內(nèi)聚、信息內(nèi)聚、通信內(nèi)聚、過(guò)程內(nèi)聚、時(shí)間內(nèi)聚、邏輯內(nèi)聚、偶然內(nèi)聚(2)耦合類型高一低:內(nèi)容耦合、公共耦合、外部耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合、非直接耦合第七章測(cè)試1 .測(cè)試的目標(biāo)和衡量標(biāo)準(zhǔn)目標(biāo):發(fā)現(xiàn)錯(cuò)誤,只有當(dāng)發(fā)現(xiàn)了錯(cuò)誤時(shí),測(cè)試才被認(rèn)為是成功的。衡量標(biāo)準(zhǔn):需求的覆蓋率;缺陷數(shù)量;缺陷重現(xiàn)率;效率;重用價(jià)值。2 .測(cè)試的分類(或組織)。各種類型的測(cè)試的主要任務(wù)及所依賴的文檔。模塊、構(gòu)件、單元測(cè)試:對(duì)軟件中的最小可測(cè)
31、試單元進(jìn)行檢查和驗(yàn)證,目的是檢驗(yàn)軟件 基本組成單位的正確性。集成測(cè)試:在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成為子系統(tǒng),進(jìn)行集成 測(cè)試。目的是檢查軟件單位之間的接口是否正確。功能測(cè)試:對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證,根據(jù)功能測(cè)試用例,逐項(xiàng)測(cè)試,根據(jù)需求文檔檢 查產(chǎn)品功能完整性。性能測(cè)試:檢查系統(tǒng)的響應(yīng)速度,結(jié)果精確性和數(shù)據(jù)的可訪問(wèn)性驗(yàn)收測(cè)試:指確認(rèn)系統(tǒng)是否符合設(shè)計(jì)規(guī)格或契約之需求內(nèi)容的測(cè)試安裝測(cè)試:確保該軟件在正常情況和異常情況的不同條件下,安裝后的正常運(yùn)行。3 .黑盒測(cè)試和白盒測(cè)試的思想,了解白盒測(cè)試中的基本路徑測(cè)試等方法。(1)黑盒測(cè)試也稱功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使
32、用。在測(cè)試中, 把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在 程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是 否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮 內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。(2)白盒測(cè)試又稱結(jié)構(gòu)測(cè)試,是全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行的測(cè)試。 "白盒"法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查 程序的邏輯著手,得出測(cè)試數(shù)據(jù)。(3)基本路徑測(cè)試基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)
33、路復(fù)雜性,導(dǎo)出基本 可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每 個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例。4 .單元測(cè)試的主要內(nèi)容。包括模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試、邊界測(cè)試5 .集成測(cè)試的類型及主要的測(cè)試策略。(1)類型自底向上:從軟件結(jié)構(gòu)中最底層、最基本的軟件單元開始進(jìn)行集成和測(cè)試自頂向下:一個(gè)模塊一個(gè)模塊地集成軟件,按照控制的結(jié)構(gòu),從主控模塊開始,向下逐個(gè) 把模塊連結(jié)起來(lái)。一次性測(cè)試;三明治測(cè)試:混合上下(2)策略非增量式:先測(cè)試好每一個(gè)軟件單元,
34、然后依次集成在一起再測(cè)試整個(gè)程序。增量式:逐步把一個(gè)要被集成的軟件單元或不見(jiàn),同已測(cè)試好的軟件部件結(jié)合起來(lái)測(cè)試。 好處:占用人工、時(shí)間少,能較早發(fā)現(xiàn)模塊錯(cuò)誤,利于并行開發(fā)。6 .確認(rèn)測(cè)試的內(nèi)容。包括:安裝測(cè)試、功能測(cè)試、性能測(cè)試、安全性測(cè)試、兼容性測(cè)試、可使用性測(cè)試、文檔 測(cè)試7 .了解測(cè)試計(jì)劃的主要內(nèi)容。測(cè)試計(jì)劃,描述了要進(jìn)行的測(cè)試活動(dòng)的范圍、方法、資源和進(jìn)度的文檔;是對(duì)整個(gè)信息系 統(tǒng)應(yīng)用軟件組裝測(cè)試和確認(rèn)測(cè)試。它確定測(cè)試項(xiàng)、被測(cè)特性、測(cè)試任務(wù)、誰(shuí)執(zhí)行任務(wù)、各 種可能的風(fēng)險(xiǎn)。測(cè)試計(jì)劃可以有效預(yù)防計(jì)劃的風(fēng)險(xiǎn),保障計(jì)劃的順利實(shí)施。8 .測(cè)試系統(tǒng)中的測(cè)試過(guò)程:功能測(cè)試、性能測(cè)試、驗(yàn)收(確認(rèn))測(cè)試、
35、安裝測(cè)試,及他們 的內(nèi)容第八章系統(tǒng)維護(hù)1 .維護(hù)活動(dòng)的類型:改正性、適應(yīng)性、完善性、預(yù)防性2 .各種維護(hù)活動(dòng)的主要內(nèi)容和目標(biāo)改正性維護(hù)(17%-21%:改正在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測(cè)試階段尚未發(fā)現(xiàn)的錯(cuò)誤。適應(yīng)性維護(hù)(18%-25% :指使用軟件適應(yīng)信息技術(shù)變化和管理需求變化而進(jìn)行的修改。完善性維護(hù)(50%-60%:為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對(duì)已有的軟 件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計(jì)階段中沒(méi)有規(guī)定的功能與性能特征。另外還包括處理效 率和編寫程序的改進(jìn)。預(yù)防性維護(hù)(4%):為了改進(jìn)應(yīng)用軟件的可靠性和可維護(hù)性,適應(yīng)未來(lái)軟硬件環(huán)境的變化,主動(dòng)增加預(yù)防性的新的功能。3 .軟件再生:文檔重構(gòu)、重組、逆向工程、再工程,以及它們各自的內(nèi)容和含義。文檔重構(gòu):對(duì)源代碼進(jìn)行靜態(tài)分析,給出更多的信息重組:改變代碼結(jié)構(gòu)逆向工程:根據(jù)代碼重新創(chuàng)建設(shè)計(jì)和規(guī)格說(shuō)明信息再工程:對(duì)現(xiàn)有工程進(jìn)行逆向工程,接著再改
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氧化鋁基負(fù)載型金屬催化劑鄰位氫中心構(gòu)筑及加氫性能研究
- 秸稈回收加工廠項(xiàng)目可行性研究報(bào)告
- 2025版物業(yè)管理區(qū)域綠化安全管理服務(wù)合同3篇
- 基于相似理論的船用耐壓設(shè)備縮比模型設(shè)計(jì)方法研究
- 2025版高校食堂營(yíng)養(yǎng)膳食承包合作協(xié)議2篇
- 異地辦公與遠(yuǎn)程工作管理
- 二零二五年度倉(cāng)儲(chǔ)物流用地買賣合同樣本3篇
- 2025版選礦廠承包合同附設(shè)備更新改造計(jì)劃書3篇
- 營(yíng)銷行業(yè)助理職責(zé)概述
- 熱情溫暖的社區(qū)活動(dòng)中心三篇
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 水泥采購(gòu)?fù)稑?biāo)方案(技術(shù)標(biāo))
- 初中英語(yǔ)-Unit2 My dream job(writing)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 廣州市勞動(dòng)仲裁申請(qǐng)書
- 【公司利潤(rùn)質(zhì)量研究國(guó)內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國(guó)地區(qū)碼
- 新疆2022年中考物理試卷及答案
- 地暖工程監(jiān)理實(shí)施細(xì)則
- 頂部板式吊耳計(jì)算HGT-20574-2018
- 《內(nèi)證觀察筆記》
- JJF 1191-2019測(cè)聽(tīng)室聲學(xué)特性校準(zhǔn)規(guī)范
評(píng)論
0/150
提交評(píng)論