案例教案軟件工程_第1頁(yè)
案例教案軟件工程_第2頁(yè)
案例教案軟件工程_第3頁(yè)
案例教案軟件工程_第4頁(yè)
案例教案軟件工程_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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)介

1、1第第11章章 UML與與RUP 軟件開發(fā)過(guò)程是軟件工程的要素之一,有效的軟件開發(fā)過(guò)程可以提高軟件開發(fā)團(tuán)隊(duì)的生產(chǎn)效率,并能夠提高軟件質(zhì)量、降低成本、減少開發(fā)風(fēng)險(xiǎn)。UML是一種可應(yīng)用于軟件開發(fā)的非常優(yōu)秀的建模語(yǔ)言,但是UML本身并沒有告訴人們?cè)鯓邮褂盟?,為了有效地使用UML,需要有一種方法應(yīng)用于它,當(dāng)前最流行的使用UML的方法就是Rational的統(tǒng)一過(guò)程(Rational Unified Process,簡(jiǎn)稱RUP)。RUP是軟件開發(fā)過(guò)程的一種,它為有效地使用統(tǒng)一建模語(yǔ)言UML提供了指導(dǎo)。 本章將介紹如何通過(guò)與UML緊密結(jié)合的RUP進(jìn)行軟件開發(fā)。2本章學(xué)習(xí)要點(diǎn): 了解軟件開發(fā)過(guò)程 了解UML與

2、RUP的關(guān)系及使用RUP的原因 理解RUP的二維空間 理解RUP的各核心工作流程311.1 理解軟件開發(fā)過(guò)程理解軟件開發(fā)過(guò)程軟件開發(fā)過(guò)程是指應(yīng)用于軟件開發(fā)和維護(hù)當(dāng)中的階段、方法、技術(shù)、實(shí)踐和相關(guān)產(chǎn)物(計(jì)劃、文檔、模型、代碼、測(cè)試用例和手冊(cè)等)的集合。有效的軟件開發(fā)過(guò)程可以提高軟件開發(fā)團(tuán)隊(duì)的生產(chǎn)效率,并能夠提高軟件質(zhì)量、降低成本、減少開發(fā)風(fēng)險(xiǎn)。軟件開發(fā)過(guò)程是開發(fā)高質(zhì)量軟件所需完成的任務(wù)的框架。軟件工程是一種層次化的技術(shù),如圖所示。411.2 Rational統(tǒng)一過(guò)程(統(tǒng)一過(guò)程(RUP) UML(Unified Modeling Language)僅僅是一種系統(tǒng)建模語(yǔ)言,它并沒有告訴建模人員應(yīng)該如

3、何使用它,為了使用UML,需要有一種方法應(yīng)用于它,當(dāng)前最流行的使用UML的方法就是Rational的統(tǒng)一過(guò)程(Rational Unified Process,簡(jiǎn)稱RUP),也稱為Unified Process(統(tǒng)一過(guò)程)。11.2.1 理解理解RUP 軟件開發(fā)過(guò)程是使軟件從概念到成品所能遵循的一系列階段,RUP作為一種軟件開發(fā)過(guò)程包含了以下4個(gè)階段:初始階段(Inception)、籌劃階段(Elaboration)、構(gòu)建階段(Construction)和轉(zhuǎn)換階段(Transition)。1初始階段初始階段RUP的初始階段是進(jìn)行最初分析的階段,用于確定要開發(fā)的系統(tǒng),包括其內(nèi)容和業(yè)務(wù)。 2籌劃階

4、段籌劃階段RUP的籌劃階段是進(jìn)行詳細(xì)設(shè)計(jì)的階段,用于確定系統(tǒng)的功能。 3構(gòu)建階段構(gòu)建階段RUP的構(gòu)建階段是一個(gè)根據(jù)系統(tǒng)設(shè)計(jì)的結(jié)果進(jìn)行實(shí)際的軟件產(chǎn)品構(gòu)建的過(guò)程,該過(guò)程是一個(gè)增量過(guò)程,代碼在每個(gè)可管理的部分進(jìn)行編寫。 4轉(zhuǎn)換階段轉(zhuǎn)換階段在該階段中,將會(huì)處理將軟件系統(tǒng)交付給用戶的事務(wù)。 511.2.2 為什么要使用為什么要使用RUP 在目前比較流行的軟件開發(fā)過(guò)程中,RUP是由發(fā)明UML的3位方法學(xué)家提出的,與其他軟件開發(fā)過(guò)程相比,使用RUP可以更好地進(jìn)行UML建模,而且,RUP能夠?yàn)檐浖_發(fā)團(tuán)隊(duì)提供指南、文檔模板和工具,從而使軟件開發(fā)團(tuán)隊(duì)能夠最有效地利用當(dāng)前軟件開發(fā)實(shí)踐中所獲得的六大最好經(jīng)驗(yàn)。 6

