Lập mô hình vi Java: Một cuốn sách bài tập với UML

8 69 0
Lập mô hình vi Java: Một cuốn sách bài tập với UML

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết Lập mô hình với Java: Một cuốn sách bài tập với UML tập trung trình bày vấn đề cơ bản về thiết kế và ký pháp UML để phát triển ứng dụng dựa trên Java. Tìm hiểu việc lập sơ đồ tuần tự, bằng cách sử dụng một ứng dụng xử lý vay nợ làm ví dụ.

L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of L p mơ hình v i Java: M t cu n sách t p v UML, Ph n M c : Nh p môn Granville Miller, Tác gi 11 09 2009 Trong vi t u tiên chuyên m c m i c a mình, Granville Miller a m t nh ng kh i n n t ng c a Ngôn ng mơ hình hóa th ng nh t (Unified Modeling Language): l p s tu n t Các s tu n t c s d ng su t trình thi t k trình bày t ng tác n i b gi a tác nhân i t ng m t h th ng thi hành theo th i gian Hãy theo Granville ông t o m t nh ng s này, b ng cách s d ng m t ng d ng x lý vay n làm ví d Ngơn ng mơ hình hóa th ng nh t (UML) m t ký pháp chu n mơ hình hố h th ng h ng i t ng c gi i thi u v i c ng ng l p trình h ng i t ng kho ng th i gian gi a n m 1995 n 1997, UML ã c OMG (Object Management Group - T p oàn Qu n lý i t ng) phê t vào cu i n m 1997 M c dù ã có nhi u tranh cãi kh i u ã c gi i thi u gi a m t b u khơng khí ph n i ph n ngh UML k t ó ã tr thành tiêu chu n công nghi p dành cho ký pháp h th ng UML hi n phiên b n 1.4 ti p t c ti n hoá áp ng nhu c u c a nhà phát tri n h ng i t ng ( bi t thêm chi ti t v l ch s c a UML, xem Tài nguyên.) UML có th khó h!c, ch y u c g"ng a ký pháp mơ hình hố i v i m t m ng r ng l n n th tình hu ng Các ký pháp mơ hình hố u d i d ng s , hi n có chín s c t UML R t may vi c h!c UML có th m t q trình, chia thành giai o n; b n có th ch# h!c m t s m$i l n, b n khơng c n ph i ơm m tồn b nh ng s ph c t p c a m t s n$ l c u tiên c a b n Trong chuyên m c này, s% d&n d"t b n qua trình thi t k ký pháp UML phát tri n ng d ng d a Java Tôi s% gi i thi u nh ng i m c t y u v khung công tác UML cơng ngh mơ hình hố khác theo m t cách lôgic (và hy v!ng thú v ), b n s% h!c c kinh nghi m th c hành b ng ví d mơ hình hố t th gi i th c Trong vi t u tiên này, s% b"t u v i vi c l p s tu n t , b ng cách s d ng m t ng d ng x lý vay n làm ví d Xin l u ý r ng gi thi t b n ã quen v i ngôn ng Java có m t ki n th c c b n v ph ng pháp thu t ng phát tri n h ng i t ng Các khái ni m h ng i t ng s% c gi i thích ng"n g!n, nh ng th o lu n sâu h n n m ph m vi chuyên m c V s tu n t UML không tr b t k' ph ng pháp hay quy trình phát tri n ph n m m c bi t nào; ch# tiêu chu n hố d ng th c ký pháp Tuy nhiên, nhi u ph ng pháp phát tri n l i k t h p v i UML M t nh ng ph ng pháp ó Quy trình th ng nh t Rational (RUP- Rational Unified Process); M t ph ng th c khác phát tri n theo c tính (FDD - feature-driven development) Các s tu n t UML, b n ch t tr c giác a d ng linh ho t c a chúng, ã tr thành m t ph n không th tách r i c a ho t ng mơ hình hố m t tr c c a quy trình S tu n t c s d ng mơ hình hố th sau ây: Các k ch b n ca s d ng Các giao th c m t khung công tác Các h th ng Các l p Lôgic c a ph ng th c Gi i thích s l c v t ng ch c n ng nói ây s% c trình V cá th tác nhân (actor personalities) Cá th tác nhân có th h u ích vi c phát hi n xác nh tác nhân có th tham gia vào m t k ch b n ca s d ng M t tác nhân có th có nhi u cá L p mơ hình v i Java: M t cu n sách t p v UML, Ph n bày theo th t K ch b n ca s d ng i v i ng d ng m&u c a chúng ta, s% s d ng s tu n t mơ hình hố m t k ch b n ca s d ng Ca s d ng m t nhi m v n l( c th c hi n b i m t tác nhân t ng tác v i ng d ng c a b n nh m n m t m c tiêu ã ch# rõ M t tác nhân b t k' ng i s d ng cu i nào, t) ch c nào, hay h th ng mà t ng tác v i, nh ng l i bên ngoài, ng d ng c a b n (Xem ph n V cá th tác nhân tìm hi u v b n cá th tác nhân; nh n c th o lu n sâu h n v k ch b n ca s d ng, xin xem ph n Tài nguyên.) Các giao th c m t khung công tác M t giao th c c t gi a m t khung công tác thành ph n có th thay th l&n c g!i qu n th (ensembles) Vi c hi u bi t v t ng tác mà m t khung cơng tác òi h*i s% giúp +cho vi c phát tri n qu n th m i S tu n t th ng c s d ng làm t li u d&n ch ng cho t ng tác Các h th ng Các d án l n c phân chia thành m nh nh* h n, d, qu n lý h n g!i h th ng Các giao di n gi a h th ng r t quan tr!ng i v i vi c tích h p úng "n chúng vào t)ng th l n h n, ó h th ng S tu n t c s d ng xác nh t ng tác gi a l p biên gi i c a h th ng Các l p M t s l p (nh Socket InetAddress) òi h*i m t chu$i tu n t ph c t p l i g!i ph ng th c t ng tác m t cách thích h p Các chu$i tu n t t o giao th c t ng tác v i m t l p ho c t p h p l p nh v y S tu n t có th c s d ng mô t vi c s d ng m t l p ho c nhóm l p t ng tác v i nhau, b ng cách ó mơ t giao th c c n thi t t ng tác Lôgic ph ng th c Các s tu n t t v i làm t li u d&n ch ng cho logic c a ph ng th c Trên th c t , m t s công c CASE, cho tr c m t ph ng th c Java, s% t ng t o m t s tu n t Vi c l p s tu n t có th dùng thi t k m t ph ng th c t ng lai ho c làm t li u d&n ch ng cho dòng x lý c a m t ph ng th c hi n hành V ng d ng m u Chúng ta s% tìm hi u v cách l p s tu n t v i s giúp +c a Page of th m t ca s d ng xuyên nhi u ca s d ng Cho n nay, b n cá th tác nhân khác ã c xác nh nh c i ti n ho c b n m&u (stereotype) i v i c t UML: tác nhân kh i t o (initiator), máy ch , tác nhân ti p nh n (receiver), tác nhân xúc ti n (facilitator) Do cá th tác nhân có th c ph n ánh s tu n t , b n nên làm quen v i ch c n ng c a chúng M t tác nhân kh i t o m t th c th mà a m t hành vi h th ng ó vào ho t ng Các tác nhân kh i t o có th yêu c u d ch v ho c t o s ki n Trong s tu n t n i có m t tác nhân, tác nhân kh i t o kh i ng chu$i s ki n Các cá th máy ch bên cung c p d ch v cho bên khác Các máy ch giúp +h th ng vi c t cm c ích c a b ng cách cung c p ch c n ng ho c thơng tin t bên ngồi Nhi u h th ng bên ngoài, g m c h i u hành cá th máy ch Các máy ch có xu h ng thu nh n thông i p nh ng h u nh không t o chúng Cá th tác nhân ti p nh n thu nh n thơng tin t h th ng Chúng có th cung c p d ch v nh ng chúng làm vi c ó m t cách th ng K t qu chúng có th khơng mang l i giá tr cho h th ng nh ng s% mang l i giá tr cho tác nhân khác Ví d v m t tác nhân ti p nh n m t kho d li u ho c h th ng l u bên Tác nhân ti p nh n th ng nh n c thông i p t i t ng h th ng nh ng th ng không t o chúng Tác nhân xúc ti n (facilitator) m t tác nhân th c hi n m t hành ng thay m t m t tác nhân khác M t ví d v m t tác nhân xúc ti n m t nhân viên c a hàng cho thuê video, ng i cho thuê video dành cho khách hàng L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of m t ng d ng x lý vay n m&u Do chuyên m c t p trung vào vi c mơ hình hố, khơng ph i vào ph ng th c, c n i th-ng vào vi c l p s , nh v y s% v&n chi ti t c a ng d ng l*ng l(o Các ch c n ng c n b n mà s% l p s ng d ng x lý vay n nh sau: Ca s d ng: N p yêu c u vay n cho (Submit loan request) M t ng i ng n hoàn t t trình n p m t n xin vay n qua Internet t i ngân hàng H th ng ki m tra tính h p l c a thơng tin n xin vay, ki m tra xem ã xác y nh t ch a H th ng chuy n ti p yêu c u vay ti n n m t phòng tín d ng bên ngồi nh n c m t báo cáo tín d ng c a ng i ng n H th ng tính tốn i m s tín d ng c a ng i ng n d a báo cáo tín d ng ã tr v B t u B c u tiên t o m t s tu n t xác nh xem s ó có bi u di,n m t t ng tác v i m t th c th bên hay bên h th ng N u b n ang mơ hình hoá m t k ch b n ca s d ng, s tu n t c a b n th ng s% bi u di,n m t t ng tác v i m t th c th bên N u b n ang mơ hình hố giao th c m t khung công tác, s có th bi u di,n m t t ng tác bên ho c bên Các s cho h th ng con, l p, logic c a m t ph ng th c riêng l( th ng ch# bi u di,n th c th bên Dù ó tr ng h p ki u t ng tác mà b n ang mơ hình hố s% xác nh ph n t u tiên (và bên trái) s tu n t ó ng b l ph n l i c a lo t "M t cu n sách t p v UML" Ph n 2: "Logic i u ki n s tu n t " (06.2001) Ph n 3: "Logic giao di n ng vi c l p mơ hình ca s d ng" (06.2001) i dùng Ph n 4: "Vai trò c a tác nhân" (06 2002) M t t ng tác v i m t th c th bên ch# rõ r ng m t tác nhân s% m t bên c a t ng tác ó M t t ng tác bên có th c m t tác nhân kích ho t (n u ca s d ng h th ng c s c a t ng tác), nh ng r t có th s% c kích ho t b i m t l p chung g!i Sender (bên g i) N u m t tác nhân kh i ng t ng tác này, tác nhân ó s% r i vào lo i hình tác nhân kh i t o, m t b n cá th tác nhân ph) bi n (xin xem V cá th tác nhân (About actor personalities) bi t thêm chi ti t) Chúng ta s% t p trung vào vi c l p s m t k ch b n cho ng d ng x lý vay n c a chúng ta: ó ca s d ng n p yêu c u vay n phác th o ây Hãy ý t i thay )i v i s tu n t c a m t ng i ng n hoàn t t m t n vay ti n tr c n trình n p Internet Trong k ch b n này, ng i ng n bên so v i h th ng ó c i di n b i m t tác nhân Chúng ta s% b"t u b ng cách thêm tác nhân này, Applicant, vào s , nh Hình Hình Thêm vào ng i ng n L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Thêm vào ng Page of i ch i Khi tác nhân kh i t o c a t ng tác ã s.n sàng, b c ti p theo thêm vào i t ng mà tác nhân s% t ng tác v i chúng theo di,n bi n c a k ch b n Tên c a i t ng s% ph n ánh hành vi c a l p hay cá th (Vi c l a ch!n l p hay ch!n cá th i t ng mang l i m t ý ngh/a riêng bi t cho s tu n t , nh ng s% dành l i vi c th o lu n v s khác bi t gi a hai l a ch!n ó cho l n sau) i v i k ch b n m&u, s% thêm vào hai l p: LoanApplication LoanRequest M t n xin vay ti n b"t bu c ph i có xin vay ti n Nó ch a thông tin v ng i làm n kho n ti n mu n vay M t yêu c u vay ti n m t m&u bi u ngân hàng g i n m t phòng tín d ng sau nh n c n xin vay ti n Nó ch a m t s thơng tin t n xin vay ti n, c0ng nh m t yêu c u nh n thông tin v l ch s tín d ng c a ng i ng n Vi c thêm hai l p vào s tu n t c th hi n Hình Hình Thêm vào hai l p t ng tác L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of N i nét ch m , nét g ch Các s tu n t có tính tr c giác i v i h u h t nhà phát tri n ph n m m Chúng ánh x i t ng tác nhân (tr c ngang) v i th i gian (tr c ng) Các thông i p k t n i i t ng, i t i t ng n i t ng khác xuôi xu ng theo tr c ng nh thông i p xu t hi n theo th i gian Các thông i p cn iv im t ng th-ng ng, nét t, b"t ngu n t i m gi a áy c a i t ng hay tác nhân ng g!i dây treo (lifeline) (N.D: khơng bi t có ph i ng i t thu t ng d a vào m t liên t ng b t ng sau ây hay không? Nh ng ng i làm vi c cao ph i eo m t dây an tồn móc th"t l ng, bng thõng xu ng theo chi u th-ng ng, g!i (lifeline)) Trên tr c ngang, bi u di,n thông i p b ng m0i tên ôi g!i m i tên cu c g i hay m i tên thông i p M t m0i tên thông i p h ng t bên g i ( uôi) n bên nh n ( u) Các m0i tên s d ng b"t gi hành vi ng c a h th ng Các cu c g!i th ng b"t u t bên trái i v h ng bên ph i Ngh/a là, m0i tên ban u m t t ng tác th ng n t bên trái Khi t o m t cá th m i c a m t l p, v% m0i tên tr* n l p ó ch không ph i n dây treo c a B c u tiên k ch b n c a t o m t n xin vay ti n m i, v y s% v% m t m0i tên gi a Applicant LoanApplication B i vi c t o m t cá th m i Java bao g m vi c g!i hàm t o (constructor), có th gán nhãn m0i tên b ng tên hàm t o có th g m c i s c a Chúng ta v&n ang giai o n phân tích c a vòng i phát tri n ph n m m, v y c n bao g m thêm thông tin phân tích nhi u t t M t nh ng nhà phân tích nghi p v c a ã nói r ng g!i hành ng t o m t n xin vay ti n m i "hoàn t t n xin vay" N u mu n th t sát úng i v i s tu n t ang xây d ng này, có th tri n khai th c hi n complete nh m t ph ng th c t/nh công c ng (public static), ó s% g!i hàm t o LoanApplication nh Hình Hình T o LoanApplication V s m ts Khi m t l p ho c cá th nh n kích ho t c m t thơng i p, t o m t h p dây treo c a it ng ti p nh n; L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of vi c g!i m t kích ho t.M t kích ho t bi u di,n dòng i u n ph ng th c c a bên nh n Khi m t thông i p d&n n vi c t o m t i t ng, kích ho t u tiên bi u di,n cho logic c a hàm t o Các thông i p sau ó s% d&n n vi c t o kích ho t m i Sau nh n c m t thông i p, i t ng nh n có th , n l t mình, g i thơng i p n ho c n i t ng khác i u th hi n b ng uôi c a m0i tên, trình bày thơng i p xu t phát t kích ho t ó k t thúc t i kích ho t m i Khi m t i t ng g!i nó, kích ho t m i c t lên kích ho t c0 Trong k ch b n c a chúng ta, ng i ng n t ng tác v i n xin vay ti n hai l n, u tiên hoàn t t nó, l n th hai g i n p Khi LoanApplication nh n c thông i p submit t ki m tra h p l b ng cách g i m t thông i p validate n N u h p l , s% t o m t LoanRequest m i g i n phòng tín d ng Hình cho th y vi c ki m tra h p l LoanApplication Hình Ki m tra h p l LoanApplication Khi m i tên bay: Cho bi t th i gian trôi qua Chúng ta s d ng m t m0i tên nghiêng bi u th ã trôi qua m t quãng th i gian k gi a kho ng th i gian m t thông i p c g i i th i gian c ti p nh n Ký pháp s d ng cho bi t r ng m t cu c g!i không ph i nguyên t (N.D: t c có th phân chia c) Ví d v cu c g!i không nguyên t l i g!i ph ng th c thông qua CORBA ho c RMI, ho c thông i p g i qua m ng Trong ví d c a chúng ta, phòng tín d ng m t h th ng bên ngoài, m t tác nhân có cá th máy ch (xin xem V cá th tác nhân bi t thêm chi ti t) Các máy ch th ng không phát thông i p, mà úng h n yêu c u thông i p g i n chúng tr ng h p yêu c u v m t báo cáo tín d ng, cg ib ib ki m tra tín d ng B ki m tra tín d ng i di n cho phòng tín d ng Nó theo dõi chuy n ti p u c u n phòng tín d ng, theo dõi nh n ph n h i, m t khác thi t l p k t n i gi a ng d ng x lý vay n phòng tín d ng Phòng tín d ng s% nh n yêu c u x lý theo l ch bi u riêng c a Chúng ta s L p mơ hình v i Java: M t cu n sách t p v UML, Ph n d ng m0i tên nghiêng bi u di,n th i gian trơi qua, nh Hình d Page of i ây Khi k t thúc m t kích ho t, ph n tr v cho bên g!i n Tuy nhiên, m t s tr ng h p, b n có th mu n làm cho ph n tr v hi n t ng minh Các l i g!i tr v t ng minh c th hi n b ng m t m0i tên nét t có i bên nh n u bên g i M0i tên tr l i t ng minh th ng c g"n nhãn b ng giá tr mà cu c g!i tr v i v i ví d c a chúng ta, ã thêm vào m t m0i tên t ng minh gi a CreditBureau CreditChecker M0i tên có th c g"n nhãn CreditReport, ó i t ng c tr l i t ph ng th c requestCreditReport Hình Nh n m t CreditReport Còn nh ng n a Nh ã nêu ph n u chuyên m c này, s tu n t h u ích i v i vi c mơ t hành vi bên c a m t h th ng theo th i gian Trong vi t này, ã a b n qua b c u tiên c a vi c xây d ng s tu n t b ng vi c mơ hình hố t ng tác gi a i t ng Trong ph n ti p theo, s% gi i thi u hai d ng s tu n t (chung cá th ) gi i thích vai trò c a logic i u ki n vi c l p s tu n t , b ng cách s d ng ví d rút t ph ng th c Java n gi n H1n g p b n sau! Tài nguyên Martin Fowler (tác gi c a UML Distilled) c a UML a m t nhìn c a ng i cu c v l ch s kh i N u b n nghiêm túc mu n tìm hi u v UML b n nên b"t u b ng vi t g c c a ba ng i b n (Booch, Jacobson, Rumbaugh): H ng d n s d ng Ngơn ng Mơ hình hố th ng nh t (lo t v Cơng ngh i t ng c a Addison Wesley, 1998) Ti p theo danh sách c t y u c n !c 1.4 tính n 02.2001) c t Ngơn ng Mơ hình hố th ng nh t c a OMG (b n Trang Tài nguyên UML c a Rational cung c p thông tin hi n t i v UML, RUP, nhi u th n a M t cu n sách !c v phát tri n theo c tính Quy trình th ng nh t c a Rational Mơ hình hố Java v i màu s c b ng UML (Java Modeling in Color with UML) c a Peter Coad, Eric Lefebvre, u L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of Jeff DeLuca (Prentice Hall, 1999) • M t cu n sách t t n a v RUP Quy trình th ng nh t c a Rational: Bài gi i thi u c a c a Philippe Kruchten (Addison Wesley, 2000) nét v tác gi Granville có 13 n m kinh nghi m c ng ng h ng i t ng Ông ng tác gi c a lo t Advanced Use Case Modeling (Mô hình hố ca s d ng nâng cao) ã trình bày h ng d&n t i nhi u h i ngh công ngh h ng i t ng toàn th gi i Cách ti p c n th c hành n vi c phát tri n h ng i t ng c a ông k t qu q trình làm vi c c a ơng v i công ty, t công ty kh i u giai o n non tr( n m t s nh ng ng i kh)ng l ph n m m ti ng t m nh t Ông hi n ang gi ng d y xê mi na, phiên h ng d&n, l p h!c v quy trình ph ng pháp lu n phát tri n lanh l i (agile), công ngh Java, c0ng nh c v n giúp + cung c p d án n ng n) ... nhân vi n c a hàng cho thuê video, ng i cho thuê video dành cho khách hàng L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of m t ng d ng x lý vay n m&u Do chuyên m c t p trung vào vi. .. tin v l ch s tín d ng c a ng i ng n Vi c thêm hai l p vào s tu n t c th hi n Hình Hình Thêm vào hai l p t ng tác L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Page of N i nét ch m , nét... s% b"t u b ng cách thêm tác nhân này, Applicant, vào s , nh Hình Hình Thêm vào ng i ng n L p mơ hình v i Java: M t cu n sách t p v UML, Ph n Thêm vào ng Page of i ch i Khi tác nhân kh i t o c

Ngày đăng: 30/01/2020, 02:15

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan