LI NÓI U
2.3 GI I THI U CÔNG C RATIONAL ROSE
Rational Rose là m t b công c đ c s d ng cho phát tri n các h ph n m m h ng đ i t ng theo ngôn ng mô hình hóa UML. V i ch c n ng c a m t b công c tr c quan, Rational Rose cho phép chúng ta t o, quan sát, s a đ i và qu n lý các bi u đ . T p ký hi u mà Rational Rose cung c p th ng nh t v i các ký hi u trong UML. Ngoài ra, Rational Rose còn cung c p ch c n ng h tr qu n lý d án phát tri n ph n m m, cung c p các th vi n đ h tr sinh khung mã cho h th ng theo m t ngôn ng l p trình nào đó.
Màn hình kh i đ ng c a Rational Rose phiên b n 2002 nh trong Hình 2.19. Ng i s d ng s có th ch n th vi n d đnh s cài đ t h th ng, Rational Rose s t i v các gói t ng ng trong th vi n đó. Các gói này (cùng các l p t ng ng) s xu t hi n trong bi u đ l p, ng i s d ng s ti p t c phân tích, thi t k h th ng c a mình d a trên th vi n đó. N u s d ng Rational Rose đ xây d ng h th ng t đ u thì ng i s d ng nên b qua ch c n ng này.
Hình 2.19: Màn hình kh i đ ng Rational Rose
Trong giao di n c a Rational Rose (Hình 2.19), c a s phía bên trái là c a s Browser ch a các View (h ng nhìn, quan đi m), trong m i View là các mô hình t ng ng c a UML. Có th xem m i View là m t cách nhìn theo m t khía c nh nào đó c a h th ng.
- Use Case View: xem xét khía c nh ch c n ng c a h th ng nhìn t phía các tác nhân bên ngoài
- Logical View: xem xét quá trình phân tích và thi t k logic c a h th ng
đ th c hi n các ch c n ng trong Use Case View.
- Component View: xem xét khía c nh t ch c h th ng theo các thành ph n và m i liên h gi a các thành ph n đó.
- Deployment View: xem xét khía c nh tri n khai h th ng theo các ki n trúc v t lý.
C a s phía bên ph i c a màn hình Rational Rose là c a s bi u đ (Diagram Windows) đ c s d ng đ v các bi u đ s d ng các công c v t ng ng trong ToolBox. H u h t các ký hi u s d ng đ v bi u đ trong Rational Rose
Hình 2.20: Giao di n chính c a Rational Rose
Giao di n chính c a Rational Rose trong các bi u đ đ u đ c chia thành các ph n nh trong Hình 2.21. Ý ngh a chính c a các thành ph n này nh sau:
- MenuBar và ToolBar ch a các menu và công c t ng t nh các ng d ng Windows khác.
- Ph n Browser Window cho phép ng i s d ng chuy n ti p nhanh gi a các bi u đ trong các View.
- Ph n Doccumentation Window dùng đ vi t các thông tin liên quan đ n các ph n t mô hình t ng ng trong bi u đ . Các thông tin này có th là các ràng bu c, m c đích, các t khóa … liên quan đ n ph n t mô hình đó.
- Ph n ToolBox ch a các công c dùng đ v bi u đ . ng v i m i d ng bi u
Menu/ToolBar Diagram Window Browser Window ToolBox Specification Window Doccumentation Window
Hình 2.21: Các thành ph n trong giao di n Rational Rose
- Ph n Diagram Window là không gian đ v và hi u ch nh các bi u đ trong mô hình t ng ng.
- C a s Specification Window là đ c t chi ti t c a m i ph n t mô hình theo các tr ng thông tin t ng ng v i d ng bi u đ đó.
V n đ s d ng Rational Rose cho các b c c th trong phân tích thi t k h th ng s đ c trình bày chi ti t trong Ch ng 3 và 4 c a tài li u này.
T NG K T CH NG 2
Ch ng 2 đã gi i thi u ngôn ng mô hình hoá th ng nh t UML và công c Rational Rose cho phát tri n ph n m m h ng đ i t ng. Các n i dung chính c n ghi nh :
• UML ra đ i t s k t h p các ph ng pháp lu n phát tri n ph n m m h ng đ i t ng khác nhau đã có tr c đó. UML hi n nay đã đ c coi là ngôn ng mô hình hoá chu n cho phát tri n các ph n m m h ng đ i t ng.
• UML đ c chia thành nhi u h ng nhìn, m i h ng nhìn quan tâm đ n h th ng ph n m m t m t khía c nh c th .
• N u xét theo tính ch t mô hình thì UML có hai d ng mô hình chính là mô hình t nh và mô hình đ ng. M i mô hình l i bao g m m t nhóm các bi u đ
khác nhau.
• M i bi u đ UML có m t t p ký hi u riêng đ bi u di n các thành ph n c a bi u đ đó. Quá trình bi u di n các bi u đ c ng ph i tuân theo các quy t c
đ c đnh ngh a trong UML.
• Hi n nay có r t nhi u công c h tr phân tích thi t k h th ng h ng đ i t ng s d ng UML trong đó b công c Rational Rose là b công c đ c s d ng r t r ng rãi v i nhi u tính n ng u vi t. Các ví d trong tài li u này
đ u đ c xây d ng và bi u di n trên Rational Rose.
CÂU H I – BÀI T P
1. UML ra đ i t các ngôn ng và ph ng pháp mô hình hóa nào? 2. H ng nhìn là gì? UML bao g m các h ng nhìn nào?
3. Li t kê các bi u đ c a UML và t p ký hi u UML cho t ng bi u đ đó. 4. Li t kê các b c phát tri n ph n m m h ng đ i t ng s d ng UML 5. Phân bi t mô hình t nh và mô hình đ ng trong UML?
6. Phân bi t các d ng quan h trong bi u đ l p nh : quan h khái quát hóa, quan h k t h p, quan h c ng h p, quan h g p.
7. Phân bi t bi u đ tu n t và bi u đ c ng tác. Các chú ý khi bi u di n hai bi u đ này.
CH NG 3
PHÂN TÍCH H NG I T NG
Ch ng này trình bày các b c phân tích h ng đ i t ng, các khái ni m và quy t c liên quan đ n quá trình phân tích h th ng. N i dung c th g m:
- T ng quan các b c c a pha phân tích h ng đ i t ng - B c xây d ng mô hình use case và k ch b n
- B c xây d ng mô hình l p
- B c xây d ng mô hình đ ng d a trên bi u đ tr ng thái
3.1 T NG QUAN V PHÂN TÍCH H NG I T NG
3.1.1 Vai trò c a pha phân tích
Trong các b c c a vòng đ i phát tri n ph n m m nói chung, pha phân tích (hay
đ c t ) có các nhi m v sau:
- Thi t l p m t cách nhìn t ng quan rõ ràng v h th ng và các m c đích chính c a h th ng c n xây d ng.
- Li t kê các nhi m v mà h th ng c n th c hi n.
- Phát tri n m t b t v ng đ mô t bài toán c ng nh nh ng v n đ liên quan trong mi n quan tâm c a bài toán.
- a ra h ng gi i quy t bài toán.
Nh v y, pha phân tích ch d ng l i m c xác đ nh các đ c tr ng mà h th ng c n ph i xây d ng là gì, ch ra các khái ni m liên quan và tìm ra h ng gi i quy t bài toán ch ch a quan tâm đ n cách th c th c hi n xây d ng h th ng nh th nào. Nh cách nói trong ngôn ng ti ng Anh, pha phân tích nh m tr l i cho câu h i “what”, còn câu h i “how” s đ c tr l i trong pha thi t k .
3.1.2 Các b c phân tích h ng đ i t ng
Phân tích h ng đ i t ng đ c chia làm ba b c t ng ng v i ba d ng mô hình UML là:
• Mô hình use case: b c này nh m xây d ng mô hình ch c n ng c a s n ph m ph n m m. Các ch c n ng này đ c nhìn t quan đi m c a nh ng ng i s d ng h th ng. K t qu c a b c này là m t bi u đ use case
đ c phân c p cùng các scenario t ng ng c a t ng use case, trong đó bi u di n đ y đ các ch c n ng c a h th ng và đ c khách hàng ch p nh n.
• Mô hình l p: bi u di n các l p, các thu c tính và m i quan h gi a các l p.
T t p các use case và scenario, nhóm phát tri n h th ng s ph i ch ra các l p, xác đnh các thu c tính, các ph ng th c và các m i quan h gi a các l p.
• Mô hình đ ng: bi u di n các ho t đ ng liên quan đ n m t l p hay l p con. Các ho t đ ng này đ c bi u di n d i d ng t ng t nh s đ máy tr ng thái h u h n và đ c g i là bi u đ tr ng thái. Ngoài bi u đ tr ng thái, trong mô hình đ ng còn có các bi u đ khác là: bi u đ t ng tác (g m c bi u đ tu n t , bi u đ c ng tác) và bi u đ đ ng. Tuy nhiên, trong pha phân tích, ng i phát tri n h th ng ch quan tâm đ n bi u đ tr ng thái cho m i l p đã xác đnh đ c trong mô hình l p.
3.1.3 Ví d
minh h a cho các b c phân tích c ng nh trong pha thi t k Ch ng 4, chúng ta hãy xét m t h qu n lý th vi n đ n gi n. Gi i h n c a h th ng này
đ c th hi n qua các yêu c u sau:
- Tài li u trong th vi n bao g m: sách, báo, t p chí ... đ c mô t chung g m các thu c tính: tên tài li u, tác gi , nhà xu t b n, n m xu t b n, s l ng hi n có.
- i v i các b n đ c: th c hi n các thao tác tìm tài li u, m n, tr tài li u và xem xét các thông tin v tài li u mà mình đang m n. Vi c tìm ki m tài li u đ c th c hi n tr c ti p qua m ng. Tuy nhiên, giao d ch m n và tr sách ph i th c hi n tr c ti p t i th vi n.
- Quá trình m n và tr tài li u thông qua m t th m n ghi đ y đ n i dung liên quan đ n b n đ c và tài li u đ c m n; th i gian b t đ u m n và th i h n ph i tr .
- i v i ng i qu n lý th vi n (th th ): đ c phép c p nh t các thông tin liên quan đ n tài li u và b n đ c.
Bài toán này s đ c s d ng làm ví d trong quá trình th c hi n các b c phân tích và thi t k h th ng (Ch ng 3, 4). Tài li u phân tích thi t k h th ng s
đ c trình bày đ y đ trong ph n Ph l c.
3.2 MÔ HÌNH USE CASE VÀ K CH B N
3.2.1 Vai trò c a mô hình use case
Khi b t đ u xây d ng m t s n ph m ph n m m, nhóm phát tri n ph i xác đ nh các ch c n ng mà h th ng c n ph i th c hi n là gì. Bi u đ use case đ c s d ng đ
xác đ nh các ch c n ng c ng nh các tác nhân (ng i s d ng hay h th ng khác) liên quan đ n h th ng đó.
Có th coi m t use case là t p h p c a m t lo t các k ch b n (scenario) liên quan đ n vi c s d ng h th ng theo m t cách th c nào đó. M i k ch b n (scenario) mô t m t chu i các s ki n mà m t ng i hay m t h th ng khác kích ho t vào h th ng đang phát tri n theo tu n t th i gian. Nh ng th c th t o nên các chu i s ki n nh th đ c g i là các tác nhân (Actor). M t h th ng s bao g m nhi u use case, liên k t v i nhau b i các m i quan h nào đó. Bi u đ use case đ c phân rã thành các m c t ng ng v i các ch c n ng các c p đ khác nhau, nhìn t quan đi m ng i s d ng h th ng. S c n thi t ph i xây d ng bi u
đ use case th hi n qua m t s đi m sau:
- Use case là m t công c t t đ ng i dùng ti p c n và mô t các ch c n ng c a h th ng theo quan đi m c a mình. Bi u đ use case đ c bi u di n tr c quan, do đó khách hàng và nh ng ng i dùng ti m n ng c a h th ng có th d dàng mô t đ c nh ng ý đnh th c s c a mình.
- Bi u đ use case s làm cho khách hàng và ng i dùng ti m n ng tham gia cùng nhóm phát tri n trong b c kh i đ u c a quá trình phân tích thi t k h th ng. i u này s giúp cho nhóm phát tri n và khách hàng có đ c s th ng nh t chung v các ch c n ng th c s c n thi t c a h th ng.
- Bi u đ use case là c s cho nh ng b c ti p theo c a quá trình phân tích thi t k h th ng ph n m m. D a trên bi u đ use case và các scenario, ng i phát tri n h th ng s ch ra các l p c n thi t c ng nh các thu c tính c a các l p đó.
Các m c tiêu chính c n đ t đ c c a các use case là:
- C n ch ra và mô t đ c các yêu c u mang tính ch c n ng c a h th ng,
đây là k t qu rút ra t s th a thu n gi a khách hàng (và/ho c ng i s d ng cu i) và nhóm phát tri n ph n m m.
- a ra m t mô t rõ ràng và nh t quán v vi c h th ng c n ph i làm gì, làm sao đ mô hình có th đ c s d ng nh t quán trong su t toàn b quá trình phát tri n và t o thành n n t ng cho vi c thi t k các ch c n ng sau này.
- T o nên m t n n t ng cho các b c ki m th h th ng, đ m b o h th ng th a mãn đúng nh ng yêu c u do ng i s d ng đ a ra. Trong th c t th ng là đ tr l i câu h i: Li u h th ng cu i cùng có th c hi n nh ng ch c n ng mà kh i đ u khách hàng đã đ ngh hay không?
- Cung c p kh n ng theo dõi quá trình chuy n các yêu c u v m t ch c n ng thành các l p c th c ng nh các ph ng th c c th trong h th ng. - n gi n hóa vi c thay đ i và m r ng h th ng qua vi c thay đ i và m
r ng mô hình Use Case. Khi h th ng c n thay đ i (thêm b t các ch c n ng nào đó), ng i phát tri n h th ng ch c n b sung trong bi u đ use case cho phù h p, sau đó ch theo dõi riêng nh ng use case đã b thay đ i cùng nh ng nh h ng c a chúng trong thi t k h th ng và xây d ng h th ng. Nh ng công vi c c th c n thi t đ t o nên m t mô hình Use Case bao g m:
1. Xác đnh các tác nhân và các Use Case
2. Xác đnh các m i quan h và phân rã bi u đ use case 3. Bi u di n các use case thông qua các k ch b n
4. Ki m tra và hi u ch nh mô hình
N i dung c th th c hi n trong m i b c này s đ c trình bày c th trong ph n sau c a tài li u.
3.2.2 Xây d ng bi u đ use case
Ph n này s trình bày quá trình xây d ng bi u đ use case theo UML và áp d ng trong b công c Rational Rose.
B c 1: Tìm các tác nhân và các use case
tìm các tác nhân, ng i phát tri n h th ng c n tr l i các câu h i sau:
- Ai (hay h th ng nào) s là ng i s d ng nh ng ch c n ng chính c a h th ng? (tr l i câu h i này ta s tìm đ c các tác nhân chính).
- Ai c n s h tr c a h th ng đ th c hi n nh ng công vi c hàng ngày c a h ? - Ai s c n b o trì, qu n tr và đ m b o cho h th ng ho t đ ng (tác nhân ph )? - H th ng s ph i x lý và làm vi c v i nh ng trang thi t b ph n c ng nào?