intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

bài giảng về UML phần 3

Chia sẻ: Nguyễn Thị Ngọc Huỳnh | Ngày: | Loại File: PDF | Số trang:14

261
lượt xem
83
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements). Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UML diagrams). Có các loại sơ đồ UML chủ yếu sau: Sơ đồ lớp (Class Diagram) Sơ đồ đối tượng (Object Diagram) Sơ đồ tình huống sử dụng (Use Cases Diagram) Sơ đồ trình tự (Sequence Diagram) Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram) ...

Chủ đề:
Lưu

Nội dung Text: bài giảng về UML phần 3

  1. • t bi u ñ th hi n t t c các Use case liên quan ñ n m t actor nào M ñó • t bi u ñ th hi n t t c các Use case ñư c cài ñ t trong m t giai M ño n phát tri n. • t bi u ñ th hi n m t Use case và t t c các m i quan h c a nó. M Tuy nhiên nên cân nh c ñ các bi u ñ th hi n ñ các thông tin c n thi t, n u quá nhi u bi u ñ s gây ra s nh m l n và m t ñi l i ích c a vi c ñơn gi n hóa. T p h p các Use case giúp cho khách hàng d dàng xem xét m c t ng quát h th ng mà ta s xây d ng. M t h th ng thông thư ng có t 20 ñ n 50 Use case. 3. Kí hi u M t bi u ñ Use case bao g m m t t p các Use case và actor. Gi a Use case và actor có m t ñư ng n i n u như actor ñó kh i ñ u m t Use case. Bi u Use case có th l ng nhau, có nghĩa là m t Use case trong m t bi u ñ Use case có th ñư c phân nh ra thành nh ng Use case khác, n m trong m t bi u ñ Use case khác. Ví d : H th ng qu n lý d án và ngu n nhân l c. Có b n Actor là Resource Manager (Ngư i qu n lý ngu n nhân l c), Project Manager (Ngư i qu n lý d án), System Administrator (Ngư i qu n tr h th ng) và Backup System(h th ng sao lưu d li u). Hình 1-1 là bi u ñ use case m c t ng quát, cung c p m t b c tranh toàn c nh v các actor và use case c a h th ng. Hình 1-2 chi ti t hóa use case "Qu n lý ngu n nhân l c" b ng cách ch ra các use case mà actor Resource Manager mong mu n h th ng. Resource Manager có th thêm m i, s a, xóa các thông tin v kĩ năng c a nhân viên. M t kĩ năng ph i ñư c tìm ra trong cơ s d li u trư c khi nó ñư c xóa ho c s a nên use case FindSkill ñư c t o ra. Hai use case UpdateSkill và RemoveSkill ñ u s d ng ch c năng c a use case FindSkill nên chúng có quan h uses v i use case này. Resource Manager cũng có th thêm, xóa, s a các thông tin v nhân viên. Khi c p nh t thông tin v m t nhân viên, Resource Manager có th l a ch n: thêm kĩ năng cho m t nhân viên hay xóa b m t kĩ năng c a m t nhân viên. Do ñó hai use case UnassignSkill from Resource và use case AssignSkill to
  2. Resource có quan h extends v i use case UpdateResource ñ ch ra chúng là hai kh năng l a ch n c a use case này. Hình 1-1: bi u ñ Use case m c t ng quát. Ta có th xây d ng thêm các bi u ñ chi ti t hơn.
  3. Hình v 1-2: bi u ñ Use case Manage Resource m c chi ti t hơn. Nhìn vào bi u ñ trên ta th y rõ tác d ng c a nó trong vi c trao ñ i thông tin v i khách hàng. Khách hàng có th bi t rõ nh ng ch c năng nào s ñư c h th ng cung c p. Nhìn vào các actor h có th bi t chính xác ai s tương tác v i h th ng. Vi c này s giúp h tìm ra các ch c năng còn thi u. Ví d như: Khách hàng có th nói r ng: “ không, các ch c năng trên r t hay nhưng tôi còn mu n xem 10 nhân viên làm vi c lâu năm nh t trong công ty”. Và như v y các ch c năng c a h th ng s d dàng n m b t và ñ t ñư c s nh t trí v i khách hàng mà không ph i b t khách hàng ñ c quá nhi u tài li u k thu t như trư c.
  4. UML Bài 3: Tìm l p (Class) ð i tư ng (object) ð nh nghĩa ð i tư ng là khái ni m dùng ñ mô hình hóa m t v t ho c m t khái ni m trong th gi i th c. Mô t Khi nghiên c u ñ i tư ng c n chú ý t i 3 ñ c ñi m ñó là: tr ng thái (state), ng x (behavior) và ñ nh danh (indentity) c a ñ i tư ng. Tr ng thái: t p d li u, thông tin ñ mô t ñ i tư ng. Tr ng thái là m t trong nh ng kh năng mà ñ i tư ng có th t n t i. Tr ng thái c a ñ i tư ng thay ñ i theo th i gian và ñư c ñ nh nghĩa b i m t t p các thu c tính, giá tr c a các thu c tính ñó cùng v i các m i quan h c a ñ i tư ng v i các ñ i tư ng khác. Ví d như ñ i tư ng Danh sách ðăng kí môn h c trong h th ng ñăng kí l p h c c a m t trư ng ñ i h c có th có hai tr ng thái “m ” và “ñóng”. N u s lư ng sinh viên ñăng kí còn nh hơn s t i ña cho phép thì tr ng thái c a ñ i tư ng là “m ”, khi ñ t ñ n s lư ng sinh viên t i ña cho m t l p h c thì ñ i tư ng chuy n sang tr ng thái “ñóng”. ng x : dùng ñ ñ nh nghĩa cách ng x c a ñ i tư ng ñ i v i nh ng yêu c u t các ñ i tư ng khác. ng x c a m t ñ i tư ng th hi n thông qua m t t p các phép toán(operation) c a ñ i tư ng. ð nh danh: m i ñ i tư ng là duy nh t, gi a các ñ i tư ng ph i có s phân cách rõ ràng, các ñ i tư ng khác nhau có ñ nh danh khác nhau, các ñ nh danh này không ph thu c vào tr ng thái hay ng x c a ñ i tư ng Kí hi u
  5. Trong UML ñ i tư ng ñư c th hi n b i m t hình ch nh t, tên c a ñ i tư ng ñư c g ch chân. L p (Class) ð nh nghĩa L p là ñ nh nghĩa c a m t t p h p các ñ i tư ng có chung các thu c tính, các ng x và ng nghĩa. Như v y l p là m t khuôn m u ñ t o ra ñ i tư ng. M i ñ i tư ng là m t th hi n c a m t l p và m t ñ i tư ng không th là th hi n c a nhi u hơn m t l p. Mô t L p là khái ni m quan tr ng nh t trong hư ng ñ i tư ng. Xây d ng ñư c m t t p h p l p t t s t o nên m t h th ng t t. Tuy nhiên vi c tìm l p khi phân tích m t h th ng không ph i là vi c ñơn gi n. Không có m t phương pháp hoàn ch nh ñ tìm l p. Tuy nhiên có m t cách r t hi u qu ñ tìm các l p c a m t h th ng. ðó là vi c tìm các l p Th c th (Entity), l p Ngo i biên (Boundary) và l p ði u khi n (Control). L p th c th (Entity Class) L p th c th dùng ñ mô hình hóa các thông tin lưu tr lâu dài trong h th ng. Nó thư ng ñ c l p v i các ñ i tư ng khác xung quanh, có nghĩa là nó không quan tâm t i vi c các ñ i tư ng xung quanh tương tác v i h th ng như th nào. Do ñó nó thư ng có kh năng s d ng l i. Ví d như l p Sinh viên, l p này có th có trong h th ng qu n lý ñi m, h th ng ðăng kí h c, h th ng qu n lý thư vi n... c a m t trư ng ñ i h c. Các danh t , c m danh t mô t v các trách nhi m (responsibility) trong lu ng s ki n là m t nơi d phát hi n l p th c th . Danh sách các danh t ban ñ u có th ñư c xem xét ñ lo i b ra nh ng danh t bên ngoài lĩnh v c bài toán, nh ng danh t trùng l p...Các l p th c th thư ng ñư c g i là l p lĩnh v c b i vì nó thư ng dùng ñ mô t các ñ i tư ng, các khái ni m liên quan ñ n lĩnh v c c a h th ng ñang xây d ng. Kí hi u:
  6. L p biên (Boundary Class) Dùng ñ n m gi s tương tác gi a ph n bên ngoài v i ph n bên trong c a h th ng. Chúng cung c p giao di n cho m t ngư i dùng hay m t h th ng khác ñ tương tác v i h th ng. M i m t tương tác gi a c p Actor/ Use case ñòi h i ít nh t là m t l p biên. Kí hi u: L p ñi u khi n (Control Class) Th hi n trình t ng x c a h th ng trong m t hay nhi u Use case. L p này dùng ñ ñi u ph i các ho t ñ ng c n th c hi n ñ hi n th c hóa ch c năng c a m t Use case. C n th n tr ng trong vi c s d ng l p ði u khi n. N u m t l p ði u khi n làm nhi u hơn vi c ñi u ph i các ho t ñ ng thì nó ñã ñư c thi t k sai v i b n ch t nó. Kí hi u: Ngoài ra còn có cách phân lo i như sau: l p thông thư ng, l p tr u tư ng (abstract class), l p tham s (parameterized class), l p th hi n (instantiated class), l p ti n ích (utilities class), l p ti n ích tham s (parameterized utilities class), l p th hi n ti n ích (instantiated utilities class). L p tham s (parameterized class): là l p dùng ñ t o ra m t h các l p có các ng x có chung ý nghĩa nhưng th c hi n trên các t p d li u khác nhau.
  7. Ví d : L p th hi n (instantiated class): khi ta gán m t giá tr c th cho tham s c a l p tham s , ta ñư c m t l p th hi n. Như trên ta có l p List dùng ñ mô t m t danh sách và các phép toán liên quan t i danh sách như thêm m t ph n t vào danh sách, xóa m t ph n t kh i danh sách, duy t danh sách. Bây gi ta cho m t giá tr c th ñó là nhân viên, ta có danh sách nhân viên. L p ti n ích (utilities class): là m t t p h p các phép toán. Ví d như ta có m t s hàm toán h c : l y bình phương, l y căn... mà ñư c dùng nhi u nơi trong h th ng, khi ñó các hàm này ñư c nhóm l i và ñóng kín trong m t l p g i là l p ti n ích. L p ti n ích thư ng ñư c dùng ñ m r ng tính năng c a ngôn ng l p trình, lưu gi các hàm có th tái s d ng cho nhi u h th ng. L p ti n ích tham s (parameterized utilities class): cũng gi ng như l p ti n ích, nó bao g m m t t p h p các hàm hay dùng nhưng ñ ch m t l p tác ñ ng t ng quát ch không ch rõ ki u d li u mà nó s thao tác. L p th hi n ti n ích (instantiated utilities class): khi cho m t giá tr c th cho l p ti n ích tham s ta có m t l p th hi n ti n ích. Ví d L p tr u tư ng (abstract class): là l p ñư c thi t k m c ñ tr u tư ng cao nh t, nó ch a nh ng thu c tính, nh ng hành vi chung cho nhi u l p con khác. L p tr u tư ng ñư c t o
  8. ra ch ñ cho các l p khác k th a nó, nh ng phương th c khai báo trong l p tr u tư ng không ñư c cài ñ t mà chúng ch ñư c cài ñ t các l p con. Cho nên không có m t ñ i tư ng nào ñư c t o ra t l p tr u tư ng. Phân b trách nhi m gi a các l p Mô hình là m t t p h p c a r t nhi u l p, chúng ta c n ñ m b o r ng có m t s phân b trách nhi m tương ñ i công b ng gi a các l p. ði u ñó có nghĩa là không có l p nào quá l n ho c quá nh . M i l p c n ph i làm t t m t công vi c. N u có nhi u l p quá l n, chúng ta s th y r ng mô hình r t khó thay ñ i và s d ng l i. N u có nhi u l p quá nh , chúng ta s khó có kh năng ki m soát và hi u h t ý nghĩa c a chúng. ð gi i quy t v n ñ này, chúng ta nên th c hi n các bư c sau: • Xác ñ nh m t t p h p các l p mà công vi c tương ñ i liên quan v i nhau ñ th c hi n m t s ng x nào ñó. • Xác ñ nh m t t p h p các trách nhi m cho m i l p. • Xem xét t ng l p m t, n u l p nào quá l n thì tách nó ra thành nh ng l p nh hơn, t p h p nh ng l p nh thành m t l p l n hơn và phân ph i trách nhi m m t cách h p lý gi a các l p. • Cân nh c cách th c mà nh ng l p này h p tác v i nh ng l p khác, phân ph i l i các trách nhi m n u th y c n thi t. Công vi c này th c hi n l p ñi, l p l i cho t i lúc c m th y tương ñ i phù h p, nó ph thu c nhi u vào kinh nghi m th c t . Mô t l p Trong quá trình phân tích, có nhi u l p ñư c t o ra, do ñó c n có m t mô t cho m i l p ñ hi u rõ m c ñích c a l p là ñ làm gì, tránh s nh m l n. Mô t l p c n ch ra m c ñích c a l p ch không ph i c u trúc c a l p. Kí hi u:
  9. ðư c th hi n b i m t hình ch nh t, có các ph n ngăn cách gi a tên, thu c tính, phương th c c a l p. Ví d : L p “Ngư i ñ c”: L p này ch a các thông tin c n thi t v ngư i ñ c, ph c v cho vi c mư n sách. Ngư i ñ c là ngư i ñã ñăng kí v i thư vi n và mư n sách c a thư vi n. M t mô t t i s như sau: L p “Ngư i ñ c”: L p này g m có tên ngư i ñ c, ñ a ch ... Gói (Packages) N u h th ng ch có m t vài l p thì ta có th d dàng qu n lý chúng. Tuy nhiên h u h t các h th ng ñ u có khá nhi u l p và do ñó ta c n có m t cơ ch ñ nhóm chúng l i cho d s d ng, qu n lý và s d ng l i. M t gói( package) là m t t p h p các l p hay các gói có liên quan v i nhau. Qua vi c nhóm l p l i theo gói, ta có th nhìn mô hình m c t ng quát hơn và khi c n ta có th xem chi ti t các l p trong m t gói. Trong UML m t gói kí hi u như sau: Bi u ñ l p (Class Diagram) Khi có nhi u l p thêm vào mô hình, bi u ñ l p ñư c t o ra ñ cung c p m t b c tranh mô t m t s ho c t t c các l p trong mô hình. Thư ng có m t bi u ñ chính th hi n các gói trong mô hình. M i gói l i có m t bi u ñ chính c a gói ñ mô t các l p trong gói và m i quan h gi a chúng. S lư ng bi u ñ l p là tuỳ ý.
  10. Thông thư ng có m t s cách dùng như sau: • Th hi n c u trúc và ng x c a m t hay nhi u l p. • Th hi n m i quan h th a k gi a các l p. Bi u ñ l p là m t công c h u hi u trong vi c thi t k . Nó giúp cho l p trình viên xem xét và lên thi t k v c u trúc c a h th ng trư c khi vi t mã l nh. Ví d : M t d án có nhi u ho t ñ ng (activity) và m t ho t ñ ng có nhi u nhi m v (task). Quan h g p (composition) gi a d án và ho t ñ ng ch ra r ng các ho t ñ ng ph i g n v i m t d án, n u d án b h y b thì các ho t ñ ng cũng b h y b . Bi u ñ l p d ng t ng quát.
  11. Bi u ñ l p m c chi ti t Nh ng ngư i phát tri n s d ng bi u ñ l p ñ xây d ng các l p. M t s công c CASE s giúp t o ra mã khung cho các l p và ngư i phát tri n s chi ti t hóa b ng ngôn ng l p trình mà h ch n. Phân tích viên s dùng bi u ñ l p ñ xem h th ng m c chi ti t. Các ki n trúc sư h th ng s xem thi t k c a h th ng. N u có m t l p có quá nhi u ch c năng, h có th cân nh c ñ tách l p ñó ra thành các l p con
  12. Phân tích h th ng thông tin hư ng ñ i tư ng v i UML Trong chương trư c, các bài vi t ñã ñ c p t i t m quan tr ng c a vi c l p mô hình và s h tr c a UML trong vi c l p mô hình như th nào. Tuy nhiên nhi m v chính c a UML là ñóng vai trò m t ngôn ng mô hình hóa th ng nh t, tr c quan, chu n hóa các kí hi u, ng nghĩa c a các mô hình và các bi u ñ khi th hi n các ñ i tư ng, các s ki n trong th gi i th c và trong lĩnh v c máy tính ch không ch ra cho ngư i dùng bi t vi c l p mô hình cho m t h th ng ph i theo các bư c như th nào. ðó chính là m c ñích c a m t phương pháp phân tích, thi t k hư ng ñ i tư ng. Hư ng ñ i tư ng là m t cách ti p c n khác v i cách ti p c n có c u trúc truy n th ng. V i cách ti p c n hư ng ñ i tư ng, ta chia ng d ng thành các ñ i tư ng, tương ñ i ñ c l p v i nhau. Sau ñó ta có th xây d ng h th ng b ng cách k t h p chúng l i v i nhau. M t trong nh ng ưu ñi m c a phương pháp này là tính s d ng l i. Ta có th xây d ng các ñ i tư ng m t l n và dùng chúng trong nhi u ng d ng. Hơn th n a các ñ i tư ng này ñã qua m t quá trình th nghi m và ki m tra nên các r i ro v l i là r t ít. V y phương pháp hư ng ñ i tư ng khác phương pháp có c u trúc ñi m nào? Theo cách ti p c n có c u trúc thì chúng ta t p trung vào các thông tin mà h th ng s lưu gi . Chúng ta h i ngư i dùng v các thông tin mà h c n, thi t k cơ s d li u ñ lưu tr các thông tin này, l p các màn hình ñ nh p và hi n th thông tin, t o các báo cáo ñ in thông tin. Nói m t cách khác, chúng ta t p trung vào thông tin mà ít chú tr ng t i cái gì ñư c th c hi n v i các thông tin ñó t c là ng x c a h th ng. Cách ti p c n này còn ñư c g i là hư ng d li u và ñã ñư c dùng ñ t o ra hàng nghìn ng d ng trong nhi u năm qua. Hư ng d li u áp d ng t t trong vi c thi t k cơ s d li u và n m b t thông tin, tuy nhiên cách ti p c n này g p ph i m t s khó khăn. M t trong nh ng thách th c l n nh t ñó là vi c thay ñ i các yêu c u c a ngư i dùng. M t h th ng ñư c xây d ng hư ng d li u có th ñi u khi n vi c thay ñ i cơ s d li u m t cách d dàng nhưng nh ng thay ñ i v quy t c nghi p v (business rules) s không d dàng ñ th c thi. Khái ni m hư ng ñ i tư ng ñã ñư c phát tri n ñ gi i quy t v n ñ này. Nó s t p trung vào c d li u và các thao tác trên các d li u ñó. Do ñó h th ng s linh ho t hơn và d dàng thay ñ i khi d li u và ng x trên d li u thay ñ i.
  13. UML không ch thu n túy là m t ngôn ng mô hình hóa. Nó ñư c phát tri n b i các chuyên gia hàng ñ u trong lĩnh v c hư ng ñ i tư ng, nh ng ngư i ñã ñ xu t ra nh ng phương pháp phân tích thi t k hư ng ñ i tư ng hay ñư c dùng nh t, như k thu t phân tích Use case c a Ivar Jacobsson, bi u ñ chuy n tr ng thái c a Harel... do ñó n u nh ng ngư i phân tích ti p c n vi c xây d ng các ph n t c a mô hình ñã ñư c ñ nh nghĩa trong UML m t cách h p lý và có h th ng thì h s thu ñư c m t phương pháp phân tích, thi t k hư ng ñ i tư ng t t. Thông thư ng vi c phân tích và thi t k h th ng ñư c th c hi n theo các bư c sau: - Phân tích yêu c u: Dùng phương pháp phân tích Use case ñ n m b t các yêu c u c a khách hàng. ðây là m t bư c quan tr ng và s thành công c a bư c này s quy t ñ nh s thành công c a d án. B i vì m t h th ng dù có xây d ng t t ñ n ñâu nhưng không ñáp ng ñư c nh ng nhu c u c a khách hàng h th ng s th t b i. - Phân tích: Sau khi ñã bi t ñư c ngư i dùng mu n gì, chúng ta t p trung mô t l i h th ng, các khái ni m chính trong lĩnh v c c a h th ng c n xây d ng, trong hư ng ñ i tư ng g i là các l p lĩnh v c ( domain class ), m i quan h và s tương tác gi a các ñ i tư ng ñó. M c ñích chính là hi u h th ng ho t ñ ng như th nào. - Thi t k : bư c này s d ng k t qu thu ñư c các bư c trư c ñ m r ng thành m t gi i pháp k thu t, thêm vào các l p thu c v k thu t như các l p giao di n, các l p ñi u khi n...T p trung mô t c u trúc bên trong c a h th ng, s tương tác c a t p h p các ñ i tư ng ñ ñ t ñư c nh ng ch c năng mà h th ng c n có. M c dù UML không b t bu c ph i s d ng m t quy trình phát tri n ph n m m c th nào nh ng nó ñư c khuy n khích s d ng v i quy trình l p và tăng d n. Vi c phân tích thi t k hư ng ñ i tư ng ñư c h th ng hóa như sau: 1. Phân tích Use case : 1. Tìm Actor 2. Tìm Use case 3. Xây d ng bi u ñ Use case 2. Tìm l p:
  14. 1. L p 2. Gói 3. Xây d ng bi u ñ l p 4. Xây d ng bi u ñ ñ i tư ng Phân tích s tương tác gi a các ñ i tư ng 3. 1. K ch b n 2. Xây d ng bi u ñ trình t 3. Xây d ng bi u ñ h p tác Xác ñ nh quan h gi a các ñ i tư ng 4. 1. Quan h Association 2. Quan h Generalization 3. Quan h Dependency 4. Quan h Realization Thêm vào các thu c tính và phương th c cho các l p 5. Xác ñ nh ng x c a ñ i tư ng 6. 1. Xây d ng bi u ñ chuy n tr ng 2. Xây d ng bi u ñ ho t ñ ng Xác ñ nh ki n trúc c a h th ng 7. 1. Xây d ng bi u ñ thành ph n 2. Xây d ng bi u ñ tri n khai. Ki m tra l i mô hình
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2