5、1、迭代式開發(fā)迭代式開發(fā)。在軟件開發(fā)的早期階段就想完全、準(zhǔn)確的捕獲用戶的需求幾乎是不可能的。實(shí)際上,我們經(jīng)常遇到的問題是需求在整個(gè)軟件開發(fā)工程中經(jīng)常會(huì)改變。迭代式開發(fā)允許在每次迭代過(guò)程中需求可能有變化,通過(guò)不斷細(xì)化來(lái)加深對(duì)問題的理解。迭代式開發(fā)不僅可以降低項(xiàng)目的風(fēng)險(xiǎn),而且每個(gè)迭代過(guò)程都可以執(zhí)行版本結(jié)束,可以鼓舞開發(fā)人員。 2、管理需求管理需求。確定系統(tǒng)的需求是一個(gè)連續(xù)的過(guò)程,開發(fā)人員在開發(fā)系統(tǒng)之前不可能完全詳細(xì)的說(shuō)明一個(gè)系統(tǒng)的真正需求。RUP描述了如何提取、組織系統(tǒng)的功能和約束條件并將其文檔化,用例和腳本的使用以被證明是捕獲功能性需求的有效方法。3、基于組件的體系結(jié)構(gòu)。組件使重用成為可能,系統(tǒng)

6、可以由組件組成?;讵?dú)立的、可替換的、模塊化組件的體系結(jié)構(gòu)有助于管理復(fù)雜性,提高重用率。RUP描述了如何設(shè)計(jì)一個(gè)有彈性的、能適應(yīng)變化的、易于理解的、有助于重用的軟件體系結(jié)構(gòu)。 4、可視化建模。RUP往往和UML聯(lián)系在一起,對(duì)軟件系統(tǒng)建立可視化模型幫助人們提供管理軟件復(fù)雜性的能力。RUP告訴我們?nèi)绾慰梢暬膶?duì)軟件系統(tǒng)建模,獲取有關(guān)體系結(jié)構(gòu)于組件的結(jié)構(gòu)和行為信息。5、驗(yàn)證軟件質(zhì)量。在RUP中軟件質(zhì)量評(píng)估不再是事后進(jìn)行或單獨(dú)小組進(jìn)行的分離活動(dòng),而是內(nèi)建于過(guò)程中的所有活動(dòng),這樣可以及早發(fā)現(xiàn)軟件中的缺陷。 6、控制軟件變更。迭代式開發(fā)中如果沒有嚴(yán)格的控制和協(xié)調(diào),整個(gè)軟件開發(fā)過(guò)程很快就陷入混亂之中,RUP

7、描述了如何控制、跟蹤、監(jiān)控、修改以確保成功的迭代開發(fā)。RUP通過(guò)軟件開發(fā)過(guò)程中的制品,隔離來(lái)自其他工作空間的變更,以此為每個(gè)開發(fā)人員建立安全的工作空間。11.3 RUP的二維空間的二維空間 在RUP中,根據(jù)時(shí)間和核心工作流程,軟件生命周期被劃分為二維空間,也可以說(shuō)RUP是沿著兩個(gè)軸發(fā)展的。其中,水平軸(時(shí)間維)顯示了RUP動(dòng)態(tài)的一面,在RUP中,使用周期(Cycle)、階段(Phase)、迭代(Iteration)等術(shù)語(yǔ)進(jìn)行描述;垂直軸代表了RUP靜態(tài)的一面,該維是按照內(nèi)容組織的,包含了RUP的核心過(guò)程工作流程和核心支持工作流程,在RUP中使用活動(dòng)(Activity)、產(chǎn)品(Artifact)

