版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件開發(fā)環(huán)境(huánjìng)主講人:邵堃共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)講授內(nèi)容:
軟件開發(fā)環(huán)境重點(diǎn)教授面向軟件開發(fā)過程(guòchéng)的各類軟件開發(fā)工具和使用方法。
講述重點(diǎn):1.了解軟件工程中方法,工具和過程之間的基本概念,及其相互關(guān)系(講述為主);2.了解當(dāng)前的主要軟件開發(fā)方法,結(jié)構(gòu)化開發(fā)、面向?qū)ο箝_發(fā)、面向方面開發(fā)和面向組件的開發(fā)等(學(xué)生自己查找資料,然后做報(bào)告);共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)講授內(nèi)容:
3.了解(liǎojiě)針對(duì)這些開發(fā)方法的主要工具軟件(學(xué)生自己查找資料,然后做報(bào)告),重點(diǎn)介紹面向?qū)ο箝_發(fā)方法UML,及其開發(fā)工具RationalRose(講述為主)。軟件開發(fā)工具、軟件測(cè)試工具和軟件開發(fā)過程項(xiàng)目管理工具;共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)的背景軟件工程化的背景(bèijǐng);軟件規(guī)模化的背景;軟件產(chǎn)業(yè)化的背景;共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)的定義軟件開發(fā)環(huán)境(SoftwareDevelopmentEnvironment)是指在基本硬件和宿至軟件的基礎(chǔ)上,為支持系統(tǒng)軟件和應(yīng)用軟件的工程化開發(fā)和維護(hù)而使用的一組軟件,簡稱SDE。它由軟件工具和環(huán)境集成(jíchénɡ)機(jī)制構(gòu)成,前者用以支持軟件開發(fā)的相關(guān)過程、活動(dòng)和任務(wù),后者為工具集成(jíchénɡ)和軟件的開發(fā)、維護(hù)及治理提供統(tǒng)一的支持。
共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)中各類元素之間的關(guān)系SoftwareEngineeringa“quality”focusprocessmodelmethodstools注:軟件工程的三個(gè)基本要素:方法、工具和過程 過程:規(guī)定了完成各項(xiàng)任務(wù)的過程; 方法:完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)(jìshù)方法; 工具:軟件工程的支撐環(huán)境;
共一百三十四頁軟件開發(fā)環(huán)境的分類-按開發(fā)(kāifā)模型和開發(fā)(kāifā)方法分支持瀑布(pùbù)模型、演化模型、螺旋模型、噴泉模型以及結(jié)構(gòu)化方法、信息模型方法、面向?qū)ο蠓椒ǖ炔煌P图胺椒ǖ能浖_發(fā)環(huán)境。
共一百三十四頁軟件開發(fā)環(huán)境的分類-按功能及結(jié)構(gòu)(jiégòu)特點(diǎn)分類有單體型、協(xié)同(xiétóng)型、分散型和并發(fā)型等多種類型的軟件開發(fā)環(huán)境。
共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)的分類-按開發(fā)階段分類前端開發(fā)環(huán)境(huánjìng)(支持系統(tǒng)規(guī)劃、分析、設(shè)計(jì)等階段的活動(dòng));后端開發(fā)環(huán)境(支持編程、測(cè)試等階段的活動(dòng));軟件維護(hù)環(huán)境;逆向工程環(huán)境;
此類環(huán)境往往可通過對(duì)功能較全的環(huán)境進(jìn)行剪裁而得到。共一百三十四頁軟件開發(fā)環(huán)境的分類(fēnlèi)-按應(yīng)用范圍分類
有通用型和專用型軟件開發(fā)環(huán)境。其中(qízhōng)專用型軟件開發(fā)環(huán)境與應(yīng)用領(lǐng)域有關(guān);
共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)的構(gòu)造
軟件開發(fā)環(huán)境由工具集和集成(jíchénɡ)機(jī)制兩部分構(gòu)成,工具集和集成(jíchénɡ)機(jī)制間的關(guān)系如同“插件”和“插槽”間的關(guān)系。
共一百三十四頁工具集軟件開發(fā)環(huán)境中的工具可包括:
支持特定過程模型和開發(fā)方法的工具,如支持瀑布(pùbù)模型及數(shù)據(jù)流方法的分析工具、設(shè)計(jì)工具、編碼工具、測(cè)試工具、維護(hù)工具,支持面向?qū)ο蠓椒ǖ腛OA工具、OOD工具和OOP工具等;
獨(dú)立于模型和方法的工具,如界面輔助生成工具和文檔出版工具;
亦可包括管理類工具和針對(duì)特定領(lǐng)域的應(yīng)用類工具。
共一百三十四頁集成(jíchénɡ)機(jī)制
對(duì)工具的集成及用戶軟件的開發(fā)、維護(hù)及管理提供統(tǒng)一的支持。按功能(gōngnéng)可劃分為環(huán)境信息庫、過程控制及消息服務(wù)器、環(huán)境用戶界面三個(gè)部分。共一百三十四頁環(huán)境(huánjìng)信息庫是軟件開發(fā)環(huán)境的核心,用以儲(chǔ)存與系統(tǒng)開發(fā)有關(guān)的信息并支持(zhīchí)信息的交流與共享。庫中儲(chǔ)存兩類信息,一類是開發(fā)過程中產(chǎn)生的有關(guān)被開發(fā)系統(tǒng)的信息,如分析文檔、設(shè)計(jì)文檔、測(cè)試報(bào)告等;另一類是環(huán)境提供的支持(zhīchí)信息,如文檔模板、系統(tǒng)配置、過程模型、可復(fù)用構(gòu)件等。共一百三十四頁過程(guòchéng)控制和消息服務(wù)器是實(shí)現(xiàn)過程集成及控制集成的基礎(chǔ)。過程集成是按照具體軟件開發(fā)過程的要求進(jìn)行工具(gōngjù)的選擇與組合,控制集成并行工具(gōngjù)之間的通信和協(xié)同工作。共一百三十四頁環(huán)境(huánjìng)用戶界面包括環(huán)境總界面和由它實(shí)行統(tǒng)一控制的各環(huán)境部件及工具的界面。統(tǒng)一的、具有一致視感(Look&Feel)的用戶界面是軟件開發(fā)環(huán)境的重要(zhòngyào)特征,是充分發(fā)揮環(huán)境的優(yōu)越性、高效地使用工具并減輕用戶的學(xué)習(xí)負(fù)擔(dān)的保證。共一百三十四頁完善(wánshàn)的軟件開發(fā)環(huán)境通常具有如下:(1)軟件開發(fā)的一致性及完整性維護(hù);
(2)配置管理及版本控制;
(3)數(shù)據(jù)的多種表示形式及其在不同形式之間自動(dòng)轉(zhuǎn)換(zhuǎnhuàn);
(4)信息的自動(dòng)檢索及更新;
(5)項(xiàng)目控制和管理;
(6)對(duì)方法學(xué)的支持;共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)與軟件開發(fā)方法軟件開發(fā)方法(SoftwareDevelopmentMethod)是指軟件開發(fā)過程所遵循的辦法和步驟。軟件開發(fā)活動(dòng)的目的是有效地得到一些工作產(chǎn)物,也就是一個(gè)(yīɡè)運(yùn)行的系統(tǒng)及其支持文檔,并且滿足有關(guān)的質(zhì)量要求。軟件開發(fā)是一種非常復(fù)雜的腦力勞動(dòng),所以經(jīng)常更多討論的是軟件開發(fā)方法學(xué),指的是規(guī)則、方法和工具的集成,既支持開發(fā),也支持以后的演變過程(交付運(yùn)行后,系統(tǒng)還會(huì)變化,或是為了改錯(cuò),或是為了功能的增減)。共一百三十四頁典型(diǎnxíng)的軟件開發(fā)和系統(tǒng)演化的活動(dòng)分析、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)(測(cè)試驗(yàn)收)、演化(yǎnhuà)(維護(hù))共一百三十四頁①覆蓋開發(fā)全過程,并且便于在各階段間的過渡;②便于在開發(fā)各階段中有關(guān)人員之間的通信;③支持有效的解決問題的技術(shù);④支持系統(tǒng)設(shè)計(jì)和開發(fā)的各種不同(bùtónɡ)途徑;⑤在開發(fā)過程中支持軟件正確性的校驗(yàn)和驗(yàn)證;軟件開發(fā)方法(fāngfǎ)應(yīng)該考慮的一般因素共一百三十四頁軟件開發(fā)方法(fāngfǎ)應(yīng)該考慮的一般因素⑥便于在系統(tǒng)需求中列入設(shè)計(jì)、實(shí)際和性能的約束;⑦支持(zhīchí)設(shè)計(jì)師和其他技術(shù)人員的智力勞動(dòng);⑧在系統(tǒng)的整個(gè)生存周期都支持它的演化;⑨受自動(dòng)化工具的支持。此外,在開發(fā)的所有階段,有關(guān)的軟件產(chǎn)物都應(yīng)該是可見和可控的;軟件開發(fā)方法應(yīng)該可教學(xué)、可轉(zhuǎn)移,還應(yīng)該是開放的,即可以容納新的技術(shù)、治理方法和新工具,并且與已有的標(biāo)準(zhǔn)相適應(yīng)可稱為應(yīng)用型軟件開發(fā)環(huán)境。共一百三十四頁主要(zhǔyào)的面向?qū)ο筌浖こ谭椒–RC卡UML共一百三十四頁CRC卡一種(yīzhǒnɡ)簡單的面向?qū)ο蠼7椒–RC(Class-Responsibility-Collaborator)卡建模是一種簡單且有效(yǒuxiào)的面向?qū)ο蟮姆治黾夹g(shù)。它由三部分組成:
1.類(Class)
2.職責(zé)(Responsibility)
3.協(xié)作(Collaborator)共一百三十四頁CRC卡的類一個(gè)類代表許多(xǔduō)類似的對(duì)象。而對(duì)象是系統(tǒng)模型化中關(guān)注的事物。他們可以是一個(gè)人、地方、事情、或任何對(duì)系統(tǒng)有重要性的概念。類名一般列在CRC卡的頂部。
共一百三十四頁CRC卡的職責(zé)(zhízé)職責(zé)是類需要知道或做的任何事物。這些職責(zé)是類自身(zìshēn)所知的知識(shí),或類在執(zhí)行時(shí)所需的知識(shí)。共一百三十四頁CRC卡的協(xié)作(xiézuò)協(xié)作是指為獲取消息,或協(xié)助執(zhí)行活動(dòng)(huódòng)的其他類。在特定情形下,與指定的類按一個(gè)設(shè)想共同完成一個(gè)(或許多)步驟。協(xié)作的類順著CRC卡的右邊排列。
共一百三十四頁CRC模型(móxíng)CRC模型(móxíng)是CRC卡的集合,它代表一個(gè)應(yīng)用域或問題域的全部或一部分。共一百三十四頁CRC范例(fànlì)CRC模型是最普遍(pǔbiàn)的用戶。圖中展示了一個(gè)航運(yùn)/存貨控制系統(tǒng)的CRC模型例子,展示的CRC卡將被放在一張書桌或工作桌上。注意卡的放置:相互協(xié)作的卡是彼此接近的,無關(guān)系的卡不能放在附近。共一百三十四頁CRC卡的構(gòu)建(ɡòujiàn)步驟一1、CRC模型組一起加入(模型組包括相關(guān)的客戶領(lǐng)域人員、設(shè)計(jì)者、記錄員、系統(tǒng)分析員等)。
2、安排模型房間。
3、進(jìn)行集體自由(zìyóu)討論
內(nèi)容根據(jù)此CRC模型的系統(tǒng)目標(biāo)進(jìn)行,如系統(tǒng)是為誰開發(fā)的?那些商業(yè)業(yè)務(wù)需要這個(gè)系統(tǒng)的何種支持?工作時(shí)需要什么信息?……總之盡量按能達(dá)到系統(tǒng)要求實(shí)現(xiàn)的目標(biāo)進(jìn)行,包括進(jìn)行活動(dòng)時(shí)對(duì)資源、條件、活動(dòng)及人員的要求。
共一百三十四頁CRC卡構(gòu)建(ɡòujiàn)步驟二4、講解(jiǎngjiě)CRC模型技術(shù)(完成集體討論后,設(shè)計(jì)者將描述CRC模型過程。通常需要花費(fèi)十至十五分鐘,該過程包括創(chuàng)造幾個(gè)CRC卡范例,范例參考上圖)。
5、重復(fù)地執(zhí)行CRC模型步驟。
6、執(zhí)行用例情景試驗(yàn)
用戶情景試驗(yàn)是一個(gè)任務(wù)過程模式,其中用戶們將積極地參與以保證需求是準(zhǔn)確的?;镜乃枷胧且唤M商業(yè)領(lǐng)域?qū)<遥ㄒ簿褪强蛻舴剑?,設(shè)計(jì)者,系統(tǒng)分析員一步步通過一系列的用例證實(shí)CRC模能準(zhǔn)確地反映出用戶的需求。共一百三十四頁CRC模型(móxíng)的優(yōu)點(diǎn)CRC模型就是一種溝通方式,客戶方與開發(fā)方如何通過這種有效的、易實(shí)現(xiàn)、易操作的方式建立一個(gè)能描述準(zhǔn)確的、雙方達(dá)成共識(shí)(ɡònɡshí)的系統(tǒng)需求。CRC建模因?yàn)橛脩舴e極參與到模型的定義中,他們對(duì)工作的滿意度就會(huì)增加,并與開發(fā)者們并肩創(chuàng)造這個(gè)CRC模型,通過這個(gè)一連串的模型卡,雙方對(duì)待建的系統(tǒng)需求目標(biāo)達(dá)成共識(shí)。共一百三十四頁CRC卡的缺點(diǎn)(quēdiǎn)CRC模型只是一個(gè)面向?qū)ο髴?yīng)用的用戶需求定義的一部分。你也應(yīng)該考慮到用例,原型,和正式的需求文檔。是否要使用(shǐyòng)CRC建模,就根據(jù)項(xiàng)目、企業(yè)、客戶自身存在和所需的條件而定了
共一百三十四頁面向?qū)ο蟮能浖^程(guòchéng)-噴泉模型需求(xūqiú)階段面向?qū)ο蠓治鲭A段面向?qū)ο笤O(shè)計(jì)階段編碼階段集成和測(cè)試階段運(yùn)行狀態(tài)進(jìn)一步開發(fā)維護(hù)期噴泉模型的生命周期與結(jié)構(gòu)化方法的生命周期是一致的,但噴泉模型的各個(gè)階段是迭代和無縫的。共一百三十四頁面向?qū)ο蟮能浖?ruǎnjiàn)過程-RUPRUP的二維開發(fā)(kāifā)模型橫軸是過程展開的生命周期特征,體現(xiàn)開發(fā)過程的動(dòng)態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括周期(Cycle)、階段(Phase)、迭代(Iteration)和里程碑(Milestone);
縱軸以內(nèi)容來組織為自然的邏輯活動(dòng),體現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括活動(dòng)(Activity)、產(chǎn)物(Artifact)、工作者(Worker)和工作流(Workflow)。共一百三十四頁RUP的各個(gè)(gègè)階段和里程碑-橫向RUP中的軟件生命周期在時(shí)間(shíjiān)上被分解為四個(gè)順序的階段
初始階段(Inception)
(生命周期目標(biāo)里程碑)
前景文檔:對(duì)核心項(xiàng)目要求、關(guān)鍵性質(zhì)、主要限制的一般性的前景說明;初始的用例模型(完成10%-20%);初始的項(xiàng)目術(shù)語表;初始的商業(yè)用例,包括商業(yè)環(huán)境、驗(yàn)收規(guī)范以及成本預(yù)測(cè);初始的風(fēng)險(xiǎn)評(píng)估;項(xiàng)目規(guī)劃,其中明確階段和迭代;商業(yè)模型,根據(jù)需要可選;一個(gè)或多個(gè)原型;細(xì)化階段(Elaboration)(生命周期結(jié)構(gòu)里程碑)
構(gòu)造階段(Construction)(初始運(yùn)行能力)交付階段(Transition)(產(chǎn)品發(fā)布里程碑)
用例模型(至少完成80%):識(shí)別出了所有的用例和角色,以及大多數(shù)用例的描述;調(diào)整一些增加的需求,包括非功能性需求以及任何與特定用例無關(guān)的需求;
軟件體系結(jié)構(gòu)描述;可執(zhí)行的體系結(jié)構(gòu)原型;修訂后的風(fēng)險(xiǎn)表和商業(yè)用例;整個(gè)項(xiàng)目的開發(fā)計(jì)劃,包括粗略項(xiàng)目規(guī)劃,顯示迭代過程以及相應(yīng)的評(píng)估準(zhǔn)則;更新的開發(fā)用例,指定要使用的過程;初步的用戶手冊(cè)(可選);
在特定平臺(tái)上集成的軟件產(chǎn)品;用戶手冊(cè);
對(duì)當(dāng)前版本的描述;beta測(cè)試確認(rèn)新系統(tǒng)達(dá)到用戶的預(yù)期;與被取代的舊系統(tǒng)并行操作;功能性數(shù)據(jù)庫的轉(zhuǎn)換;用戶和維護(hù)人員培訓(xùn);
向市場(chǎng)、分銷商和銷售人員進(jìn)行新產(chǎn)品的展示;共一百三十四頁RUP的核心(héxīn)工作流-縱向
描述如何為新的目標(biāo)組織開發(fā)一個(gè)構(gòu)想,并基于這個(gè)構(gòu)想在商業(yè)用例模型和商業(yè)對(duì)象(duìxiàng)模型中定義組織的過程,角色和責(zé)任。
描述系統(tǒng)應(yīng)該做什么,并使開發(fā)人員和用戶就這一描述達(dá)成共識(shí)。為了達(dá)到該目標(biāo),要對(duì)需要的功能和約束進(jìn)行提取、組織、文檔化;最重要的是理解系統(tǒng)所解決問題的定義和范圍。
設(shè)計(jì)活動(dòng)以體系結(jié)構(gòu)設(shè)計(jì)為中心,體系結(jié)構(gòu)由若干結(jié)構(gòu)視圖來表達(dá),結(jié)構(gòu)視圖是整個(gè)設(shè)計(jì)的抽象和簡化。分析設(shè)計(jì)的結(jié)果是一個(gè)設(shè)計(jì)模型和一個(gè)可選的分析模型。
目的包括以層次化的子系統(tǒng)形式定義代碼的組織結(jié)構(gòu);以組件的形式(源文件、二進(jìn)制文件、可執(zhí)行文件)實(shí)現(xiàn)類和對(duì)象;將開發(fā)出的組件作為單元進(jìn)行測(cè)試以及集成由單個(gè)開發(fā)者(或小組)所產(chǎn)生的結(jié)果,使其成為可執(zhí)行的系統(tǒng)。
目的是驗(yàn)證對(duì)象間的交互作用,驗(yàn)證軟件中所有組件的正確集成,檢驗(yàn)所有的需求已被正確的實(shí)現(xiàn),識(shí)別并確認(rèn)缺陷在軟件部署之前被提出并處理。RUP提出了迭代的方法,意味著在整個(gè)項(xiàng)目中進(jìn)行測(cè)試,從而盡可能早地發(fā)現(xiàn)缺陷,從根本上降低了修改缺陷的成本。
目的是成功的生成版本并將軟件分發(fā)給最終用戶。部署工作流描述了那些與確保軟件產(chǎn)品對(duì)最終用戶具有可用性相關(guān)的活動(dòng),包括:軟件打包、生成軟件本身以外的產(chǎn)品、安裝軟件、為用戶提供幫助。在有些情況下,還可能包括計(jì)劃和進(jìn)行beta測(cè)試版、移植現(xiàn)有的軟件和數(shù)據(jù)以及正式驗(yàn)收。
描繪了如何在多個(gè)成員組成的項(xiàng)目中控制大量的產(chǎn)物。配置和變更管理工作流提供了準(zhǔn)則來管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過程中的版本。同時(shí)也闡述了對(duì)產(chǎn)品修改原因、時(shí)間、人員保持審計(jì)記錄。
平衡各種可能產(chǎn)生沖突的目標(biāo),管理風(fēng)險(xiǎn),克服各種約束并成功交付使用戶滿意的產(chǎn)品。
目的是向軟件開發(fā)組織提供軟件開發(fā)環(huán)境,包括過程和工具。共一百三十四頁UML語言(yǔyán)JimRumbaughGradyBoochIvarJacobson共一百三十四頁UML的簡介(jiǎnjiè)UML(UnifiedModelingLanguage)是一種構(gòu)建軟件系統(tǒng)和文檔的通用可視化建模語言。UML能與所有的開發(fā)方法一同使用,可用于軟件開發(fā)的整個(gè)生命周期。UML能表達(dá)系統(tǒng)的靜態(tài)(jìngtài)結(jié)構(gòu)和動(dòng)態(tài)信息,并能管理復(fù)雜的系統(tǒng)模型,便于軟件團(tuán)隊(duì)之間的合作開發(fā)。UML不是編程語言,但支持UML語言的工具可以提供從UML到各種編程語言的代碼生成,也可以提供從現(xiàn)有程序逆向構(gòu)建UML模型。UML并不是萬能的,它是一種離散的建模語言,對(duì)于特定的領(lǐng)域,比如:GUI、VLSI電路設(shè)計(jì)或基于規(guī)則的人工智能,用特定的語言和工具可能更合適。共一百三十四頁最重要目標(biāo):UML是所有建模人員可以使用的通用建模語言。它包含主流建模方法的概念,從而可以替代現(xiàn)有的軟件分析和設(shè)計(jì)方法,比如:OMT,Booch,OOSE等。UML不是完整的開發(fā)方法,它不包括逐步的開發(fā)流程,但它提供所有必要的概念,具備足夠的表達(dá)能力。UML的另一個(gè)目標(biāo)是:能盡量簡潔地表達(dá)系統(tǒng)(xìtǒng)的模型。UML的目標(biāo)(mùbiāo)共一百三十四頁UML概念可以劃分為以下范圍(fànwéi):系統(tǒng)需求靜態(tài)結(jié)構(gòu)動(dòng)態(tài)行為交互行為物理實(shí)現(xiàn)各種圖之間的關(guān)系模型組織擴(kuò)展機(jī)制UML的主要(zhǔyào)概念共一百三十四頁用例視圖(UseCasesView)從外部用戶的角度來描述系統(tǒng)的行為,它將系統(tǒng)功能劃分為對(duì)用戶有意義的事務(wù),這些事務(wù)被稱為用例,用戶被稱為執(zhí)行者,用例視圖也就是描述活動(dòng)者在各個(gè)用例中的參與情況,它指導(dǎo)(zhǐdǎo)所有的行為視圖。系統(tǒng)(xìtǒng)需求共一百三十四頁靜態(tài)視圖(StaticView),一個(gè)模型必須首先定義各種事物的內(nèi)部特征(tèzhēng)和相互之間的關(guān)系,應(yīng)用概念建模成類,類描述事物的屬性和以及在這些屬性上的操作。類之間可以存在不同的關(guān)系,比如泛化(繼承)、關(guān)聯(lián)和依賴等,靜態(tài)視圖表示成類圖,靜態(tài)視圖在某一時(shí)刻的快照稱為對(duì)象圖。靜態(tài)(jìngtài)結(jié)構(gòu)共一百三十四頁狀態(tài)機(jī)視圖(StateMachineView),通過對(duì)每個(gè)類的對(duì)象的生命周期進(jìn)行建模,描述了對(duì)象時(shí)間上的動(dòng)態(tài)行為。狀態(tài)機(jī)是由狀態(tài)和遷移組成的圖,狀態(tài)機(jī)通常附屬于類,描述類實(shí)例對(duì)接受事件的響應(yīng)?;顒?dòng)視圖(ActivityView)是利用狀態(tài)機(jī)對(duì)運(yùn)算和工作(gōngzuò)流進(jìn)行建模的特殊形式。活動(dòng)圖的狀態(tài)代表了運(yùn)算執(zhí)行的狀態(tài),而非一般對(duì)象的狀態(tài),活動(dòng)圖和流程圖很相似,不過它支持并發(fā)。動(dòng)態(tài)(dòngtài)行為共一百三十四頁交互視圖(InteractionView),對(duì)象通過交互來實(shí)現(xiàn)行為(xíngwéi),交互視圖通過協(xié)作來進(jìn)行建模,協(xié)作具有結(jié)構(gòu)和行為兩個(gè)方面,結(jié)構(gòu)包含為行為方面而定義的一系列角色和關(guān)系,行為方面是綁定于角色的對(duì)象間的一系列交換的消息,這些消息在協(xié)作中稱為交互,消息序列可用兩種圖來表示:順序圖(重點(diǎn)在消息的時(shí)間順序)和協(xié)作圖(重點(diǎn)在交換消息的對(duì)象間的關(guān)系)。交互(jiāohù)行為共一百三十四頁物理視圖(PhysicalView),許多系統(tǒng)模型獨(dú)立于最終的實(shí)現(xiàn),在實(shí)現(xiàn)方面,必須充分考慮系統(tǒng)的重用性和性能。UML有兩種視圖來表示系統(tǒng)的實(shí)現(xiàn):實(shí)現(xiàn)視圖和部署視圖,實(shí)現(xiàn)視圖將可重用的系統(tǒng)片段打包成組件(zǔjiàn),部署視圖描述系統(tǒng)運(yùn)行時(shí)資源的物理分布,這些資源稱為結(jié)點(diǎn)。物理(wùlǐ)實(shí)現(xiàn)共一百三十四頁靜態(tài)視圖(類圖,對(duì)象圖),物理視圖(實(shí)現(xiàn)視圖,部署視圖)是描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。用例圖是描述系統(tǒng)的外部視圖?;顒?dòng)圖描述系統(tǒng)的外部/內(nèi)部視圖。交互視圖(順序圖,協(xié)作圖)描述系統(tǒng)的內(nèi)部視圖。狀態(tài)圖描述單個(gè)類的動(dòng)態(tài)(dòngtài)行為。各種(ɡèzhǒnɡ)圖之間的關(guān)系共一百三十四頁模型管理視圖(ModelManagementView),任何大系統(tǒng)必須劃分為較小的單元,以使人們能在某一時(shí)刻只接觸有限(yǒuxiàn)的信息,不影響團(tuán)隊(duì)間的并行工作。模型是利用包(Package)和包的依賴來進(jìn)行管理的。包是UML模型中通用的層次組織結(jié)構(gòu),包上的依賴總結(jié)了包內(nèi)容的依賴關(guān)系。模型(móxíng)組織共一百三十四頁擴(kuò)展機(jī)制(ExtensionMechanisms),UML能滿足絕大部分系統(tǒng)建模的需要,但任何語言都不是(bùshi)萬能的,它必須考慮一定的擴(kuò)展機(jī)制,UML的擴(kuò)展機(jī)制包括約束、標(biāo)簽值和原型。這些擴(kuò)展機(jī)制可以用來為特定領(lǐng)域剪裁UML的配置,這樣帶來一些好處:根據(jù)自身需要來使用建模語言。擴(kuò)展(kuòzhǎn)機(jī)制共一百三十四頁一個(gè)模型必須首先(shǒuxiān)定義各種事物的內(nèi)部特征和相互之間的關(guān)系,下面介紹一些基本的模型元素:分類(fēnlèi):類(Class)接口(Interface)子系統(tǒng)(SubSystem)執(zhí)行者(Actor)用例(UseCases)組件(Component)結(jié)點(diǎn)(Node)注釋(Comment)關(guān)系:關(guān)聯(lián)(Association)泛化(Generalization)依賴(Dependency)實(shí)現(xiàn)(Realization)約束(Constraint)靜態(tài)視圖:類圖對(duì)象圖靜態(tài)建模共一百三十四頁類是具有相同屬性、操作和關(guān)系的對(duì)象集合的總稱。通常在UML中類被畫成矩形,包括三個(gè)部分:名稱、屬性和操作。名稱:每個(gè)類都必須有一個(gè)名字,用來區(qū)分其它的類。類名(lèimínɡ)是一個(gè)字符串,稱為簡單名字。路徑名字是在類名(lèimínɡ)前加包含類的包名為前綴。例如Wall、java::awt::Wall都是合法的類名。屬性:類可以有任意多個(gè)屬性,也可以沒有屬性。在類圖中屬性只要寫上名字就可以了,也可以在屬性名后跟上類型甚至缺省取值。
操作:操作是類的任意一個(gè)實(shí)例對(duì)象都可以調(diào)用的,并可能影響該對(duì)象行為的實(shí)現(xiàn)。
靜態(tài)(jìngtài)建模-類共一百三十四頁類名(lèimínɡ)屬性(shǔxìng)操作共一百三十四頁接口是未給出實(shí)現(xiàn)的對(duì)象行為的描述(miáoshù),接口包含操作,但沒有屬性,一個(gè)或多個(gè)類可以實(shí)現(xiàn)接口,每個(gè)類實(shí)現(xiàn)接口的操作。StringisEqual(String):BooleanHash():Integer…HashableComparable接口(jiēkǒu)標(biāo)記靜態(tài)建模-接口共一百三十四頁任何大系統(tǒng)都必須劃分為較小的單元,以便人們?cè)谀骋粫r(shí)刻可以和有限的信息工作,使團(tuán)隊(duì)的工作不相互影響。包可以包含各種模型(móxíng)元素和其它的包,包之間還可能存在一定的依賴。<<subsystem>>Finances<<subsystem>>Credits<<subsystem>>Accounts<<subsystem>>BankInterface靜態(tài)(jìngtài)建模-子系統(tǒng)(包)共一百三十四頁執(zhí)行者是與系統(tǒng)、子系統(tǒng)或類交互的外部人員(rényuán),進(jìn)程或事務(wù)。在運(yùn)行時(shí),具體人員(rényuán)會(huì)充當(dāng)系統(tǒng)的多個(gè)執(zhí)行者,不同用戶可能會(huì)成為一個(gè)執(zhí)行者。StudentProfessorBillingSystemRegistrar靜態(tài)(jìngtài)建模-執(zhí)行者共一百三十四頁用例是系統(tǒng)提供的外部可感知的功能單元,用例的目的是定義清晰的系統(tǒng)行為,但不解釋系統(tǒng)的內(nèi)部結(jié)構(gòu)。用例可以與執(zhí)行者關(guān)聯(lián),也可以參與(cānyù)其他的多種關(guān)系,比如擴(kuò)展、泛化和包含等。用戶的動(dòng)態(tài)部分用交互視圖來描述,比如順序圖、協(xié)作圖。用例用橢圓來表示,用例名標(biāo)在橢圓下方,用實(shí)線與同自身通信的用戶相連。MaintainCurriculum靜態(tài)(jìngtài)建模-用例共一百三十四頁Registrar--maintainthecurriculumProfessor--requestrosterStudent--maintainscheduleBillingSystem--receivebillinginformationfromregistrationMaintainScheduleMaintainCurriculumRequestCourseRoster靜態(tài)(jìngtài)建模-用例共一百三十四頁用例圖描述執(zhí)行者在各個(gè)用例中的參與(cānyù)情況。StudentRegistrarProfessorMaintainScheduleMaintainCurriculumRequestCourseRosterBillingSystem靜態(tài)(jìngtài)建模-用例圖共一百三十四頁組件是可重用的系統(tǒng)片段,具有良好定義接口的物理實(shí)現(xiàn)單元。每個(gè)組件包含了系統(tǒng)設(shè)計(jì)中某些類的實(shí)現(xiàn)。組件設(shè)計(jì)的原則:良好的組件不直接依賴于其它組件,而是依賴于其它組件所支持的接口。這樣的好處是系統(tǒng)中的組件可以被支持相同接口的組件所取代(qǔdài)。一個(gè)組件可能是源代碼、可執(zhí)行程序或動(dòng)態(tài)庫。Student靜態(tài)(jìngtài)建模-組件共一百三十四頁結(jié)點(diǎn)代表系統(tǒng)運(yùn)行時(shí)的物理對(duì)象,結(jié)點(diǎn)通常擁有運(yùn)算能力,它可以容納對(duì)象和組件(zǔjiàn)實(shí)例。RegistrationDatabaseLibraryDormMainBuilding靜態(tài)(jìngtài)建模-結(jié)點(diǎn)共一百三十四頁注釋用于解釋設(shè)計(jì)的思路,便于理解。一個(gè)好的模型應(yīng)該(yīnggāi)有詳盡的注釋。RepresentsanincorporatedentityCompany…注釋(zhùshì)靜態(tài)建模-注釋共一百三十四頁關(guān)聯(lián)描述了系統(tǒng)中對(duì)象和其它實(shí)例之間的離散(lísàn)的連接,關(guān)聯(lián)是有序的,它允許重復(fù),關(guān)聯(lián)的實(shí)例是鏈。關(guān)聯(lián)至對(duì)象的連接點(diǎn)稱為關(guān)聯(lián)端點(diǎn),很多信息被附在關(guān)聯(lián)端點(diǎn)上,它擁有角色名、重?cái)?shù)(多少個(gè)類的實(shí)例可以關(guān)聯(lián)于另一個(gè)類的實(shí)例),可見性等。關(guān)聯(lián)有自己的名稱,可以擁有自己的屬性,這時(shí)關(guān)聯(lián)本身也是類,稱為關(guān)聯(lián)類。靜態(tài)(jìngtài)建模關(guān)系-關(guān)聯(lián)共一百三十四頁ManagesJobbossworkeremployeeemployer1..***0..1CompanyPersonJobSalary角色(juésè)名重?cái)?shù)(zhònɡshù)關(guān)聯(lián)名稱關(guān)聯(lián)類二元關(guān)聯(lián)自關(guān)聯(lián)共一百三十四頁聚集(jùjí)(Aggregation)用來表達(dá)整體-部分關(guān)系的關(guān)聯(lián)。組合(Composition)是一種聚集,是關(guān)聯(lián)更強(qiáng)的形式。PolygonPoint13..*pointsContainsPolygonWindowSlider12ScrollbarHeader1Title11Panel1Body聚集(jùjí)組合靜態(tài)建模關(guān)系-聚合和組合共一百三十四頁泛化是一般化和具體化之間的一種關(guān)系。繼承就是一種泛化關(guān)系,更一般化的描述稱為雙親,雙親的雙親稱為祖先,更具體化的描述稱為孩子,在類的范疇(fànchóu),雙親對(duì)應(yīng)超類,孩子對(duì)應(yīng)子類。TreeOakElmBirch孩子(háizi)雙親PersonStudentGraduate祖先靜態(tài)建模關(guān)系-泛化共一百三十四頁多重繼承:一個(gè)孩子可以從多個(gè)雙親繼承屬性和方法。多重繼承可能存在沖突,因?yàn)?yīnwèi)被繼承的雙親可能存在相同的類聲明,這時(shí),最好顯式解決沖突問題。AssistantTeacherStudent靜態(tài)(jìngtài)建模關(guān)系-多重繼承共一百三十四頁依賴指明兩個(gè)或兩個(gè)以上(yǐshàng)模型元素之間的關(guān)系。依賴有很多種類,比如:實(shí)現(xiàn)(realize)、使用、(usage)、實(shí)例化(instantiate)、調(diào)用(call),派生(derive)、訪問(access)、引入(import)、友元(friend)等等。<<subsystem>>ApplicationServer<<subsystem>>DataBase<<usage>>依賴(yīlài)類型靜態(tài)建模關(guān)系-依賴共一百三十四頁實(shí)現(xiàn)是依賴的一種,但由于它具有特殊意義,所以將它獨(dú)立講述。實(shí)現(xiàn)是連接(liánjiē)說明和實(shí)現(xiàn)之間的關(guān)系。StringisEqual(String):BooleanHash():Integer…Comparable<<interface>>ComparableisEqual(String):BooleanHash():Integer…實(shí)現(xiàn)(shíxiàn)特殊的實(shí)現(xiàn)標(biāo)記靜態(tài)建模關(guān)系-實(shí)現(xiàn)共一百三十四頁約束用來(yònɡlái)表示各種限制,如關(guān)聯(lián)路徑上的限制,和屬性特征檢測(cè)(存在、所有)。PersonCommitteeMember-of約束(yuēshù)Chair-of{subset}靜態(tài)建模關(guān)系-約束共一百三十四頁靜態(tài)視圖是UML的基礎(chǔ),靜態(tài)視圖表示(biǎoshì)為類圖,主要是描述類和類之間的關(guān)系。繼承(jìchéng)關(guān)聯(lián)PersonHouseresidence0..*owner0..*Financial
Institutionclientcreditor0..*0..*Mortgageprincipalrateterm關(guān)聯(lián)類{ordered}0..*1BankTrust
Company靜態(tài)建模-類圖共一百三十四頁對(duì)象(duìxiàng)圖是系統(tǒng)在某一時(shí)刻的快照。Smith:Personcottage:Househome:Housefirst:Mortgagesecond:MortgageRoyalBank:Bank鏈靜態(tài)(jìngtài)建模-對(duì)象圖共一百三十四頁狀態(tài)機(jī)圖用例圖活動(dòng)(huódòng)圖順序圖協(xié)作圖動(dòng)態(tài)(dòngtài)建模共一百三十四頁狀態(tài)機(jī)圖是對(duì)單個(gè)類的對(duì)象的生命周期進(jìn)行建模,描述了對(duì)象時(shí)間上的動(dòng)態(tài)行為,每個(gè)對(duì)象被認(rèn)為是事件驅(qū)動(dòng)的孤立實(shí)體。狀態(tài)機(jī)圖是由狀態(tài)和躍遷組成的圖,通常狀態(tài)機(jī)附屬于類,描述類實(shí)例對(duì)接受(jiēshòu)事件的響應(yīng)。事件表達(dá)對(duì)象間的調(diào)用、顯式信號(hào)、值的改變或時(shí)間的推移。調(diào)用事件、變更事件、信號(hào)事件、時(shí)間事件狀態(tài)描述對(duì)象生命周期的一段時(shí)間,可以是等待其它事件時(shí)所處的時(shí)間,或是執(zhí)行某一活動(dòng)時(shí)所處的時(shí)間,狀態(tài)分為簡單狀態(tài)和復(fù)合狀態(tài)。動(dòng)態(tài)(dòngtài)建模-狀態(tài)機(jī)圖共一百三十四頁躍遷定義對(duì)象對(duì)某一事件發(fā)生的反應(yīng),通常,遷移具有觸發(fā)事件、躍遷條件、動(dòng)作和目標(biāo)狀態(tài)。躍遷的種類有外部躍遷和內(nèi)部躍遷。外部躍遷是最普通的躍遷,會(huì)發(fā)生狀態(tài)改變;內(nèi)部躍遷不發(fā)生狀態(tài)改變。躍遷有兩個(gè)隱式動(dòng)作:進(jìn)入動(dòng)作和退出動(dòng)作。無論何時(shí)進(jìn)入和退出時(shí)都要執(zhí)行,這方便(fāngbiàn)進(jìn)入時(shí)進(jìn)行初始化工作,退出時(shí)進(jìn)行資源的釋放工作。動(dòng)態(tài)(dòngtài)建模-狀態(tài)機(jī)圖共一百三十四頁createdreadyHandle
EventInitialize
ObjectTerminate
ObjectWaitfor
Eventstart/^master.ready()poll/^master.ack()stop/初始狀態(tài)結(jié)束(jiéshù)狀態(tài)狀態(tài)機(jī)狀態(tài)(zhuàngtài)觸發(fā)事件動(dòng)作表達(dá)式躍遷共一百三十四頁用例圖描述各個(gè)執(zhí)行者在各個(gè)用例中的參與情況,描述系統(tǒng)為用戶所感知的外部視圖。用例圖的功能:捕獲系統(tǒng)用戶需求描述系統(tǒng)邊界指明系統(tǒng)外部行為(xíngwéi)指導(dǎo)系統(tǒng)開發(fā)者的功能開發(fā)系統(tǒng)建模的起點(diǎn),指導(dǎo)所有的類圖和交互圖的設(shè)計(jì)產(chǎn)生測(cè)試用例,用戶文檔估計(jì)項(xiàng)目大小和進(jìn)度。動(dòng)態(tài)(dòngtài)建模-用例圖共一百三十四頁CustomerSalesmanSupplierSupervisorSaleManagementSupply執(zhí)行者用例系統(tǒng)(xìtǒng)邊界共一百三十四頁活動(dòng)圖是用狀態(tài)機(jī)對(duì)工作流進(jìn)行建模的特殊形式,它和流程圖很類似,不過它支持并發(fā)控制?;顒?dòng)圖一般不描述所有的運(yùn)算細(xì)節(jié),它顯示活動(dòng)的流,但不顯示執(zhí)行活動(dòng)的對(duì)象?;顒?dòng)圖處于系統(tǒng)的外部和內(nèi)部視圖之間,所以它可以作為設(shè)計(jì)的起點(diǎn),為了完成設(shè)計(jì),每個(gè)活動(dòng)必須擴(kuò)展成一個(gè)和多個(gè)操作,每個(gè)操作被指派給特定的對(duì)象來實(shí)現(xiàn)。將商業(yè)組織控制的活動(dòng)劃分在一起,這類劃分可以通過分隔的區(qū)域來表達(dá),由于它們的外觀,每個(gè)區(qū)域稱為(chēnɡwéi)泳道(swimlane)。動(dòng)態(tài)(dòngtài)建模-活動(dòng)圖共一百三十四頁CustomerSalesStockroomRequestServicePayTakeOrderFillOrderDeliverOrderCollectOrder泳道(yǒnɡdào)共一百三十四頁帶有對(duì)象(duìxiàng)流的活動(dòng)圖CustomerSalesStockroomRequestServicePayTakeOrderFillOrderDeliverOrderCollectOrder泳道(yǒnɡdào)Order[Placed]Order[Entered]Order[Filled]Order[Delivered]對(duì)象共一百三十四頁對(duì)象行為是通過交互來實(shí)現(xiàn)的,交互是對(duì)象間為完成某一目的而進(jìn)行的一系列消息交換。消息是對(duì)象間的單向(dānxiànɡ)通信,從發(fā)送者到接受者的攜帶信息的控制流。消息可能帶有值參。消息序列可用兩種圖表示:順序圖(重點(diǎn)在消息的時(shí)間順序)和協(xié)作圖(重點(diǎn)在交換消息的對(duì)象間的關(guān)系)。對(duì)協(xié)作圖來說,時(shí)間順序可以從順序號(hào)獲得。動(dòng)態(tài)(dòngtài)建模-交互視圖共一百三十四頁順序圖用二維表來表示交互,縱向是時(shí)間軸,橫向是參與的角色以及(yǐjí)它們交換的消息。角色的生命周期表現(xiàn)為生命線,一條垂直的線,在激活的時(shí)間段里是雙線,在狀態(tài)保持的時(shí)間里是虛線。消息表示為從一條生命線出發(fā)到另一條生命線的有向線,從上而下,表示消息的時(shí)間順序。動(dòng)態(tài)(dòngtài)建模-順序圖共一百三十四頁CallerOperatorCallee時(shí)間軸callacknumbercallacktalktransfer順序(shùnxù)圖生命線激活(jīhuó)狀態(tài)保持角色共一百三十四頁協(xié)作圖包含分類角色和關(guān)聯(lián)角色,當(dāng)它實(shí)例化時(shí),對(duì)象被綁定到分類角色,鏈被綁定到關(guān)聯(lián)角色.關(guān)聯(lián)角色還可能被各種暫時(shí)性的鏈來充當(dāng),如過程參數(shù)(cānshù)和局部過程變量,鏈可以指定暫時(shí)性的原型:<<parameter>>、<<local>>或自身調(diào)用<<self>>。協(xié)作圖對(duì)實(shí)現(xiàn)協(xié)作的對(duì)象和鏈進(jìn)行建模,而忽略其他對(duì)象。動(dòng)態(tài)(dòngtài)建模-協(xié)作圖共一百三十四頁StudentRegistrationFormRegistrationManager1:fillininfo2:submit3:add(smith,math)math4:add(smith)共一百三十四頁通常在一個(gè)協(xié)作圖中每個(gè)對(duì)象(duìxiàng)分配一個(gè)符號(hào),然而有時(shí)不同狀態(tài)的對(duì)象(duìxiàng)需要顯式指出,流將同一個(gè)對(duì)象的不同狀態(tài)版本關(guān)系在一起,使用<<become>>原型。流的<<copy>>原型不太常用。:Controller:Directory[closed]:Directory[open]1:expand()2:sort()1.1<<become>>流共一百三十四頁物理架構(gòu)-實(shí)現(xiàn)(shíxiàn)視圖實(shí)現(xiàn)視圖描述可重用的系統(tǒng)組件(zǔjiàn)以及組件(zǔjiàn)之間的依賴。CourseCourseOfferingStudentProfessorCourse.dllPeople.dllCourseUserRegister.exeBilling.exeBillingSystem共一百三十四頁部署視圖描述系統(tǒng)資源在運(yùn)行時(shí)的物理分布(fēnbù),系統(tǒng)資源成為結(jié)點(diǎn)。RegistrationDatabaseLibraryDormMainBuilding物理架構(gòu)-部署(bùshǔ)視圖共一百三十四頁UML是一種建模語言而不是方法,這是因?yàn)閁ML中沒有過程的概念,而過程正是方法的一個(gè)重要組成部分。UML本身獨(dú)立于過程,這意味著用戶在使用UML進(jìn)行建模時(shí),可以選用任何適合的過程。一般采用(cǎiyòng)的建模過程有:噴泉模型、迭代遞增開發(fā)模型。UML建模過程(guòchéng)共一百三十四頁UML建模過程-瀑布(pùbù)開發(fā)模型需求階段面向?qū)ο蠓治鲭A段面向?qū)ο笤O(shè)計(jì)階段編碼階段集成和測(cè)試階段運(yùn)行狀態(tài)進(jìn)一步開發(fā)維護(hù)期共一百三十四頁設(shè)計(jì)編碼測(cè)試更多需求與分析迭代(diédài)遞增開發(fā)模型最初需求(xūqiú)與分析產(chǎn)品維護(hù)請(qǐng)求共一百三十四頁[1]需求最初需求規(guī)格說明應(yīng)當(dāng)由代表系統(tǒng)最終用戶的人員提供,內(nèi)容包括系統(tǒng)基本功能需求和對(duì)計(jì)算機(jī)系統(tǒng)的要求。[2]分析分析的任務(wù)是找出系統(tǒng)的所有需求并加以描述,同時(shí)建立模型,以定義系統(tǒng)中的關(guān)鍵領(lǐng)域類,應(yīng)由系統(tǒng)用戶和開發(fā)人員合作完成。分析的第一步是定義用例,以描述所開發(fā)系統(tǒng)的外部功能需求。用例分析包括閱讀和分析需求說明,此時(shí)需要(xūyào)與系統(tǒng)的潛在用戶進(jìn)行討論。迭代(diédài)遞增開發(fā)模型共一百三十四頁[3]設(shè)計(jì)設(shè)計(jì)階段的任務(wù)是通過綜合考慮所有的技術(shù)限制,以擴(kuò)展和細(xì)化分析階段的模型。設(shè)計(jì)階段可以分為兩個(gè)部分:結(jié)構(gòu)設(shè)計(jì)是高層設(shè)計(jì),其任務(wù)是定義包(子系統(tǒng)),包括包間的依賴性和主要通信機(jī)制。我們希望(xīwàng)得到盡可能簡單和清晰的結(jié)構(gòu),各部分之間的依賴盡可能的少,并盡可能的減少雙向的依賴關(guān)系。第二部分是詳細(xì)設(shè)計(jì),細(xì)化包的內(nèi)容,使編程人員得到所有類的一個(gè)足夠清晰的描述。共一百三十四頁結(jié)構(gòu)設(shè)計(jì)一個(gè)設(shè)計(jì)良好的系統(tǒng)結(jié)構(gòu)是系統(tǒng)可擴(kuò)充和可變更的基礎(chǔ)。包實(shí)際上是一些類的集合。類圖中包括有助于用戶從技術(shù)邏輯中分離(fēnlí)出應(yīng)用邏輯(領(lǐng)域類),從而減少它們之間的依賴性。詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)的目的是通過創(chuàng)建新的類圖、狀態(tài)圖和動(dòng)態(tài)圖(順序圖、協(xié)作圖和活動(dòng)圖),描述新的技術(shù)類,并擴(kuò)展和細(xì)化分析階段的對(duì)象類。共一百三十四頁[4]實(shí)現(xiàn)構(gòu)造或?qū)崿F(xiàn)階段是對(duì)類進(jìn)行編程的過程??梢?kěyǐ)選擇某種面向?qū)ο髮?duì)象編程語言(如Java)作為實(shí)現(xiàn)系統(tǒng)的軟件環(huán)境。Java很容易實(shí)現(xiàn)從邏輯視圖到代碼部件的映射,因?yàn)轭惖絁ava代碼文件之間是一一映射關(guān)系。在實(shí)現(xiàn)階段中,可以選取各種圖的說明來輔助編程,比如:類圖,狀態(tài)圖和動(dòng)態(tài)圖等。共一百三十四頁[5]測(cè)試和配置完成系統(tǒng)編碼后,需要對(duì)系統(tǒng)進(jìn)行測(cè)試,它通常包括:單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。
在單元測(cè)試中使用類圖和類的規(guī)格說明,對(duì)單獨(dú)的類或一組類進(jìn)行測(cè)試;在集成測(cè)試中,使用組件圖和合作圖,對(duì)各組件的合作情況進(jìn)行測(cè)試;在系統(tǒng)測(cè)試中,使用用例圖,以檢驗(yàn)所開發(fā)的系統(tǒng)是否滿足例圖所描述的需求(xūqiú)。系統(tǒng)的配置是實(shí)際地交付系統(tǒng),包括文檔和組成模型等。共一百三十四頁ROSE是美國Rational公司的面向?qū)ο蠼9ぞ?,利用這個(gè)工具,我們可以建立用UML描述的軟件系統(tǒng)的模型,而且可以自動(dòng)生成和維護(hù)C++、Java、VB、Oracle等語言和系統(tǒng)的代碼。ROSE的界面分為三個(gè)部分——Browser窗口、Diagram窗口和Document窗口。Browser窗口用來瀏覽、創(chuàng)建、刪除(shānchú)和修改模型中的模型元素;Diagram窗口用來顯示和創(chuàng)作模型的各種圖;而Document窗口則是用來顯示和書寫各個(gè)模型元素的文檔注釋。Rose的使用(shǐyòng)共一百三十四頁Browser窗口(chuāngkǒu)Diagram窗口(chuāngkǒu)Document窗口Specification對(duì)話框工具欄工具箱共一百三十四頁Browser窗口(chuāngkǒu)有四個(gè)視圖:UseCaseLogicalComponentDeployment共一百三十四頁在UseCase視圖(shìtú)的圖的類型有:用例圖、順序圖、協(xié)作圖和活動(dòng)圖。共一百三十四頁在Logical視圖(shìtú)中的類型有:類圖和狀態(tài)圖。共一百三十四頁在Component視圖(shìtú)的圖的類型有:組件圖。共一百三十四頁在Deployment視圖的圖的類型(lèixíng)有:部署圖。共一百三十四頁用例圖共一百三十四頁順序(shùnxù)圖共一百三十四頁協(xié)作(xiézuò)圖共一百三十四頁活動(dòng)(huódòng)圖共一百三十四頁類圖共一百三十四頁狀態(tài)圖共一百三十四頁組件(zǔjiàn)圖共一百三十四頁部署(bùshǔ)圖共一百三十四頁很多教科書上的第一個(gè)程序就是(jiùshì)Helloworld,一個(gè)在屏幕上簡單地打印出“Helloworld!”語句的例子。在java中一個(gè)在瀏覽器中顯示“HelloWorld!”的Applet的代碼如下:
importjava.awt.Graphics;classHelloWorldextendsjava.applet.Applet{ publicvoidpaint(Graphicsg){g.drawString("HelloWorld!",10,10); }}實(shí)例(shílì)一-HelloWorld共一百三十四頁用例圖HelloWorld共一百三十四頁HelloWorld類HelloWorldPaint()g.drawString("HelloWorld!",10,10)
注釋(zhùshì)共一百三十四頁類圖HelloWorldPaint()AppletGraphics
繼承(jìchéng)使用(shǐyòng)依賴共一百三十四頁順序(shùnxù)圖:Thread:Toolkit:ComponentPeertarget:HelloWorldruncallbackLoophandleExposepaint共一百三十四頁執(zhí)行者讀者(dúzhě)圖書館員管理員用例圖書館管理實(shí)例(shílì)二-圖書館系統(tǒng)用例圖共一百三十四頁讀者(dúzhě)用例圖共一百三十四頁圖書館員用例圖共一百三十四頁管理員用例圖共一百三十四頁下載網(wǎng)站(wǎnɡzhàn):/down/soft/100.htmUML技術(shù)網(wǎng)站:/別人(biérén)的ROSE建模演示共一百三十四頁軟件開發(fā)環(huán)境中的一些(yīxiē)工具軟件建模工具:1.UML建模工具:ROSE;2.UML2.x建模工具TrufunPlato2008;3.開源(kāiyuán)UML建模工具StarUMLv5.0.24.UML設(shè)計(jì)測(cè)試工具5.數(shù)據(jù)庫建模工具:PowerDesigner共一百三十四頁軟件開發(fā)環(huán)境(huánjìng)中的一些工具軟件測(cè)試工具:1.AutoRunner自動(dòng)化軟件測(cè)試工具,是一種黑盒測(cè)試工具,對(duì).NET類型的應(yīng)用軟件進(jìn)行功能測(cè)試,支持標(biāo)準(zhǔn)Windows應(yīng)用程序測(cè)試和.NET應(yīng)用程序測(cè)試。對(duì)B/S系統(tǒng)進(jìn)行功能測(cè)試,支持各種B/S應(yīng)用(yìngyòng)和網(wǎng)站。共一百三十四頁2.WinRunner:Mercury公司,用于功能性測(cè)試;
Winrunner最主要的功能是自動(dòng)重復(fù)執(zhí)行某一固定的測(cè)試過程,它以腳本的形式記錄下手工測(cè)試的一系列操作,在環(huán)境相同的情況下重放,檢查其在相同的環(huán)境中有無異常的現(xiàn)象或與實(shí)際結(jié)果不符的地方??梢詼p少由于人為因素造成結(jié)果錯(cuò)誤,同時(shí)也可以節(jié)省測(cè)試人員大量測(cè)試時(shí)間和精力來做別的事情。功能模塊主要包括:GUImap、檢查點(diǎn)、TSL腳本編程、批量測(cè)試、數(shù)據(jù)驅(qū)動(dòng)(qūdònɡ)等幾部分軟件開發(fā)環(huán)境(huánjìng)中測(cè)試工具共一百三十四頁3.LoadRunner:Mercury公司,性能與負(fù)載壓力;
LoadRunner?是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過以模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來確認(rèn)和查找問題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過使用LoadRunner,企業(yè)能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner是一種適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試工具,它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。LoadRunner的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng),它通過模擬實(shí)際用戶的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè),來幫助您更快的查找和發(fā)現(xiàn)問題。此外,還能支持廣范的協(xié)議和技術(shù)(jìshù),為您的特殊環(huán)境提供特殊的解決方案。軟件開發(fā)環(huán)境(huánjìng)中測(cè)試工具共一百三十四頁4.QuickTestPro:Mercury公司,功能測(cè)試和回歸測(cè)試;
QTP是一個(gè)B/S系統(tǒng)的自動(dòng)化功能測(cè)試的利器,軟件程序測(cè)試工具。Mercury的自動(dòng)化功能測(cè)試軟件QuickTestProfessional,可以覆蓋絕大多數(shù)的軟件開發(fā)技術(shù),簡單高效,并具備測(cè)試用例可重用的特點(diǎn)。MercuryQuickTestPro是一款先進(jìn)(xiānjìn)的自動(dòng)化測(cè)試解決方案,用于創(chuàng)建功能和回歸測(cè)試。它自動(dòng)捕獲、驗(yàn)證和重放用戶的交互行為。MercuryQuickTestPro為每一個(gè)重要軟件應(yīng)用和環(huán)境提供功能和回歸測(cè)試自動(dòng)化的行業(yè)最佳解決方案。軟件開發(fā)環(huán)境(huánjìng)中測(cè)試工具共一百三十四頁5.TestDirector:Mercury公司,測(cè)試管理;基于WEB的測(cè)試管理工具,他能夠讓你系統(tǒng)地控制整個(gè)測(cè)試過程,并創(chuàng)建整個(gè)測(cè)試工作流的框架和基礎(chǔ),使整個(gè)測(cè)試管理過程變得更為簡單(jiǎndān)和有組織。他能夠幫助你維護(hù)一個(gè)測(cè)試工程數(shù)據(jù)庫,并且能夠覆蓋你的應(yīng)用程序功能性的各個(gè)方面。T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水上超前鉆施工方案
- 豬舍高效建設(shè)協(xié)議
- 美容師實(shí)習(xí)生錄用協(xié)議
- 水利水電工程設(shè)備租賃協(xié)議
- 牛舍臥床安裝施工方案
- 舞蹈家合租排練廳租賃協(xié)議
- 裝修項(xiàng)目勞務(wù)施工合同
- 設(shè)計(jì)寶典XP汽輪機(jī)課程設(shè)計(jì)
- 商業(yè)綜合體排水溝渠施工合同
- 咖啡節(jié)咖啡機(jī)租賃協(xié)議
- 大學(xué)生個(gè)人職業(yè)生涯規(guī)劃課件模板
- 2024年理論中心組學(xué)習(xí)心得體會(huì)模版(2篇)
- 中國稅制學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 期末 (試題) -2024-2025學(xué)年教科版(廣州)英語四年級(jí)上冊(cè)
- 2024消防維保投標(biāo)文件模板
- 高級(jí)流行病學(xué)與醫(yī)學(xué)統(tǒng)計(jì)學(xué)智慧樹知到期末考試答案章節(jié)答案2024年浙江中醫(yī)藥大學(xué)
- 設(shè)計(jì)創(chuàng)意生活智慧樹知到期末考試答案2024年
- 北京市西城區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)檢測(cè)卷(含答案)
- 道路運(yùn)輸企業(yè)兩類人員安全考核題庫題庫(1020道)
評(píng)論
0/150
提交評(píng)論