偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用UML設(shè)計Java應(yīng)用程序之需求分析

開發(fā) 架構(gòu)
UML設(shè)計在軟件開發(fā)過程中是經(jīng)常用到的,你對UML設(shè)計是否熟悉,本文就向大家簡單介紹一下如何用UML設(shè)計Java應(yīng)用程序,希望通過本文的介紹你對如何將UML用在現(xiàn)實中有一定的見解。

本節(jié)向大家介紹一下如何用UML設(shè)計Java應(yīng)用程序, 這里就以圖書館借閱和預(yù)定圖書和雜志的應(yīng)用程序為例向大家講解,主要有需求分析和域分析等內(nèi)容,相信本節(jié)的學(xué)習(xí)一定會讓你對UML設(shè)計有新的理解。

用UML設(shè)計Java應(yīng)用程序

本文的案例學(xué)習(xí)提供了一個例子,說明如何將UML用在現(xiàn)實中。一個處理圖書館借閱和預(yù)定圖書和雜志的應(yīng)用程序,可以大到足夠檢驗UML解決現(xiàn)實問題能力的程度。但是如果太大的話,則不適合在雜志上發(fā)表。

在分析模型中,用用例和域分析描述了應(yīng)用程序。我們進一步把它擴展成設(shè)計模型。在設(shè)計模型中,我們描述了典型的技術(shù)解決方案細(xì)節(jié)。***,我們編寫了一段Java代碼(代碼連同完整的分析和設(shè)計模型放在網(wǎng)上,以一種包括評估版在內(nèi)的RationalRose能夠識別的格式在線提供。)

必須注意,這里只是一個可行的解決方案??赡軙性S多其他的解決方案。沒有絕對正確的方案。當(dāng)然,有的方案更好一些,但只有不斷的實踐和努力的工作才能掌握相應(yīng)的技能。

1.需求(Requirements)

典型地,由系統(tǒng)最終用戶的代表寫出文本形式的需求規(guī)范文檔。UML設(shè)計中對于該圖書館應(yīng)用程序來說,需求規(guī)范文檔應(yīng)該類似于這樣:

1.這是一個圖書館支持系統(tǒng);

2.圖書館將圖書和雜志借給借書者。借書者已經(jīng)預(yù)先注冊,圖書和雜志也預(yù)先注冊;

3.圖書館負(fù)責(zé)新書的購買。每一本圖書都購進多本書。當(dāng)舊書超期或破舊不堪時,從圖書館中去掉。

4.圖書管理員是圖書館的員工。他們的工作就是和讀者打交道并在軟件系統(tǒng)的支持下工作。

5.借閱人可以預(yù)定當(dāng)前沒有的圖書和雜志。這樣,當(dāng)他所預(yù)定的圖書和雜志歸還回來或購進時,就通知預(yù)定人。當(dāng)預(yù)定了某書的借書者借閱了該書后,預(yù)定就取消?;蛘咄ㄟ^顯式的取消過程強行取消預(yù)定。

6.圖書館能夠容易地建立、修改和刪除標(biāo)題、借書者、借閱信息和預(yù)定信息。

7.系統(tǒng)能夠運行在所有流行的技術(shù)環(huán)境中,包括Unix,Windows和OS/2,并應(yīng)有一個現(xiàn)代的圖形用戶界面(GUI)。

8.系統(tǒng)容易擴展新功能。

系統(tǒng)的***版不必考慮預(yù)定的圖書到達(dá)后通知預(yù)定人的功能,也不必檢查借書過期的情況。

2.分析(Analysis)

系統(tǒng)分析的目的是捕獲和描述所有的系統(tǒng)需求,并且建立一個模型來定義系統(tǒng)中主要的域類。通過系統(tǒng)分析達(dá)到開發(fā)者和需求者的理解和溝通。因此,分析一般都是分析員和用戶協(xié)作的產(chǎn)物。在這個階段,程序開發(fā)者不應(yīng)該考慮代碼或程序的問題;它只是理解需求和實現(xiàn)系統(tǒng)的***步。

2.1需求分析(RequirementsAnalysis)

UML設(shè)計中需求分析的***步是確定系統(tǒng)能夠做什么?誰來使用這個系統(tǒng)?這些分別叫角色(actors)和用例(usecases)。用例描述了系統(tǒng)提供什么樣的功能。通過閱讀和分析文檔,以及和潛在的用戶討論系統(tǒng)來分析用例。#p#

圖書館的角色定為圖書管理員和借書人。圖書管理員是軟件系統(tǒng)的用戶;而借書者則是來借閱或預(yù)定圖書雜志的客戶。偶爾,圖書管理員或圖書館的其他工作人員也可能是一個借書者。借書者不直接和系統(tǒng)交互,借書人的功能由圖書管理員代為執(zhí)行。

圖書館系統(tǒng)中的用例有:

1.借書

2.還書

3.預(yù)定

4.取消預(yù)定

5.增加標(biāo)題

6.修改或刪除標(biāo)題

7.增加書目

8.刪除書目

9.增加借書者

10.修改或刪除借書者

由于一本書通常有多個備份,因此系統(tǒng)必須將書的標(biāo)題和書目的概念區(qū)分開。

UML設(shè)計中圖書館系統(tǒng)分析的結(jié)果寫在UML用例圖中。每一個用例都附帶有文本文檔,描述用例和客戶交互的細(xì)節(jié)。文本是通過與客戶討論得到的。用例“借書”描述如下:

1.如果借閱者沒有預(yù)定:

◆確定標(biāo)題

◆確定該標(biāo)題下有效的書目

◆確定借書者

◆圖書館將書借出

◆登記一個新的借閱

2.如果借閱者有預(yù)定:

◆確定借書人

◆確定標(biāo)題

◆確定該標(biāo)題下有效的書目

◆圖書館將相應(yīng)的書目借出

◆登記一個新的借閱

◆取消預(yù)定

除了定義系統(tǒng)的功能需求之外,在分析過程中用例用于檢查是否有相應(yīng)的域類已經(jīng)被定義,然后他們可以被用在設(shè)計階段,確保解決方案可以有效地處理系統(tǒng)功能??梢栽陧樞驁D中可視化實現(xiàn)細(xì)節(jié)。

圖1:角色和用例。分析中的***步就是指出系統(tǒng)能被用來做什么,誰將去使用它。它們分別就是用例和角色。所有的用例必須始于角色,而且有些用例也結(jié)束于角色。角色是位于你所工作的系統(tǒng)外部的人或其他系統(tǒng)。一臺打印機或一個數(shù)據(jù)庫都可能是一個角色。本系統(tǒng)有兩個角色:借閱者和圖書管理員。通過與用戶或客戶的討論,可以將每一個用例用文字進行說明。

2.2域分析(DomainAnalysis)

UML設(shè)計時系統(tǒng)分析也詳細(xì)地列出了域(系統(tǒng)中的關(guān)鍵類)。為了導(dǎo)出一個域分析,可以閱讀規(guī)范文檔(specifications)和用例,查找哪一些概念應(yīng)該被系統(tǒng)處理。或者組織一個集體討論,在用戶及領(lǐng)域?qū)<夜餐膮⑴c下指出系統(tǒng)中必須處理的關(guān)鍵概念,以及它們之間的關(guān)系。

圖書館系統(tǒng)中的域類如下:borrowerinformation(如此命名是為了與用例圖中的角色borrower區(qū)分開來),title,booktitle,magazinetitle,item,reservation和loan。這些類以及它們之間的關(guān)系記錄在類圖文檔中,如圖2所示。域類定義為Businessobject版型,Businessobject版型是一個用戶自定義的版型,指定該類的對象是關(guān)鍵域的一部分,并且應(yīng)該在系統(tǒng)中持久存儲。
其中有些類有UML狀態(tài)圖,用來顯示這些類的對象可能具有的不同狀態(tài),以及觸發(fā)他們的狀態(tài)發(fā)生改變的事件。該例子中有狀態(tài)圖的類是item和title類。
用例lenditem(借閱者沒有預(yù)定的情況)的順序圖顯示在圖3中。所有用例的順序圖都可從在線模型中查到。