8、、工作人員(Worker)和工作流(Workflow)等術(shù)語(yǔ)進(jìn)行描述。1011.3.1 時(shí)間維時(shí)間維 時(shí)間維空間是RUP隨著時(shí)間的動(dòng)態(tài)組織。RUP將軟件生命周期劃分為初始階段、籌劃階段、構(gòu)建階段和轉(zhuǎn)換階段4個(gè)階段,每個(gè)階段的結(jié)果都是一個(gè)里程碑,都要達(dá)到特定的目標(biāo)。本章第二節(jié)的介紹已使讀者對(duì)這4個(gè)階段有了一個(gè)大概的了解,下面將對(duì)這4個(gè)階段進(jìn)行更加詳細(xì)的介紹。 在RUP的初始階段,需要為軟件系統(tǒng)建立商業(yè)模型并確定系統(tǒng)的邊界。為此,需要識(shí)別出所有與系統(tǒng)交互的外部實(shí)體,包括識(shí)別出所有用例、描述一些關(guān)鍵用例,除此之外,還需要在較高層次上定義這些交互。 11初始階段的輸出(P165)系統(tǒng)藍(lán)圖文檔,包括對(duì)系

9、統(tǒng)的核心需求,關(guān)鍵特性,主要約束等綱領(lǐng)性文獻(xiàn).初始的用例模型(占完整模型的10%-20%)初始的項(xiàng)目詞匯表初始的商業(yè)案例,包括商業(yè)環(huán)境,驗(yàn)收標(biāo)準(zhǔn)和金融預(yù)測(cè)等.初始的風(fēng)險(xiǎn)評(píng)估.確定階段和迭代的項(xiàng)目規(guī)劃可選的商業(yè)模型若干個(gè)原型籌劃階段籌劃階段的主要任務(wù)是:分析問題域,建立合理的架構(gòu)基礎(chǔ),制定項(xiàng)目規(guī)劃,并消除項(xiàng)目中風(fēng)險(xiǎn)較高的因素.籌劃階段的輸出(P166)用例模型(占完整模型的80%以上)構(gòu)建階段構(gòu)建階段的輸出是可以交付給用戶使用的軟件產(chǎn)品,它應(yīng)該包括:集成到適當(dāng)平臺(tái)上的軟件產(chǎn)品;用戶手冊(cè);對(duì)當(dāng)前版本的描述。轉(zhuǎn)換階段(交付階段),要將軟件產(chǎn)品交付給用戶(P167)11.3.2 RUP的靜態(tài)結(jié)構(gòu)的靜態(tài)

10、結(jié)構(gòu) RUP的靜態(tài)結(jié)構(gòu)是用工作人員、活動(dòng)、產(chǎn)品和工作流等描述的,這些建模元素描述了什么人需要做什么,如何做,以及應(yīng)該在什么時(shí)候做。1411.4 核心工作流程核心工作流程 在上一節(jié)中已經(jīng)對(duì)RUP中的工作流進(jìn)行了概括性的介紹,本節(jié)將分別結(jié)合工作人員、產(chǎn)品和工作流這3個(gè)建模元素對(duì)RUP中的幾個(gè)核心工作流進(jìn)行詳細(xì)介紹。 1511.4.1 需求獲取工作流需求獲取工作流 系統(tǒng)的用戶對(duì)其所用系統(tǒng)在功能、性能、行為和設(shè)計(jì)約束等方面的要求就是軟件的需求。需求獲取就是通過(guò)對(duì)系統(tǒng)問題域的分析和理解而確定系統(tǒng)所涉及的信息、功能和系統(tǒng)行為,進(jìn)而將系統(tǒng)用戶的需求精確化、完全化。進(jìn)行需求獲取的任務(wù)主要是在RUP的初始階段和

11、籌劃階段完成的。1611.4.1 需求獲取工作流需求獲取工作流 系統(tǒng)的用戶對(duì)其所用系統(tǒng)在功能、性能、行為和設(shè)計(jì)約束等方面的要求就是軟件的需求。需求獲取就是通過(guò)對(duì)系統(tǒng)問題域的分析和理解而確定系統(tǒng)所涉及的信息、功能和系統(tǒng)行為,進(jìn)而將系統(tǒng)用戶的需求精確化、完全化。進(jìn)行需求獲取的任務(wù)主要是在RUP的初始階段和籌劃階段完成的。1711.4.2 分析工作流分析工作流分析工作流的主要工作是從初始階段的末尾開始進(jìn)行的,但是大部分工作是在籌劃階段進(jìn)行的。通常情況下,在對(duì)系統(tǒng)進(jìn)行需求獲取的同時(shí)也需要進(jìn)行分析。工作人員工作人員分析工作流期間的工作人員包括:架構(gòu)工程師 架構(gòu)工程師在該過(guò)程中負(fù)責(zé)“分析模型”和“架構(gòu)描述

12、”兩個(gè)UML產(chǎn)品,但是不需要對(duì)分析模型中各種產(chǎn)品的持續(xù)開發(fā)和維護(hù)負(fù)責(zé)。用例工程師 用例工程師的任務(wù)是完成若干用例的分析和設(shè)計(jì),使這些用例實(shí)現(xiàn)相應(yīng)的需求。組件工程師 在分析工作流中,組件工程師的任務(wù)是定義并維護(hù)若干個(gè)分析類,使它們都能實(shí)現(xiàn)相應(yīng)用例實(shí)現(xiàn)的需求,并維護(hù)如干個(gè)包的完整性。1811.4.3 設(shè)計(jì)工作流設(shè)計(jì)工作流 設(shè)計(jì)工作流中的主要工作是在籌劃階段的末尾部分和構(gòu)建階段的開頭部分完成的。在獲取系統(tǒng)需求和分析活動(dòng)比較完善之后,接下來(lái)的主要工作就是設(shè)計(jì)了。下面將對(duì)設(shè)計(jì)工作流進(jìn)行詳細(xì)介紹。 工作人員工作人員設(shè)計(jì)工作流中的工作人員包括:架構(gòu)工程師 在該工作流中,架構(gòu)工程師的主要任務(wù)是確保系統(tǒng)設(shè)計(jì)和實(shí)

13、現(xiàn)模型的完整性、準(zhǔn)確性和易理解性。用例工程師 在設(shè)計(jì)工作流中,用例工程師的任務(wù)是確保用例實(shí)現(xiàn)(設(shè)計(jì))的圖形和文本易于理解并且準(zhǔn)確地描述系統(tǒng)的特定功能。組件工程師 組件工程師的任務(wù)是定義和維護(hù)設(shè)計(jì)類的屬性、操作、方法、關(guān)系以及實(shí)現(xiàn)性需求,確保每個(gè)設(shè)計(jì)類都實(shí)現(xiàn)特定的需求。1911.4.4 實(shí)現(xiàn)工作流實(shí)現(xiàn)工作流 實(shí)現(xiàn)工作流是把系統(tǒng)的設(shè)計(jì)模型轉(zhuǎn)換成可執(zhí)行代碼的過(guò)程,可以認(rèn)為實(shí)現(xiàn)工作流的重點(diǎn)就是完成系統(tǒng)的可執(zhí)行代碼。實(shí)現(xiàn)工作流是RUP中構(gòu)建階段的重點(diǎn)。系統(tǒng)的實(shí)現(xiàn)模型只是實(shí)現(xiàn)工作流的副產(chǎn)品,系統(tǒng)開發(fā)人員應(yīng)當(dāng)把重點(diǎn)放在開發(fā)系統(tǒng)的代碼上。 工作人員工作人員RUP的分析工作流期間的工作人員包括:架構(gòu)設(shè)計(jì)師 在實(shí)

14、現(xiàn)工作流中,架構(gòu)設(shè)計(jì)師主要負(fù)責(zé)確保實(shí)現(xiàn)模型的完整性、正確性和易理解性。架構(gòu)設(shè)計(jì)師必須對(duì)系統(tǒng)實(shí)現(xiàn)模型架構(gòu)以及可執(zhí)行體與節(jié)點(diǎn)間的映射負(fù)責(zé),但實(shí)現(xiàn)模型中各種產(chǎn)品的繼續(xù)開發(fā)和維護(hù)不屬于他的職責(zé)范圍。組件工程師 組件工程師的任務(wù)是定義和維護(hù)若干組件的源代碼,保證系統(tǒng)中的每個(gè)組件都能正確實(shí)現(xiàn)其功能,除此之外,組件工程師還應(yīng)確保實(shí)現(xiàn)子系統(tǒng)的正確性。系統(tǒng)集成人員 系統(tǒng)集成人員主要負(fù)責(zé)規(guī)劃在每次迭代中所需的構(gòu)造序列,并在實(shí)現(xiàn)每個(gè)構(gòu)造后對(duì)其進(jìn)行集成。2011.4.5 測(cè)試工作流測(cè)試工作流 在獲取系統(tǒng)需求以及分析、設(shè)計(jì)、實(shí)現(xiàn)等階段的工作都完成后,就需要認(rèn)真查找軟件產(chǎn)品中潛藏的錯(cuò)誤或者缺陷,并進(jìn)行更正和完善。測(cè)試工作流的工作量通常會(huì)占到系統(tǒng)開發(fā)總工作量的40以

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論