intTypePromotion=1
ADSENSE

Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 1

Chia sẻ: Nguyên Hoàng | Ngày: | Loại File: PDF | Số trang:64

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

Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 1 gồm 4 chương với nội dung: Tổng quan về phân tích thiết kế hệ thống, Ngôn ngữ mô hình hóa thống nhất, Khái quát về UML, Mô hình hóa USE CASE. Qua những phân tích và giảng giải sẽ giúp nâng cao khả năng làm việc và học tập trong lĩnh vực thiết kế hệ thống. Đón đọc phần 2 để tìm hiểu sâu hơn về kỹ thuật lập trình.

Chủ đề:
Lưu

Nội dung Text: Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 1

  1. TÀI LI U MÔN H C PHÂN TÍCH VÀ THI T K HTTT THEO UML ( ây là tài li u s u t m, t ng h p) GI NG VIÊN PH TRÁCH: NGUY N CC NG GI NG VIÊN: TÔN TH T HOÀ AN – D NG KI U HOA (S u t m t ng h p) 1
  2. M CL C CH NG 1: T NG QUAN V PHÂN TÍCH THI T K H TH NG .......................................................................... 6 1.1. D n nh p ....................................................................................................................................................................... 6 1.1.1. Tính tr c quan ................................................................................................................................................... 6 1.1.2. Mô hình tr u t ng ........................................................................................................................................... 6 1.1.3. Mô hình hóa tr c quan ...................................................................................................................................... 6 1.2. Mô t chu trình phát tri n ph n m m ........................................................................................................................ 7 1.2.1. Software Development – m t bài toán ph c t p ............................................................................................... 7 1.2.2. Chu Trình Phát Tri n Ph n M m (Software Development Life Cycle) ............................................................ 8 1.2.3. Các giai o n c a Chu Trình Phát Tri n Ph n M m ......................................................................................... 9 1.3. Ph ng pháp h ng ch c n ng và ph ng pháp h ng i t ng ...................................................................... 13 1.4. u i m c a mô hình h ng i t ng ................................................................................................................... 13 1.4.1. Tính tái s d ng (Reusable) ............................................................................................................................ 13 1.4.2. Các giai o n c a chu trình phát tri n ph n m m v i mô hình h ng i t ng ........................................... 14 1.5. Ph n câu h i ............................................................................................................................................................... 16 CH NG 2: NGÔN NG MÔ HÌNH HÓA TH NG NH T LÀ GÌ? ........................................................................... 17 2.1. Gi i thi u UML .......................................................................................................................................................... 17 2.1.1. Mô hình hóa h th ng ph n m m .................................................................................................................... 17 2.1.2. Tr c khi UML ra i ..................................................................................................................................... 18 2.1.3. S ra i c a UML.......................................................................................................................................... 18 2.1.4. UML (Unifield Modeling Language) .............................................................................................................. 19 2.1.5. Ph ng pháp và các ngôn ng mô hình hoá.................................................................................................... 19 2.2. UML trong phân tích thi!t k! h th ng .................................................................................................................... 19 2.3. UML và các giai o"n phát tri n h th ng ............................................................................................................... 20 2.4. Ph n câu h i ............................................................................................................................................................... 21 CH NG 3: KHÁI QUÁT V UML ................................................................................................................................. 22 3.1. UML và các giai o"n c a chu trình phát tri n ph n m m .................................................................................... 22 3.1.1. Giai o n nghiên c u s b ............................................................................................................................. 22 3.1.2. Giai o n phân tích ......................................................................................................................................... 22 3.1.3. Giai o n thi t k ............................................................................................................................................ 22 3.1.4. Giai o n xây d ng ......................................................................................................................................... 22 3.1.5. Th nghi m ..................................................................................................................................................... 23 3.2. Các thành ph n c a ngôn ng# UML ........................................................................................................................ 23 3.3. H ng nhìn (View)..................................................................................................................................................... 23 3.3.1. H ng nhìn Use case (Use case View) ........................................................................................................... 25 3.3.2. H ng nhìn logic (Logical View) ................................................................................................................... 25 3.3.3. H ng nhìn thành ph n (Component View) ................................................................................................... 25 3.3.4. H ng nhìn song song (Concurrency View) ................................................................................................... 26 3.3.5. H ng nhìn tri n khai (Deployment View) .................................................................................................... 26 3.4. Bi u $ (diagram) ....................................................................................................................................................... 26 3.4.1. Bi u Use case (Use Case Diagram) ............................................................................................................ 26 3.4.2. Bi u l p (Class Diagram) ........................................................................................................................... 27 3.4.3. Bi u it ng (Object Diagram) ............................................................................................................... 28 3.4.4. Bi u tr ng thái (State Diagram).................................................................................................................. 28 2
  3. 3.4.5. Bi u trình t (Sequence Diagram) .............................................................................................................. 29 3.4.6. Bi u c ng tác (Collaboration Diagram) ..................................................................................................... 29 3.4.7. Bi u ho t ng (Activity Diagram) ............................................................................................................ 30 3.4.8. Bi u thành ph n (Component Diagram)..................................................................................................... 30 3.4.9. Bi u tri n khai (Deployment Diagram) ...................................................................................................... 31 3.5. Ph n t% mô hình (model element) ............................................................................................................................. 32 3.6. C ch! chung (General Mechanism) ........................................................................................................................ 33 3.6.1. Trang trí (Adornment) ..................................................................................................................................... 33 3.6.2. Ghi chú (Note)................................................................................................................................................. 34 3.6.3. c t (Specification) ...................................................................................................................................... 34 3.7. M& r'ng UML ............................................................................................................................................................ 35 3.7.1. Khuôn m u (Stereotype) ................................................................................................................................. 35 3.7.2. Giá tr ính kèm (Tagged Value) .................................................................................................................... 36 3.7.3. H n ch (Constraint) ....................................................................................................................................... 36 3.8. Mô hình hóa v i UML ............................................................................................................................................... 37 3.9. Công c( (Tool) ............................................................................................................................................................ 40 3.10. Tóm t)t v UML ....................................................................................................................................................... 41 3.11. Ph n câu h i ............................................................................................................................................................. 42 CH NG 4: MÔ HÌNH HÓA USE CASE ........................................................................................................................ 43 4.1. Gi i thi u Use Case .................................................................................................................................................... 43 4.2. M't s ví d( Use Case ................................................................................................................................................ 44 4.3. S* c n thi!t ph i có Use Case .................................................................................................................................... 44 4.4. Mô hình hóa Use Case................................................................................................................................................ 45 4.5. Bi u $ Use Case ........................................................................................................................................................ 46 4.5.1. H th ng .......................................................................................................................................................... 47 4.5.2. Tác nhân .......................................................................................................................................................... 48 4.5.3. Tìm tác nhân .................................................................................................................................................... 49 4.5.4. Bi u di n tác nhân trong ngôn ng UML ........................................................................................................ 49 4.5.5. Use Case .......................................................................................................................................................... 50 4.5.6. Tìm Use Case .................................................................................................................................................. 51 4.5.7. Ví d tìm Use Case ......................................................................................................................................... 52 4.6. Các bi!n th (Variations) trong m't Use Case ......................................................................................................... 53 4.7. Quan h gi#a các Use Case ........................................................................................................................................ 54 4.7.1. Quan h m r ng ............................................................................................................................................. 54 4.7.2. Quan h s d ng .............................................................................................................................................. 55 4.7.3. Quan h chung nhóm ...................................................................................................................................... 56 4.8. Miêu t Use Case ........................................................................................................................................................ 57 4.9. Th% Use Case .............................................................................................................................................................. 60 4.10. Th*c hi n các Use Case ........................................................................................................................................... 61 4.11. Tóm t)t v Use Case ................................................................................................................................................. 63 4.12. Ph n câu h i ............................................................................................................................................................. 63 CH NG 5 : MÔ HÌNH I T +NG ............................................................................................................................. 65 5.1. L p, i t ng và quan h – các thành ph n c b n c a mô hình ........................................................................ 65 5.1.1. it ng (Object) .......................................................................................................................................... 65 5.1.2. Tr ng thái, ng x và nh n di n c a it ng ............................................................................................... 65 5.1.3. L p (Class) ...................................................................................................................................................... 66 3
  4. 5.1.4. Bi u l p (Class diagram) ............................................................................................................................ 67 5.2. Tìm l p ........................................................................................................................................................................ 68 5.2.1. Phân tích ph m vi bài toán tìm l p ............................................................................................................. 69 5.2.2. Các l p ng c viên ........................................................................................................................................ 72 5.2.3. Lo i b các l p ng c viên không thích h p ................................................................................................. 73 5.3. L p và i t ng trong UML.................................................................................................................................... 74 5.3.1. Tên l p (class name) ....................................................................................................................................... 74 5.3.2. Thu c tính (attribute) ...................................................................................................................................... 74 5.3.3. Ph ng th c (method)..................................................................................................................................... 75 5.3.4. Kí hi u i t ng ............................................................................................................................................ 76 5.4. Quan h gi#a các l p.................................................................................................................................................. 77 5.5. Liên h (Association) .................................................................................................................................................. 78 5.5.1. Vai trò trong liên h ........................................................................................................................................ 78 5.5.2. Liên h m t chi u (Uni-Directional Association) ........................................................................................... 79 5.5.3. S l ng (Cardinality) trong liên h ................................................................................................................ 79 5.5.4. Phát hi n liên h .............................................................................................................................................. 80 5.5.5. X lý các liên h không c n thi t .................................................................................................................... 80 5.5.6. Nâng c!p các m i liên h ................................................................................................................................ 81 5.6. Quan h k!t t p (Aggregation).................................................................................................................................. 85 5.6.1. Khái ni m k t t p ............................................................................................................................................ 85 5.6.2. Kí hi u k t t p ................................................................................................................................................. 86 5.6.3. K t t p và liên h ............................................................................................................................................. 87 5.7. Khái quát hóa và chuyên bi t hóa (Generalization & Specialization) ................................................................... 87 5.7.1. Kí hi u khái quát hóa và chuyên bi t hóa........................................................................................................ 88 5.7.2. Y u t phân bi t (Discriminatior) ................................................................................................................... 89 5.8. Quan h ph( thu'c và nâng c,p (Dependency & Refinement) .............................................................................. 92 5.9. Nâng c,p mô hình qua các vòng l-p k! ti!p ............................................................................................................. 94 5.10. Ch,t l ng mô hình ................................................................................................................................................. 95 5.10.1. Th nào là m t mô hình t t?.......................................................................................................................... 96 5.10.2. Ta có th giao ti p v i mô hình? ................................................................................................................... 96 5.10.3. Mô hình có phù h p v i m c ích c a nó không? ........................................................................................ 96 5.10.4. N"m b"t nh ng i m tr#ng y u ..................................................................................................................... 97 5.10.5. Ph i h p các mô hình .................................................................................................................................... 97 5.10.6. ph c t p c a mô hình .............................................................................................................................. 97 5.11. Tóm t)t v mô hình i t ng ................................................................................................................................. 97 5.12. Ph n câu h i ............................................................................................................................................................. 98 CH NG 6 : MÔ HÌNH HÓA .NG ............................................................................................................................. 100 6.1. S* c n thi!t có mô hình 'ng (Dynamic Model).................................................................................................... 100 6.2. Các thành ph n c a mô hình 'ng ......................................................................................................................... 100 6.3. u i m c a mô hình 'ng ..................................................................................................................................... 102 6.4. S* ki n và thông i p (Event & Message).............................................................................................................. 103 6.4.1. S ki n (Event) ............................................................................................................................................. 103 6.4.2. Thông i p (Message) ................................................................................................................................... 105 6.5. Bi u $ tu n t* (Sequence Diagram) ...................................................................................................................... 106 6.6. Bi u $ c'ng tác (Collaboration Diagram) ............................................................................................................ 108 4
  5. 6.7. Bi u $ tr"ng thái (State Diagram)......................................................................................................................... 109 6.7.1. Tr ng thái và s bi n i tr ng thái (State transition) ................................................................................... 109 6.7.2. Bi u tr ng thái .......................................................................................................................................... 110 6.7.3. Nh n bi t tr ng thái và s ki n ...................................................................................................................... 111 6.7.4. M t s l i mách b o cho vi c t o d ng bi u tr ng thái ............................................................................ 112 6.8. Bi u $ ho"t 'ng (Activity Diagram) .................................................................................................................... 114 6.9. Vòng /i i t ng (Object Lifecycle) ................................................................................................................... 117 6.9.1. Vòng i sinh ra và ch t i ........................................................................................................................... 118 6.9.2. Vòng i l p .................................................................................................................................................. 118 6.10. Xem xét l"i mô hình 'ng ...................................................................................................................................... 118 6.10.1. Th$m v!n bi u tr ng thái ........................................................................................................................ 118 6.10.2. Ph i h p s ki n .......................................................................................................................................... 119 6.10.3. Bao gi thì s d ng bi u nào .................................................................................................................. 119 6.10.4. L p con và bi u tr ng thái ...................................................................................................................... 120 6.11. Ph i h p mô hình i t ng và mô hình 'ng .................................................................................................... 120 6.12. Tóm t)t v mô hình 'ng ....................................................................................................................................... 121 6.13. Ph n câu h i ........................................................................................................................................................... 121 5
  6. CH NG 1: T NG QUAN V PHÂN TÍCH THI T K H TH NG 1.1. D n nh p 1.1.1. Tính tr c quan Chúng ta có th th!y r%ng: "M t s t p h p d li u ph c t p nh!t nh khi c trình bày b%ng th s& truy n t i n ng i #c nhi u thông tin h n so v i các d li u thô". V i ph n m m c'ng v y, khi ngành Công nghi p c a chúng ta ngày càng phát tri n, các h th ng s& tr nên ph c t p h n. Kh n(ng n"m b"t và ki m soát s ph c t p ó c a chúng ta i kèm v i kh n(ng trình bày h th ng m t cách toàn di n - m t s trình bày v t ra ngoài gi i h n c a nh ng dòng l nh thô. S thành công trên th tr ng c a nh ng ngôn ng nh Visual Basic và ph n giao di n tr c quan c a C++, Java ã cho th!y s trình bày tr c quan mang tính c t y u i v i quá trình phát tri n các h th ng ph c t p. 1.1.2. Mô hình tr u t ng Tr c ây, có m t th i gian dài, ngành công nghi p chúng ta ã ph i nói t i m t "Cu c kh ng ho ng ph n m m". Các cu c tranh lu n u d a trên th c t là ch)ng nh ng nhi u án ph n m m không th s n sinh ra nh ng h th ng tho mãn òi h i và nhu c u c a khách hàng, mà còn v t quá ngân sách và th i h n. Các công ngh m i nh l p trình h ng i t ng, l p trình tr c quan c'ng nh các môi tr ng phát tri n tiên ti n có giúp chúng ta nâng cao n(ng su!t lao ng, nh ng trong nhi u tr ng h p, chúng ch* h ng t i t ng th!p nh!t c a vi c phát tri n ph n m m: ph n vi t l nh (coding). M t trong nh ng v!n chính c a ngành phát tri n ph n m m th i nay là có nhi u án b"t tay vào l p trình quá s m và t p trung quá nhi u vào vi c vi t code. Lý do m t ph n là do ban qu n tr thi u hi u bi t v quy trình phát tri n ph n m m và h# n y lo âu khi th!y i quân l p trình c a h# không vi t code. Và b n thân các l p trình viên c'ng c m th!y an tâm h n khi h# ng i vi t code - v n là tác v mà h# quen thu c! – h n là khi xây d ng các mô hình tr u t ng cho h th ng mà h# ph i t o nên. 1.1.3. Mô hình hóa tr c quan Mô hình hoá tr c quan là m t ph ng th c t duy v v!n s d ng các mô hình c t ch c xoay quanh các khái ni m i th c. Mô hình giúp chúng ta hi u v!n , giao ti p v i m#i ng i có liên quan n d án (khách hàng, chuyên gia l+nh v c thu c án, nhà phân tích, nhà thi t k , …). Mô hình r!t h u d ng trong vi c mô hình hoá doanh nghi p, so n th o tài li u, thi t k ch ng trình c'ng nh ngân hàng d li u. Mô hình giúp hi u các òi h i c a h th ng t t h n, t o các thi t k rõ ràng h n và xây d ng nên các h th ng d b o trì h n. Mô hình là k t qu c a s tr u t ng hóa nh%m miêu t các thành ph n c t y u c a m t v!n hay m t c!u trúc ph c t p qua vi c l#c b t các chi ti t không quan tr#ng và làm cho v!n tr thành d hi u h n. Tr u t ng hóa là m t n(ng l c c(n b n c a con ng i, cho phép chúng ta gi i quy t các v!n ph c t p. Các k, s , ngh s+ và th th công ã xây d ng mô hình t hàng ngàn n(m nay th nghi m thi t k tr c khi th c hi n. Phát tri n ph n m m c'ng không là ngo i l . xây d ng các h th ng ph c t p, nhà phát tri n ph i tr u t ng hóa nhi u h ng nhìn khác nhau c a h th ng, s d ng ký hi u chính xác xây d ng mô hình, ki m tra xem mô hình có th a mãn các òi h i c a h th ng, và d n d n b sung thêm chi ti t chuy n các mô hình thành th c hi n. Chúng ta xây d ng mô hình cho các h th ng ph c t p b i chúng ta không th hi u th!u áo nh ng h th ng nh th trong tr ng thái toàn v-n c a chúng. Kh n(ng th!u hi u và n"m b"t tính ph c t p c a 6
  7. con ng i là có h n. i u này ta có th th!y rõ trong ví d c a ngành xây d ng. N u b n mu n t o m t túp l u góc v n, b n có th b"t tay vào xây ngay. N u b n xây m t ngôi nhà, có l& b n s& c n t i b n v&, nh ng n u b n mu n xây m t toà nhà ch#c tr i thì ch"c ch"n b n không th không c n b n v&. Th gi i ph n m m c a chúng ta c'ng th . Ch* t p trung vào các dòng code hay th m chí c phân tích Forms trong Visual Basic ch)ng cung c!p m t cái nhìn toàn c c v vi c phát tri n án. Xây d ng mô hình cho phép nhà thi t k t p trung vào b c tranh l n v s t ng tác gi a các thành ph n trong án, tránh b sa l y vào nh ng chi ti t riêng bi t c a t ng thành ph n. M t môi tr ng kinh doanh mang tính c nh tranh gay g"t và luôn luôn thay i d n n tính ph c t p ngày càng t(ng cao, và tính ph c t p này t ra nh ng thách th c c tr ng cho các nhà phát tri n h th ng. Mô hình giúp chúng ta t ch c, trình bày tr c quan, th!u hi u và t o nên các h th ng ph c t p. Chúng giúp chúng ta áp ng các thách th c c a vi c phát tri n ph n m m, hôm nay c'ng nh ngày mai. 1.2. Mô t chu trình phát tri n ph n m m 1.2.1. Software Development – m t bài toán ph c t p Kinh nghi m c a nhi u nhà thi t k và phát tri n cho th!y phát tri n ph n m m là m t bài toán ph c t p. Xin nêu m t s các lý do th ng ck n: Nh ng ng i phát tri n ph n m m r!t khó hi u cho úng nh ng gì ng i dùng c n Yêu c u c a ng i dùng th ng thay i trong th i gian phát tri n. Yêu c u th ng c miêu t b%ng v(n b n, dài dòng, khó hi u, nhi u khi th m chí mâu thu n. i quân phát tri n ph n m m, v n là ng i "ngoài cu c", r!t khó nh n th c th!u áo các m i quan h ti m $n và ph c t p c n c th hi n chính xác trong các ng d ng l n. Kh n(ng n"m b"t các d li u ph c t p c a con ng i (t i cùng m t th i i m) là có h n. Khó nh l ng chính xác hi u su!t c a thành ph$m và th a mãn chính xác s mong ch t phía ng i dùng. Ch#n l a ph n c ng và ph n m m thích h p cho gi i pháp là m t trong nh ng thách th c l n i v i Designer. Ph n m m ngoài ra c n có kh n(ng thích ng và m r ng. Ph n m m c thi t k t t là ph n m m ng v ng tr c nh ng bi n i trong môi tr ng, dù t phía c ng ng ng i dùng hay t phía công ngh . Ví d ph n m m ã c phát tri n cho m t nhà b(ng c n có kh n(ng tái s d ng cho m t nhà b(ng khác v i r!t ít s a i ho c hoàn toàn không c n s a i. Ph n m m tho mãn các yêu c u ó c coi là ph n m m có kh n(ng thích ng. M t ph n m m có kh n(ng m r ng là ph n m m c thi t k sao cho d phát tri n theo yêu c u c a ng i dùng mà không c n s a ch a nhi u. Chính vì v y, m t s các khi m khuy t th ng g p trong phát tri n ph n m m là: 7
  8. Hi u không úng nh ng gì ng i dùng c n Không th thích ng cho phù h p v i nh ng thay i v yêu c u i v i h th ng Các Module không kh p v i nhau Ph n m m khó b o trì và nâng c!p, m r ng Phát hi n tr các l. h ng c a d án Ch!t l ng ph n m m kém Hi u n(ng c a ph n m m th!p Các thành viên trong nhóm không bi t c ai ã thay i cái gì, khi nào, âu, t i sao ph i thay i. 1.2.2. Chu Trình Phát Tri n Ph n M m (Software Development Life Cycle) Vì phát tri n ph n m m là m t bài toán khó, nên có l& tr c h t ta c n i m qua m t s các công vi c c(n b n c a quá trình này. Th ng ng i ta hay t p h p chúng theo ti n trình th i gian m t cách t ng i, xoay quanh chu trình c a m t ph n m m, d n t i k t q a khái ni m Chu Trình Phát Tri n Ph n M m (Software Development Life Cycle - SDLC) nh sau: Chu Trình Phát Tri n Ph n M m là m t chu.i các ho t ng c a nhà phân tích (Analyst), nhà thi t k (Designer), ng i phát tri n (Developer) và ng i dùng (User) phát tri n và th c hi n m t h th ng thông tin. Nh ng ho t ng này c th c hi n trong nhi u giai #an khác nhau. Nhà phân tích (Analyst): là ng i nghiên c u yêu c u c a khách hàng/ng i dùng nh ngh+a m t ph m vi bài toán, nh n d ng nhu c u c a m t t ch c, xác nh xem nhân l c, ph ng pháp và công ngh máy tính có th làm sao c i thi n m t cách t t nh!t công tác c a t ch c này. Nhà thi!t k! (Designer): thi t k h th ng theo h ng c!u trúc c a database, screens, forms và reports – quy t nh các yêu c u v ph n c ng và ph n m m cho h th ng c n c phát tri n. Chuyên gia l0nh v*c (Domain Experts): là nh ng ng i hi u th c ch!t v!n cùng t!t c nh ng s ph c t p c a h th ng c n tin h#c hoá. H# không nh!t thi t ph i là nhà l p trình, nh ng h# có th giúp nhà l p trình hi u yêu c u t ra i v i h th ng c n phát tri n. Quá trình phát tri n ph n m m s& có r!t nhi u thu n l i n u i ng' làm ph n m m có c s tr giúp c a h#. L p trình viên (Programmer): là nh ng ng i d a trên các phân tích và thi t k vi t ch ng trình (coding) cho h th ng b%ng ngôn ng l p trình ã c th ng nh!t. Ng /i dùng (User): là it ng ph c v c a h th ng c n c phát tri n. cho rõ h n, xin l!y ví d v m t v!n n gi n sau: Ng i bình th ng chúng ta khi nhìn m t chi c xe ô tô th ng s& có m t b c tranh t bên ngoài nh sau: 8
  9. V,n Hình 1.1: Nhìn v!n ô tô c a ng i bình th ng Chuyên gia l+nh v c s& giúp nhà phân tích "trình bày l i" v!n nh sau: Hình 1.2: Nhìn v!n ô tô c a chuyên gia phân tích Chính vì s tr giúp c a chuyên gia l+nh v c có th óng vai trò r!t quan tr#ng nên trong nh ng giai o n u c a quá trình phát tri n ph n m m, k t qu phân tích nên c th hi n sao cho d hi u i v i các chuyên gia l+nh v c. ây c'ng là môt trong r!t nhi u lý do khi n cho ph ng pháp h ng i t ng c nhi u ng i h ng ng. 1.2.3. Các giai o n c a Chu Trình Phát Tri n Ph n M m Chu trình c a m t ph n m m có th c chia thành các giai o n nh sau: Nghiên c u s b (Preliminary Investigation hay còn g#i là Feasibility Study) Phân tích yêu c u (Analysis) Thi t k h th ng (Design of the System) Xây d ng ph n m m (Software Construction) Th nghi m h th ng (System Testing) Th c hi n, tri n khai (System Implementation) B o trì, nâng c!p (System Maintenance) a) Nghiên c u s b': Câu h i quan tr#ng nh!t khi phát tri n m t h th ng hoàn toàn không ph i câu h i mang tính ph ng pháp lu n. Mà c'ng ch)ng ph i câu h i v k, thu t. Nó là m t câu h i d ng nh có v/ n gi n, 9
  10. nh ng th t ra c bi t khó tr l i: “ ây có úng là m t h th ng th c hi n không?” áng bu n là chính câu h i này trong th c t th ng ch)ng h c t ra và l i càng không c tr l i. M c dù vi c l m l n v ph ng pháp hay quy t nh sai l m v k, thu t c'ng có th d n t i th!t b i, nh ng th ng thì d án có th c c u vãn n u có y tài nguyên cùng s c g"ng quên mình c a các nhân viên tài gi i. Nh ng s& ch)ng m t ai và m t i u gì c u vãn cho m t h th ng ph n m m hoàn toàn ch)ng c c n t i ho c c g"ng t ng hóa m t quy trình l m l c. Tr c khi b"t tay vào m t d án, b n ph i có m t ý t ng cho nó. Ý t ng này i song song v i vi c n"m b"t các yêu c u và xu!t hi n trong giai o n kh i u. Nó hoàn t!t m t phát bi u: "H th ng mà chúng ta mong mu n s& làm c nh ng vi c nh sau ....". Trong su t giai o n này, chúng ta t o nên m t b c tranh v ý t ng ó, r!t nhi u gi thuy t s& c công nh n hay lo i b . Các ho t ng trong th i gian này th ng bao g m thu th p các ý t ng, nh n bi t r i ro, nh n bi t các giao di n bên ngoài, nh n bi t các các ch c n(ng chính mà h th ng c n cung c!p, và có th t o m t vài nguyên m u dùng “minh ch ng các khái ni m c a h th ng”. Ý t ng có th n t nhi u ngu n khác nhau: khách hàng, chuyên gia l+nh v c, các nhà phát tri n khác, chuyên gia v k, ngh , các b n nghiên c u tính kh thi c'ng nh vi c xem xét các h th ng khác ang t n t i. M t khía c nh c n nh"c t i là code vi t trong th i k0 này th ng s& b "b i”, b i chúng c vi t nh%m m c ích th$m tra hay tr giúp các gi thuy t khác nhau, ch ch a ph i th code c vi t theo k t qu phân tích và thi t k th!u áo. Trong giai #an nghiên c u s b , nhóm phát tri n h th ng c n xem xét các yêu c u c a doanh nghi p (c n dùng h th ng), nh ng ngu n tài nguyên có th s d ng, công ngh c'ng nh c ng ng ng i dùng cùng các ý t ng c a h# i v i h th ng m i. Có th th c hi n th o lu n, nghiên c u, xem xét khía c nh th ng m i, phân tích kh n(ng l i-l., phân tích các tr ng h p s d ng và t o các nguyên m u xây d ng nên m t khái ni m cho h th ng ích cùng v i các m c ích, quy n u tiên và ph m vi c a nó. Th ng trong giai o n này ng i ta c'ng ti n hành t o m t phiên b n thô c a l ch trình và k ho ch s d ng tài nguyên. M t giai o n nghiên c u s b thích áng s& l p nên t p h p các yêu c u (dù m c khái quát cao) i v i m t h th ng kh thi và c mong mu n, k c v ph ng di n k, thu t l n xã h i. M t giai o n nghiên c u s b không c th c hi n tho áng s& d n t i các h th ng không c mong mu n, "t ti n, b!t kh thi và c nh ngh+a l m l c – nh ng h th ng th ng ch)ng c hoàn t!t hay s d ng. K t qu c a giai o n nghiên c u s b là Báo Cáo K t Qu Nghiên C u Tính Kh Thi. Khi h th ng t ng lai c ch!p nh n d a trên b n báo cáo này c'ng là lúc giai o n Phân tích b"t u. b) Phân tích yêu c u: Sau khi ã xem xét v tính kh thi c a h th ng c'ng nh t o l p m t b c tranh s b c a d án, chúng ta b c sang giai o n th ng c coi là quan tr#ng nh!t trong các công vi c l p trình: hi u h th ng c n xây d ng. Ng i th c hi n công vi c này là nhà phân tích. Quá trình phân tích nhìn chung là h qu c a vi c tr l i câu h i "H th ng c n ph i làm gì?". Quá trình phân tích bao g m vi c nghiên c u chi ti t h th ng doanh nghi p hi n th i, tìm cho ra nguyên lý ho t ng c a nó và nh ng v trí có th c nâng cao, c i thi n. Bên c nh ó là vi c nghiên c u xem xét các ch c n(ng mà h th ng c n cung c!p và các m i quan h c a chúng, bên trong c'ng nh v i phía ngoài h th ng. Trong toàn b giai o n này, nhà phân tích và ng i dùng c n c ng tác m t thi t v i nhau xác nh các yêu c u i v i h th ng, t c là các tính n(ng m i c n ph i c a vào h th ng. 10
  11. Nh ng m c tiêu c th c a giai o n phân tích là: Xác nh h th ng c n ph i làm gì. Nghiên c u th!u áo t!t c các ch c n(ng c n cung c!p và nh ng y u t liên quan Xây d ng m t mô hình nêu b t b n ch!t v!n t m th ng nhìn có th c (trong i s ng th c). Trao nh ngh+a v!n cho chuyên gia l+nh v c nh n s ánh giá, góp ý. K t qu c a giai o n phân tích là b n c T Yêu C u (Requirements Specifications). c) Thi!t k! h th ng: Sau giai o n phân tích, khi các yêu c u c th i v i h th ng ã c xác nh, giai o n ti p theo là thi t k cho các yêu c u m i. Công tác thi t k xoay quanh câu h i chính: H th ng làm cách nào th a mãn các yêu c u ã c nêu trong c T Yêu C u? M t s các công vi c th ng c th c hi n trong giai o n thi t k : Nh n bi t form nh p li u tùy theo các thành ph n d li u c n nh p. Nh n bi t reports và nh ng output mà h th ng m i ph i s n sinh Thi t k forms (v& trên gi!y hay máy tính, s d ng công c thi t k ) Nh n bi t các thành ph n d li u và b ng t o database 1 c tính các th t c gi i thích quá trình x lý t input n output. K t qu giai o n thi t k là c T Thi t K (Design Specifications). B n c T Thi t K Chi Ti t s& c chuy n sang cho các l p trình viên th c hi n giai o n xây d ng ph n m m. d) Xây d*ng ph n m m: ây là giai o n vi t l nh (code) th c s , t o h th ng. T ng ng i vi t code th c hi n nh ng yêu c u ã c nhà thi t k nh s2n. C'ng chính ng i vi t code ch u trách nhi m vi t tài li u liên quan n ch ng trình, gi i thích th t c (procedure) mà anh ta t o nên c vi t nh th nào và lý do cho vi c này. m b o ch ng trình c vi t nên ph i tho mãn m#i yêu c u có ghi tr c trong b n cT Thi t K Chi Ti t, ng i vi t code c'ng ng th i ph i ti n hành th nghi m ph n ch ng trình c a mình. Ph n th nghi m trong giai o n này có th c chia thành hai b c chính: + Th% nghi m n v1: Ng i vi t code ch y th các ph n ch ng trình c a mình v i d li u gi (test/dummy data). Vi c này c th c hi n theo m t k ho ch th , c'ng do chính ng i vi t code so n ra. M c ích chính trong giai o n th này là xem ch ng trình có cho ra nh ng k t qu mong i. Giai o n th nghi m n v nhi u khi c g#i là "Th h p tr"ng" (White Box Testing). + Th% nghi m n v1 'c l p: Công vi c này do m t thành viên khác trong nhóm m trách. C n ch#n ng i không có liên quan tr c ti p n vi c vi t code c a n v ch ng trình c n th 11
  12. nghi m m b o tính “ c l p”. Công vi c th t này c'ng c th c hi n d a trên k ho ch th do ng i vi t code so n nên. e) Th% nghi m h th ng: Sau khi các th t c ã c th nghi m riêng, c n ph i th nghi m toàn b h th ng. M#i th t c c tích h p và ch y th , ki m tra xem m#i chi ti t ghi trong c T Yêu C u và nh ng mong ch c a ng i dùng có c tho mãn. D li u th c n c ch#n l#c c bi t, k t qu c n c phân tích phát hi n m#i l ch l c so v i mong ch . f) Th*c hi n, tri n khai: Trong giai o n này, h th ng v a phát tri n s& c tri n khai sao cho phía ng i dùng. Tr c khi ng i dùng th t s b"t tay vào s d ng h th ng, nhóm các nhà phát tri n c n t o các file d li u c n thi t c'ng nh hu!n luy n cho ng i dùng, m b o h th ng c s d ng h u hi u nh!t. g) B o trì, nâng c,p: Tùy theo các bi n i trong môi tr ng s d ng, h th ng có th tr nên l.i th i hay c n ph i cs a i nâng c!p s d ng có hi u qu . Ho t ng b o trì h th ng có th r!t khác bi t tùy theo m c s a i và nâng c!p c n thi t. S $ t ng quát các giai o"n c a Chu Trình Phát Tri n Ph n M m: Hình 1.3: S t ng quát các giai o n c a Chu Trình Phát Tri n Ph n M m 12
  13. 1.3. Ph ng pháp h ng ch c n ng và ph ng pháp h ng it ng 1.3.1. Ph ng pháp h ng ch c n ng ây là l i ti p c n truy n th ng c a ngành Công ngh ph n m m. Theo l i ti p c n này, chúng ta quan tâm ch y u t i nh ng thông tin mà h th ng s& gi gìn. Chúng ta h i ng i dùng xem h# s& c n nh ng thông tin nào, r i chúng ta thi t k ngân hàng d li u ch a nh ng thông tin ó, cung c!p Forms nh p thông tin và in báo cáo trình bày các thông tin. Nói m t cách khác, chúng ta t p trung vào thông tin và không m!y ý n nh ng gì có th x y ra v i nh ng h th ng ó và cách ho t ng ( ng x ) c a h th ng là ra sao. ây là l i ti m c n xoay quanh d li u và ã c áp d ng t o nên hàng ngàn h th ng trong su t nhi u n(m tr i. L i ti p c n xoay quanh d li u là ph ng pháp t t cho vi c thi t k ngân hàng d li u và n"m b"t thông tin, nh ng n u áp d ng cho vi c thi t k ng d ng l i có th khi n phát sinh nhi u khó kh(n. M t trong nh ng thách th c l n là yêu c u i v i các h th ng th ng xuyên thay i. M t h th ng xoay quanh d li u có th d dàng x lý vi c thay i ngân hàng d li u, nh ng l i khó th c thi nh ng thay i trong nguyên t"c nghi p v hay cách ho t ng c a h th ng. Ph ng pháp h ng i t ng ã c phát tri n tr l i cho v!n ó. V i l i ti p c n h ng i t ng, chúng ta t p trung vào c hai m t c a v!n : thông tin và cách ho t ng. 1.3.2. Ph ng pháp h ng it ng H ng i t ng là thu t ng thông d ng hi n th i c a ngành công nghi p ph n m m. Các công ty ang nhanh chóng tìm cách áp d ng và tích h p công ngh m i này vào các ng d ng c a h#. Th t s là a ph n các ng d ng hi n th i u mang tính h ng i t ng. Nh ng h ng i t ng có ngh+a là gì? L i ti p c n h ng i t ng là m t l i t duy v v!n theo l i ánh x các thành ph n trong bài toán vào các i t ng ngoài i th c. V i l i ti p c n này, chúng ta chia ng d ng thành các thành ph n nh , g#i là các i t ng, chúng t ng i c l p v i nhau. Sau ó ta có th xây d ng ng d ng b%ng cách ch"p các i t ng ó l i v i nhau. Hãy ngh+ n trò ch i xây lâu ài b%ng các m u g.. B c u tiên là t o hay mua m t vài lo i m u g. c(n b n, t ó t o nên các kh i xây d ng c(n b n c a mình. M t khi ã có các kh i xây d ng ó, b n có th ch"p ráp chúng l i v i nhau t o lâu ài. T ng t nh v y m t khi ã xây d ng m t s i t ng c(n b n trong th gi i máy tính, b n có th ch"p chúng l i v i nhau t o ng d ng c a mình. Xin l!y m t ví d n gi n: v!n rút ti n m t t i nhà b(ng. Các “m u g.“ thành ph n ây s& là ánh x c a các i t ng ngoài i th c nh tài kho n, nhân viên, khách hàng, …Và ng d ng s& c s& c nh n di n c'ng nh gi i áp xoay quanh các i t ng ó. 1.4. u i m c a mô hình h ng it ng 1.4.1. Tính tái s d ng (Reusable) Ph ng pháp phân tích và thi t k h ng i t ng th c hi n theo các thu t ng và khái ni m c a ph m vi l+nh v c ng d ng (t c là c a doanh nghi p hay n v mà h th ng t ng lai c n ph c v ), nên nó t o s ti p c n t ng ng gi a h th ng và v!n th c ngoài i. Trong ví d bán xe ô tô, m#i giai o n phân tích thi t k và th c hi n u xoay quanh các khái ni m nh khách hàng, nhân viên bán hàng, xe ô tô, … Vì quá trình phát tri n ph n m m ng th i là quá trình c ng tác c a khách 13
  14. hàng/ng i dùng, nhà phân tích, nhà thi t k , nhà phát tri n, chuyên gia l+nh v c, chuyên gia k, thu t, ... nên l i ti p c n này khi n cho vi c giao ti p gi a h# v i nhau c d dàng h n. M t trong nh ng u i m quan tr#ng b c nh!t c a ph ng pháp phân tích và thi t k h ng i t ng là tính tái s d ng: b n có th t o các thành ph n ( i t ng) m t l n và dùng chúng nhi u l n sau ó. Gi ng nh vi c b n có th tái s d ng các kh i xây d ng (hay b n sao c a nó ) trong m t toà lâu ài, m t ngôi nhà , m t con tàu v' tr , b n c'ng có th tái s d ng các thành ph n ( i t ng) c(n b n trong các thi t k h ng i t ng c'ng nh code c a m t h th ng k toán, h th ng ki m kê, ho c m t h th ng t hàng. Vì các i t ng ã c th nghi m k, càng trong l n dùng tr c ó, nên kh n(ng tái s d ng i t ng có tác d ng gi m thi u l.i và các khó kh(n trong vi c b o trì, giúp t(ng t c thi t k và phát tri n ph n m m. Ph ng pháp h ng i t ng giúp chúng ta x lý các v!n ph c t p trong phát tri n ph n m m và t o ra các th h ph n m m có kh n(ng thích ng và b n ch"c. 1.4.2. Các giai o n c a chu trình phát tri n ph n m m v i mô hình h ng it ng Phân tích h ng it ng (Object Oriented Analysis - OOA): Là giai #an phát tri n m t mô hình chính xác và súc tích c a v!n , có thành ph n là các it ng và khái ni m i th c, d hi u i v i ng i s d ng. Trong giai o n OOA, v!n c trình bày b%ng các thu t ng t ng ng v i các i t ng có th c. Thêm vào ó, h th ng c n ph i c nh ngh+a sao cho ng i không chuyên Tin h#c có th d dàng hi u c. D a trên m t v!n có s2n, nhà phân tích c n ánh x các i t ng hay th c th có th c nh khách hàng, ô tô, ng i bán hàng, … vào thi t k t o ra c b n thi t k g n c n v i tình hu ng th c. Mô hình thi t k s& ch a các th c th trong m t v!n có th c và gi nguyên các m u hình v c!u trúc, quan h c'ng nh hành vi c a chúng. Nói m t cách khác, s d ng ph ng pháp h ng i t ng chúng ta có th mô hình hóa các th c th thu c m t v!n có th c mà v n gi c c!u trúc, quan h c'ng nh hành vi c a chúng. i v i ví d m t phòng bán ô tô, giai o n OOA s& nh n bi t c các th c th nh : Khách hàng Ng i bán hàng Phi u t hàng Phi u (hoá n) thanh toán Xe ô tô T ng tác và quan h gi a các it ng trên là: Ng i bán hàng d n khách hàng tham quan phòng tr ng bày xe. Khách hàng ch#n m t chi c xe 14
  15. Khách hàng vi t phi u t xe Khách hàng tr ti n xe Xe ô tô c giao n cho khách hàng i v i ví d nhà b(ng l/, giai o n OOA s& nh n bi t c các th c th nh : Lo i tài kho n: ATM (rút ti n t ng), Savings (ti t ki m), Current (bình th ng), Fixed ( u t ), ... Khách hàng Nhân viên Phòng máy tính. T ng tác và quan h gi a các it ng trên: M t khách hàng m i m m t tài kho n ti t ki m Chuy n ti n t tài kho n ti t ki m sang tài kho n ut Chuy n ti n t tài kho n ti t ki m sang tài kho n ATM Xin chú ý là ây, nh ã nói, ta chú ý n c hai khía c nh: thông tin và cách ho t ng c a h th ng (t c là nh ng gì có th x y ra v i nh ng thông tin ó). L i phân tích b%ng ki u ánh x " i th c” vào máy tính nh th th t s là u i m l n c a ph ng pháp h ng i t ng. Thi!t k! h ng it ng (Object Oriented Design - OOD): Là giai o n t ch c ch ng trình thành các t p h p i t ng c ng tác, m.i i t ng trong ó là th c th c a m t l p. Các l p là thành viên c a m t cây c!u trúc v i m i quan h th a k . M c ích c a giai o n OOD là t o thi t k d a trên k t qu c a giai o n OOA, d a trên nh ng quy nh phi ch c n(ng, nh ng yêu c u v môi tr ng, nh ng yêu c u v kh n(ng th c thi, .... OOD t p trung vào vi c c i thi n k t qu c a OOA, t i u hóa gi i pháp ã c cung c!p trong khi v n m b o tho mãn t!t c các yêu c u ã c xác l p. Trong giai o n OOD, nhà thi t k nh ngh+a các ch c n(ng, th t c (operations), thu c tính (attributes) c'ng nh m i quan h c a m t hay nhi u l p (class) và quy t nh chúng c n ph i c i u ch*nh sao cho phù h p v i môi tr ng phát tri n. ây c'ng là giai o n thi t k ngân hàng d li u và áp d ng các k, thu t tiêu chu$n hóa. V cu i giai o n OOD, nhà thi t k a ra m t lo t các bi u (diagram) khác nhau. Các bi u này có th c chia thành hai nhóm chính là T+nh và ng. Các bi u t+nh bi u th các l p và i t ng, trong khi bi u ng bi u th t ng tác gi a các l p và ph ng th c ho t ng chính xác c a chúng. Các l p ó sau này có th c nhóm thành các gói (Packages) t c là các n v thành ph n nh h n c a ng d ng. L p trình h ng it ng (Object Oriented Programming - OOP): 15
  16. Giai o n xây d ng ph n m m có th c th c hi n s d ng k, thu t l p trình h ng i t ng. ó là ph ng th c th c hi n thi t k h ng i t ng qua vi c s d ng m t ngôn ng l p trình có h. tr các tính n(ng h ng i t ng. M t vài ngôn ng h ng i t ng th ng c nh"c t i là C++ và Java. K t qu chung cu c c a giai o n này là m t lo t các code ch y c, nó ch* c a vào s d ng sau khi ã tr i qua nhi u vòng quay c a nhi u b c th nghi m khác nhau. 1.5. Ph n câu h i H i: M t s t p h p d li u ph c t p nh!t nh khi c trình bày b%ng th s& truy n t i n ng i #c nhi u thông tin h n so v i các d li u thô? áp: úng H i: Mô hình giúp chúng ta t ch c, trình bày tr c quan, th!u hi u và t o nên các h th ng ph c t p. áp: úng H i: 1u i m l n nh!t c a mô hình h ng it ng là tính tái s d ng (Reusable)? áp: úng. 16
  17. CH NG 2: NGÔN NG MÔ HÌNH HÓA TH NG NH T LÀ GÌ? 2.1. Gi i thi u UML 2.1.1. Mô hình hóa h th ng ph n m m Nh ã trình bày ph n tr c, m c tiêu c a giai o n phân tích h th ng là s n xu!t ra m t mô hình t ng th c a h th ng c n xây d ng. Mô hình này c n ph i c trình bày theo h ng nhìn (View) c a khách hàng hay ng i s d ng và làm sao h# hi u c. Mô hình này c'ng có th c s d ng xác nh các yêu c u c a ng i dùng i v i h th ng và qua ó giúp chúng ta ánh giá tính kh thi c a d án. T m quan tr#ng c a mô hình ã c l+nh h i m t cách th!u áo trong h u nh t!t c các ngành khoa h#c k, thu t t nhi u th k3 nay. B!t k0 âu, khi mu n xây d ng m t v t th nào ó, u tiên ng i ta ã t o nên các b n v& quy t nh c ngo i hình l n ph ng th c ho t ng c a nó. Ch)ng h n các b n v& k, thu t th ng g p là m t d ng mô hình quen thu c. Mô hình nhìn chung là m t cách mô t c a m t v t th nào ó. V t ó có th t n t i trong m t s giai o n nh!t nh, dù ó là giai o n thi t k hay giai o n xây d ng ho c ch* là m t k ho ch. Nhà thi t k c n ph i t o ra các mô hình mô t t!t c các khía c nh khác nhau c a s n ph$m. Ngoài ra, m t mô hình có th c chia thành nhi u h ng nhìn, m.i h ng nhìn trong s chúng s& mô t m t khía c nh riêng bi t c a s n ph$m hay h th ng c n c xây d ng. M t mô hình c'ng có th c xây d ng trong nhi u giai o n và m.i giai o n, mô hình s& c b sung thêm m t s chi ti t nh!t nh. Mô hình th ng c mô t trong ngôn ng tr c quan, i u ó có ngh+a là a ph n các thông tin c th hi n b%ng các ký hi u h#a và các k t n i gi a chúng, ch* khi c n thi t m t s thông tin m i c bi u di n d ng v(n b n; Theo úng nh câu ng n ng "M t b c tranh nói nhi u h n c ngàn t ". T o mô hình cho các h th ng ph n m m tr c khi th c s xây d ng nên chúng, ã tr thành m t chu$n m c trong vi c phát tri n ph n m m và c ch!p nh n trong c ng ng làm ph n m m gi ng nh trong b!t k0 m t ngành khoa h#c k, thu t nào khác. Vi c bi u di n mô hình ph i thoã mãn các y u t sau: Chính xác (accurate): Mô t úng h th ng c n xây d ng. ng nh!t (consistent): Các view khác nhau không c mâu thu$n v i nhau. Có th hi u c (understandable): Cho nh ng ng i xây d ng l n s d ng D thay i (changeable) D dàng liên l c v i các mô hình khác. Có th nói thêm r%ng mô hình là m t s n gi n hoá hi n th c. Mô hình c xây d ng nên chúng ta d dàng hi u và hi u t t h n h th ng c n xây d ng. T o mô hình s& giúp cho chúng ta hi u th!u áo m t h th ng ph c t p trong s toàn th c a nó. Nói tóm l i, mô hình hóa m t h th ng nh%m m c ích: Hình dung m t h th ng theo th c t hay theo mong mu n c a chúng ta . 17
  18. Ch* rõ c!u trúc ho c ng x c a h th ng. T o m t khuôn m u h ng d n nhà phát tri n trong su t quá trình xây d ng h th ng. Ghi l i các quy t nh c a nhà phát tri n s d ng sau này. 2.1.2. Tr c khi UML ra i u nh ng n(m 1980, ngành công ngh ph n m m ch* có duy nh!t m t ngôn ng h ng i t ng là Simula. Sang n a sau c a th p k3 1980, các ngôn ng h ng i t ng nh Smalltalk và C++ xu!t hi n. Cùng v i chúng, n y sinh nhu c u mô hình hoá các h th ng ph n m m theo h ng i t ng. Và m t vài trong s nh ng ngôn ng mô hình hoá xu!t hi n nh ng n(m u th p k3 90 c nhi u ng i dùng là: Grady Booch’s Booch Modeling Methodology James Rambaugh’s Object Modeling Technique – OMT Ivar Jacobson’s OOSE Methodology Hewlett- Packard’s Fusion Coad and Yordon’s OOA and OOD M.i ph ng pháp lu n và ngôn ng trên u có h th ng ký hi u riêng, ph ng pháp x lý riêng và công c h. tr riêng, khi n n y ra cu c tranh lu n ph ng pháp nào là t t nh!t. ây là cu c tranh lu n khó có câu tr l i, b i t!t c các ph ng pháp trên u có nh ng i m m nh và i m y u riêng. Vì th , các nhà phát tri n ph n m m nhi u kinh nghi m th ng s d ng ph i h p các i m m nh c a m.i ph ng pháp cho ng d ng c a mình. Trong th c t , s khác bi t gi a các ph ng pháp ó h u nh không áng k và theo cùng ti n trình th i gian, t!t c nh ng ph ng pháp trên ã ti m c n l i và b sung l n cho nhau. Chính hi n th c này ã c nh ng ng i tiên phong trong l+nh v c mô hình hoá h ng i t ng nh n ra và h# quy t nh ng i l i cùng nhau tích h p nh ng i m m nh c a m.i ph ng pháp và a ra m t mô hình th ng nh!t cho l+nh v c công ngh ph n m m. 2.1.3. S ra i c a UML Trong b i c nh trên, ng i ta nh n th!y c n thi t ph i cung c!p m t ph ng pháp ti m c n c chu$n hoá và th ng nh!t cho vi c mô hình hoá h ng i t ng. Yêu c u c th là a ra m t t p h p chu$n hoá các ký hi u (Notation) và các bi u (Diagram) n"m b"t các quy t nh v m t thi t k m t cách rõ ràng, rành m ch. ã có ba công trình tiên phong nh"m t i m c tiêu ó, chúng c th c hi n d i s lãnh o c a James Rumbaugh, Grady Booch và Ivar Jacobson. Chính nh ng c g"ng này d n n k t qu là xây d ng c m t Ngôn Ng Mô Hình Hoá Th ng Nh!t (Unifield Modeling Language – UML). UML là m t ngôn ng mô hình hoá th ng nh!t có ph n chính bao g m nh ng ký hi u hình h#c, c các ph ng pháp h ng i t ng s d ng th hi n và miêu t các thi t k c a m t h th ng. Nó là m t ngôn ng c t , tr c quan hoá, xây d ng và làm s u li u cho nhi u khía c nh khác nhau c a m t h th ng có n ng ph n m m cao. UML có th c s d ng làm công c giao ti p gi a ng i dùng, nhà phân tích, nhà thi t k và nhà phát tri n ph n m m. 18
  19. Trong quá trình phát tri n có nhi u công ty ã h. tr và khuy n khích phát tri n UML có th k t i nh : Hewlett Packard, Microsoft, Oracle, IBM, Unisys. 2.1.4. UML (Unifield Modeling Language) Ngôn ng mô hình hóa th ng nh!t (Unifield Modeling Language – UML) là m t ngôn ng bi u di n mô hình theo h ng i t ng c xây d ng b i ba tác gi trên v i ch ích là: Mô hình hoá các h th ng s d ng các khái ni m h ng it ng. Thi t l p m t k t n i t nh n th c c a con ng i n các s ki n c n mô hình hoá. Gi i quy t v!n v m c th a k trong các h th ng ph c t p, có nhi u ràng bu c khác nhau. T o m t ngôn ng mô hình hoá có th s d ng c b i ng i và máy. 2.1.5. Ph ng pháp và các ngôn ng mô hình hoá Ph ng pháp hay ph ng th c (method) là m t cách tr c ti p c!u trúc hoá s suy ngh+ và hành ng c a con ng i. Ph ng pháp cho ng i s d ng bi t ph i làm gì, làm nh th nào, khi nào và t i sao (m c ích c a hành ng). Ph ng pháp ch a các mô hình (model), các mô hình c dùng mô t nh ng gì s d ng cho vi c truy n t k t qu trong quá trình s d ng ph ng pháp. i m khác nhau chính gi a m t ph ng pháp và m t ngôn ng mô hình hoá (modeling language) là ngôn ng mô hình hoá không có m t ti n trình (process) hay các câu l nh (instruction) mô t nh ng công vi c ng i s d ng c n làm. M t mô hình c bi u di n theo m t ngôn ng mô hình hoá. Ngôn ng mô hình hoá bao g m các ký hi u – nh ng bi u t ng c dùng trong mô hình – và m t t p các quy t"c ch* cách s d ng chúng. Các quy t"c này bao g m: Syntactic (Cú pháp): cho bi t hình d ng các bi u t ng và cách k t h p chúng trong ngôn ng . Semantic (Ng ngh+a): cho bi t ý ngh+a c a m.i bi u t ng, chúng c hi u th nào khi n%m trong ho c không n%m trong ng c nh c a các bi u t ng khác. Pragmatic : nh ngh+a ý ngh+a c a bi u t ng sao cho m c ích c a mô hình c th hi n và m#i ng i có th hi u c. 2.2. UML trong phân tích thi!t k! h th ng UML có th c s d ng trong nhi u giai o n, t phát tri n, thi t k cho t i th c hi n và b o trì. Vì m c ích chính c a ngôn ng này là dùng các bi u h ng i t ng mô t h th ng nên mi n ng d ng c a UML bao g m nhi u lo i h th ng khác nhau nh : H th ng th ng tin (Information System): C!t gi , l!y, bi n i bi u di n thông tin cho ng i s d ng. X lý nh ng kho ng d li u l n có các quan h ph c t p , mà chúng cl u tr trong các c s d li u quan h hay h ng i t ng . 19
  20. H th ng k2 thu t (Technical System): X lý và i u khi n các thi t b k, thu t nh vi n thông, h th ng quân s , hay các quá trình công nghi p. ây là lo i thi t b ph i x lý các giao ti p c bi t , không có ph n m m chu$n và th ng là các h th ng th i gian th c (real time). H th ng nhúng (Embeded System): Th c hi n trên ph n c ng g"n vào các thi t b nh i n tho i di ng, i u khi n xe h i, … i u này c th c hi n b%ng vi c l p trình m c th!p v i h. tr th i gian th c. Nh ng h th ng này th ng không có các thi t b nh màn hình +a c ng, … H th ng phân b ( Distributed System): c phân b trên m t s máy cho phép truy n d li u t n i này n n i khác m t cách d dàng. Chúng òi h i các c ch liên l c ng b m b o toàn v-n d li u và th ng c xây d ng trên m t s các k, thu t i t ng nh CORBA, COM/DCOM, hay Java Beans/RMI. H th ng Giao d1ch (Business System): Mô t m c ích, tài nguyên (con ng i, máy tính, …), các quy t"c (lu t pháp, chi n thu t kinh doanh, c ch , …), và công vi c ho t ng kinh doanh. Ph n m m h th ng (System Software): nh ngh+a c s h t ng k, thu t cho ph n m m khác s d ng, ch)ng h n nh h i u hành, c s d li u, giao di n ng i s d ng. 2.3. UML và các giai o"n phát tri n h th ng Preliminary Investigation: use cases th hi n các yêu c u c a ng i dùng. Ph n miêu t use case xác nh các yêu c u, ph n diagram th hi n m i quan h và giao ti p v i h th ng. Analysis: M c ích chính c a giai #an này là tr u t ng hóa và tìm hi u các c c!u có trong ph m vi bài toán. Class diagrams trên bình di n tr u t ng hóa các th c th ngoài i th c c s d ng làm rõ s t n t i c'ng nh m i quan h c a chúng. Ch* nh ng l p (class) n%m trong ph m vi bài toán m i áng quan tâm. Design: K t qu ph n analysis c phát tri n thành gi i pháp k, thu t. Các l p c mô hình hóa chi ti t cung c!p h t ng k, thu t nh giao di n, n n t ng cho database, … K t qu ph n Design là các c t chi ti t cho giai o n xây d ng ph n m m. Development: Mô hình Design c chuy n thành code. Programmer s d ng các UML diagrams trong giai o n Design hi u v!n và t o code. Testing: S d ng các UML diagrams trong các giai o n tr c. Có 4 hình th c ki m tra h th ng: Unit testing (class diagrams & class specifications) : ki m tra t ng n th , c dùng ki m tra các l p hay các nhóm n th . Integration testing (integration diagrams & collaboration diagrams) : ki m tra tích h p là ki m tra k t h p các component v i các l p xem chúng ho t ng v i nhau có úng không. System testing (use-case diagrams) : ki m tra xem h th ng có áp ng c ch c n(ng mà ng i s d ng yêu c u hay không. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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