亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用UML編寫Java應用程序 (2)設計

2019-11-18 12:19:41
字體:
來源:轉載
供稿:網友

  當已經考慮了所有的技術細節和限制條件,我們就可以進入設計階段,設計階段需要展開和細化分析模型。設計的目的是為了說明一種可以很輕易地翻譯成程序設計代碼的工作解決方案。
  
  設計階段可以分成兩部分:
  
  1、結構設計 這是非常高級的設計,說明在什么地方定義包(子系統),以及包與包之間的相互依靠與通信機制。自然,我們的目標是構建一種清楚而又簡單的體系結構,包與包之間的依靠要少,假如可能的話,盡量避免雙向的依靠。
  
  2、具體設計 所有的類都應描述足夠的細節,來明確規定誰來編碼這些類。 UML中的動態模型用于示范類的對象在具體的環境中的行為。
  下面我將具體說明。
  
  第一節 結構設計
  一個設計良好的體系結構是開發一個可擴展、可改變的系統的基礎,程序包所需要關心的是要么處理一個具體的功能區域,要么處理一個具體的技術區域。從技術邏輯中把應用程序邏輯(域類)區分開來是極其重要的,這是為了萬一需要修改程序的某一部分而不會對另一部分產生影響:一個目標就是標識并設定包與包之間(例如“子系統”)的相互依靠的規則,并不在包之間創建雙向的依靠(為了避免程序包集成的太過緊密),另一個目標是為了表示標準類庫的需要。現在可用的應用程序庫強調的主要還是在技術領域,比如用戶界面,數據庫或通信機制等等,但是,我們也同樣盼望出現更多的具體的應用程序庫。
  
  本案例研究中的程序包或者說是子系統如下:
  
  1、用戶界面包(User-Interface) 這些類都是基于 java AWT包這個Java中用于編寫用戶界面應用程序的一個標準的類庫。這個程序包與商業對象包(Business Object)協作,商業對象包包含了實際上用于儲存數據用的類,用戶界面包調用商業對象中的方法來取得并向商業對象中插入數據。
  
  2、商業對象包(Business Object) 它包括來自分析模型,比如 BorrowerInformation, Title, Item, Loan等等的討論域類。 該設計完全地定義了它們的操作并且添加了對于持久性的支持。 商業對象包與數據庫包合作,所有的商業對象類都必須從數據庫包中的 Persistent類繼續而來。
  
  3、數據庫包 (Database Package) 數據庫包給商業對象包中的另外一個類提供服務,以使它們能夠持久的儲存信息。在目前的版本,Persistent類將儲存它的子類對象到文件系統中的文件中去。
  
  4、實用程序包(Utility Package) 實用程序包包含用于該系統中的另外一個包的服務,現在,該包中只有 ObjId類,它用于引用遍及本系統的持久對象,包括用戶界面,商業對象和數據庫包。
  
  第二節 具體設計
  具體設計描述新的類--在用戶界面和數據庫包中的類,以及在本分析中描繪的商業對象類以外的人。本類的狀態和動態圖表使用的是與分析過程中一樣的圖表,但是它們被定義在更加具體和更高的技術層次,分析過程中的使用案例描述用于驗證在設計階段處理的使用案例,使用序列圖表闡明在系統中,每個使用案例是如何在技術上實現的。
  
  數據庫包 應用程序必須有持久儲存對象,所以必須添加一個數據庫層來提供這個服務,為了簡單起見,我們把對象作為文件儲存在磁盤上,關于存儲器的細節就不需要被應用程序所知了,它調用通用操作,比如 store()、update()、delete()和 find()等等,這些都是一個調用 Persistent的類的一部分,所有的類都需要繼續 Persistent(持久對象)。
  
  持久性處理中的一個重要的因素就是 ObjId類,它的對象用于引用任何系統中的持久對象 (無論對象是在磁盤上還是已經被讀入應用程序中了 )。 ObjId是Object Identity的簡寫,是一種熟知的技術,用于處理應用程序中的對象引用。 通過使用對象標識,一個對象標識號就能被傳遞到 Persistent.getObject ( )操作,然后該對象將從持久存儲器中取回。 通常,這要通過每個持久類中的 getObject操作來完成,它還要執行必要的類型檢查和轉換。對象標識號還可以很輕易地作為操作的參數被傳遞 (例如,一個尋找具體對象的搜索窗口可以通過對象標識號傳遞它的結果到另外一個窗口 )。
  
  ObjId標識系統(用戶界面、商業對象和數據庫)中所有的包使用的一個常規類,因此它在設計階段就被放進實用程序包中而不是數據庫包中。Persistent類的當前實現還可以不夠完善,它的最終目標是可以很輕易的改變持久存儲器的實現,目前的替代的辦法是把對象出存在關系數據庫或面向對象數據庫中,也可以使用Java中的持久對象支持儲存它們。
  
  商業對象包 在設計階段中的商業對象包基于分析過程中相應的包——討論域類。類以及它們的相互關系和行為沒有變,但是類被描述的更加具體,包括了它們的相互關系和行為如何實現。
  
  一些操作已經被翻譯成好幾個設計模型中的操作,一些還被改了名稱,這都是很正常的,因為分析只是每個類的能力的描繪,而設計則是系統具體的描述,因此設計模型中的所有的操作都必須有定義好的特征和返回值,注重,下面給出了設計與分析的不同。
  
  系統的當前版本不必檢查一本書是否及時歸還,也不必處理預借書籍的訂單,因此Loan和 Reservation類的日期屬性就沒有實現。
  
  雜志和書的處理過程是完全相同的,除了借期的不同,而且它還不用處理。 在分析中, Magazine和 Book Title子類已經被認為不必要的并且在 Title類中只有一個類型屬性指定該書名是否指出一本書或雜志。在以后的應用程序版本中,假如認為有必要的話,這兩個簡化都可以刪除。
  
  分析過程中的狀態圖表在設計階段又被細化了,顯示在工作系統中狀態如何被表示以及被處理。 Title類的設計狀態圖表如圖 6。 其他對象可以通過調用 addReservation ( )和 removeReservation ( )操作來改變 Title的狀態,就像這張圖表中所顯示的那樣。
  
  用戶界面包 用戶界面包總是在其他包之前,在系統中,它給用戶提供服務和信息,顯然,這個包基于標準的 Java AWT ( Abstract Window Toolkit )類。設計模型中的動態模型已經被分配到 GUI包中,因為所有的與用戶的交互作用都是通過用戶界面開始的, 此外,我們還選擇序列圖表來說明動態模型,本使用案例的設計模型的實現都是用細節描述的,包括類中的實際的操作。序列圖表實際上是以一系列迭代的形式創建的。在實現(即編碼)階段更多的細節上的發掘會產生更進一步的迭代。 圖 7表明 Add Title的結果設計序列圖表。
  
  第三節 用戶界面設計
  在設計階段,我們使用一個特定活動創建用戶界面。
  
  圖書館應用程序中的用戶界面是基于本使用案例的,并且已經被分成下列部分,在主窗口上,它的每個部分都已經被給予一個單獨的菜單欄:
  
  1、功能 本系統中的主要功能的窗口就是用來借書、還書以及與借書籍的登記工作等。
  
  2、信息 本系統中的查看信息的窗口就是用來收集書名和借書者的信息。
  
  3、維護 維護本系統的窗口用來添加、更新和刪除書名、借書者以及書籍。
  
  一般情況下,每個窗口提供一個系統中的服務并且映射到一個使用案例 (即使并不是所有的用戶界面都必須從一個使用案例中映射而來), 創建一個成功的用戶界面超出本文討論的范圍,讀者朋友請參閱文后提供的代碼。我以后還會專門輯文探討這個問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线观看视频99| 久久精品视频在线播放| 日韩欧美高清在线视频| 亚洲第一精品久久忘忧草社区| 黄色精品一区二区| 色悠悠久久久久| 久久精品欧美视频| 亚洲精品456在线播放狼人| 欧美大尺度在线观看| 日本精品免费观看| 欧美一级大片在线免费观看| 日本精品va在线观看| 亚洲人成电影在线播放| 久久99热这里只有精品国产| 亚洲成人a**站| 久久久久久国产免费| 午夜精品久久久久久久久久久久久| 欧美一级片一区| 97视频在线观看免费| 91亚洲午夜在线| 久久精品国产亚洲| 国产91精品青草社区| 国产91露脸中文字幕在线| 国产精品电影观看| 日韩激情第一页| 欧美中在线观看| 国产日韩精品在线播放| 日本aⅴ大伊香蕉精品视频| 高清一区二区三区四区五区| 国产精品444| 伊人一区二区三区久久精品| 2018中文字幕一区二区三区| 欧美日韩精品在线| 国产精品色悠悠| 91精品国产91久久久久久不卡| 日韩人在线观看| 亚洲精品在线观看www| 欧美小视频在线观看| 中文字幕v亚洲ⅴv天堂| 亚洲天堂av综合网| 色综合色综合久久综合频道88| 亚洲精品ady| 欧美亚洲另类在线| 国产拍精品一二三| 成人午夜小视频| 91免费电影网站| 在线播放国产一区中文字幕剧情欧美| 亚洲精品国产欧美| 亚洲精品成人久久久| 亚洲精品欧美日韩专区| 日韩av电影中文字幕| 久久久久久有精品国产| 国内精品免费午夜毛片| 日韩高清免费观看| 国产精品精品视频一区二区三区| 日韩成人在线网站| 伊人伊成久久人综合网小说| 国产成人精品久久二区二区| 海角国产乱辈乱精品视频| 亚洲欧美在线第一页| 日韩av在线资源| 欧美电影电视剧在线观看| 中文字幕精品久久| 日韩精品在线视频| 欧美中文字幕在线观看| 久久视频免费观看| 日韩精品极品视频免费观看| 清纯唯美亚洲综合| 38少妇精品导航| 色爱精品视频一区| 久久精品久久久久| 一区二区三区www| 亚洲qvod图片区电影| 国产精品三级在线| 91久久久久久国产精品| 国产精品一区二区久久久久| 久久成年人免费电影| 国产国语videosex另类| 38少妇精品导航| 日韩精品中文字幕久久臀| 91精品久久久久久久久久另类| 91高清视频免费| 国产一区私人高清影院| 日韩在线免费视频| 色综合视频网站| 日韩av电影免费观看高清| 欧美一级大片在线观看| 日韩av免费在线看| 北条麻妃99精品青青久久| 91免费看视频.| 国产免费一区视频观看免费| 全球成人中文在线| 欧美成人在线影院| 亚洲欧美日韩另类| 成人有码在线视频| 亚洲毛片在线观看.| 久热精品视频在线观看一区| 国产精品美女主播在线观看纯欲| 欧美极品少妇xxxxx| 欧美在线视频免费播放| 日本精品va在线观看| 奇米一区二区三区四区久久| 亚洲国产成人精品女人久久久| 91亚洲精品在线| 欧美日韩在线影院| 日韩av影视在线| 久久久久女教师免费一区| 一色桃子一区二区| 欧洲午夜精品久久久| 中文字幕视频在线免费欧美日韩综合在线看| 国产一区二区三区在线| 欧美激情欧美狂野欧美精品| 91大神在线播放精品| 亚洲欧美激情一区| 久久久久久久久久久人体| 日韩av影片在线观看| 亚洲开心激情网| 色综合视频一区中文字幕| 成人黄色av网| 亚洲欧美国内爽妇网| 亚洲乱码国产乱码精品精天堂| 欧美激情18p| 欧美激情亚洲自拍| 国产精品精品视频| 欧美亚洲第一页| 欧洲午夜精品久久久| 茄子视频成人在线| 国产成人一区二区三区小说| 色偷偷av一区二区三区乱| 一色桃子一区二区| 中文综合在线观看| 国产一区私人高清影院| 亚洲精品自拍第一页| 欧美在线观看视频| 91chinesevideo永久地址| 日本一区二三区好的精华液| 亚洲a级在线观看| www.色综合| 亚洲第一精品夜夜躁人人爽| 国产91对白在线播放| 国产亚洲精品成人av久久ww| 亚洲一区美女视频在线观看免费| xxxx性欧美| 久久综合免费视频影院| 综合欧美国产视频二区| 亚洲女人被黑人巨大进入| 中文字幕精品一区久久久久| 国产精品美女在线观看| 久久久久久国产精品三级玉女聊斋| 法国裸体一区二区| 久久精品人人爽| 热久久免费国产视频| 日韩免费高清在线观看| 97国产精品人人爽人人做| 日韩电视剧在线观看免费网站| 7m第一福利500精品视频| 国产精品日韩久久久久| 欧美综合在线观看| 欧美在线一区二区三区四| 中文字幕免费国产精品| 中文字幕在线观看亚洲| 久久久久久久久亚洲| 国产精自产拍久久久久久| 成人免费午夜电影|