




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
統(tǒng)一軟件開發(fā)過程RUP與統(tǒng)一建模語言UML
第二章《軟件工程與UML》統(tǒng)一軟件開發(fā)過程RUP與統(tǒng)一建模語言UML第二章《軟件工程重點了解
模塊化、抽象、逐步求精這三個軟件開發(fā)的一般性的方法統(tǒng)一軟件開發(fā)過程是用例驅(qū)動,構(gòu)架優(yōu)先,迭代和增量式的過程統(tǒng)一軟件開發(fā)過程的五個核心工作流:需求捕獲、分析、設(shè)計、編碼、測試統(tǒng)一軟件開發(fā)過程的四個工作階段:初始階段、細化階段、構(gòu)造階段、移交階段軟件開發(fā)過程可以因任務(wù)而不斷變化,也就是說過程可載剪待續(xù)重點了解模塊化、抽象、逐步求精這三個軟件開發(fā)的一般性的方法重點了解
開發(fā)過程的改進是提高軟件質(zhì)量和開發(fā)效率的主要手段UML是一個通用的可視化建模語言學(xué)習(xí)UML要掌握基本構(gòu)造塊,支配這些塊如何放在一起的規(guī)則,運用于整個語言的一些公共機制三個方面UML的基本構(gòu)造塊是:事物,關(guān)系、圖UML有4種事物:結(jié)構(gòu)事物、行為事物、分組事物、注釋事物
UML中有4種關(guān)系:依賴、關(guān)聯(lián)、泛化、實現(xiàn)待續(xù)重點了解開發(fā)過程的改進是提高軟件質(zhì)量和開發(fā)效率的主要手段重點了解
UML中有9種圖最常用:類圖、對象圖、用例圖、順序圖、協(xié)作圖、狀態(tài)圖、活動圖、構(gòu)件圖、實施圖(又稱布署圖),組合這些圖可從不同角度對系統(tǒng)建模UML不是一種編程語言,但使用代碼生成器工具,可將UML模型映射成編程語言代碼,如Java,C++,VisualBasic等。或使用反向生成工具將編程語言代碼轉(zhuǎn)換為UML模型。如RationalRose等UML建模工具都支持這兩種轉(zhuǎn)換。重點了解UML中有9種圖最常用:類圖、對象圖、用例圖、順序2.1軟件開發(fā)的幾個指導(dǎo)原則軟件開發(fā)工作應(yīng)分階段進行
將一個大的軟件開發(fā)任務(wù)合理劃分成相對獨立的小塊任務(wù)從抽象到具體逐步深入解決問題
2.1軟件開發(fā)的幾個指導(dǎo)原則軟件開發(fā)工作應(yīng)分階段進行模型的概念
模型是人們對現(xiàn)實世界理解的抽象表達
模型可能有許多種類型,在某些領(lǐng)域中,一個模型可能是一組數(shù)學(xué)方程式;而在另一些領(lǐng)域中,一個模型可能是計算機仿真程序;在建筑領(lǐng)域,模型是一個按比例縮小的實物;當(dāng)然還有像深圳的世界之窗公園里將著名風(fēng)景縮小變成的模型。一個RUP過程的模型是一組UML圖,為了理解和開發(fā)一個軟件系統(tǒng),用戶、開發(fā)人員、分析人員、測試人員、管理人員及其他涉及項目的人員可以檢查、獲取、修改這些圖。
模型的概念模型是人們對現(xiàn)實世界理解的抽象表達2.2統(tǒng)一軟件開發(fā)過程RUP
統(tǒng)一開發(fā)過程(RationalUnifiedProcess,RUP)是一套軟件工程方法,它集成了許多軟件開發(fā)模型的優(yōu)點,具有很好的可操作性和實用性,是目前最有效的軟件開發(fā)過程模型。它描述了軟件開發(fā)過程不同時期應(yīng)是某個角色,采取什么行為,經(jīng)過幾個工作流,得到某種產(chǎn)品或達到某個目標(biāo)。是將用戶需求轉(zhuǎn)化為一個軟件系統(tǒng)的一系列活動的總稱。
2.2統(tǒng)一軟件開發(fā)過程RUP統(tǒng)一開發(fā)過程(Rationa2.2.1統(tǒng)一過程概述統(tǒng)一過程是基于構(gòu)件的
統(tǒng)一過程使用統(tǒng)一建模語言(UML)來建模。進行思考和溝通。
統(tǒng)一過程是用例驅(qū)動的統(tǒng)一過程采用構(gòu)架優(yōu)先方法
統(tǒng)一過程是迭代和增量的過程
統(tǒng)一過程有四個工作階段
統(tǒng)一過程有五個核心工作流
2.2.1統(tǒng)一過程概述統(tǒng)一過程是基于構(gòu)件的2.2.2統(tǒng)一過程的四個工作階段
1初始階段
2細化階段3構(gòu)造階段
4移交階段2.2.2統(tǒng)一過程的四個工作階段1初始階段2細化階1初始階段確定系統(tǒng)的核心功能、最主要的風(fēng)險、構(gòu)架雛形、整個項目的粗略估計。
·確定系統(tǒng)向每個主要用戶提供的基本功能是什么?即區(qū)分關(guān)鍵的系統(tǒng)用例和主要的操作場景,對目前所了解的用例區(qū)分優(yōu)先級?!ご_定項目的軟件范圍和邊界條件,包括驗收標(biāo)準(zhǔn)及產(chǎn)品中應(yīng)包括什么和不應(yīng)包括什么的清晰理解,系統(tǒng)與其它系統(tǒng)的接口?!ご_定系統(tǒng)的構(gòu)架看起來是什么樣子?在有些主要的場景中至少演示一個候選的構(gòu)架。尤其是系統(tǒng)中全新的,帶有風(fēng)險的,較難實現(xiàn)的部分。這時僅僅需要確信構(gòu)架能夠建立而已。·識別出那些影響系統(tǒng)建造能力的重大風(fēng)險。并且斷定是否可以找到方法緩解這些風(fēng)險。在初始階段,只考慮那些對系統(tǒng)的成功開發(fā)有威脅的風(fēng)險·估計整個項目的成本及大致的進度。1初始階段確定系統(tǒng)的核心功能、最主要的風(fēng)險、構(gòu)架雛形、有關(guān)概念用例:用例是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。操作場景:就是用例的操作步驟序列構(gòu)架:系統(tǒng)的框架性結(jié)構(gòu)有關(guān)概念用例:用例是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。2細化階段細化階段是4個階段中最關(guān)鍵的。細化階段的活動必須確保構(gòu)架,需求和計劃足夠穩(wěn)定,風(fēng)險得到充分的緩解,完成開發(fā)的成本和進度能在一個可接受的范圍內(nèi)被預(yù)測。
迅速地定出實用的構(gòu)架(其中所有的變更能被合理地處理、跟蹤和維護)。
規(guī)劃完成項目的活動,估算完成項目所需的資源。
為構(gòu)造階段定出高精確度的計劃
細化初始階段的模型
2細化階段細化階段是4個階段中最關(guān)鍵的。細化階段的活動3構(gòu)造階段在這個階段將消耗項目所需的大部分資源
實現(xiàn)管理層和用戶達成共識的產(chǎn)品的所有用例
一個移交階段的高精度計劃
關(guān)鍵特性和核心功能得到實現(xiàn)
產(chǎn)品發(fā)布的驗收標(biāo)準(zhǔn)
初步的用戶手冊
對產(chǎn)品質(zhì)量的詳細分析
3構(gòu)造階段在這個階段將消耗項目所需的大部分資源4移交階段這個階段包括產(chǎn)品進入測試版(?版)后的整個階段
試用產(chǎn)品,并改正試用中發(fā)現(xiàn)的缺陷
制作安裝版,并培訓(xùn)用戶
提供在線支持
4移交階段這個階段包括產(chǎn)品進入測試版(?版)后的整個階段2.2.3統(tǒng)一過程的五個核心工作流
1捕獲需求2分析3設(shè)計4實現(xiàn)5測試
2.2.3統(tǒng)一過程的五個核心工作流1捕獲需求1捕獲需求需求捕獲階段的主要工作是建立并通過多次迭代來完善待開發(fā)系統(tǒng)的用例模型。進行初步的用戶界面設(shè)計。主要考慮誰是用戶以及可以通過用例來完成什么業(yè)務(wù)或任務(wù)
1捕獲需求需求捕獲階段的主要工作是建立并通過多次迭代來完善2分析
對需求捕獲階段所描述的用例模型進行精細化和組織
解決多個用例共享資源時的并發(fā)與沖突的細節(jié)
多個用例間的冗余
在捕獲需求階段得到的用例是采用面向用戶的語言表達的,在分析階段要采用面向開發(fā)人員的語言進行描述
2分析對需求捕獲階段所描述的用例模型進行精細化和組織3設(shè)計構(gòu)造系統(tǒng),聯(lián)系具體的編程語言,確定的構(gòu)件類,具體的操作系統(tǒng),還結(jié)合分布與并行技術(shù),數(shù)據(jù)庫技術(shù),用戶界面技術(shù),事務(wù)管理技術(shù)等相關(guān)問題,將系統(tǒng)劃分成子系統(tǒng)、接口和類,并設(shè)計類中方法的實現(xiàn)算法,接口的具體規(guī)范。
3設(shè)計構(gòu)造系統(tǒng),聯(lián)系具體的編程語言,確定的構(gòu)件類,具體的4實現(xiàn)
在實現(xiàn)階段,將基于設(shè)計的結(jié)果,探討如何用源代碼,腳本,二進制代碼,可執(zhí)行體等構(gòu)件來實現(xiàn)系統(tǒng)
對構(gòu)件進行單元測試,通過編譯和連接把它們集成為一個或多個可執(zhí)行程序,之后再進行集成和測試
4實現(xiàn)在實現(xiàn)階段,將基于設(shè)計的結(jié)果,探討如何用源代碼,腳5測試
設(shè)計測試用例:確定要測試什么功能或性能;測試時用什么輸入數(shù)據(jù),應(yīng)該得到什么輸出結(jié)果選擇測試測試環(huán)境,測試工具。創(chuàng)建測試腳本,規(guī)劃執(zhí)行哪些測試動作及動作的執(zhí)行順序。或創(chuàng)建使測試自動化的可執(zhí)行的測試構(gòu)件。設(shè)計測試:就是執(zhí)行各種測試并系統(tǒng)地處理每個測試的結(jié)果,發(fā)現(xiàn)有缺陷的構(gòu)造要重新測試,甚至可能要送回給其它核心工作流(如設(shè)計和實現(xiàn)),這樣才能修復(fù)嚴(yán)重的缺陷
實現(xiàn)測試:5測試設(shè)計測試用例:確定要測試什么功能或性能;測試時用什2.2.4統(tǒng)一軟件開發(fā)過程的生命周期
統(tǒng)一軟件開發(fā)過程中的一次迭代包括的核心工作流和整個軟件生命周期中的迭代
2.2.4統(tǒng)一軟件開發(fā)過程的生命周期統(tǒng)一軟件開發(fā)過程中的一2.2.4統(tǒng)一軟件開發(fā)過程的生命周期軟件生命周期各階段劃分和迭代
2.2.4統(tǒng)一軟件開發(fā)過程的生命周期軟件生命周期各階段劃分和2.2.5RUP開發(fā)過程的特點
統(tǒng)一過程是用例驅(qū)動的
統(tǒng)一過程采用構(gòu)架優(yōu)先方法
統(tǒng)一過程是增量和迭代的
特別適合現(xiàn)代軟件開發(fā)統(tǒng)一過程采用UML作為開發(fā)過程中的建模語言
2.2.5RUP開發(fā)過程的特點統(tǒng)一過程是用例驅(qū)動的2.3UML概述
UML(UnifiedModelingLanguage)譯為“統(tǒng)一建模語言”
UML是一種用于對軟件系統(tǒng)進行可視化、詳述、構(gòu)造和文檔化的建模語言
RUP中采用UML作建模語言UML不是一門程序設(shè)計語言
UML從面向?qū)ο蟮慕嵌葘ο到y(tǒng)建模
UML獨立于軟件開發(fā)過程
UML是面向?qū)ο蠓椒ǖ囊徊糠?.3UML概述UML(UnifiedModeling2.4UML結(jié)構(gòu)
2.4UML結(jié)構(gòu)2.4.1UML中的事物
UML中有4種事物:結(jié)構(gòu)事物,行為事物,分組事物,注釋事物
結(jié)構(gòu)事物:共有7種結(jié)構(gòu)事物。即類、接口、協(xié)作、用例、主動類、構(gòu)件和節(jié)點,是UML模型中可以包含的基本結(jié)構(gòu)事物,它們也有變體,如參與者,信號,實用程序(一種類),進程和線程(兩種主動類)、應(yīng)用文檔、文件、庫、頁和表(一種構(gòu)件)等。
行為事物:是UML的動態(tài)部分,它們是模型中的動詞,描述了跨越時間和空間的行為。共有2類主要的行為事物:交互和狀態(tài)機
分組事物:是UML模型的組織部分。在所有的分組事物中,最主要的分組事物是包注釋事物:是UML模型的解釋部分。這些注釋事物用來描述、說明和標(biāo)注模型中的任何元素。有一種主要的注釋事物,稱為注解2.4.1UML中的事物UML中有4種事物:結(jié)構(gòu)事一
結(jié)構(gòu)事物之1:類
類是對一組具有相同屬性、操作、關(guān)系和語義的對象的描述
一結(jié)構(gòu)事物之1:類類是對一組具有相同屬性、操作、關(guān)系一
結(jié)構(gòu)事物之2:
接口
接口定義了一組操作的特征標(biāo)記,而不是操作的實現(xiàn)
一結(jié)構(gòu)事物之2:接口接口定義了一組操作的特征標(biāo)記,而一
結(jié)構(gòu)事物之3:
協(xié)作
協(xié)作定義了一個交互,它是由一組共同工作以提供某種協(xié)作行為的角色和其它元素構(gòu)成的一個群體,這些協(xié)作行為大于所有元素的各自行為總和。因此,協(xié)作有結(jié)構(gòu)、行為和維度。協(xié)作表示為包含名稱的虛線橢圓
一結(jié)構(gòu)事物之3:協(xié)作協(xié)作定義了一個交互,它是由一組共一
結(jié)構(gòu)事物之4:用例
用例是對一組動作序列的描述,系統(tǒng)執(zhí)行這些動作將產(chǎn)生一個對特定的參與者有價值而且可以觀察到的結(jié)果。也就是從使用者的角度看到的系統(tǒng)的功能。
一結(jié)構(gòu)事物之4:用例用例是對一組動作序列的描述,系一
結(jié)構(gòu)事物之5:主動類
主動類是這樣一種類,其對象至少擁有一個進程或線程,它能啟動控制活動
一結(jié)構(gòu)事物之5:主動類主動類是這樣一種類,其對象至少一
結(jié)構(gòu)事物之6:構(gòu)件
構(gòu)件是系統(tǒng)中的物理的、可替代的部件,如源代碼文件。構(gòu)件表示為帶有小方框的矩形
一結(jié)構(gòu)事物之6:構(gòu)件構(gòu)件是系統(tǒng)中的物理的、可替代的部件一
結(jié)構(gòu)事物之7:節(jié)點
節(jié)點是運行時存在的物理元素,它表示了一種可計算的資源,它通常至少具有記憶能力和運行能力。一個構(gòu)件可以駐留在一個節(jié)點內(nèi),也可以從一個節(jié)點遷移到另一個節(jié)點。
一結(jié)構(gòu)事物之7:節(jié)點節(jié)點是運行時存在的物理元素,它表示二
行為事物
共有2類主要的行為事物:交互和狀態(tài)機
二行為事物共有2類主要的行為事物:交互和狀態(tài)機三
分組事物
分組事物是UML模型的組織部分。在所有的分組事物中,最主要的分組事物是包。包是模型元素的集合。為了方便,為了對系統(tǒng)進行模塊劃分,用包將模型元素分組。包可以嵌套在其它的包中,它也有變體,如框架,模型和子系統(tǒng)等。三分組事物分組事物是UML模型的組織部分。在所有的分組事四
注釋事物
注釋事物是UML模型的解釋部分。這些注釋事物用來描述、說明和標(biāo)注模型中的任何元素。有一種主要的注釋事物,稱為注解。
四注釋事物注釋事物是UML模型的解釋部分。這些注釋事物用2.4.2UML中的關(guān)系
UML中有4種關(guān)系:依賴、關(guān)聯(lián)、泛化、實現(xiàn)。這4種元素是UML模型中可以包含的基本關(guān)系事物,它們也有變體,例如,依賴的變體有精化,跟蹤,包含和延伸。
2.4.2UML中的關(guān)系UML中有4種關(guān)系:依賴、關(guān)聯(lián)、2.4.3用UML對系統(tǒng)建模
UML中的圖:類圖:顯示一組類、接口、協(xié)作、以及它們的關(guān)系。對象圖:顯示一組對象以及它們的關(guān)系。用例圖:顯示一組用例,參與者以及它們的關(guān)系。順序圖:顯示一個交互,強調(diào)消息的時間排序。協(xié)作圖:顯示一個交互,強調(diào)發(fā)送消息和接收消息的對象的結(jié)構(gòu)組織。狀態(tài)圖:顯示一個狀態(tài)機,強調(diào)一個對象的按事件排序的行為。
活動圖:顯示一個狀態(tài)機,強調(diào)從活動到活動的流。構(gòu)件圖:顯示一組構(gòu)件以及它們的關(guān)系。布署圖:顯示一組節(jié)點以及它們的關(guān)系。
2.4.3用UML對系統(tǒng)建模UML中的圖:UML模型
用例模型:它包括一至多張用例圖。靜態(tài)模型:它是指一組圖,包括類圖,對象圖,構(gòu)件圖,布署圖。動態(tài)模型:它是另一組圖,包括狀態(tài)圖,順序圖,活動圖,協(xié)作圖。用例圖也描述了系統(tǒng)的動態(tài)特性。一個模型可以有多種圖,因為不同模型的所有圖均為同一個系統(tǒng)的描述,它們之間不能矛盾。
UML模型用例模型:它包括一至多張用例圖。UML視圖
每一個視圖是在特定的方面對系統(tǒng)的組織和結(jié)構(gòu)進行的描述。有5種最重要的互補視圖:用例圖設(shè)計視圖進程視圖實現(xiàn)視圖實施視圖UML視圖每一個視圖是在特定的方面對系統(tǒng)的組織和結(jié)構(gòu)進行的UML規(guī)則
命名
范圍
可見性
執(zhí)行
省略
不完全性
不一致性
UML規(guī)則命名UML中的公共機制
在UML中有4種貫穿整個語言且一致使用的公共機制:
規(guī)格說明
修飾
通用劃分:
“抽象”和“實例”劃分; “接口”和“實現(xiàn)”的分離擴展機制:1)構(gòu)造型2)標(biāo)記值
3)約束
UML中的公共機制在UML中有4種貫穿整個語言且一致使包含更多信息的結(jié)構(gòu)事物包含更多信息的結(jié)構(gòu)事物包含更多信息的結(jié)構(gòu)事物包含更多信息的結(jié)構(gòu)事物包含更多信息的行為事物
包含更多信息的行為事物包含更多信息的行為事物包含更多信息的行為事物類圖中常見的關(guān)聯(lián)符號
類圖中常見的關(guān)聯(lián)符號2.5.2類圖
訂票系統(tǒng)的類圖
2.5.2類圖訂票系統(tǒng)的類圖2.5.3對象圖
2.5.3對象圖2.5.4用例圖
訂票系統(tǒng)用例模型
2.5.4用例圖訂票系統(tǒng)用例模型2.5.5順序圖
訂票系統(tǒng)中購票用例的順序圖
2.5.5順序圖訂票系統(tǒng)中購票用例的順序圖2.5.6協(xié)作圖
訂票系統(tǒng)包含更多交互細節(jié)的協(xié)作圖
2.5.6協(xié)作圖訂票系統(tǒng)包含更多交互細節(jié)的協(xié)作圖2.5.7狀態(tài)圖
2.5.7狀態(tài)圖2.5.8活動圖
訂票系統(tǒng)中上演一個劇目的活動圖
2.5.8活動圖訂票系統(tǒng)中上演一個劇目的活動圖泳道圖
泳道圖的一般形式
泳道圖泳道圖的一般形式2.5.9構(gòu)件圖
訂票系統(tǒng)構(gòu)件圖
2.5.9構(gòu)件圖訂票系統(tǒng)構(gòu)件圖2.5.10實施圖
訂票系統(tǒng)實施圖
2.5.10實施圖訂票系統(tǒng)實施圖2.5.11繪制UML圖的注意事項
1)用UML建模的目的不是為了繪制漂亮的圖畫。2)不是所有的圖都值得保存。3)在每個圖中只顯示足以表達特定問題的細節(jié)。4)在系統(tǒng)中的結(jié)構(gòu)圖和行為圖之間保持平衡。5)不要使圖過大,也不要使圖過于小。6)給每個圖一個能清楚表達其意圖的有意義的名稱。
7)要對圖進行組織,根據(jù)視圖把它們組織成包。8)不要為圖的格式所困擾,用工具來幫助工作。
2.5.11繪制UML圖的注意事項1)用UML建模的目的不繪制UML圖的工具軟件RationalRoseEnterpriseArchitect(EA)VisualUMLVisio
把UML圖的內(nèi)容清楚地映射到各種工業(yè)化的面向?qū)ο蟮木幊陶Z言叫正向工程。從面向?qū)ο笳Z言源程序到UML模型的轉(zhuǎn)換叫逆向工程。
繪制UML圖的工具軟件RationalRose把UML圖2.6總結(jié)
模塊化、抽象、逐步求精是軟件開發(fā)的一般性的方法。RUP是用例驅(qū)動,構(gòu)架優(yōu)先,迭代和增量式的過程。它有初始,細化,構(gòu)造,移交四個工作階段。它有捕獲需求,分析,設(shè)計,實現(xiàn),測試五個核心工作流。UML是一個通用的可視化建模語言。有4種事物:結(jié)構(gòu)事物、行為事物、分組事物、注釋事物;有4種關(guān)系:依賴、關(guān)聯(lián)、泛化、實現(xiàn);有9種最常用的圖:類圖、對象圖、用例圖、順序圖、協(xié)作圖、狀態(tài)圖、活動圖、構(gòu)件圖、實施圖(又稱布署圖),組合這些圖可從不同角度對系統(tǒng)建模。
2.6總結(jié)模塊化、抽象、逐步求精是軟件開發(fā)的一般性的方法。習(xí)題
RUP有四個階段,區(qū)別四個階段最重要的依據(jù)是什么?
在面向?qū)ο蟮能浖_發(fā)過程中用UML建模,它在別的領(lǐng)域有運用嗎?
利用UML對非軟件系統(tǒng)建模,如用UML描述大學(xué)的學(xué)習(xí)生活,某次社團活動等。你曾用過本章提到的哪幾種工具軟件?用它來做什么工作?
習(xí)題RUP有四個階段,區(qū)別四個階段最重要的依據(jù)是什么?統(tǒng)一軟件開發(fā)過程RUP與統(tǒng)一建模語言UML
第二章《軟件工程與UML》統(tǒng)一軟件開發(fā)過程RUP與統(tǒng)一建模語言UML第二章《軟件工程重點了解
模塊化、抽象、逐步求精這三個軟件開發(fā)的一般性的方法統(tǒng)一軟件開發(fā)過程是用例驅(qū)動,構(gòu)架優(yōu)先,迭代和增量式的過程統(tǒng)一軟件開發(fā)過程的五個核心工作流:需求捕獲、分析、設(shè)計、編碼、測試統(tǒng)一軟件開發(fā)過程的四個工作階段:初始階段、細化階段、構(gòu)造階段、移交階段軟件開發(fā)過程可以因任務(wù)而不斷變化,也就是說過程可載剪待續(xù)重點了解模塊化、抽象、逐步求精這三個軟件開發(fā)的一般性的方法重點了解
開發(fā)過程的改進是提高軟件質(zhì)量和開發(fā)效率的主要手段UML是一個通用的可視化建模語言學(xué)習(xí)UML要掌握基本構(gòu)造塊,支配這些塊如何放在一起的規(guī)則,運用于整個語言的一些公共機制三個方面UML的基本構(gòu)造塊是:事物,關(guān)系、圖UML有4種事物:結(jié)構(gòu)事物、行為事物、分組事物、注釋事物
UML中有4種關(guān)系:依賴、關(guān)聯(lián)、泛化、實現(xiàn)待續(xù)重點了解開發(fā)過程的改進是提高軟件質(zhì)量和開發(fā)效率的主要手段重點了解
UML中有9種圖最常用:類圖、對象圖、用例圖、順序圖、協(xié)作圖、狀態(tài)圖、活動圖、構(gòu)件圖、實施圖(又稱布署圖),組合這些圖可從不同角度對系統(tǒng)建模UML不是一種編程語言,但使用代碼生成器工具,可將UML模型映射成編程語言代碼,如Java,C++,VisualBasic等。或使用反向生成工具將編程語言代碼轉(zhuǎn)換為UML模型。如RationalRose等UML建模工具都支持這兩種轉(zhuǎn)換。重點了解UML中有9種圖最常用:類圖、對象圖、用例圖、順序2.1軟件開發(fā)的幾個指導(dǎo)原則軟件開發(fā)工作應(yīng)分階段進行
將一個大的軟件開發(fā)任務(wù)合理劃分成相對獨立的小塊任務(wù)從抽象到具體逐步深入解決問題
2.1軟件開發(fā)的幾個指導(dǎo)原則軟件開發(fā)工作應(yīng)分階段進行模型的概念
模型是人們對現(xiàn)實世界理解的抽象表達
模型可能有許多種類型,在某些領(lǐng)域中,一個模型可能是一組數(shù)學(xué)方程式;而在另一些領(lǐng)域中,一個模型可能是計算機仿真程序;在建筑領(lǐng)域,模型是一個按比例縮小的實物;當(dāng)然還有像深圳的世界之窗公園里將著名風(fēng)景縮小變成的模型。一個RUP過程的模型是一組UML圖,為了理解和開發(fā)一個軟件系統(tǒng),用戶、開發(fā)人員、分析人員、測試人員、管理人員及其他涉及項目的人員可以檢查、獲取、修改這些圖。
模型的概念模型是人們對現(xiàn)實世界理解的抽象表達2.2統(tǒng)一軟件開發(fā)過程RUP
統(tǒng)一開發(fā)過程(RationalUnifiedProcess,RUP)是一套軟件工程方法,它集成了許多軟件開發(fā)模型的優(yōu)點,具有很好的可操作性和實用性,是目前最有效的軟件開發(fā)過程模型。它描述了軟件開發(fā)過程不同時期應(yīng)是某個角色,采取什么行為,經(jīng)過幾個工作流,得到某種產(chǎn)品或達到某個目標(biāo)。是將用戶需求轉(zhuǎn)化為一個軟件系統(tǒng)的一系列活動的總稱。
2.2統(tǒng)一軟件開發(fā)過程RUP統(tǒng)一開發(fā)過程(Rationa2.2.1統(tǒng)一過程概述統(tǒng)一過程是基于構(gòu)件的
統(tǒng)一過程使用統(tǒng)一建模語言(UML)來建模。進行思考和溝通。
統(tǒng)一過程是用例驅(qū)動的統(tǒng)一過程采用構(gòu)架優(yōu)先方法
統(tǒng)一過程是迭代和增量的過程
統(tǒng)一過程有四個工作階段
統(tǒng)一過程有五個核心工作流
2.2.1統(tǒng)一過程概述統(tǒng)一過程是基于構(gòu)件的2.2.2統(tǒng)一過程的四個工作階段
1初始階段
2細化階段3構(gòu)造階段
4移交階段2.2.2統(tǒng)一過程的四個工作階段1初始階段2細化階1初始階段確定系統(tǒng)的核心功能、最主要的風(fēng)險、構(gòu)架雛形、整個項目的粗略估計。
·確定系統(tǒng)向每個主要用戶提供的基本功能是什么?即區(qū)分關(guān)鍵的系統(tǒng)用例和主要的操作場景,對目前所了解的用例區(qū)分優(yōu)先級?!ご_定項目的軟件范圍和邊界條件,包括驗收標(biāo)準(zhǔn)及產(chǎn)品中應(yīng)包括什么和不應(yīng)包括什么的清晰理解,系統(tǒng)與其它系統(tǒng)的接口?!ご_定系統(tǒng)的構(gòu)架看起來是什么樣子?在有些主要的場景中至少演示一個候選的構(gòu)架。尤其是系統(tǒng)中全新的,帶有風(fēng)險的,較難實現(xiàn)的部分。這時僅僅需要確信構(gòu)架能夠建立而已。·識別出那些影響系統(tǒng)建造能力的重大風(fēng)險。并且斷定是否可以找到方法緩解這些風(fēng)險。在初始階段,只考慮那些對系統(tǒng)的成功開發(fā)有威脅的風(fēng)險·估計整個項目的成本及大致的進度。1初始階段確定系統(tǒng)的核心功能、最主要的風(fēng)險、構(gòu)架雛形、有關(guān)概念用例:用例是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。操作場景:就是用例的操作步驟序列構(gòu)架:系統(tǒng)的框架性結(jié)構(gòu)有關(guān)概念用例:用例是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。2細化階段細化階段是4個階段中最關(guān)鍵的。細化階段的活動必須確保構(gòu)架,需求和計劃足夠穩(wěn)定,風(fēng)險得到充分的緩解,完成開發(fā)的成本和進度能在一個可接受的范圍內(nèi)被預(yù)測。
迅速地定出實用的構(gòu)架(其中所有的變更能被合理地處理、跟蹤和維護)。
規(guī)劃完成項目的活動,估算完成項目所需的資源。
為構(gòu)造階段定出高精確度的計劃
細化初始階段的模型
2細化階段細化階段是4個階段中最關(guān)鍵的。細化階段的活動3構(gòu)造階段在這個階段將消耗項目所需的大部分資源
實現(xiàn)管理層和用戶達成共識的產(chǎn)品的所有用例
一個移交階段的高精度計劃
關(guān)鍵特性和核心功能得到實現(xiàn)
產(chǎn)品發(fā)布的驗收標(biāo)準(zhǔn)
初步的用戶手冊
對產(chǎn)品質(zhì)量的詳細分析
3構(gòu)造階段在這個階段將消耗項目所需的大部分資源4移交階段這個階段包括產(chǎn)品進入測試版(?版)后的整個階段
試用產(chǎn)品,并改正試用中發(fā)現(xiàn)的缺陷
制作安裝版,并培訓(xùn)用戶
提供在線支持
4移交階段這個階段包括產(chǎn)品進入測試版(?版)后的整個階段2.2.3統(tǒng)一過程的五個核心工作流
1捕獲需求2分析3設(shè)計4實現(xiàn)5測試
2.2.3統(tǒng)一過程的五個核心工作流1捕獲需求1捕獲需求需求捕獲階段的主要工作是建立并通過多次迭代來完善待開發(fā)系統(tǒng)的用例模型。進行初步的用戶界面設(shè)計。主要考慮誰是用戶以及可以通過用例來完成什么業(yè)務(wù)或任務(wù)
1捕獲需求需求捕獲階段的主要工作是建立并通過多次迭代來完善2分析
對需求捕獲階段所描述的用例模型進行精細化和組織
解決多個用例共享資源時的并發(fā)與沖突的細節(jié)
多個用例間的冗余
在捕獲需求階段得到的用例是采用面向用戶的語言表達的,在分析階段要采用面向開發(fā)人員的語言進行描述
2分析對需求捕獲階段所描述的用例模型進行精細化和組織3設(shè)計構(gòu)造系統(tǒng),聯(lián)系具體的編程語言,確定的構(gòu)件類,具體的操作系統(tǒng),還結(jié)合分布與并行技術(shù),數(shù)據(jù)庫技術(shù),用戶界面技術(shù),事務(wù)管理技術(shù)等相關(guān)問題,將系統(tǒng)劃分成子系統(tǒng)、接口和類,并設(shè)計類中方法的實現(xiàn)算法,接口的具體規(guī)范。
3設(shè)計構(gòu)造系統(tǒng),聯(lián)系具體的編程語言,確定的構(gòu)件類,具體的4實現(xiàn)
在實現(xiàn)階段,將基于設(shè)計的結(jié)果,探討如何用源代碼,腳本,二進制代碼,可執(zhí)行體等構(gòu)件來實現(xiàn)系統(tǒng)
對構(gòu)件進行單元測試,通過編譯和連接把它們集成為一個或多個可執(zhí)行程序,之后再進行集成和測試
4實現(xiàn)在實現(xiàn)階段,將基于設(shè)計的結(jié)果,探討如何用源代碼,腳5測試
設(shè)計測試用例:確定要測試什么功能或性能;測試時用什么輸入數(shù)據(jù),應(yīng)該得到什么輸出結(jié)果選擇測試測試環(huán)境,測試工具。創(chuàng)建測試腳本,規(guī)劃執(zhí)行哪些測試動作及動作的執(zhí)行順序。或創(chuàng)建使測試自動化的可執(zhí)行的測試構(gòu)件。設(shè)計測試:就是執(zhí)行各種測試并系統(tǒng)地處理每個測試的結(jié)果,發(fā)現(xiàn)有缺陷的構(gòu)造要重新測試,甚至可能要送回給其它核心工作流(如設(shè)計和實現(xiàn)),這樣才能修復(fù)嚴(yán)重的缺陷
實現(xiàn)測試:5測試設(shè)計測試用例:確定要測試什么功能或性能;測試時用什2.2.4統(tǒng)一軟件開發(fā)過程的生命周期
統(tǒng)一軟件開發(fā)過程中的一次迭代包括的核心工作流和整個軟件生命周期中的迭代
2.2.4統(tǒng)一軟件開發(fā)過程的生命周期統(tǒng)一軟件開發(fā)過程中的一2.2.4統(tǒng)一軟件開發(fā)過程的生命周期軟件生命周期各階段劃分和迭代
2.2.4統(tǒng)一軟件開發(fā)過程的生命周期軟件生命周期各階段劃分和2.2.5RUP開發(fā)過程的特點
統(tǒng)一過程是用例驅(qū)動的
統(tǒng)一過程采用構(gòu)架優(yōu)先方法
統(tǒng)一過程是增量和迭代的
特別適合現(xiàn)代軟件開發(fā)統(tǒng)一過程采用UML作為開發(fā)過程中的建模語言
2.2.5RUP開發(fā)過程的特點統(tǒng)一過程是用例驅(qū)動的2.3UML概述
UML(UnifiedModelingLanguage)譯為“統(tǒng)一建模語言”
UML是一種用于對軟件系統(tǒng)進行可視化、詳述、構(gòu)造和文檔化的建模語言
RUP中采用UML作建模語言UML不是一門程序設(shè)計語言
UML從面向?qū)ο蟮慕嵌葘ο到y(tǒng)建模
UML獨立于軟件開發(fā)過程
UML是面向?qū)ο蠓椒ǖ囊徊糠?.3UML概述UML(UnifiedModeling2.4UML結(jié)構(gòu)
2.4UML結(jié)構(gòu)2.4.1UML中的事物
UML中有4種事物:結(jié)構(gòu)事物,行為事物,分組事物,注釋事物
結(jié)構(gòu)事物:共有7種結(jié)構(gòu)事物。即類、接口、協(xié)作、用例、主動類、構(gòu)件和節(jié)點,是UML模型中可以包含的基本結(jié)構(gòu)事物,它們也有變體,如參與者,信號,實用程序(一種類),進程和線程(兩種主動類)、應(yīng)用文檔、文件、庫、頁和表(一種構(gòu)件)等。
行為事物:是UML的動態(tài)部分,它們是模型中的動詞,描述了跨越時間和空間的行為。共有2類主要的行為事物:交互和狀態(tài)機
分組事物:是UML模型的組織部分。在所有的分組事物中,最主要的分組事物是包注釋事物:是UML模型的解釋部分。這些注釋事物用來描述、說明和標(biāo)注模型中的任何元素。有一種主要的注釋事物,稱為注解2.4.1UML中的事物UML中有4種事物:結(jié)構(gòu)事一
結(jié)構(gòu)事物之1:類
類是對一組具有相同屬性、操作、關(guān)系和語義的對象的描述
一結(jié)構(gòu)事物之1:類類是對一組具有相同屬性、操作、關(guān)系一
結(jié)構(gòu)事物之2:
接口
接口定義了一組操作的特征標(biāo)記,而不是操作的實現(xiàn)
一結(jié)構(gòu)事物之2:接口接口定義了一組操作的特征標(biāo)記,而一
結(jié)構(gòu)事物之3:
協(xié)作
協(xié)作定義了一個交互,它是由一組共同工作以提供某種協(xié)作行為的角色和其它元素構(gòu)成的一個群體,這些協(xié)作行為大于所有元素的各自行為總和。因此,協(xié)作有結(jié)構(gòu)、行為和維度。協(xié)作表示為包含名稱的虛線橢圓
一結(jié)構(gòu)事物之3:協(xié)作協(xié)作定義了一個交互,它是由一組共一
結(jié)構(gòu)事物之4:用例
用例是對一組動作序列的描述,系統(tǒng)執(zhí)行這些動作將產(chǎn)生一個對特定的參與者有價值而且可以觀察到的結(jié)果。也就是從使用者的角度看到的系統(tǒng)的功能。
一結(jié)構(gòu)事物之4:用例用例是對一組動作序列的描述,系一
結(jié)構(gòu)事物之5:主動類
主動類是這樣一種類,其對象至少擁有一個進程或線程,它能啟動控制活動
一結(jié)構(gòu)事物之5:主動類主動類是這樣一種類,其對象至少一
結(jié)構(gòu)事物之6:構(gòu)件
構(gòu)件是系統(tǒng)中的物理的、可替代的部件,如源代碼文件。構(gòu)件表示為帶有小方框的矩形
一結(jié)構(gòu)事物之6:構(gòu)件構(gòu)件是系統(tǒng)中的物理的、可替代的部件一
結(jié)構(gòu)事物之7:節(jié)點
節(jié)點是運行時存在的物理元素,它表示了一種可計算的資源,它通常至少具有記憶能力和運行能力。一個構(gòu)件可以駐留在一個節(jié)點內(nèi),也可以從一個節(jié)點遷移到另一個節(jié)點。
一結(jié)構(gòu)事物之7:節(jié)點節(jié)點是運行時存在的物理元素,它表示二
行為事物
共有2類主要的行為事物:交互和狀態(tài)機
二行為事物共有2類主要的行為事物:交互和狀態(tài)機三
分組事物
分組事物是UML模型的組織部分。在所有的分組事物中,最主要的分組事物是包。包是模型元素的集合。為了方便,為了對系統(tǒng)進行模塊劃分,用包將模型元素分組。包可以嵌套在其它的包中,它也有變體,如框架,模型和子系統(tǒng)等。三分組事物分組事物是UML模型的組織部分。在所有的分組事四
注釋事物
注釋事物是UML模型的解釋部分。這些注釋事物用來描述、說明和標(biāo)注模型中的任何元素。有一種主要的注釋事物,稱為注解。
四注釋事物注釋事物是UML模型的解釋部分。這些注釋事物用2.4.2UML中的關(guān)系
UML中有4種關(guān)系:依賴、關(guān)聯(lián)、泛化、實現(xiàn)。這4種元素是UML模型中可以包含的基本關(guān)系事物,它們也有變體,例如,依賴的變體有精化,跟蹤,包含和延伸。
2.4.2UML中的關(guān)系UML中有4種關(guān)系:依賴、關(guān)聯(lián)、2.4.3用UML對系統(tǒng)建模
UML中的圖:類圖:顯示一組類、接口、協(xié)作、以及它們的關(guān)系。對象圖:顯示一組對象以及它們的關(guān)系。用例圖:顯示一組用例,參與者以及它們的關(guān)系。順序圖:顯示一個交互,強調(diào)消息的時間排序。協(xié)作圖:顯示一個交互,強調(diào)發(fā)送消息和接收消息的對象的結(jié)構(gòu)組織。狀態(tài)圖:顯示一個狀態(tài)機,強調(diào)一個對象的按事件排序的行為。
活動圖:顯示一個狀態(tài)機,強調(diào)從活動到活動的流。構(gòu)件圖:顯示一組構(gòu)件以及它們的關(guān)系。布署圖:顯示一組節(jié)點以及它們的關(guān)系。
2.4.3用UML對系統(tǒng)建模UML中的圖:UML模型
用例模型:它包括一至多張用例圖。靜態(tài)模型:它是指一組圖,包括類圖,對象圖,構(gòu)件圖,布署圖。動態(tài)模型:它是另一組圖,包括狀態(tài)圖,順序圖,活動圖,協(xié)作圖。用例圖也描述了系統(tǒng)的動態(tài)特性。一個模型可以有多種圖,因為不同模型的所有圖均為同一個系統(tǒng)的描述,它們之間不能矛盾。
UML模型用例模型:它包括一至多張用例圖。UML視圖
每一個視圖是在特定的方面對系統(tǒng)的組織和結(jié)構(gòu)進行的描述。有5種最重要的互補視圖:用例圖設(shè)計視圖進程視圖實現(xiàn)視圖實施視圖UML視圖每一個視圖是在特定的方面對系統(tǒng)的組織和結(jié)構(gòu)進行的UML規(guī)則
命名
范圍
可見性
執(zhí)行
省略
不完全性
不一致性
UML規(guī)則命名UML中的公共機制
在UML中有4種貫穿整個語言且一致使用的公共機制:
規(guī)格說明
修飾
通用劃分
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢語言文學(xué)的試題及答案
- 晚春中考試題及答案
- java面試題及答案機器人
- 做法口訣考試題及答案
- 機電工程創(chuàng)新方法論試題及答案
- 軟件設(shè)計師考試重要知識點及試題答案
- 應(yīng)試技巧軟件設(shè)計師試題及答案
- 國際法對公共政策的影響試題及答案
- 公共政策過程中的協(xié)作機制研究試題及答案
- 網(wǎng)絡(luò)工程師持續(xù)學(xué)習(xí)試題及答案
- 消化道出血護理查房7
- 太陽能光伏發(fā)電設(shè)備采購合同
- 江蘇省常州市教育學(xué)會2023-2024學(xué)年下學(xué)期八年級數(shù)學(xué)考試卷
- DZ∕T 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 2024年新教科版六年級下冊科學(xué)期末綜合測試卷(十九)
- 精神科進修匯報
- 2023年新高考天津卷歷史高考真題解析(參考版)
- 人工智能在文化遺產(chǎn)數(shù)字化保護中的應(yīng)用
- GB/T 41666.4-2024地下無壓排水管網(wǎng)非開挖修復(fù)用塑料管道系統(tǒng)第4部分:原位固化內(nèi)襯法
- 智能安防行業(yè)的技術(shù)應(yīng)用與商業(yè)模式
- 煤礦機電和運輸安全管理
評論
0/150
提交評論