![UML實(shí)用技術(shù)-介紹,用例類圖時(shí)序圖開發(fā)流程V_第1頁](http://file4.renrendoc.com/view/9d4502ba9494a7498d03ff9b07d588de/9d4502ba9494a7498d03ff9b07d588de1.gif)
![UML實(shí)用技術(shù)-介紹,用例類圖時(shí)序圖開發(fā)流程V_第2頁](http://file4.renrendoc.com/view/9d4502ba9494a7498d03ff9b07d588de/9d4502ba9494a7498d03ff9b07d588de2.gif)
![UML實(shí)用技術(shù)-介紹,用例類圖時(shí)序圖開發(fā)流程V_第3頁](http://file4.renrendoc.com/view/9d4502ba9494a7498d03ff9b07d588de/9d4502ba9494a7498d03ff9b07d588de3.gif)
![UML實(shí)用技術(shù)-介紹,用例類圖時(shí)序圖開發(fā)流程V_第4頁](http://file4.renrendoc.com/view/9d4502ba9494a7498d03ff9b07d588de/9d4502ba9494a7498d03ff9b07d588de4.gif)
![UML實(shí)用技術(shù)-介紹,用例類圖時(shí)序圖開發(fā)流程V_第5頁](http://file4.renrendoc.com/view/9d4502ba9494a7498d03ff9b07d588de/9d4502ba9494a7498d03ff9b07d588de5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Uml實(shí)用技術(shù)UnifiedModelingLanguage
我們動(dòng)手做做練習(xí)
UML幫助我們做需求簡單了解UMLUML在設(shè)計(jì)階段如何發(fā)揮作用主題
我們動(dòng)手做做練習(xí)
UML幫助我們做需求簡單了解UMLUML在設(shè)計(jì)階段如何發(fā)揮作用主題軟件開發(fā)過程詳解目前的現(xiàn)實(shí)是什么?——業(yè)務(wù)建模在這個(gè)現(xiàn)實(shí)下,開發(fā)系統(tǒng)是為了達(dá)到什么目標(biāo)?——愿景為了達(dá)到目標(biāo),系統(tǒng)應(yīng)對外提供什么樣的功能和性能?——需求為了提供這些功能,系統(tǒng)內(nèi)部應(yīng)該有什么樣的核心業(yè)務(wù)機(jī)制?——分析為了滿足性能,系統(tǒng)的核心機(jī)制如何在選定的架構(gòu)上實(shí)現(xiàn)?——設(shè)計(jì)找到問題解決問題UML三個(gè)主要作用使用可視化建模來獲取并表現(xiàn)商業(yè)邏輯和對象使用可視化建模來分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用程序理由一:UML是客戶、系統(tǒng)分析員和程序員之間的“橋梁”用例圖活動(dòng)圖狀態(tài)圖時(shí)序圖對象圖部署圖……UML三個(gè)主要作用理由二:UML從客戶的角度將復(fù)雜的系統(tǒng)整理清楚UML三個(gè)主要作用software可移植技術(shù)交互性能全面容量穩(wěn)定性錯(cuò)誤處理容錯(cuò)性功能需求成本兼容性理由三:UML能使越來越復(fù)雜的軟件系統(tǒng)架構(gòu)更加合理和健壯系統(tǒng)模型可由“4+1”視圖展現(xiàn)邏輯視圖場景視圖系統(tǒng)功能分析設(shè)計(jì)結(jié)構(gòu)系統(tǒng)并發(fā)工作情況實(shí)現(xiàn)視圖實(shí)現(xiàn)模塊和代碼間的關(guān)系部署視圖系統(tǒng)物理拓?fù)浼軜?gòu)進(jìn)程視圖4+1視圖模型,從5個(gè)不同的視角包括包括邏輯試圖、進(jìn)程視圖、物理視圖、開發(fā)視圖、場景視圖來描述軟件體系結(jié)構(gòu)。每一個(gè)視圖只關(guān)心系統(tǒng)的一個(gè)側(cè)面,5個(gè)試圖結(jié)合在一起才能反映系統(tǒng)的軟件體系結(jié)構(gòu)的全部內(nèi)容系統(tǒng)模型可由“4+1”視圖展現(xiàn)邏輯視圖LogicView邏輯試圖主要是用來描述系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù).在邏輯視圖中,系統(tǒng)分解成一系列的功能抽象、功能分解與功能分析,這些主要來自問題領(lǐng)域(ProblemDefinition)。在面向?qū)ο蠹夹g(shù)中,通過抽象、封裝、繼承,可以用對象模型來代表邏輯視圖,可以用類圖(ClassDiagram)來描述邏輯視圖。系統(tǒng)模型可由“4+1”視圖展現(xiàn)開發(fā)視圖Development/ModuleView開發(fā)視圖主要用來描述軟件模塊的組織與管理(通過程序庫或子系統(tǒng))。服務(wù)于軟件編程人員,方便后續(xù)的設(shè)計(jì)與實(shí)現(xiàn)。它通過系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來描述。要考慮軟件的內(nèi)部需求:開發(fā)的難易程度、重用的可能性,通用性,局限性等等。開發(fā)視圖的風(fēng)格通常是層次結(jié)構(gòu),層次越低,通用性越好(底層庫:JavaSDK,圖像處理軟件包)。上升到組件概念系統(tǒng)統(tǒng)模模型型可可由由““4+1””視圖圖展展現(xiàn)現(xiàn)進(jìn)程視圖
ProcessView進(jìn)程試圖側(cè)重系統(tǒng)的運(yùn)行特性,關(guān)注非功能性的需求(性能,可用性)。服務(wù)于系統(tǒng)集成人員,方便后續(xù)性能測試。強(qiáng)調(diào)并發(fā)性、分布性、集成性、魯棒性(容錯(cuò))、可擴(kuò)充性、吞吐量等。定義邏輯視圖中的各個(gè)類的具體操作是在哪一個(gè)線程(Thread)中被執(zhí)行?,F(xiàn)在在公公司司里里不不再再考考慮慮功功能能能能不不能能實(shí)實(shí)現(xiàn)現(xiàn),,而而在在于于PK性能能,,可可擴(kuò)擴(kuò)展展性性等等非非功功能能性性。。系統(tǒng)統(tǒng)模模型型可可由由““4+1””視圖圖展展現(xiàn)現(xiàn)
物理視圖(physicalview)物理試圖主要描述硬件配置。服務(wù)于系統(tǒng)工程人員,解決系統(tǒng)的拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝、通信等問題。主要考慮如何把軟件映射到硬件上,也要考慮系統(tǒng)性能、規(guī)模、可靠性等??梢耘c進(jìn)程視圖一起映射。系統(tǒng)統(tǒng)模模型型可可由由““4+1””視圖圖展展現(xiàn)現(xiàn)場景(Scenarios)
場景用于刻畫構(gòu)件之間的相互關(guān)系,將四個(gè)視圖有機(jī)地聯(lián)系起來。可以描述一個(gè)特定的視圖內(nèi)的構(gòu)件關(guān)系,也可以描述不同視圖間的構(gòu)件關(guān)系。文本、圖形表示皆可。n小結(jié)邏輯視圖、開發(fā)視圖,都主要是用來描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。進(jìn)程視圖、物理視圖,主要是用來描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)。并非每個(gè)系統(tǒng)都必須把5個(gè)視圖都畫出來,而是各有側(cè)重。例如MIS系統(tǒng)側(cè)重于邏輯視圖、開發(fā)視圖,而實(shí)時(shí)控制系統(tǒng)則側(cè)重于進(jìn)程視圖、物理視圖模型型可可由由9個(gè)圖圖來來展展現(xiàn)現(xiàn)UseCaseDiagramUseCaseDiagram用例圖ScenarioDiagramScenarioDiagram協(xié)作圖StateDiagramStateDiagram組件圖ComponentDiagramComponentDiagram部署圖StateDiagramStateDiagram對象圖ScenarioDiagramScenarioDiagram狀態(tài)圖UseCaseDiagramUseCaseDiagram時(shí)序圖StateDiagramStateDiagram類圖活動(dòng)圖模型型墨綠綠色色表表示示動(dòng)動(dòng)態(tài)態(tài)圖圖粉紅紅色色表表示示靜靜態(tài)態(tài)圖圖(可可把把用用例例圖圖單單列列出出來來))功能靜態(tài)結(jié)構(gòu)物理架構(gòu)動(dòng)態(tài)行為用例例圖圖,,類類圖圖,,時(shí)時(shí)序序圖圖經(jīng)經(jīng)常常用用UML9種圖圖用例圖描述角色以及角色與用例之間的連接關(guān)系。說明的是誰要使用系統(tǒng),以及他們使用該系統(tǒng)可以做些什么。一個(gè)用例圖包含了多個(gè)模型元素,如系統(tǒng)、參與者和用例,并且顯示了這些元素之間的各種關(guān)系,如泛化、關(guān)聯(lián)和依賴。類圖類圖是描述系統(tǒng)中的類,以及各個(gè)類之間的關(guān)系的靜態(tài)視圖。能夠讓我們在正確編寫代碼以前對系統(tǒng)有一個(gè)全面的認(rèn)識(shí)。類圖是一種模型類型,確切的說,是一種靜態(tài)模型類型。對象圖與類圖極為相似,它是類圖的實(shí)例,對象圖顯示類的多個(gè)對象實(shí)例,而不是實(shí)際的類。它描述的不是類之間的關(guān)系,而是對象之間的關(guān)系?;顒?dòng)圖描述用例要求所要進(jìn)行的活動(dòng),以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。能夠演示出系統(tǒng)中哪些地方存在功能,以及這些功能和系統(tǒng)中其他組件的功能如何共同滿足前面使用用例圖建模的商務(wù)需求。UML9種圖圖狀態(tài)圖描述類的對象所有可能的狀態(tài),以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件??梢圆东@對象、子系統(tǒng)和系統(tǒng)的生命周期。他們可以告知一個(gè)對象可以擁有的狀態(tài),并且事件(如消息的接收、時(shí)間的流逝、錯(cuò)誤、條件變?yōu)檎娴?會(huì)怎么隨著時(shí)間的推移來影響這些狀態(tài)。一個(gè)狀態(tài)圖應(yīng)該連接到所有具有清晰的可標(biāo)識(shí)狀態(tài)和復(fù)雜行為的類;序列圖(順序圖)序列圖是用來顯示你的參與者如何以一系列順序的步驟與系統(tǒng)的對象交互的模型。順序圖可以用來展示對象之間是如何進(jìn)行交互的。順序圖將顯示的重點(diǎn)放在消息序列上,即強(qiáng)調(diào)消息是如何在對象之間被發(fā)送和接收的。協(xié)作圖和序列圖相似,顯示對象間的動(dòng)態(tài)合作關(guān)系??梢钥闯墒穷悎D和順序圖的交集,協(xié)作圖建模對象或者角色,以及它們彼此之間是如何通信的。如果強(qiáng)調(diào)時(shí)間和順序,則使用序列圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則選擇協(xié)作圖;這兩種圖合稱為交互圖。構(gòu)件圖(組件圖)描述代碼構(gòu)件的物理結(jié)構(gòu)以及各種構(gòu)建之間的依賴關(guān)系。用來建模軟件的組件及其相互之間的關(guān)系,這些圖由構(gòu)件標(biāo)記符和構(gòu)件之間的關(guān)系構(gòu)成。在組件圖中,構(gòu)件時(shí)軟件單個(gè)組成部分,它可以是一個(gè)文件,產(chǎn)品、可執(zhí)行文件和腳本等。部署圖(配置圖)是用來建模系統(tǒng)的物理部署。例如計(jì)算機(jī)和設(shè)備,以及它們之間是如何連接的。部署圖的使用者是開發(fā)人員、系統(tǒng)集成人員和測試人員。UML9種圖圖用例例圖圖::業(yè)業(yè)務(wù)務(wù)建建模模、、需需求求、、測測試試類圖圖::業(yè)業(yè)務(wù)務(wù)建建模模、、分分析析、、設(shè)設(shè)計(jì)計(jì)對象象圖圖::業(yè)業(yè)務(wù)務(wù)建建模模、、分分析析、、設(shè)設(shè)計(jì)計(jì)組件件圖圖::設(shè)設(shè)計(jì)計(jì)部署署圖圖::設(shè)設(shè)計(jì)計(jì)順序序圖圖::業(yè)業(yè)務(wù)務(wù)建建模模、、分分析析、、設(shè)設(shè)計(jì)計(jì)協(xié)作作圖圖::業(yè)業(yè)務(wù)務(wù)建建模模、、分分析析、、設(shè)設(shè)計(jì)計(jì)狀態(tài)態(tài)圖圖::需需求求、、分分析析、、設(shè)設(shè)計(jì)計(jì)活動(dòng)動(dòng)圖圖::業(yè)業(yè)務(wù)務(wù)建建模模、、設(shè)設(shè)計(jì)計(jì)結(jié)構(gòu)構(gòu)行為為敏捷捷建建模模原原則則::需需要要時(shí)時(shí)再再添添加加可互互換換可互互換換主要要步步驟驟我們們動(dòng)動(dòng)手手做做做做練練習(xí)習(xí)UML幫助助我我們們做做需需求求簡單單了了解解UMLUML在設(shè)設(shè)計(jì)計(jì)階階段段如如何何發(fā)發(fā)揮揮作作用用主題題UML之用用例例圖圖需求求分分析析中中我我們們?nèi)缛绾魏握砝砗秃统槌橄笙笪椅覀儌儚膹挠糜脩魬裟悄堑玫玫降降牡臉I(yè)業(yè)務(wù)務(wù)描描述述。。用流流程程圖圖描描述述業(yè)業(yè)務(wù)務(wù)流流程程、、用用用用例例圖圖表表達(dá)達(dá)用用戶戶業(yè)業(yè)務(wù)務(wù)工工作作識(shí)別別執(zhí)執(zhí)行行者者執(zhí)行行者者要要點(diǎn)點(diǎn)::系統(tǒng)統(tǒng)外外———必須須和和它它交交互互系統(tǒng)統(tǒng)邊邊界界———直接接與與系系統(tǒng)統(tǒng)交交互互有意意義義的的交交互互———屬于于目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)的的責(zé)責(zé)任任任何何事事物物———人、、外外系系統(tǒng)統(tǒng)、、外外部部因因素素、、時(shí)時(shí)間間識(shí)別別執(zhí)執(zhí)行行者者抽象象出出執(zhí)執(zhí)行行者者的的思思路路::誰使使用用了了系系統(tǒng)統(tǒng)的的主主要要功功能能??誰改改變變了了系系統(tǒng)統(tǒng)的的主主要要數(shù)數(shù)據(jù)據(jù)??誰從從系系統(tǒng)統(tǒng)獲獲取取信信息息??誰需需要要系系統(tǒng)統(tǒng)的的支支持持以以完完成成日日常常工工作作任任務(wù)務(wù)??誰負(fù)負(fù)責(zé)責(zé)維維護(hù)護(hù)、、管管理理并并保保持持系系統(tǒng)統(tǒng)正正常常運(yùn)運(yùn)行行??系統(tǒng)統(tǒng)需需要要應(yīng)應(yīng)付付((處處理理))哪哪些些硬硬件件設(shè)設(shè)備備??系統(tǒng)統(tǒng)需需要要和和哪哪些些外外部部系系統(tǒng)統(tǒng)交交互互??誰((或或什什么么))對對系系統(tǒng)統(tǒng)運(yùn)運(yùn)行行產(chǎn)產(chǎn)生生的的結(jié)結(jié)果果感感興興趣趣??有沒沒有有自自動(dòng)動(dòng)發(fā)發(fā)生生的的事事件件??識(shí)別別執(zhí)執(zhí)行行者者責(zé)任任類類似似或或重重疊疊———抽象象出出執(zhí)執(zhí)行行者者UML之執(zhí)執(zhí)行行者者Actor之間間也也有有繼繼承承關(guān)關(guān)系系。。且且注注意意圖圖形形表表示示。。識(shí)別別用用例例用例例的的基基本本定定義義::用例例實(shí)實(shí)例例是是在在系系統(tǒng)統(tǒng)中中執(zhí)執(zhí)行行的的一一系系列列動(dòng)動(dòng)作作,,這這些些動(dòng)動(dòng)作作將將生生成成特特定定執(zhí)執(zhí)行行者者可可見見的的價(jià)價(jià)值值結(jié)結(jié)果果。。一一個(gè)個(gè)用用例例定定義義一一組組用用例例實(shí)實(shí)例例。。———IvarJacobson(RUP)通俗俗地地講講::執(zhí)執(zhí)行行者者通通過過系系統(tǒng)統(tǒng)達(dá)達(dá)到到某某個(gè)個(gè)有有用用目目標(biāo)標(biāo)步驟驟路徑徑目標(biāo)標(biāo)識(shí)別別用用例例設(shè)計(jì)計(jì)用用例例要要注注意意以以下下要要點(diǎn)點(diǎn)::價(jià)值結(jié)果→有有意義的目標(biāo)標(biāo)系統(tǒng)執(zhí)行→價(jià)價(jià)值結(jié)果由系系統(tǒng)生成執(zhí)行者可見→→業(yè)務(wù)語言,,用戶觀點(diǎn)注意:抽象一一組用例實(shí)例例時(shí)控制好用用例的粒度識(shí)別用例有意義的目標(biāo)標(biāo):√×識(shí)別用例用戶觀點(diǎn)而非非系統(tǒng)觀點(diǎn)::用戶觀點(diǎn)系統(tǒng)觀點(diǎn)識(shí)別用例用例命名:執(zhí)執(zhí)行者視角動(dòng)詞((+賓語)狀語定語如:批量修改改登錄記錄編編號(hào)識(shí)別用例執(zhí)行者使用這這個(gè)系統(tǒng)達(dá)到到什么目標(biāo)??語法測試:【執(zhí)行者】使用系統(tǒng)來【用例】用例命名:慎慎用弱動(dòng)詞、、弱名詞30弱動(dòng)詞:進(jìn)行行、使用、復(fù)復(fù)制、加載、、重復(fù)……弱名詞:數(shù)據(jù)據(jù)、報(bào)表、表表格、表單、、系統(tǒng)……會(huì)掩蓋真正的的業(yè)務(wù)識(shí)別用例識(shí)別用例討論:幾個(gè)登登錄?或注意角色的劃劃分和公共用用例的定義要不把用戶抽抽象成三種,,或者把登錄錄抽象成三種種。識(shí)別用例用例的粒度::四輪馬車任何業(yè)務(wù)歸根根到底都可以以看作CURD,但光CURD能為Actor提供價(jià)值嗎??CRUD是Create(創(chuàng)建)、Read(讀取)、Update(更新)和Delete(刪除)縮寫寫警惕CURD泛濫!一般要避免全全部使用,要要抽象,公用用的,其它的的不要,但默默認(rèn)有。識(shí)別用例用例的粒度::在四輪馬車車之前盡量細(xì)細(xì)致另注:多個(gè)用用例會(huì)操作同同一項(xiàng)數(shù)據(jù),,即對一個(gè)數(shù)數(shù)據(jù)項(xiàng)操作用用例未必是同同一個(gè)用例識(shí)別用例討論:登錄怎怎么處理?((確定用例之之間的關(guān)系))用例有先后或或前提關(guān)系時(shí)時(shí)不要簡單認(rèn)認(rèn)為是簡單的的包含或者是是擴(kuò)展關(guān)系更進(jìn)一步的精精度用例圖可以作用用例文檔的總圖,進(jìn)一步步的精度:有層層次的文檔,文檔中每一句話都都有其價(jià)值通過關(guān)系整理理用例——用例的關(guān)系擴(kuò)展:分離擴(kuò)擴(kuò)展路徑包含:提取公公共步驟,便便于復(fù)用泛化:同一業(yè)業(yè)務(wù)目的的不不同技術(shù)實(shí)現(xiàn)現(xiàn)大多數(shù)為包含含關(guān)系include
是指用例中的包含關(guān)系,通常發(fā)生在多個(gè)用例中,有可以提取出來的公共部分(就象提取公因式一樣),例如UseCaseA中包括了a和b兩個(gè)流程,而UseCaseC中包含了c和b兩個(gè)流程。為了提高復(fù)用性,可以把b提取出來,形成另一個(gè)用例UseCaseB,此時(shí),UseCaseAincludeUseCaseB(表現(xiàn)為一條指向UseCaseB的虛線,箭頭在UseCaseB側(cè)),UseCaseC也includeUseCaseB。因而,當(dāng)有include關(guān)系時(shí),被include的用例通常會(huì)被兩個(gè)以上的其他用例include(否則就不需要重用,也就不需要提取出來了),用例圖如下:通過關(guān)系整理理用例通過關(guān)系整理理用例——包含關(guān)系的誤誤用extend
則恰好相反。假設(shè)UseCaseA的功能描述為“發(fā)送一條通知”,可是,發(fā)送通知的方式可能有許多種,例如通過郵件發(fā)送、通過短信發(fā)送等。在需求分析階段,可能無法明確到底有多少種方式,在用例分析階段,UseCaseA需要留出擴(kuò)展接口,然后把已知的發(fā)送方式作為擴(kuò)展用例給出,例如UseCaseB是“通過短信發(fā)送”,而UseCaseC是“通過郵件發(fā)送”,此時(shí),UseCaseB和UseCaseCextend了UseCaseA,表現(xiàn)為兩根虛線,箭頭指向UseCaseA,用例圖如下:通過關(guān)系整理理用例如果兩個(gè)用例之間,一個(gè)要調(diào)用另一個(gè)時(shí),怎么辦?”(有可能是混淆了用例和模塊的關(guān)系),那么,首先要區(qū)分概念,用例就是用例,用例不是模塊,也不是組件(雖然一個(gè)用例能發(fā)展成為“一個(gè)或多個(gè)”模塊或組件);其次,從用例分析的角度來看,如果用例A確實(shí)要調(diào)用到用例B,那么,可以進(jìn)一步分析:A是調(diào)用了B的所有流程呢,還是其中一部分流程?
(1)如果是調(diào)用了一部分,此時(shí)可以把B中的那部分流程提取出來,形成用例C,然后A和B都includeC;
(2)如果是調(diào)用了所有流程,那么,A直接includeB即可;
(3)如果A沒有調(diào)用B中的任何流程…那自然不用畫兩者的關(guān)系了通過關(guān)系整理理用例通過關(guān)系整理理用例用例間不存在在“角色與用用例”的關(guān)系系!泛化關(guān)系:子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。在實(shí)際應(yīng)用中很少使用泛化關(guān)系,子用例中的特殊行為都可以作為父用例中的備選流存在通過關(guān)系整理理用例書寫用例文檔檔——用例的內(nèi)容用例編號(hào):用用例名執(zhí)行者前置條件后置條件涉眾利益基本路徑1……XXXX2……XXXX3……XXXX擴(kuò)展2a.……XXXX2a1.………XXXX字段列表業(yè)務(wù)規(guī)則非功能需求設(shè)計(jì)約束待解決問題書寫用例文檔檔——涉眾利益利益的沖突銀行的用戶的法律的誰的?書寫用例文檔檔——涉眾利益誰關(guān)心這個(gè)系系統(tǒng),會(huì)涉及到他的的什么利益?對于同一件事事情,不同的人看的的視角可能各各不相同,而不同的視角角則是基于不不同的利益。。探索系統(tǒng)的需需求,就是探索不同同的涉眾之間間的利益的最最佳平衡點(diǎn)。。涉眾的位置不不同,利益會(huì)有所不不同,開發(fā)人員要從從最前排的涉涉眾(老大)的利益為出發(fā)發(fā)點(diǎn),否則會(huì)影響需需求必須明確確,涉眾的利益是是不會(huì)輕易改改變的,穩(wěn)定的利益關(guān)關(guān)系書寫用例文檔檔——路徑交互步驟驟的描述只寫“可觀測測的”使用主動(dòng)語句句句子必須以執(zhí)執(zhí)行者或系統(tǒng)統(tǒng)作為主語每一句都要朝朝目標(biāo)邁進(jìn)分支和循環(huán)不要涉及界面面細(xì)節(jié)書寫用例文檔檔——字段列表+→數(shù)據(jù)序列[]→可選項(xiàng){}*→多個(gè){|||}→→可能取值A(chǔ)=B→把B的結(jié)構(gòu)賦給A可以用自然語語言,也可以以用表達(dá)式書寫用例文檔檔——字段列表注冊信息=公司名+聯(lián)系人+電話+{聯(lián)系地址}*聯(lián)系地址=州+城市+街道+郵編保存信息=注冊信息+注冊時(shí)間客房狀態(tài)={空閑|已預(yù)定|占用|維修中}書寫用例文檔檔——可用性系統(tǒng)應(yīng)易于使使用第一次使用時(shí)時(shí)30分鐘內(nèi)能學(xué)會(huì)會(huì)添加員工((任務(wù)時(shí)間))5次擊鍵能完成成客人入住服服務(wù),不需要要使用鼠標(biāo)((操作次數(shù)))80%的用戶認(rèn)為系系統(tǒng)易學(xué),并并且使用效率率高(用戶調(diào)調(diào)查)系統(tǒng)界面應(yīng)如如XX附件所示的屏屏幕圖像(小小心)可用性需求的的表達(dá)√×?書寫用例的書書面格式其他簡單視圖圖活動(dòng)圖之流程圖其他簡單視圖圖活動(dòng)圖之泳道圖泳道用于對于于多個(gè)用戶一一起完成一個(gè)個(gè)過程,非常常有用。其他簡單視圖圖狀態(tài)圖我們動(dòng)手做做做練習(xí)UML幫助我們做需需求簡單了解UMLUML在設(shè)計(jì)階段如如何發(fā)揮作用用主題系統(tǒng)詳細(xì)設(shè)計(jì)計(jì)主要目的詳細(xì)設(shè)計(jì)的目目的是在具體體編寫代碼前前,在代碼結(jié)結(jié)構(gòu)層面上的的一次設(shè)計(jì),,構(gòu)層面的意意思是只要表表達(dá)出代碼的的主要屬性和和方法命名就就可以,不必必編寫方法體體代碼。將系統(tǒng)架構(gòu)實(shí)實(shí)現(xiàn)的功能所所涉及到的代代碼結(jié)構(gòu)都設(shè)設(shè)計(jì)出來,這這樣的做法能能夠幫助開發(fā)發(fā)人員明確開開發(fā)思路,且且能夠較為清清楚的了解系系統(tǒng)全局結(jié)構(gòu)構(gòu),作出相應(yīng)應(yīng)的調(diào)整,避避免代碼開發(fā)發(fā)過程中再去去調(diào)整代碼結(jié)結(jié)構(gòu)造成的開開發(fā)資源的浪浪費(fèi)。另一個(gè)主要的的目的是,將將系統(tǒng)的代碼碼結(jié)構(gòu)清晰、、直觀的描述述成文,便于于其他開發(fā)人人員、維護(hù)人人員對系統(tǒng)的的擴(kuò)展與維護(hù)護(hù)。Uml語言類圖基本本畫法1.類設(shè)計(jì)簡單的的講,就是創(chuàng)創(chuàng)建一個(gè)類然然后定義類中中的屬性和方方法。2.類間關(guān)系的設(shè)設(shè)計(jì),包括兩兩個(gè)層次包關(guān)關(guān)系設(shè)計(jì)及類類關(guān)系設(shè)計(jì),,兩個(gè)層次間間可以認(rèn)為是是總與分的關(guān)關(guān)系。具體的的做法,根據(jù)據(jù)各類間的應(yīng)應(yīng)用或調(diào)用的的方式不同明明確其之間的的關(guān)系,類間間關(guān)系一般分分成關(guān)聯(lián)、依依賴、累計(jì)關(guān)關(guān)系。3.關(guān)系確定規(guī)則則見以下實(shí)例例(包關(guān)系與與類關(guān)系基本本一致包關(guān)系系有包中類關(guān)關(guān)系決定)類中常常見的的繼承承表達(dá)達(dá)1繼承通通過指指向超超類的的一條條閉合合的,,單箭箭頭的的實(shí)線線表示示類中常常見的的繼承承表達(dá)達(dá)2一個(gè)使使用樹樹形記記號(hào)的的繼承承實(shí)例例類中常常見的的接口口與實(shí)實(shí)現(xiàn)表表達(dá)Professor類和Student類實(shí)現(xiàn)現(xiàn)Person接口的的類圖圖實(shí)例例類中常常見的的關(guān)聯(lián)聯(lián)關(guān)系系表達(dá)達(dá)兩個(gè)類類間的的雙向向關(guān)聯(lián)聯(lián)一個(gè)類類知道道另一一個(gè)類類的屬屬性和和方法法,前前者具具有取取得后后的方方法,,則形形成了了單向向關(guān)聯(lián)聯(lián),反反之亦亦然。。類中常常見的的關(guān)聯(lián)聯(lián)關(guān)系系表達(dá)達(dá)兩個(gè)類類間的的單向向關(guān)聯(lián)聯(lián)單向關(guān)關(guān)聯(lián)關(guān)關(guān)系,,前者者能向向后者者發(fā)送送消息息取得得他的的屬性性類中常常見的的關(guān)聯(lián)聯(lián)關(guān)系系表達(dá)達(dá)描述兩兩個(gè)或或多個(gè)個(gè)類的的結(jié)構(gòu)構(gòu)性關(guān)關(guān)系。。一個(gè)完完整的的關(guān)聯(lián)聯(lián)定義義包含含三部部分,,分別別是類類之間間的關(guān)關(guān)聯(lián)直直線和和兩個(gè)個(gè)關(guān)聯(lián)聯(lián)端點(diǎn)點(diǎn)主要特特性::角色色,多多重性性,導(dǎo)導(dǎo)航性性角色::當(dāng)一一個(gè)類類處于于關(guān)聯(lián)聯(lián)的某某一端端時(shí),,該類類就在在這個(gè)個(gè)關(guān)系系中扮扮演了了一個(gè)個(gè)特定定的角角色;;角色色是關(guān)關(guān)聯(lián)中中靠近近它的的一端端的類類對另另外一一端的的類呈呈現(xiàn)的的職責(zé)責(zé)。類中常常見的的關(guān)聯(lián)聯(lián)關(guān)系系表達(dá)達(dá)多重性性:關(guān)聯(lián)角角色的的多重重性是是說明明一個(gè)個(gè)關(guān)聯(lián)聯(lián)的實(shí)實(shí)例中中有多多少個(gè)個(gè)相互互連接接的對對象。。導(dǎo)航性性:給給定兩兩個(gè)類類的關(guān)關(guān)聯(lián),,從一一個(gè)類類的對對象能能夠?qū)?dǎo)航到到另一一個(gè)類類的對對象,,導(dǎo)航航可以以是雙雙向的的。ExactlyoneZeroormoreOneormoreZeroorOneSpecifiedrangeMultiple,disjointranges10..*1..*0..12..42,4..6類中常常見的的關(guān)聯(lián)聯(lián)關(guān)系系表達(dá)達(dá)[具體表現(xiàn)]關(guān)聯(lián)關(guān)系是使用實(shí)例變量來實(shí)現(xiàn)[現(xiàn)實(shí)例子]比如客戶和訂單,每個(gè)訂單對應(yīng)特定的客戶,每個(gè)客戶對應(yīng)一些特定的訂單;再例如公司和員工,每個(gè)公司對應(yīng)一些特定的員工,每個(gè)員工對應(yīng)一特定的公司[代碼表現(xiàn)]publicclassEmployee{publicvoidstartWorking(){}}publicclassCompany{privateEmployeeemployee;publicEmployeegetEmployee(){returnemployee;}publicvoidsetEmployee(Employeeemployee){this.employee=employee;}//公司運(yùn)作
publicvoidrun(){employee.startWorking();}}類中常常見的的依賴賴關(guān)系系表達(dá)達(dá)方式式依賴關(guān)關(guān)系中中flight中沒有有customer屬性,,因此此要用用其他他方法法查找找coustomer。如果果customer是全局局的((包含含靜態(tài)態(tài)方法法),,則flight知道他他的存存在。。如果果coustomer作為參參數(shù)傳傳遞到到flight的方法法中,,則flight能夠引引用到到它,,最后后,如如果customer事例化化為flight方法中中的本本地變變量,,則flight就引用用到了了它的的存在在,在在依賴賴關(guān)系系中,,必須須采用用三種種方法法之一一類中常常見的的關(guān)聯(lián)聯(lián)關(guān)系系表達(dá)達(dá)[具體表現(xiàn)]依賴關(guān)系表現(xiàn)在局部變量,方法的參數(shù),以及對靜態(tài)方法的調(diào)用[現(xiàn)實(shí)例子]比如說你要去擰螺絲,你是不是要借助(也就是依賴)螺絲刀(Screwdriver)來幫助你完成擰螺絲(screw)的工作[代碼表現(xiàn)]publicclassPerson{
/**擰螺絲*/
publicvoidscrew(Screwdriverscrewdriver){
screwdriver.screw();
}
}
類中常常見的的聚合合關(guān)系系和組組合關(guān)關(guān)系類中常常見的的聚合合關(guān)系系和組組合關(guān)關(guān)系聚合::指的的是整整體與與部分分的關(guān)關(guān)系。。通常常在定定義一一個(gè)整整體類類后,,再去去分析析這個(gè)個(gè)整體體類的的組成成結(jié)構(gòu)構(gòu)。從從而找找出一一些組組成類類,該該整體體類和和組成成類之之間就就形成成了聚聚合關(guān)關(guān)系。。例如如一個(gè)個(gè)航母母編隊(duì)隊(duì)包括括??湛漳概炁?、驅(qū)驅(qū)護(hù)艦艦艇、、艦載載飛機(jī)機(jī)及核核動(dòng)力力攻擊擊潛艇艇等。。需求求描述述中““包含含”、、“組組成””、““分為為…部分””等詞詞常意意味著著聚合合關(guān)系系。組組合::也表表示類類之間間整體體和部部分的的關(guān)系系,但但是組組合關(guān)關(guān)系中中部分分和整整體具具有統(tǒng)統(tǒng)一的的生存存期。。一旦旦整體體對象象不存存在,,部分分對象象也將將不存存在。。部分分對象象與整整體對對象之之間具具有共共生死死的關(guān)關(guān)系。。聚聚合合和組組合的的區(qū)別別在于于:聚聚合關(guān)關(guān)系是是“has-a””關(guān)系系,,組組合合關(guān)關(guān)系系是是““contains-a””關(guān)系系;;聚聚合合關(guān)關(guān)系系表表示示整整體體與與部部分分的的關(guān)關(guān)系系比比較較弱弱,,而而組組合合比比較較強(qiáng)強(qiáng);;聚聚合合關(guān)關(guān)系系中中代代表表部部分分事事物物的的對對象象與與代代表表聚聚合合事事物物的的對對象象的的生生存存期期無無關(guān)關(guān),,一一旦旦刪刪除除了了聚聚合合對對象象不不一一定定就就刪刪除除了了代代表表部部分分事事物物的的對對象象。。組組合合中中一一旦旦刪刪除除了了組組合合對對象象,,同同時(shí)時(shí)也也就就刪刪除除了了代代表表部部分分事事物物的的對對象象。。類中中常常見見的的聚聚合合關(guān)關(guān)系系和和組組合合關(guān)關(guān)系系我們們用用淺淺顯顯的的例例子子來來說說明明聚聚合合和和組組合合的的區(qū)區(qū)別別。?!啊皣鴩破萍壹彝鐾觥薄?,,國國滅滅了了,,家家自自然然也也沒沒有有了了,,““國國””和和““家家””顯顯然然也也是是組組合合關(guān)關(guān)系系。。而而相相反反的的,,計(jì)計(jì)算算機(jī)機(jī)和和它它的的外外設(shè)設(shè)之之間間就就是是聚聚合合關(guān)關(guān)系系,,因因?yàn)闉樗鼈儌冎g間的的關(guān)關(guān)系系相相對對松松散散,,計(jì)計(jì)算算機(jī)機(jī)沒沒了了,,外外設(shè)設(shè)還還可可以以獨(dú)獨(dú)立立存存在在,,還還可可以以接接在在別別的的計(jì)計(jì)算算機(jī)機(jī)上上。。在在聚聚合合關(guān)關(guān)系系中中,,部部分分可可以以獨(dú)獨(dú)立立于于聚聚合合而而存存在在,,部部分分的的所所有有權(quán)權(quán)也也可可以以由由幾幾個(gè)個(gè)聚聚合合來來共共享享,,比比如如打打印印機(jī)機(jī)就就可可以以在在辦辦公公室室內(nèi)內(nèi)被被廣廣大大同同事事共共用用關(guān)關(guān)聯(lián)聯(lián)和和聚聚合合的的區(qū)區(qū)別別主主要要在在語語義義上上,,關(guān)關(guān)聯(lián)聯(lián)的的兩兩個(gè)個(gè)對對象象之之間間一一般般是是平平等等的的,,例例如如你你是是我我的的朋朋友友,,聚聚合合則則一一般般不不是是平平等等的的,,例例如如一一個(gè)個(gè)公公司司包包含含了了很很多多員員工工,,其其實(shí)實(shí)現(xiàn)現(xiàn)上上是是差差不不多多的的。。聚聚合合和和組組合合的的區(qū)區(qū)別別則則在在語語義義和和實(shí)實(shí)現(xiàn)現(xiàn)上上都都有有差差別別,,組組合合的的兩兩個(gè)個(gè)對對象象之之間間其其生生命命期期有有很很大大的的關(guān)關(guān)聯(lián)聯(lián),,被被
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型環(huán)保產(chǎn)品居間合同范本
- 2025年度大型體育場館施工合同設(shè)施配置與功能驗(yàn)收標(biāo)準(zhǔn)
- 2025年度國際技術(shù)轉(zhuǎn)讓合同價(jià)格條款及技術(shù)驗(yàn)收規(guī)范正本
- 2025年度新能源汽車租賃推廣與應(yīng)用合同
- 2025中外合作經(jīng)營企業(yè)合同樣板(農(nóng)副產(chǎn)品)
- 2025年度企業(yè)宣傳片定制服務(wù)合同范本
- 2025年度合同擔(dān)保在文化產(chǎn)業(yè)投資中的風(fēng)險(xiǎn)控制策略
- 2025企業(yè)工程承包合同
- 2025年度光伏發(fā)電站安全生產(chǎn)及維護(hù)管理合同
- 2025年度體育賽事贊助合同標(biāo)準(zhǔn)
- Unit 6 Beautiful landscapes Integration 說課稿 -2024-2025學(xué)年譯林版英語七年級(jí)下冊001
- 五四制青島版三年級(jí)數(shù)學(xué)下學(xué)期教學(xué)計(jì)劃
- 2024年常德職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 2025 年福建省中考語文試題:作文試題及范文
- 短視頻運(yùn)營績效考核表KPI-企業(yè)管理
- 【譯林】九下英語單詞默寫表
- IEC 62368-1標(biāo)準(zhǔn)解讀-中文
- 15J403-1-樓梯欄桿欄板(一)
- QC課題提高金剛砂地面施工一次合格率
- 2024年發(fā)電廠交接班管理制度(二篇)
評論
0/150
提交評論