圖2:域類結(jié)構(gòu)。域分析詳細(xì)說明了系統(tǒng)中的關(guān)鍵類。對每一個對象而言,如果它調(diào)用了其他對象的方法,那么在他們之間就用一條直線連結(jié)起來,以顯示他們之間的關(guān)系。每一個代表類的四邊形被分成了三部分,最頂層包括類的名稱,中間一層是類的屬性,***層是類的方法。類之間的直線是關(guān)聯(lián),用來指出一個對象調(diào)用另一個對象的方法。如果再仔細(xì)看,將會發(fā)現(xiàn)在Loan和Item之間的關(guān)聯(lián)關(guān)系中靠近Loan的一端有“0..1”,這代表關(guān)聯(lián)的重數(shù)。重數(shù)“0..1表示Item可以感知0個到1個loan。其他可能出現(xiàn)的重數(shù)還有:“0..*”表示0或多;“1”表示就是1;“0”表示就是0,“1..*”表示1或多。
當(dāng)對順序圖建模時,必須提供窗體和對話框作為人機交互的界面。在本分析當(dāng)中,只要知道借書、預(yù)定和還書需要窗體就可以了。在此,詳細(xì)的界面不必考慮。
為了把系統(tǒng)中的窗體類和域類分開,所有的窗體類組織在一起放在GUIPackage包中。域類組織在一起放在BusinessPackage包中。

圖3:Lenditem場景的順序圖。UML設(shè)計中場景是從頭到尾實現(xiàn)一個用例的一次特定的過程。場景總是始于角色,而角色是屬于系統(tǒng)外部的。場景描繪了從所有角色的觀點出發(fā),完成一次系統(tǒng)動作的完整過程。UML在用順序圖來圖示場景。本用例圖顯示了在借閱者沒有預(yù)定圖書的情況下的Lend用例。橫在圖的頂部的是參與交互的對象。自上而下表示時間的流逝。首先,圖書管理員嘗試去查找標(biāo)題。標(biāo)有“LendingWindow”的是用戶界面,在分析階段作為一個粗略的對象。橫在順序圖中的每一個箭頭都是一次方法的調(diào)用,箭頭的首端是調(diào)用的對象,箭頭的末端是被調(diào)用的對象。
 

【編輯推薦】

  1. UML設(shè)計的九種圖例及其區(qū)別
  2. UML設(shè)計中五大視圖解析
  3. 實例講解UML對象圖使用
  4. 軟件設(shè)計過程中面向?qū)ο骍ML技術(shù)如何使用
  5. 使用UML設(shè)計數(shù)據(jù)庫應(yīng)用

 

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-12 10:20:33

圖書管理系統(tǒng)中UML應(yīng)

2009-09-03 08:46:55

UML類圖Java

2010-06-09 10:53:28

UML類圖

2009-09-27 10:37:01

Java應(yīng)用程序Hibernate

2023-02-15 18:22:11

測試測試左移開發(fā)

2012-05-29 10:04:08

2021-04-27 07:38:32

分類拆解數(shù)據(jù)

2012-03-06 10:40:58

singleantJava

2009-10-21 09:38:34

VB QuickSor

2010-06-12 09:18:34

UML需求分析

2010-06-09 10:38:07

UML類圖

2010-06-28 18:21:36

UML類圖設(shè)計

2012-09-10 10:31:31

IBMdw

2012-09-06 11:18:17

IBMdw

2020-12-28 14:40:47

云計算云應(yīng)用SaaS

2010-06-12 09:09:33

UML需求分析

2010-06-17 11:12:53

UML構(gòu)件

2010-02-06 14:19:26

ibmdwGoogleMap

2010-11-18 15:52:32

QMLMeeGo

2011-05-03 09:14:45

QtOvi商店Symbian
點贊
收藏

51CTO技術(shù)棧公眾號