bài giảng về UML phần 1
lượt xem 59
download
Tham khảo tài liệu 'bài giảng về uml phần 1', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: bài giảng về UML phần 1
- UML Bài 1: Gi i thi u t ng quan v ngôn ng UML T i sao chúng ta ph i xây d ng mô hình cho h th ng? Mô hình hóa là cách xem xét m t bài toán thông qua vi c s d ng các mô hình. Mô hình dùng ñ hi u rõ bài toán, trao ñ i thông tin gi a nh ng ngư i liên quan như khách hàng, chuyên gia, ngư i phân tích, ngư i thi t k ... Mô hình giúp cho vi c xác ñ nh các yêu c u t t hơn, thi t k rõ ràng hơn và kh năng b o trì h th ng cao hơn. Mô hình là s tr u tư ng hóa, mô t m t b n ch t c a m t v n ñ ho c m t c u trúc ph c t p b ng cách lo i b nh ng chi ti t không quan tr ng, khi n cho bài toán tr nên d hi u và d n m b t hơn. Tr u tư ng hóa là m t kh năng cơ b n c a con ngư i trong vi c gi i quy t các v n ñ ph c t p. Các k sư, ki n trúc sư, các ngh sĩ ñã t ng xây d ng nh ng mô hình t hàng nghìn năm nay ñ th các thi t k c a h trư c khi th c hi n chúng. Vi c phát tri n các h th ng ph n m m cũng không ngo i l . ð xây d ng m t h th ng ph c t p, nh ng ngư i phát tri n ph i tr u tư ng hóa nh ng khía c nh (View) khác nhau c a h th ng, xây d ng các mô hình b ng cách s d ng các kí hi u m t cách rõ ràng, c n th n, ki m tra xem các mô hình ñã tho mãn các yêu c u c a h th ng chưa và d n d n thêm vào các chi ti t ñ có th và ki m soát ki n trúc c a h th ng. Mô hình có th mô t các c u trúc, nh n m nh v m t t ch c c a h th ng ho c nó có th mô t các hành vi, t p trung vào m t ñ ng c a h th ng. Chúng ta xây d ng mô hình ñ hi u rõ hơn v h th ng mà chúng ta ñang xây d ng, t o ra cơ h i ñ có th ñơn gi n hóa và tái s d ng. Chúng ta xây d ng mô hình ñ ki m soát r i ro. Vi c l p mô hình không ch dành cho các h th ng l n. Khi xây d ng mô hình chúng ta s ñ t ñư c 4 m c ñích sau: • Mô hình giúp chúng ta tr c quan hóa h th ng như là nó v n có hay theo cách mà chúng ta mu n nó s như v y. Mô hình chuy n ñ i t mô hình sang m t cài ñ t c th .
- Chúng ta xây d ng mô hình c a nh ng h th ng ph c t p b i vì chúng ta không th lĩnh h i m t lúc toàn b h th ng ñó. Ví d như khi xây m t nhà kho chúng ta có th b t tay vào xây ngay, khi xây m t ngôi nhà chúng ta có th c n b n thi t k c a ngôi nhà ñó. Khi c n xây môt tòa nhà cao t ng, chúng ta ch c ch n c n b n thi t k c a toà nhà ñó. ði u này cũng ñúng trong lĩnh v c ph n m m. H th ng càng ph c t p thì vi c xây d ng mô hình càng quan tr ng. Xây d ng mô hình cho phép ngư i thi t k th y ñư c b c tranh t ng quan c a h th ng, th y ñư c các thành ph n c a h th ng tương tác v i nhau như th nào hơn là vi c sa l y vào chi ti t bên trong c a các thành ph n ñó. Trong th gi i luôn bi n ñ ng c a các ng d ng hư ng ñ i tư ng thì vi c phát tri n và b o trì các ng d ng có ch t lư ng cao trong m t kho ng th i gian h p lý ngày càng tr nên khó khăn hơn. M t t ch c phát tri n ph n m m thành công là t ch c xây d ng ñư c các ph n m m có ch t lư ng, tho mãn ñư c m i yêu c u c a khách hàng. • Mô hình hóa là ph n trung tâm trong các công vi c, các ho t ñ ng ñ d n t i m t ph n m m t t. Chúng ta xây d ng mô hình ñ trao ñ i, bàn b c v c u trúc và ng x (behavior) mong mu n c a h th ng. Chúng ta xây d ng mô hình ñ tr c quan hóa cho phép chúng ta ch rõ c u trúc và ng x c a h th ng • Mô hình cho chúng ta m t khuôn m u ñ hư ng d n chúng ta trong quá trình xây d ng h th ng. • Mô hình ñưa ra các d n ch ng b ng tài li u v các quy t ñ nh mà chúng ta ñã ñưa ra trong quá trình thi t k h th ng. Thông qua vi c mô hình hóa, chúng ta thu h p bài toán mà chúng ta ñang nghiên c u b ng cách ch t p trung vào m t khía c nh t i m t th i ñi m. ði u này cũng gi ng như phương pháp “chia ñ tr ” mà Edsger Diskstra ñã ñưa ra: “Gi i quy t m t v n ñ khó b ng cách chia nó thành nh ng bài toán nh hơn mà b n có th gi i quy t ñư c.” Mô hình hóa là vi c ñơn gi n hóa th c t , lo i b nh ng ñi m th y u, tuy nhiên ta ph i ch c ch n r ng không b sót m t chi ti t quan tr ng nào. Tùy thu c vào ñ c ñi m t nhiên c a h th ng, m i mô hình có th t p trung vào nh ng m t khác nhau c a h th ng. Như h th ng t p trung vào d li u thì các mô hình v ph n thi t k tĩnh c a h th ng s ñư c chú ý hơn. Trong h th ng giao di n ngư i dùng thì ph n tĩnh và ñ ng c a Use case s là quan
- tr ng. Trong h th ng th i gian th c, các ti n trình ñ ng là quan tr ng. Cu i cùng, trong h th ng phân tán d a trên c s Web thì các mô hình v th c thi và tri n khai là quan tr ng nh t. Unified Modeling Language là gì? UML là m t ngôn ng dùng ñ • Tr c quan hóa • C th hóa • Sinh mã d ng nguyên m u • L p và cung c p tài li u UML là m t ngôn ng bao g m m t b ng t v ng và các quy t c ñ k t h p các t v ng ñó ph c v cho m c ñích giao ti p. M t ngôn ng dùng cho vi c l p mô hình là ngôn ng mà b ng t v ng( các ký hi u) và các quy t c c a nó t p trung vào vi c th hi n v m t khái ni m cũng như v t lý c a m t h th ng. Mô hình hóa mang l i s hi u bi t v m t h th ng. M t mô hình không th giúp chúng ta hi u rõ m t h th ng, thư ng là ph i xây d ng m t s mô hình xét t nh ng góc ñ khác nhau. Các mô hình này có quan h v i nhau. UML s cho ta bi t cách t o ra và ñ c hi u ñư c m t mô hình ñươc c u trúc t t, nhưng nó không cho ta bi t nh ng mô hình nào nên t o ra và khi nào t o ra chúng. ðó là nhi m v c a quy trình phát tri n ph n m m.
- 1. UML là ngôn ng dùng ñ tr c quan hóa ð i v i nhi u l p trình viên, không có kho ng cách nào gi a ý tư ng ñ gi i quy t m t v n ñ và vi c th hi n ñi u ñó thông qua các ño n mã. H nghĩ ra và h vi t mã. Trên th c t , ñi u này g p m t s v n ñ . Th nh t, vi c trao ñ i v các ý tư ng gi a nh ng ngư i l p trình s g p khó khăn, tr khi t t c ñ u nói cùng m t ngôn ng . Th m chí ngay c khi không g p tr ng i v ngôn ng thì ñ i v i t ng công ty, t ng nhóm cũng có nh ng “ngôn ng ” riêng c a h . ði u này gây tr ng i cho m t ngư i m i vào ñ có th hi u ñư c nh ng vi c ñang ñư c ti n hành. Hơn n a, trong lĩnh v c ph n m m, nhi u khi khó có th hi u ñư c n u ch xem xét các ño n mã l nh. Ví d như s phân c p c a các l p, ta có th ph i duy t r t nhi u ño n l nh ñ hi u ñư c s phân c p c a các l p. Và n u như ngư i l p trình không mô t các ý tư ng mà anh ta ñã xây d ng thành mã l nh thì nhi u khi cách t t nh t là xây d ng l i trong trư ng h p m t ngư i khác ñ m nh n ti p nhi m v khi anh ta r i kh i nhóm. Xây d ng mô hình s d ng ngôn ng UML ñã gi i quy t ñư c các khó khăn trên. Khi tr thành m t chu n trong vi c l p mô hình, m i kí hi u mang m t ý nghĩa rõ ràng và duy nh t, m t nhà phát tri n có th ñ c ñư c mô hình xây d ng b ng UML do m t ngư i khác vi t. Nh ng c u trúc mà vi c n m b t thông qua ñ c mã l nh là khó khăn nay ñã ñư c th hi n tr c quan. M t mô hình rõ ràng, sáng s a làm tăng kh năng giao ti p, trao ñ i gi a các nhà phát tri n. 2. UML là ngôn ng dùng ñ chi ti t hóa Có nghĩa là xây d ng các mô hình m t các t m , rõ ràng, ñ y ñ các m c ñ chi ti t khác nhau. ð c bi t là UML th c hi n vi c chi ti t hoá t t c các quy t ñ nh quan tr ng trong phân tích, thi t k và th c thi m t h th ng ph n m m. 3. UML là ngôn ng dùng ñ sinh ra mã d ng nguyên m u
- Các mô hình xây d ng b i UML có th ánh x t i m t ngôn ng l p trình c th như : Java, C++... th m chí c các b ng trong m t CSDL quan h hay CSDL hư ng ñ i tư ng. Vi c các yêu c u có kh năng thư ng xuyên thay ñ i trong quá trình phát tri n h th ng d n ñ n vi c các c u trúc và hành vi c a h th ng ñư c xây d ng có th khác mô hình mà ta ñã xây d ng. ði u này có th làm cho m t mô hình t t tr nên vô nghĩa vì nó không còn ph n ánh ñúng h th ng n a. Cho nên ph i có m t cơ ch ñ ñ ng b hóa gi a mô hình và mã l nh. UML cho phép c p nh t m t mô hình t các mã th c thi.( ánh x ngư c). ði u này t o ra s nh t quán gi a mô hình c a h th ng và các ño n mã th c thi mà ta xây d ng cho h th ng ñó. 4. UML là ngôn ng dùng ñ l p và cung c p tài li u M t t ch c ph n m m ngoài vi c t o ra các ño n mã l nh( th c thi) thì còn t o ra các tài li u sau: • Ghi chép v các yêu c u c a h th ng • Ki n trúc c a h th ng • Thi t k • Mã ngu n • K h o ch d án • Tests • Các nguyên m u • ... 5. ng d ng c a UML M c ñích chính c a UML là ñ xây d ng mô hình cho các h th ng ph n m m, nó có th ñư c s d ng m t cách hi u qu trong nhi u lĩnh v c như: • H th ng thông tin doanh nghi p (enterprise) • Ngân hàng và d ch v tài chính • Vi n thông • Giao thông • Hàng không và qu c phòng • Máy móc ñi n t dùng trong y t • Khoa h c • Các ng d ng phân tán d a trên Web
- UML không ch gi i h n trong lĩnh v c ph n m m. Nó còn có th dùng ñ l p mô hình cho các h th ng không ph i là ph n m m như h th ng pháp lu t (lu ng công vi c - workflow), thi t k ph n c ng, ... 6. Các thành ph n c a UML 6.1. Các ph n t mang tính c u trúc L p (Class) Là m t t p h p các ñ i tư ng có cùng m t t p thu c tính, các hành vi, các m i quan h v i nh ng ñ i tư ng khác. H p tác (Collaboration) Th hi n m t gi i pháp thi hành bên trong h th ng, bao g m các l p/ ñ i tư ng m i quan h và s tương tác gi a chúng ñ ñ t ñư c m t ch c năng mong ñ i c a Use case. Giao di n (Interface) Là m t t p h p các phương th c (operation) t o nên d ch v c a m t l p ho c m t thành ph n (component). Nó ch ra m t t p các operation m c khai báo ch không ph i m c th c thi (implementation).
- Use case là mô t m t t p h p c a nhi u hành ñ ng tu n t mà h th ng th c hi n ñ ñ t ñư c m t k t qu có th quan sát ñư c ñ i v i m t actor c th nào ñó. Actor là nh ng gì bên ngoài mà tương tác v i h th ng. Use case mô t s tương tác gi a actor và h th ng. Nó th hi n ch c năng mà h th ng s cung c p cho actor. T p h p các Use case c a h th ng s t o nên t t c các trư ng h p mà h th ng có th ñư c s d ng. L p tích c c (Acitive class) là m t l p mà các ñ i tư ng c a nó th c hi n các ho t ñ ng ñi u khi n. L p tích c c cũng gi ng như l p bình thư ng ngo i tr vi c các ñ i tư ng c a nó th hi n các ph n t mà ng x c a chúng có th th c hi n ñ ng th i v i các ph n t khác. L p này thư ng dùng ñ bi u di n ti n trình(process) và lu ng(thread) Thành ph n (Component) là bi u di n v t lý c a mã ngu n. Trong h th ng ta s th y các ki u khác nhau c a component như các thành ph n COM+ hay JavaBeans cũng như là các thành ph n như các file mã ngu n, các file nh phân t o ra trong quá trình phát tri n h th ng.
- Nodes là th hi n m t thành ph n v t lý như là m t máy tính hay m t thi t b ph n c ng. 6.2. Các ph n t th hi n hành vi Tương tác (Interaction) bao g m m t t p các thông báo(message) trao ñ i gi a các ñ i tư ng trong m t ng c nh c th nào ñó ñ th c hi n m t ch c năng nào ñó. Máy chuy n tr ng (States machine) th hi n các tr ng thái c a m t ñ i tư ng trong th i gian s ng c a nó nh m ñáp ng các s ki n, các tác ñ ng t bên ngoài. 6.3 Ph n t mang tính nhóm (Group) Gói (Package) Dùng ñ nhóm các ph n t có m t ý nghĩa chung nào ñó vào thành nhóm. Không gi ng như các thành ph n (component - t n t i trong lúc th c thi), m t package ch mang tính tr u tư ng. Package dùng ñ nhìn h th ng m t m c ñ t ng quát hơn so v i vi c xem xét t ng ph n t trong package.
- Annotational (mang tính ch t gi i thích): là các chú thích dùng ñ mô t , làm sáng t và ghi chú v b t c ph n t nào trong mô hình. Thư ng dùng nh t là Note g m các ràng bu c ho c ghi chú, ñư c g n v i m t ph n t ho c m t t p h p các ph n t . 6.4 Các m i quan h (Relationships) Quan h Ph thu c (Dependency) Th hi n m i quan h mà : n u có m t s thay ñ i ñ i tư ng ñ c l p s nh hư ng t i ñ i tư ng ph thu c. Kí hi u: Quan h K t h p ( Association) Là m i quan h liên k t gi a 2 l p. Nói m t cách ñơn gi n, khi m t ñ i tư ng c a l p này g i thông ñi p t i ho c nh n thông ñi p t m t ñ i tư ng c a l p kia thì ta nói gi a 2 l p có m i quan h association. Quan h T p h p (Aggreagation)
- là m t d ng ñ c bi t c a quan h liên k t. Nó th hi n s liên k t “ch t” hơn, ñó là m i quan h toàn th -b ph n. Quan h G p (Composition) là m t d ng ñ c bi t c a quan h aggregation. Trong ñó n u như ñ i tư ng toàn th b h y thì các ñ i tư ng b ph n c a nó cũng b h y theo. Quan h Th a k (Generalization) là m i quan h t ng quát hóa/ c th hóa, trong ñó ñ i tư ng c th s k th a các thu c tính và phương th c( behavior) c a ñ i tư ng t ng quát. Quan h Hi n th c hóa (Realization) M i quan h gi a interface và class hay component hi n th c hoá nó ho c m i quan h gi a Use case và Collaboration hi n th c hóa Use case ñó. 6.5 Các bi u ñ (Diagrams) Bi u ñ l p (Class Diagram) Bao g m m t t p h p các l p, các giao di n, các collaboration và m i quan h gi a chúng. Nó th hi n m t tĩnh c a h th ng. Bi u ñ ñ i tư ng (Object Diagram) Bao g m m t t p h p các ñ i tư ng và m i quan h gi a chúng. ð i tư ng là m t th hi n c a l p, bi u ñ ñ i tư ng là m t th hi n c a bi u ñ l p. Bi u ñ Use case (Use Case Diagram)
- Khái ni m actor: là nh ng ngư i, h th ng khác bên ngoài ph m vi c a h th ng mà có tương tác v i h th ng. Bi u ñ Use case bao g m m t t p h p các Use case, các actor và th hi n m i quan h tương tác gi a actor và Use case. Nó r t quan tr ng trong vi c t ch c và mô hình hóa hành vi c a h th ng Bi u ñ trình t (Sequence Diagram) là m t d ng bi u ñ tương tác (interaction), bi u di n s tương tác gi a các ñ i tư ng theo th t th i gian. Nó mô t các ñ i tư ng liên quan trong m t tình hu ng c th và các bư c tu n t trong vi c trao ñ i các thông báo(message) gi a các ñ i tư ng ñó ñ th c hi n m t ch c năng nào ñó c a h th ng. Bi u ñ h p tác (Collaboration) G n gi ng như bi u ñ Sequence, bi u ñ Collaboration là m t cách khác ñ th hi n m t tình hu ng có th x y ra trong h th ng. Nhưng nó t p trung vào vi c th hi n vi c trao ñ i qua l i các thông báo gi a các ñ i tư ng ch không quan tâm ñ n th t c a các thông báo ñó. Có nghĩa là qua ñó chúng ta s bi t ñư c nhanh chóng gi a 2 ñ i tư ng c th nào ñó có trao ñ i nh ng thông báo gì cho nhau. Bi u ñ chuy n tr ng thái (Statechart) Ch ra m t máy chuy n tr ng, bao g m các tr ng thái, các bư c chuy n tr ng và các ho t ñ ng. Nó ñ c bi t quan tr ng trong vi c mô hình hóa hành vi c a m t l p giao di n(interface class) hay collaboration và nó nh n m nh vào các ñáp ng theo s ki n c a m t ñ i tư ng, ñi u này r t h u ích khi mô hình hóa m t h th ng ph n ng(reactive). Bi u ñ ho t ñ ng (Activity) Là m t d ng ñ c bi t c a bi u ñ chuy n tr ng. Nó ch ra lu ng ñi t ho t ñ ng này sang ho t ñ ng khác trong m t h th ng. Nó ñ c bi t quan tr ng trong vi c xây d ng mô hình ch c năng c a h th ng và nh n m nh t i vi c chuy n ñ i quy n ki m soát gi a các ñ i tư ng Bi u ñ thành ph n (Component)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
phân tích thiết kế hướng đối tượng: phần 1 - pgs. ts phạm văn Đức
91 p | 161 | 11
-
Bài giảng Mô hình hóa phần mềm: Tuần 1 - Nguyễn Thị Minh Tuyền
56 p | 29 | 7
-
Bài giảng Phân tích thiết kế đảm bảo chất lượng phần mềm: Phần 1
115 p | 34 | 6
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trương Quốc Định
24 p | 66 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn