Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

Embed Size (px)

Citation preview

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    1/234

     

    Phát trin ph$n m&m b'ng UML  trang | 1

    Xut b$n n&m 2002

    Chuy(n sang ebook b+ i

    Sinh viên l- p DHTH4LT – Tr/0 ng 2H Công Nghi3p

    10/2009 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    2/234

     

    Phát trin ph$n m&m b'ng UML  trang | 2

    M5c l5c CH78 NG 1 M9  2;U ................................................................................ .......................................................... 7 

    1.1 L)CH S,  H-. NG 12I T-5 NG ....................................................... ........................................................... ........ 8 1.2 M6T S2 KHÁI NI7M C/ B9 N ................................................................. ........................................................ 10 1.3 NGUYÊN T;C QU9 N LÝ 16 PH TI? N TRÌNH PHÁT TRI@ N PHB N M>M ...................................................................... ................ 15 

    1.5.1 - Các ph! ng pháp mô hình hóa h" th& ng .......................................................................................... 15 1.5.2 - Các pha phát tri) n ph+n m- m ................................................... ........................................................ 17  

    CH78 NG 2 KHÁI QUÁT V= UML ........................................................................................ ......................... 24 

    2.1 GI.I THI7U UML ...................................................... ........................................................... ......................... 24 2.2 MÔ HÌNH KHÁI NI7M CCA UML .................................................... ........................................................... ...... 26 

    2.2.1 - Ph+n t .  mô hình trong UML........................ ........................................................... .......................... 26  2.2.2 - Các quan h" trong UML ........................................................... ........................................................ 28 2.2.3 - Ki) u d 0  li"u ...................................................................................................................................... 29 2.2.4 - Bi) u 23 UML .................................................................................................................................... 29 

    2.3 KI? N TRÚC H7 TH2 NG .................................................................................................................................. 38 2.3.1 - Khung nhìn UC ...................................................... ........................................................... ................ 38 2.3.2 - Khung nhìn thi4 t k 4  .......................................................... ........................................................... ...... 39 2.3.3 - Khung nhìn cài 25t .......................................................... ........................................................... ...... 39 2.3.4 - Khung nhìn tri) n khai .......................................................................... ............................................. 39 2.3.5 - Khung nhìn ti4 n trình ....................................................... ........................................................... ...... 40 2.3.6 - C +n bao nhiêu khung nhìn .......................................................................................................... ...... 40 

    2.4 RATIONAL ROSE LÀ GÌ? .................................................................................... ............................................ 40 2.5 KH9 NE NG S,  DF NG UML ............................................................ ........................................................... ...... 41 2.6 THG C HÀNH ............................................................................................................. .................................... 41 

    CH78 NG 3 MÔ HÌNH HÓA TR 7? NG H@ P SA  DBNG ............................................................................ 44 

    3.1 PHÂN TÍCH TR -H NG H5P S,  DF NG (USE CASE –  UC) .......................................................... ......................... 44 3.1.1 - UC là gì? ........................................... ........................................................... .................................... 44 3.1.2 - Xây d 7 ng UC 2)  làm gì? .................................................................................................................. 44 3.1.3 - Tìm ki4 m UC nh  th4  nào ? ...................................................... ........................................................ 45 3.1.4 - Lu3ng s7  ki"n trong UC ................................................................................................................... 48 

    3.2 BI@U 1J TR -H NG H5P S,  DF NG ........................................................... ........................................................ 50 3.3 THG C HÀNH ............................................................................................................. .................................... 54 

    3.3.1 - S .  d 8ng Rational Rose. .................................................... ........................................................... ...... 54 3.3.2 - Thí d 8: h" th& ng bán hàng ........................................................ ........................................................ 60 

    CH78 NG 4 MÔ HÌNH HÓA T78 NG TÁC 2DI T7@ NG .......................................................................... 63 

    4.1 12I T-5 NG VÀ TÌM KI?M 12I T-5 NG................................................... ........................................................ 63 4.2 BI@U 1J T-/ NG TÁC ......................................................... ........................................................... ................ 63 

    4.2.1 - Bi) u 23 trình t 7  ...................................................... ........................................................... ................ 64 4.2.2 - Bi) u 23 c:ng tác .............................................................. ........................................................... ...... 70 

    4.3 K K THUNT XÂY DG  NG BI@U 1J T-/ NG TÁC ........................................................................................... ...... 72 4.4 THG C HÀNH ............................................................................................................. .................................... 75 4.4.1 - S .  d 8ng Rational Rose ..................................................... ........................................................... ...... 75 4.4.2 - Thí d 8: h" th& ng bán hàng (ti4  p theo) ........................................................................................ ...... 83 

    CH78 NG 5 BIGU 2I LJ P VÀ GÓI .......................... ........................................................... .......................... 92 

    5.1 L.P VÀ TI>M KI?M L.P......................................................................................................................... 92 5.2 BI@U 1J L.P ................................................................................... ......................................................... 94 

    5.2.1 - Các lo;i l a l 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    3/234

     

    Phát trin ph$n m&m b'ng UML  trang | 3

    5.6 QUAN H7 .................................................... ........................................................... .................................. 101 5.6.1 - Quan h" k 4 t hB  p ..................................................... ........................................................... .............. 101 5.6.2 - Quan h" ph8 thu:c ........................................................... ........................................................... .... 104 5.6.3 - Ph8 thu:c t 8 hB  p .................................................... ........................................................... .............. 105 5.6.4 - Quan h" khái quát hóa ..................................................... ........................................................... .... 106  5.6.5 - Gán 25c tính cho quan h" ........................................................................................................... .... 107  

    5.7 C/ CH? DUY TRÌ 12I T-5 NG ......................................................... .................................................... 112 

    5.8 THG C HÀNH ........................................................ ............................................................ ....................... 115 5.8.1 - S .  d 8ng Rational Rose ..................................................... ........................................................... .... 115 5.8.2 - Thí d 8: H " th& ng bán hàng (ti4  p theo) ................................................................... ........................ 125 

    CH78 NG 6 BIGU 2I CHUYGN TR KNG THÁI VÀ BIGU 2I HOKT 2LNG ............... ........................ 137 

    6.1 BI@U 1J CHUY@ N TR = NG THÁI .................................................. ...................................................... 137 6.1.1 - Tr ;ng thái ........................................................................ ........................................................... .... 139 6.1.2 - Quá 2: ...................................................................................... ...................................................... 141 6.1.3 - Tr ;ng thái C n ................................................................................................ .................................. 142 6.1.4 - La bi) u 23 ............................................................................................ .............. 159 7.2.2 - Ti4 n trình ............................................................... ........................................................... .............. 160 

    7.3 THG C HÀNH ........................................................ ............................................................ ....................... 160 7.3.1 - S .  d 8ng Rational Rose ..................................................... ........................................................... .... 160 7.3.2 - Phát sinh mã trình bJ ng Rose ................................................... ...................................................... 164 7.3.3 - Rational Rose và Visual C++ ................................................... ...................................................... 170 7.3.4 - Thí d 8: H " th& ng bán hàng (ti4  p theo) ................................................................... ........................ 171 

    CH78 NG 8 VÍ DB ÁP DBNG .......................................................... ........................................................... .... 184 

    8.1 K H9O SÁT TI? N TRÌNH TÁC NGHI7P ...................................................... ...................................................... 184 

    8.2 PHÂN TÍCH LO NH VG C ........................................................... ........................................................... .... 190 8.3 PHÂN TÍCH H7 TH2 NG. .......................................................... ........................................................... ... 194 8.3.1 - Xây d 7 ng bi) u 23 tr E ng hB  p s.  d 8ng (Use Case-UC) ....................................................... ........... 194 

    8.4 BI@U 1J T-/ NG TÁC ............................................................ ........................................................... .... 204 8.4.1 - Ti4 n trình 25t tr 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    4/234

     

    Phát trin ph$n m&m b'ng UML  trang | 4

    9.1.4 - Quan h" k 4  thK a ..................................................... ........................................................... .............. 222 9.2 PHÁT SINH MàTRÌNH JAVA ......................................................... ...................................................... 222 

    9.2.1 - Các l 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    5/234

     

    Phát trin ph$n m&m b'ng UML  trang | 5

    L? I NÓI 2;U

    HP thQng tin hTc ngày càng phUc tW p. Xu thX áp dYng phV[ ng pháp hV\ ng ]Qi tV^ ng (phV[ ng pháp m\ i) thay cho phV[ ng pháp c_u trúc (phV[ ng pháp truy&n thQng) ngày càng ph` biXn khixây dang các hP thQng ph$n m&m l\ n và phUc tW p. H[ n nba, tc khi Ngôn ngb mô hình hóa thQngnh_t (Unified Modeling Language – UML) ]V^ c t`  chUc OMG (Object Management Group)công nhdn là chuen công nghiP p thì nó ]ã tr f   thành công cY ph` dYng và hbu hiPu cho phV[ ng

     pháp m\ i này. MYc tiêu cha tài liPu này nh'm gi\ i thiPu các khái ni&m c[  bin v& tiX p cdn hV\ ng]Qi tV^ ng và mô hình hóa hP thQng ph$n m&m theo phV[ ng pháp hV\ ng ]Qi tV^ ng. Các khái niPmm\ i ]V^ c mô ti, hV\ ng djn thac hành thông qua ngôn ngb chuen UML và ph$n m&m công cY mô hình hóa n`i tiXng Rational Rose cha Raitonal Software Corporation.

    PhV[ ng pháp phân tích thiXt k X hV\ ng ]Qi tV^ ng ]V^ c sl dYng r mng rãi tWi các nV\ c phát trinvà bnt ]$u ]V^ c sl dYng tWi mmt sQ ][ n vo tin hTc tWi ViPt Nam. Tuy nhiên tài liPu b'ng tiXng ViPtv& l q nh vac này còn r _t hiXm hoi, không ]áp Ung nhu c$u hiPn tWi. H[ n nba, nhdn thUc ]V^ c t$mquan tr Tng cha phV[ ng pháp m\ i này, mmt sQ  tr Vs ng ]Wi hTc ]ã hình thành môn hTc liên quan]Xn v_n ]& nói trên cho sinh viên, còn mmt sQ tr Vs ng khác ]ang có k X hoWch ]Va chh ]& này vàochV[ ng trình ]ào tWo chính khóa.

    Chh ]im cha tài liPu ]V^ c th hiPn dV\ i góc nhìn cha ngVs i phát trin hP thQng ph$n m&m,không th hiPn dV\ i góc ]m quan sát cha nhà phV[ ng pháp ludn. Laa chTn này xu_t phát tc thactX là tc phV[ ng pháp ludn hV\ ng ]Qi tV^ ng djn ]Xn viPc Ung dYng nó vào xây dang ph$n m&m cY th còn mmt khoing cách xa vs i và ]$y khó khtn, ]uc biPt v\ i trình ]m tin hTc hiPn này nói chungcòn chVa cao tWi ViPt Nam. V\ i quan ]im này, tài liPu ]V^ c c_u trúc nhV sau:

    ChV[ ng mf  ]$u trình bày khái quát v& mô hình và mô hình hóa; các bV\ c xây dVng hP thQng ph$n m&m và t$m quan tr Tng cha phV[ ng pháp hV\ ng ]Qi tV^ ng. ChV[ ng tiX p theo gis i thiPungôn ngb  chuen công nghiP p UML, mmt công cY  hbu hiPu mô hình hóa hP  thQng ph$n m&m.Trong các ph$n tiX p theo là trình bày k v thudt mô hình hóa, tc phân tích yêu c$u ]Xn thiXt k X hP thQng, kiXn trúc hP thQng và cài ]ut b'ng ngôn ngb ld p trình. ChV[ ng cuQi cùng là bài hTc thac

    nghiPm các k v thudt ]ã trình bày trong các chV[ ng tr V\ c vào bài toán cY th. 1uc biPt, trong mxichV[ ng tài liPu ]&u có ph$n thac hành trên ph$n m&m Rational Rose ] ]mc gii có th áp dYngngày công cY m\ i, k v thudt m\ i vào giii quyXt v_n ]& cha riêng hT. Ph$n phY lYc trình bày mmtsQ mã trình trong mmt vài ngôn ngb thông dYng tV[ ng Ung v\ i các nhóm ph$n tl trong biu ]y UML…

    HiPn nay ph$n l\ n các bWn sinh viên ]Wi hTc ntm cuQi houc các k v sV tin hTc m\ i ra tr Vs ng]&u gu p khó khtn khi nhdn nhiPm vY xây dang hP thQng ph$n m&m m\ i hay nâng c_ p ph$n m&mcó szn. Các bWn thVs ng không biXt bnt ]$u tc ]âu và làm nhV thX nào ] có ]V^ c ph$n m&m và

     ph$n m&m tQt, nói cách khác là còn thiXu phV[ ng pháp. Do vdy, quyn sách này có th là tài liPutham khio tQt cho các bWn sinh viên và các k v sV tin hTc.

    Quyn sách này ]V^ c hình thành tc nmi dung bài giing cha tác gii v& chh ]&  Phát tri) n ph+nm- m h

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    6/234

     

    Phát trin ph$n m&m b'ng UML  trang | 6

    1oa ch}  liên lWc: ViPn Công nghP Thông tin, Trung tâm Khoa hTc Ta nhiên và Công nghP QuQc gia. Email: [email protected] 

    Hà nmi, tháng 02 ntm 2002

    TÁC GI9 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    7/234

     

    Phát trin ph$n m&m b'ng UML  trang | 7

    CH-/ NG 1 

    M9  2;U

    Phát trin ph$n m&m ngày càng tr f  nên phUc tW p. Thay ]`i giao diPn tc các xâu ký ta sang

    giao diPn ]y hTa xu thX sa kiPn; kiXn trúc hP thQng ]a t$ng khách/chh; c[  sf  db liPu (CSDL) phântán; Internet … làm ttng ]m phUc tW p cha hP thQng ph$n m&m. Thách thUc trong hai mV[ i ntm t\ icha xây dang hP thQng ph$n m&m không phii là tQc ]m thac hiPn chV[ ng trình, kinh phí hay sUcmWnh cha nó mà v_n ]& s~ là ]m phUc tW p (Sun Microsystem). K • thù cha chúng ta là ]m phUc tW p,ta phii loWi b| chúng ( Jan Bean). Vdy, loWi b| ]m phUc tW p b'ng cách nào? Các phV[ ng pháp tiX pcdn hV\ ng c_u trúc, tiPm cdn hV\ ng logic, tiX p cdn hV\ ng hV\ ng ]Qi tV^ ng và tiX p cdn hV\ ng táctl ] có th giii quyXt v_n ]& này nhVng f  mUc ]m khác nhau.

    T`ng quát thì viPc xây dang ph$n m&m phii quan tâm ]Xn t` chUc, các quan hP và c_u trúc ] hình thành ]V^ c các hành vi phUc tW p cha hP thQng. MTi viPc khio sát hP thQng phii ]V^ c thachiPn v\ i mUc ]m  tr cu tV^ ng khác nhau, tc các chi tiXt ]Xn t` chUc t`ng th. Do vdy, xây dang

     ph$n m&m là thac hiPn dãy tV[ ng tác chia nhM và hB  p nhN t . Chia nh| ] hiu rõ v_n ]& và h^  pnh_t ] xây dang hP thQng. TiXn trình chia nh| (tách) ]ã có truy&n thQng và tuân thh các tiêu chíchO c nLng . Các chUc ntng cha hP thQng ]V^ c nhdn diPn, sau ]ó chúng ]V^ c tách thành các chUcntng con. TiXn trình này ]V^ c thac hiPn lu p ]i lu p lWi cho ]Xn khi có ]V^ c các thành ph$n ][ ngiin ]Xn mUc chúng ]V^ c biu di{n tr ac tiX p b'ng các hàm hay thh tYc cha ngôn ngb ld p trình(hình 1.1). Cách tiX p cdn này ]V^ c gTi là tiX p cdn hV\ ng chUc ntng (hay còn gTi là thh tYc, truy&nthQng). NgVs i phát trin ph$n m&m s~ td p trung vào các nhiPm vY ]i&u khin và tách thudt toánl\ n thành các thudt toán nh|. KhQi chính ] hình thành ph$n m&m f  ]ây là các hàm hay thh tYc.

     Hình 1.1 Ti4  p cIn h

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    8/234

     

    Phát trin ph$n m&m b'ng UML  trang | 8

     Hình 1.2 Ti4  p cIn h

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    9/234

     

    Phát trin ph$n m&m b'ng UML  trang | 9

     Hình 1.3 Các ngôn ng 0  l I p trình

    Khi các ngôn ngb hV\ ng ]Qi tV^ ng ]V^ c sl dYng r mng rãi thì nhu c$u có phV[ ng pháp pháttrin ph$n m&m hV\ ng ]Qi tV^ ng tr f  nên c_ p bách. Vào ]$u nhbng ntm 90 cha thX k % XX ]ã xu_thiPn các phV[ ng pháp hV\ ng ]Qi tV^ ng sau ]ây: PhV[ ng pháp  Booch, OMT   (Object ModelingTechnique), OOSE  (Object Oriented Software Engineering )/Objectory, Fusion và Coad/Yourdon.Mxi phV[ ng pháp có ký pháp, tiXn trình và công cY hx tr ̂   riêng. Chúng ]&u có Vu ]im và nhV^ c]im riêng. NgVs i sl dYng r _t khó khtn ] chTn cho mình mmt phV[ ng pháp phù h^  p. Do nhdn

     biXt ]V[ c các v_n ]& này, vào ntm 1994 các tác gii cha các phV[ ng pháp này ]ã h^  p tác nh'mtWo ra phV[ ng pháp m\ i. Bnt ]$u là sa thQng nh_t phV[ ng pháp Booch v\ i OMT-2 cha Rumbagh ]  hình thành Unified Method 0.8  tWi  Rational Rose Corporation. Tháng 6 ntm 1995,  Ivar

     Jacobson  (tác gii  cha OOSE/Objectory) gia nhd p v\ i hT. Tc  ths i ]im này, nhóm phát trin phV[ ng pháp hV\ ng ]Qi tV^ ng nói trên cho r 'ng nhiPm vY cha hT là tWo ra ngôn ngb mô hình hóathQng nh_t cho cmng ]yng hV\ ng ]Qi tV^ ng. Do vdy, hT ]ã ]`i tên công viPc cha mình thànhUnified Modeling Language – UML (Ngôn ngb mô hình hóa thông nh_t).  Booch, Rumbaugh và

     Jacobson ]ã ]Va ra nhi&u phiên bin UML, trong ]ó phiên bin UML 0.9 xu_t hiPn ntm 1995,UML xu_t hiPn vào ntm 1997. Ph$n l\ n UML ]V^ c xây dang trên n&n ting cha các phV[ ng pháp

     Booch, OMT và OOSE, nhVng UML còn bao gym ci các khái niPm có nguyn gQc tc các phV[ ng

     pháp khác nhV  David Harel , Gamma – Helm – Johnson – Vlissides và Fusion. UML còn là k Xtqui  cha sa  ]óng góp tc  các hãng l\ n nhV  Digital Equipment Corporation (DEC), Hewlett –

    1960

    1990

    1980

    AlgolFortran

    LISP

    PL/1

    Cobol

    Pascal

    Simula

    Ada

    Smalltalk-72

    Smalltalk-74

    Smalltalk-76

    Smalltalk-78

    Smalltalk-80

    Objective C

    ObjectPascal

    ObjectCobolAda 9

    C++

    Java

    CLOS

    Prolog

    C

    Eiffel

    Loops

    HV\ ng ]Qi tV^ ng Không hV\ ng ]Qi tV^ ng

    1970

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    10/234

     

    Phát trin ph$n m&m b'ng UML  trang | 10

    Packard (HP), I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft,Oracle, Rational Software Corporation, Texas Instrument, Taskon, ObjectTime và Unisys. Phiên

     bin UML 1.1 ]ã ]V^ c ]P trình lên OMG (Object Management tháng 11-1997. Phiên bin UML1.3 xu_t hiPn vào ntm 1999. Phiên bin UML 1.4 xu_t hiPn vào tháng 2-2000.

    1.2 MLT SD KHÁI NIQM C8  BRN

    Ph$n này trình bày mmt sQ khái niPm c[  bin áp dYng trong phân tích và thiXt k X hV\ ng ]QitV^ ng.

    Ph/, ng pháp (method ). PhV[ ng pháp (hay phV[ ng thUc) là cách thUc c_u trúc các suy ngh q  và hành ]mng cha con ngVs i. Nó cho biXt chúng ta phii làm cái gì, làm nhV thX nào, làm khi nàovà tWi sao phii làm nhV vdy ] hình thành hP thông ph$n m&m.

    2Si th/, ng (object ). Theo ngh q a thông thVs ng thì ]Qi tV^ ng là ngVs i, vdt hay hiPn tV^ ng màcon ngVs i nh'm vào trong suy ngh q , trong hành ]mng [PHE96]; là b_t k  cái gì nhìn th$y và ss  mó ]V^ c. Trong phV[ ng pháp hV\ ng ]Qi tV^ ng thì ]Qi tV^ ng là tr cu tV^ ng cái gì ]ó trong l q nhvac v_n ]& hay trong cài ]ut cha nó; phin inh khi ntng hP thQng lVu gib thông tin v& nó và tV[ ngtác v\ i nó; gói các giá tr o thumc tính và các doch vY (phV[ ng thUc, phV[ ng pháp) [OCAD91].

    L- p (class). Theo ngh q a thông thVs ng thì l\  p là nhóm cha nhi&u ngVs i hay vdt có tính tV[ ngta nh_t ]onh hay ]uc ]im chung (tc ]in Webster’s). Trong phV[ ng pháp hV\ ng ]Qi tV^ ng thìl\  p là mô ti mmt hay nhi&u ]Qi tV^ ng, mô ti td p thQng nh_t các thumc tính và phV[ ng thUc. Nócòn có th mô ti cách tWo ]Qi tV^ ng m\ i trong l\  p nhV thX nào [COAD91].

    TrU u t/V ng (abstract ).  Tr cu tV^ ng là nguyên lý b|  qua nhbng khía cWnh cha chh  th ( subject ) không liên quan ]Xn mYc ]ích hiPn tWi ] td p trung ]$y ]h h[ n vào các khía cWnh cònlWi. NhV vdy có th nói r 'ng tr K u t B ng là 2! n giAn hóa th4  gi

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    11/234

     

    Phát trin ph$n m&m b'ng UML  trang | 11

     Hình 1.4 Mô hình th4  giE i th7 c

    Ph/, ng pháp luWn (methodology).  PhV[ ng pháp ludn mô ti  cách thUc suy ngh q   v&  ph$nm&m và phát trin ph$n m&m. Nó bao gym ngôn ngb mô hình hóa metamodel  (mô hình cha mô

    hình) và tiXn trình. PhV[ ng pháp ludn khác v\ i phV[ ng pháp. PhV[ ng pháp ludn là nghiên cUu phV[ ng pháp. Metamodel  mô ti hình thUc các ph$n tl mô hình, cú pháp và ngb ngh q a cha các ký pháp trong mô hình.

    L X nh v[ c vn \] (domain problem). MYc tiêu cha tiX p cdn hV\ ng ]Qi tV^ ng là mô hình hóacác ]uc tính t q nh và ]mng cha môi tr Vs ng, n[ i xác ]onh yêu c$u ph$n m&m. Môi tr Vs ng này ]V^ cgTi là l q nh vac v_n ]&. V_n ]& là câu h|i ]ut ra ] giii quyXt houc xem xét. L q nh vac là khônggian (vùng) cha các hoWt ]mng houc inh hVf ng. Nó là vùng tác nghiP p hay kinh nghiPm cha conngVs i trong ]ó ph$n m&m ]V^ c sl dYng. Vdy, l q nh vac v_n ]& là vùng mà ta ]ang cQ gnng xemxét. Thí dY cha l q nh vac v_n ]& có th là tài chính, giáo dYc,…

    Phân tích. Phân tích là tách, chia nh| t`ng th thành các ph$n ] tìm ra ]uc tính, chUc ntng,quan hP… cha chúng (tc ]in Webster’s). Khái niPm phân tích trong tiX p cdn hV\ ng ]Qi tV^ ng làthac hiPn nghiên cUu l q nh vac v_n ]&, djn t\ i ]uc ti hành vi quan sát tc ngoài và các thông báonh_t quán, hoàn ch}nh, khi  thi cha nhbng cái c$n [COAD91]. Phân tích hV\ ng ]Qi tV^ ng td ptrung vào tìm kiXm, mô ti các ]Qi tV^ ng (khái niPm) trong l q nh vac v_n ]&. Thí dY hP thQng thV viPn có khái niPm Sách, ThV viPn …

    Thi^t k ̂ . Là td p tài liPu k v thudt toàn bm, gym có bin tính toán, bin v~… ] có th theo ]ómà xây dang công trình, sin xu_t thiXt bo, làm sin phem… [PHE96]. Khái niPm phân tích trongtiX p cdn hV\ ng ]Qi tV^ ng là thac hiPn ]uc ti các hành vi bên ngoài, b` sung chi tiXt nXu c$n thiXt] cài ]ut hP thQng trên máy tính, bao gym tV[ ng tác ngVs i - máy, quin lý nhiPm vY, quin lý db liPu [COAD91]. ThiXt k X hV\ ng ]Qi tV^ ng td p trung vào xác ]onh ]Qi tV^ ng ph$n m&m logic s~ 

    ]V^ c cài ]ut b'ng ngôn ngb hV\ ng ]Qi tV^ ng.Xây d[ ng (lWp trình) h/- ng \Si t/V ng: là thiXt k Xt các modun s~ ]V^ c cài ]ut. Thí dY l\  p

    Book s~ ]V^ c cài ]ut b'ng C++, Java … nhV thX nào.

    Mô hình hóa (modeling ). Khái niPm mô hình hóa thVs ng ]V^ c sl dYng ]yng ngh q a v\ i phântích, ]ó là viPc thac hiPn tách hP thQng thành các ph$n tl ][ n giin ] d{ hiu. Trong khoa hTcmáy tính, mô hình hóa bnt ]$u tc mô ti v_n ]&, sau ]ó là mô ti giii pháp v_n ]&. Các hoWt ]mngnày còn ]V^ c gTi là phân tích và thi4 t k 4 . Khi thu thd p yêu c$u cho hP thông, ta phii tìm ra nhuc$u tác nghiP p cha ngVs i dùng và ánh xW chúng thành yêu c$u ph$n m&m sao cho ]mi ng+ pháttrin ph$n m&m hiu và sl dYng ]V^ c chúng. TiX p theo là khi ntng phát sinh mã trình tc các yêuc$u này, ]yng ths i ]im bio r 'ng các yêu c$u phii phù h^  p v\ i mã trình vca phát sinh và d{ dàng

    chuyn ]`i mã trình ngV^ c lWi thành yêu c$u. TiXn trình này ]V^ c gTi là mô hình hóa.

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    12/234

     

    Phát trin ph$n m&m b'ng UML  trang | 12

    Mô hình hóa tr[ c quan. Mô hình hóa tr ac quan là tiXn trình l_y thông tin tc mô hình và hintho ]y hTa b'ng td p các ph$n tc ]y hTa chuen. Tiêu chuen là cQt lõi ] thac hiPn mmt trong các l^ ithX cha mm hình tr ac quan, ]ó là v_n ]& giao tiX p. Giao tiX p giba ngVs i dùng, ngVs i phát trin,

     phân tích viên, kim tra viên, ngVs i quin lý và nhbng ngVs i khác tham gia da  án là mYc tiêuquan tr Tng nh_t cha mô hình hóa tr ac quan. TV[ ng tác này có th ]V^ c thac hiPn b'ng vtn bin.

     Nhs  mô hình tr ac quan mà ta có th ch}  ra các t +ng  mà hP  thQng làm viPc, bao gym tV[ ng tác

    giba ngVs i dùng v\ i hP thQng, tV[ ng tác giba các ]Qi tV^ ng trong hP thQng hay giba các hP thôngv\ i nhau. Sau khi tWo mô hình, ta có th ch} ra tcng ph$n quan tâm. Thí dY, ngVs i dùng có th quan sát tV[ ng tác giba hT v\ i hP thông tc mô hình, phân tích viên quan sát tV[ ng tác các ]QitV^ ng tc mô hình, ngVs i phát trin s~ quan sát ]V^ c ]Qi tV^ ng mà hT s~ phát trin… Các nhà tinhTc ]ã r _t cQ gnng ] hình thành ký pháp mô hình hóa tr ac quan. Mmt sQ ký pháp quen thumc làcha Booch, OMT và UML. Ph$n m&m công cY  Rational Rose 2000  tr ̂   giúp các ký pháp này.Tóm lWi, lý do c[  bin ] mô hình hóa là: xây dang mô hình ] hiu sâu snc h[ n v& hP thQng ]ang]V^ c xây dang. Chúng ta xây dVng mô hình cho các hP thQng phUc tW p vi ta không th hiu nónhV t`ng th. Nhs  mô hình hóa ta s~ ]Wt ]V^ c các mYc tiêu sau:

    Mô hình giúp ta hin tho hP thQng nhV chính nó hay nhV cách mà ta muQn nó hin tho.

    Mô hình cho phép ta ]uc ti c_u trúc hay hành vi hP thQng.Mô hình cho ta m_u ] hV\ ng ]jn trong viPc xây dang hP thQng.

    Mô hình giúp ta làm tài liPu cho các quyXt ]onh khi phân tích thiXt k X hP thQng.

    1.3 NGUYÊN T_C QURN LÝ 2L PH` C TKP

     NhV ]ã trình bày trên thì nhiPm vY quan tr Tng nh_t cha ngVs i xdy dang hP thQng ph$n m&mngày nay là quin lý ]V^ c ]m  phUc tW p. Theo Coad   và Yourdon  [COAD91] thì các nguyên tncquin lý ]m phUc tW p cha hP thQng trong phân tích và thiXt k X hV\ ng ]Qi tV^ ng bao gym các v_n ]& mô ti dV\ i ]ây.

    TrU u t/V ng hóa. Sl dYng nguyên tnc tr cu tV^ ng hóa có ngh q a là thca nhdn thX gi\ i thac là phUc tW p; thay vì cQ gnng hiu biXt toàn b: b'ng laa chTn mmt ph$n cha v_n ]&. Tr cu tV^ ng baogym hai loWi chính: tr cu tV^ ng thh tYc ( procedural ) và tr cu tV^ ng db liPu (data). Tr cu tV^ ng thh tYc thVs ng ]V^ c ]uc tr Vng bf i tr cu tV^ ng chO c nLng/chO c nLng con. Chia nh|  tiXn trình xl  lýthành các bV\ c là phV[ ng pháp c[  bin ] quin lý ]m phUc tW p. Tuy nhiên viPc chia nh| ]  t` chUc thiXt k X là khá tùy tiPn và không `n ]onh. Tr cu tV^ ng thh tYc không phii là hình thUc tr cutV^ ng cha phV[ ng pháp hV\ ng ]Qi tV^ ng. Tr cu tV^ ng db liPu là c[  chX mWnh, daa trên c[  sf  t` chUc suy ngh q  và ]uc ti v& các nhiPm vY cha hP thQng. Tr cu tV^ ng db liPu là nguyên tnc xác ]onhkiu db liPu cho các thao tác áp dYng cho ]Qi tV^ ng, v\ i ràng bumc là các giá tr o lVu tr b trong ]QitV^ ng ch} ]V^ c sla ]`i hay quan sát thông qua các thao tác ]ó. NgVs i thiXt k X áp dYng tr cu tV^ ng

    db liPu ]{ xác ]onh thumc tính và phV[ ng thUc xl lý thumc tính xâm nhd p thumc tính thông qua phV[ ng thUc.

    Bao bac (encapsulation). Còn gTi là d_u thông tin. Nguyên tnc này daa trên n&n ting là mxithành ph$n cha chV[ ng trình ]V^ c bao bTc hay d_u quyXt ]onh thiXt k X ][ n l•. Giao diPn ts i mximo]un ]V^ c hình thành sao cho ít nhìn th_y các công viPc bên trong. Bao bTc làm ttng tính sl dYng lWi khi phát trin hP  thQng m\ i. Bao bTc các nmi dung liên quan v\ i nhau làm giim lVulV^ ng giba các ph$n cha hP thông khi hoWt ]ông.

    K ̂  thU a (inheritance). C[  chX biu di{n tính tV[ ng ta cha các l\  p, ][ n giin hóa ]onh ngh q anhbng l\  p tV[ ng ta  tc các l\  p khác ]ã ]onh ngh q a tr V\ c. Nó miêu ti  t`ng quát hóa và ]uc biPthóa, tWo ra các thumc tính và phV[ ng thUc chung cho các l\  p phân c_ p. Nguyên tnc này hình thành

    n&n ting cha k v thudt bin di{n nhbng cái chung cha các l\  p.

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    13/234

     

    Phát trin ph$n m&m b'ng UML  trang | 13

    K ̂ t hV p (association). Là h^  p nh_t hay liên k Xt các ý tVf ng (tc ]in Webster’s). Sl dYng k Xth^  p ] gnn mmt vài ph$n tl xiy ra vào ths i ]im cY th hay dV\ i ]i&u kiPn tV[ ng ta nhau. Thí dY,gnn xe cm vào chh xe…

    Giao ti^p bbng thông \i3p. Thông ]iP p là giao tiX p (viXt nói) ]V^ c trao ]`i giba ngVs i v\ ingVs i (tc ]in Webster’s). Giao tiX p b'ng thông ]iP p liên quan ]Xn tính bao bTc trong ]ó các chitiXt cha hành ]mng s~ thac hiPn ]V^ c bao bTc trong n[ i nhdn thông ]iP p.

    2a hình ( polymorphism). 1a hình là các thông ]iP p ]yng âm ]V^ c gUi ]Xn các ]Qi tV^ ng chal\  p khác nhau ] khf i sa nhbng hành vo khác nhau [OEST00].

    Rnh h/+ ng cca ph/, ng pháp td che c. Bách khoa toàn thV  Britannica cho r 'ng ] hiu thX gi\ i thac, con ngVs i sl dYng ba phV[ ng pháp t` chUc suy ngh q  nhV sau: (1) Phân biPt ]Qi tV^ ngcY th v\ i các thumc tính cha nó; thí dY, phân biPt cây v\ i kích thV\ c cha nó houc quan hP khônggian v\ i các ]Qi tV^ ng khác. (2) Phân biPt giba toàn bm ]Qi tV^ ng v\ i thành ph$n cha nó; thí dY,

     phân biPt cây v\ i cành cây.(3) Phân biPt giba các l\  p ]Qi tV^ ng v\ i nhau; thí dY, phân biPt l\  pcây v\ i l\  p ]_t ]á. Ci ba phV[ ng pháp t` chUc này ]V^ c áp dYng và chúng cho cái nhìn rõ ràngh[ n trong l q nh vac v_n ]& và trách nhiPm cha hP thQng khi tiX p cdn hV\ ng ]Qi tV^ ng.

    Quy mô (scale). Nguyên tnc áp dYng qui tnc t`ng th-thành ph$n ] quan sát cái gì ]ó r _t l\ n]V^ c gTi là qui mô.

    Phân l- p hành vi. Sau khi ]ã tìm ra inh hVf ng t` chUc suy ngh q , ta phii hiu rõ các hành vicha ]Qi tV^ ng. Hành vi là nhbng phin Ung, cách cV xl biu hiPn ra ngoài. Phân l\  p hành vi baogym ba loWi sau: (a) trên c[  sf  tWo ra k Xt qui tUc thì; (b) sa tV[ ng ta cha loch sl tiXn hóa (thay ]`itheo ths i gian) và (c) sa tV[ ng ta cha các chUc ntng.

    Mfu ( pattern). Ntm 1977 Christopher Alexander [MULL97] ]ã ]& xu_t khái niPm mju khithiXt k X hP thQng theo quan ]im hV\ ng ]Qi tV^ ng. Mju là t` h^  p ]Qi tV^ ng và l\  p. L^ i thX chathiXt k X theo mju cho phép xl lý các quan niPm v& kiXn trúc f  mUc cao h[ n ]Qi tV^ ng vì chúng làcY th trong l q nh vac Ung dYng. Có th xem mQi tV[ ng Ung giba mju và các ]Qi tV^ ng nhV mQi

    tV[ ng Ung giba chV[ ng trình con và các dòng lPnh chV[ ng trình. Mju là ][ n vo sl dYng lWi trongthiXt k X hV\ ng ]Qi tV^ ng.

    1.4 NGUYÊN T_C MÔ HÌNH HÓA

    Khi ntng cha con ngVs i là có gi\ i hWn khi khio sát các v_n ]& phUc tW p nhV t`ng th. Thôngqua mô hình hóa ta s~ gi\ i hWn v_n ]& nghên cUu b'ng cách ch} td p trung vào mmt khía cWnh chav_n ]& vào mmt ths i ]im. 1ó là quan ]im chia 2)  tr P và Edsger Dijkstra ]ã phát biu tc vài ntmtr V\ c ]ây: T N n công vào vN n 2-  khó bJ ng cách chia nhM nó thành dãy các vN n 2-  nhM h! n mà tacó th)  giAi quy4 t 2B c. Mô hình hóa s~ làm ttng tri thUc cha con ngVs i. ViPc chTn mô hình ]úngcho khi ntng mô hình làm viPc f  mUc tr cu tV^ ng cao. Mô hình hóa ]ã có loch sl lâu ]s i trongmTi l q nh vac k v nghP. NgVs i ta ]ã rút ra bQn nguyên tnc c[  bin sau [BRJ99]:

    1.  Vi"c chRn mô hình nào 2)   t ;o l I p có Anh hS ng sâu sT c 24 n cách giAi quy4 t vN n 2-  vàcách hình thành các giAi pháp.

    Các mô hình ]úng s~ làm sáng t| v_n ]& phát trin phUc tW p nh_t, cho cái nhìn th_u ]áov_n ]& c$n giii quyXt. Mut khác, mô hình tyi s~ làm ta lWc lQi, làm cho ta ch} td p trung vàocác nhiPm vY không thích h^  p. ViPc chTn mô hình cho hP thQng ph$n m&m tác ]mng mWnh]Xn cách quan sát thX  gi\ i. NXu xây dang hP  thQng theo cách nhìn cha ngVs i phát trinCSDL thì hT s~ td p trung vào mô hình quan hP thac th, ]ey hành vi vào trigger (khf i sa hành ]mng) và thh  tYc lVu tr b. DV\ i con mnt cha ngVs i phân tích c_u trúc, mô hình td p

    trung vào thudt toán và luyng db liPu tc tiXn trình này sang tiXn trình khác. DV\ i con mntcha ngVs i phát trin hV\ ng ]Qi tV^ ng, hP thQng có kiXn trúc td p trung vào vô sQ l\  p và các

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    14/234

     

    Phát trin ph$n m&m b'ng UML  trang | 14

    meu thl tV[ ng tác giba các ]Qi tV^ ng l\  p. Mmt cách tiX p cdn trên có th phù h^  p cho mxil\  p Ung dYng hay thói quen phát trin hP thQng. Tuy nhiên kinh nghiPm cho th_y r 'ng tiX pcdn hV\ ng ]Qi tV^ ng là Vu viPt nh_t cho mTi kiXn trúc. Mxi cách nhìn thX gi\ i s~ djn ]Xnsa khác nhau v& giá ci và l^ i nhudn cha hP thQng ]V^ c xây dang.

    2.   M U i mô hình bi) u diV n h" th& ng v

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    15/234

     

    Phát trin ph$n m&m b'ng UML  trang | 15

    1.5 KHÁI QUÁT V= TIMN TRÌNH PHÁT TRIGN PH;N M=M

    HP thQng là t` h^  p ph$n cUng, ph$n m&m cung c_ p giii pháp cho v_n ]& c$n giii quyXt. Ngàynay, trong khi hP thQng quá phUc tW p mà tri thUc lWi quá chuyên ngành cho nên mmt ngVs i khôngth biXt mTi khía cWnh tác nghiP p. Mmt ngVs i không th hiu ]yng ths i mTi v_n ]& cha hP thQng:tc  thiXt k X giii pháp, viXt mã trình, trin khai trên n&n ph$n cUng ]Xn ]im bio chnc chnn mTi

    thành ph$n ph$n cUng ]&u làm viPc tQt v\ i nhau. TiXn trình phát trin ph$n m&m phUc tW p phii]V^ c nhi&u ngVs i thac hiPn. Tr V\ c hXt là khách hàng, ]ó là ngVs i ]Va ra v_n ]& c$n giii quyXt.Phân tích viên làm tài liPu v_n ]& cha khách hàng và chuyn nó t\ i ngVs i phát trin, ]ó là nhbngld p trình viên xây dang ph$n m&m ] giii quyXt, kim tra và trin khai nó trên các ph$n cUng.Phát trin ph$n m&m có th ]V^ c thac hiPn b'ng nhi&u con ]Vs ng khác nhau. Các da án có th tuân thh mmt trong các loWi tiXn trình lu p và ttng d$n. Mxi loWi có Vu và nhV^ c ]im riêng.

    1.5.1 - Các ph/, ng pháp mô hình hóa h3 thSng

    1.5.1.1 - Mô hình thác n! c

    Tc  ]ã lâu, hP  thQng ph$n m&m thVs ng ]V^ c mô hình hóa theo phV[ ng pháp thác n

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    16/234

     

    Phát trin ph$n m&m b'ng UML  trang | 16

    hình 1.6 Mô hình ch0  “V”

     Nhbng ngVs i tham gia vào xây dang hP thQng ph$n m&m nhV khách hàng, phân tích viên, ld ptrình viên… theo phV[ ng pháp thác n

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    17/234

     

    Phát trin ph$n m&m b'ng UML  trang | 17

    l$n. C$n nh\  r 'ng không có khi ntng thu thd p ]$y ]h mTi yêu c$u vào công ]oWn ]$u tiên cha da án. Các v_n ]& có th niy sinh, vdy ta phii ld p k X hoWch lu p trong da án. Theo quan niPm này thìda án ]V^ c coi là dãy các thác nV\ c nh|. Mxi thác nV\ c ]V^ c thiXt k X sao cho ]h l\ n ] hoànthành thiPn tcng bm phdn quan tr Tng cha da án và ]h nh| ] tQi thiu nhu c$u ]i tr f  lWi.

    Hình 1.7 [MULL97] cho th_y mxi chu k  lu p là mmt vòng ]s i thác nV\ c nh|. Vòng lu p sau]V^ c hình thành trên c[  sf  tiXn hóa cha vòng lu p tr V\ c ]ó. NhV vdy, các pha truy&n thQng ]V^ clu p ]i lu p lWi và ttng d$n. Trong phV[ ng pháp này, phân tích viên, ngVs i thiXt k X, ngVs i ld ptrình… h^  p tác làm viPc ] hiu biXt sâu snc hP thQng, chi s• các ý tVf ng m\ i djn ts i xây dang]V^ c hP thông mWnh, phUc tW p h[ n.

     Hình 1.7 Mô hình l 5 p và t Lng d +n

    Có nhi&u biXt th cha chu k  lu p. Các chu k  lu p này ]V^ c hình thành trên c[  sf  phWm vi chada án, ]m phUc tW p cha v_n ]& và các laa chTn kiXn trúc. Thí dY, chu k  lu p hình chb b cha Birrel

     N.D và Ould M.A. (1985) td p trung vào pha bio trì hP thQng, ]V^ c áp dYng cho các da án trung bình; chu k  lu p hình chb O cha Boehm B.M  (1988) bao gym lu p công viPc phân tích và thiXt k X.Mô hình này cho khi ntng các nhóm thac hiPn song song da án.

    1.5.2 - Các pha phát tri(n phhn m]m

    Không có tiXn trình phát trin ph$n m&m nào là phù h^  p cho mTi da án, mTi l q nh vac UngdYng [MULL97]. Ph$n này mô ti tiXn trình phát trin ph$n m&m t`ng quát, mxi da án phii thíchnghi chúng v\ i các ràng bumc riêng. Phát trin ph$n m&m ]V^ c quan sát tc hai góc ]m  b`  tr ̂   nhau. 1ó là, góc ]m hx tr ̂   bao gym các khía cWnh tài chính, chiXn lV^ c, tho tr Vs ng và con ngVs ivà góc ]m k v thudt bao gym k v nghP, kim tra ch_t lV^ ng và phV[ ng pháp mô hình hóa.

    1.5.2.1 - Khía c+nh k  ,  thu/t trong ti 0 n trình phát tri 3 n ph)n m5m

    Góc nhìn k v thudt td p trung vào trin khai và t` chUc các hoWt ]mng k v thudt ] djn ts i sinsinh các thX hP ph$n m&m khác nhau. NhV trình bày trên, chu k  phát trin ]V^ c xem nhV trình ta các lu p, thông qua nó mà ph$n m&m tiXn trin d$n. K Xt qui cha mxi vòng lu p là chV[ ng trình cóth chWy ]V^ c (khi thac). Nmi dung cha lu p phii có ích cho tiXn trình phát trin và cho ngVs i sl dYng. Mmt sQ k Xt qui cha lu p ch} ]V^ c sl dYng nmi bm tiXn trình phát trin, mmt sQ khác ]V^ c sl dYng ] th hiPn tr Wng thái tiXn trin. Tc lu p này ]Xn lu p khác, chV[ ng trình s~ ]V^ c b` sung cácchUc ntng m\ i và ch_t lV^ ng cha nó ]V[ c nâng cao cho ]Xn mmt vòng lu p nào ]ó s~ sin sinh rathX hP thU nh_t cha ph$n m&m.

    Phân tích

    ThiXt k X 

    Mã hóa

    Tích h^  p

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    18/234

     

    Phát trin ph$n m&m b'ng UML  trang | 18

     Hình 1.8 Ti4 n trình phát ph+n m- m

    Các hoWt ]mng truy&n thQng không ]V^ c thac hiPn trình ta nhV trong chu k  phát trin thácn

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    19/234

     

    Phát trin ph$n m&m b'ng UML  trang | 19

     R>i ro v-  phát tri) n: 1mi ng+ phát trin có ]h kinh nghiPm? HT có làm chh hoàn toàn côngnghP ]ang sl dYng?

    Tuy nhiên, luôn nh\  r 'ng cái r hi ro l\ n nh_t là không biXt ]V^ c r hi ro xiy ra f  ]âu. NhiPm vY quin lý r hi ro là phii ld p k X hoWch làm giim r hi ro, sau ]ó là thac hiPn k X hoWch này.

    1.5.2.3 - Khía c+nh h:  tr =  ti 0 n trình phát tri 3 n ph)n m5mTc góc nhìn hx tr ̂  , phát trin ph$n m&m ]V^ c thac hiPn trong bQ pha: Khio sát khi thi hay

    khf i ]âu (inception), chi tiXt (elaboration), xây dang (construction) và chuyn giao (transition).Chu k  phát trin ph$n m&m tc góc ]m này ]V^ c mô ti trên hình 1.8. Hình này còn cho th_y quanhP giba hai góc nhìn khác nhau: góc nhìn hx tr ̂   và góc nhìn k v thudt. DV\ i ]ây là mô ti các pha

     phát trin ph$n m&m tcu góc nhìn hx tr ̂  .

    Pha kh+ i \hu (hay kh$o sát kh$ thi). Pha này bao gym khio sát tho tr Vs ng, ]uc ti sin phemcuQi cùng, xác ]onh phWm vi da án. Khf i ]$u là bnt ]$u da án, tc khi ai ]ó cho r 'ng nXu có hP thQng ph$n m&m m\ i ] giúp ].  công viPc cha hT  thì tQt h[ n. TiX p theo là ai ]ó nghiên cUu ýtVf ng. NgVs i quin lý (khách hàng) h|i bao lâu thì có ph$n m&m? Kinh phí là ph$n m&m là baonhiêu? Tính khi thi cha da án thX nào? TiXn trình tìm ra các câu tr i ls i cho các câu h|i này thumc

     pha khf i ]$u. Khio sát tho tr Vs ng không phii là công viPc cha các k v sV ph$n m&m mà là côngviPc cha chuyên gia khio sát tho  tr Vs ng và phân tích cWnh tranh. HT cQ gnng ]ánh giá viPc xâydang hP thQng ph$n m&m m\ i hay nâng c_ p ph$n m&m có szn có kinh tX không, giúp các công tyxác ]onh các Vu, nhV^ c ]im. Công viPc ]$u tiên f  ]ây là hình dung bUc tranh t`ng quát cha sin

     phem ] d{ dàng nhdn ra và tách các thành ph$n cho pha chi tiXt. Theo E. Morel thì bUc tranh này]V^ c mô ti nhV sau:

     BO c tranh sAn phC m = Cái gì + Cho ai + Giá bao nhiêu

    trong ]ó, Cái gì muQn ]& cd p ]Xn các ]uc tr Vng tông th v&  sin phem; Cho ai xác ]onh kháchhàng sl dYng sin phem và Giá bao nhiêu da báo giá cha mxi sin phem mà ngVs i sl dYng có th ch_ p nhdn.

    Thông thVs ng phii xây dang bAn mG u khái ni"m cho pha khio sát khi thi ] ]ánh giá tính r hiro cha các chUc ntng ph$n m&m, sUc mWnh và ]m phUc tW p cha hP thQng, công nghP m\ i s~ ápdYng. Tc  ]ó mà các quyXt ]onh v&  quan niPm sin phem ]V^ c hình thành. LoWi bin mju nàykhông c$n tuân thh các quy ludt phát trin ph$n m&m thông thVs ng nhV ]m tin cdy cao hay tQc ]m xl lý phii nhanh. 1ó ch} là maket hP thQng, mã trình cha nó s~ không ]óng vai trò gì trong sin

     phem cuQi cùng. Tc ]ây, tính r hi ro cha da án ]V^ c nhdn biXt và pha khio sát thì s~ tiX p tYc cQ gnng ]ánh giá kinh phí cho da án và l^ i nhudn s~ ]em lWi. Da báo kinh phí luôn là công viPc khókhtn. SQ liPu cha da báo ban ]$u s~ không bao gis  ]úng, ch} có ]V^ c sQ liPu ]úng khi k Xt thúc

     phát trin hP thQng. Do vdy, viPc da báo này thVs ng ]V^ c hiPu ch}nh d$n d$n trong nhi&u bV\ c

    khác.

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    20/234

     

    Phát trin ph$n m&m b'ng UML  trang | 20

     Hình 1.9 ?: tin cI y c>a d 7  báo kinh phí d 7  án

    V\ i các da án nh|, khio sát khi thi thVs ng ch} gi\ i hWn bf i danh sách yêu c$u ph$n m&m.V\ i các da án trung bình (thac hiPn khoing mmt ntm) thì pha khio sát khi thi s~ thac hiPn trongkhoing mmt tháng, bao gym ci viPc xây dang maket. V\ i các da án l\ n, viPc xây dang maket cóth là mmt da án con và nó c+ng có các bV\ c thac hiPn nhV mô ti trên.

    Pha chi ti^t. Pha chi tiXt bnt ]$u b'ng phân tích yêu c$u và mô hình hóa l q nh vac. Nó cónhiPm vY laa chTn kiXn trúc, làm giim mUc ]m r hi ro cha da án, cuQi cùng là xác ]onh ]V^ c k X hoWch ]$y ]h cho các nhiPm vY phát trin hP thQng ph$n m&m. Tham gia vào pha này bao gymkiXn trúc sV hP thQng, chuyên gia l q nh vac, ngVs i sl dYng, ]Wi diPn cha nhóm kim tra ch_t lV^ ngvà thl nghiPm, ngVs i viXt tài liPu, chuyên gia v& các công cY phát trin ph$n m&m.

    Phân tích yêu c$u ]V^ c thac hiPn trên c[  sf  khio sát các tr Vs ng h^  p sl dYng. Các tr Vs ng h^  psl dYng ]V^ c mô ti theo khái niPm khách hàng, có th khác xa v\ i hình thUc mô ti cha k v nghP 

     ph$n m&m. Các phân tích viên có nhiPm vY chuyn ]`i chúng sang hình thUc g$n máy tính h[ n,thí dY, chuyn ]`i tr Vs ng h^  p sl dYng sang cmng tác cha các ]Qi tV^ ng trong l q nh vac Ung dYng.1ó là các ]Qi tV^ ng trong thX gi\ i thac, công tác v\ i nhau ] hình thành các chUc ntng trongtr Vs ng h^  p sl dYng. NgVs i sl dYng vjn có th hiu rõ trên hình thUc biu di{n này. Hình 1.10 làthí dY v& cài ]ut tr Vs ng h^  p sl dYng Bán hàng b'ng ba ]Qi tV^ ng h^  p tác là khách hàng, ngVs i

     bán hàng và xe ô tô.

     Hình 1.10 Cài 25t tr E ng hB  p s.  d 8ng

    Bán hàng:Cmng tác

    Xe ô tô

    Bán hàng:Tr Vs ng h^  p sl dYng

     Nhân viên bán hàng

    Khách hàng

     NgVs i sl dYng K v sV ph$n m&m

    1m tin cdycha da báo

    1m chính xác cha da báo

    Kh|a sátkhi thi

    Chi tiXt

    Kinh phí thac tX 

    Xây dang Chuyn giao

    Ths i gian

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    21/234

     

    Phát trin ph$n m&m b'ng UML  trang | 21

    Pha chi tiXt cho lWi các sin phem sau ]ây:

    Mô ti hành vi hP thQng dV\ i hình thUc tr E ng hB  p s.  d 8ng  (use case), ngb cinh hP thQng, cáctác nhân (ngVs i sl dYng hP thQng), các k och bin Ung dYng và mô hình các l\  p Ung dYng.V\ i da án trung bình thì có th bao gym hàng chYc tr Vs ng h^  p sl dYng, khoing 100 k och

     bin chính, vài tr tm k och bin phY và khoing tc 50 ]Xn 100 l\  p l q nh vac.

    KiXn trúc, tài liPu mô ti kiXn trúc, mô ti r hi ro.K X hoWch ]$y ]h cho phát trin trong da án.

    K X hoWch chi tiXt cho các vòng lu p, tiêu chí ]ánh giá, danh sách yêu c$u cho mxi vòng lu p vàk Xt qui ciu kim tra ch_t lV^ ng.

    Có th bao gym các bin thio cha tài liPu hV\ ng djn sl dYng.

    Ths i gian thac hiPn pha chi tiXt r _t khác nhau trong tcng da án, nó phY thumc vào loWi UngdYng và c[  sf  hW t$ng laa chTn cho nó. Thí dY, nXu da án thac hiPn trong mmt ntm thì pha này s~ kéo dài tc hai ]Xn bQn tháng. Không nên ]ánh giá quá nhi&u ths i gian ] có ]V^ c phân tích hoànhio. Nên chuyn d$n sang giai ]oWn tiX p theo khi ]ã khio sát khoing 80% k och bin chính. Không

    nên ]i quá chi tiXt khi khio sát k och bin ] tránh viPc m_t ]i tính tr cu tV^ ng trong giii pháp.Pha xây d[ ng. Pha xây dang ]& cd p ]Xn tiXn trình phát trin và kim tra ph$n m&m. Pha xây

    dang tV[ ng Ung v\ i trin khai các vòng lu p. Mxi vòng lu p f  ]ây cho lWi mmt mju khi  thac `n]onh, ]$y ]h. 1ó là nhbng phiên bin ]$u tiên cha ph$n m&m. ViPc cài ]ut lu p bao gym các hoWt]mng nhV sau: Nhdn ra các k och bin hoàn ch}nh hay sl dYng lWi trong vòng lu p trên c[  sf  khio sátcác r hi ro và k Xt qui cha vòng lu p tr V\ c ]ó; giao nhiPm vY cY th cho ]mi ng+ phát trin ] hoànthiPn vòng lu p; xác ]onh tiêu chí ]ánh giá, vo trí kim tra và hWn ]onh; td p h^  p lWi tài liPu ngVs i sl dYng và tài liPu trin khai.

    Pha xây dang k Xt thúc khi hoàn thiPn ph$n m&m và ]V^ c kim nghiPm. Phii ]im bio r 'ng ph$n m&m ]yng bm v\ i mô hình. V\ i da án nh|, pha xây dang kéo dài tc hai ]Xn ba tháng. Trong

    các nV\ c phát trin, da án hV\ ng ]Qi tV^ ng trung bình ]V^ c thac hiPn trong khoing mmt ntm v\ intm hay sáu nhân viên thì pha xây dang chiXm tc sáu ]Xn chín tháng. V\ i da án l\ n thì mxi tiuhP ]V^ c xem nhV da án con và chúng c+ng có các vòng lu p riêng.

    Pha chuy(n giao. Pha chuyn giao bnt ]$u khi sin phem ph$n m&m hoàn thiPn ]V^ c chuyn]Xn cmng ]yng ngVs i sl dYng. MUc ]m phUc tW p cha pha này phY thumc vào các Ung dYng cY th.Pha chuyn giao bao gym sin xu_t hàng loWi, vdn chuyn, cài ]ut, hu_n luyPn, hx tr ̂   k v thudt và

     bio trì. Tham gia vào pha này bao gym mmt vài ngVs i tc  ]mi ng+  phát trin và thl  nghiPmchV[ ng trình, kiXn trúc sV hP thQng làm viPc bán ths i gian và ngVs i có trách nhiPm cd p nhdt tàiliPu. Nhân viên hx tr ̂   k v thudt, nhân viên bán hàng, quing cáo s~ thac hiPn viPc kim tra.

    Trong pha chuyn giao, công viPc phát trin ph$n m&m h$u nhV ]ã hoàn thành. MTi sin phem

    ]&u ]Wt ts i mUc chín muyi ]  cung c_ p r mng rãi ]Xn ngVs i quin lý da  án và ngVs i sl  dYng. NgVs i sl dYng s~ ]V^ c cung c_ p: phiên bin beta và phiên bin cuQi cùng cha chV[ ng trình khi thac; tài liPu hV\ ng djn sl dYng, tài liPu trin khai và cài ]ut. NgVs i quin lý da án ]V^ c cungc_ p: có mô hình hP thQng cuQi cùng; tiêu chí ]ánh giá cho mxi vòng lu p; mô ti viPc phân phQi sin

     phem; k Xt qui cha kim tra ch_t lV^ ng và các kinh nghiPm rút rra tc thac hiPn da án.

    1.5.2.4 - Phân b>  ho+t ?@ng trong các pha phát tri 3 n ph)n m5m

    Mxi hoWt ]mng phát trin ph$n m&m là khác nhau trong các pha phát trin. Không có sa tV[ ngUng mmt – mmt giba các pha dV\ i góc nhìn hx tr ̂   v\ i các pha c` ]in cha chu k  thác n

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    22/234

     

    Phát trin ph$n m&m b'ng UML  trang | 22

     phân b` giba các chu k , ]im bnt ]$u và k Xt thúc cha chúng không tV[ ng Ung v\ i các gi\ i hWncác pha tc góc nhìn hx tr ̂   (hình 1.11).

     Hình 1.11 S !  23 các pha phát tri) n ph+n m- m

    S[  ]y trên hình 1.11 cho ta th_y:

    K X hoWch thac hiPn trong các pha phát trin.

    Công viPc phân tích ]V^ c thac hiPn chh yXu trong pha chi tiXt, mmt ph$n cha nó ]V^ c thac hiPntrong pha khio sát khi thi và pha xây dang.

    Ph$n l\ n kiXn trúc ]V^ c xác ]onh trong pha chi tiXt.

    ViPc viXt mã trình (bao gym ci  thl nghiPm các modun) bnt ]$u tc pha chi tiXt và ]V^ c thachiPn trong toàn bm pha cài ]ut.

    ViPc bio trì ]V^ c xác ]onh ngay tc phiên bin ]$u tiên cha phân m&m, thông thVs ng nó bnt ]$utrong pha chi tiXt.

    Thl nghiPm và kim tra ch_t lV^ ng tr i dài suQt toàn bm các pha và áp dYng cho mTi bin mjuchV[ ng trình.

    Quin lý sa thay ]`i (phiên bin và c_u hình) lVu tr b loch sl toàn bm da án.

    Dãy sQ bên phii hình 1.11 th hiPn phân b` công sUc thac hiPn các hoWt ]mng cha mmt da án phát trin ph$n m&m hV\ ng ]Qi tV^ ng do ntm nhân viên thac hiPn trong khoing mmt ntm. CáchoWt ]mng ]ó bao gym:

     LI p k 4   ho;ch:  bao gym các hoWt ]mng thí ]im da  án, k X  hoWch phát trin quin lý các tàinguyên da án.

     Phân tích: Bao gym phát trin mô hình ]Qi tV^ ng và mô hình ngVs i sl dYng, ]uc ti t`ng th v& 

    da án, mô ti các tiêu chí ]ánh giá.

    Ld p k X hoWch

    Phân tích

    KiXn trúc

    Ld p trình

    Bio trì

    Thl nghiPm

    Quin lý sa thay ]`i

    Khf i ]$u Chi tiXt Chuyn giaoXây dang

    15%

    15%

    15%

    30%

    5%

    15%

    10%Lu p

     ban ]$uLu p#1

    Lu p#2

    Lu p#n

    Lu p#n + 1

    Lu p#n + 2

    Lu p#m

    5% 20% 65% 10%

    10% 30% 50% 10%

    Công sUc

    Ths i gian

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    23/234

     

    Phát trin ph$n m&m b'ng UML  trang | 23

     Ki4 n trúc: bao gym viXt mã trình c[   sf , thiXt k X  t`ng quan v& Ung dYng và xây dang c[  chX chung

    Cài 25t: Nhóm toàn bm thiXt k X chi tiXt, viXt mã trình và kim tra các mo]un chV[ ng trình.

    Th.  nghi"m và 2 ánh giá: Bao gym các hoWt ]mng chUng minh r 'ng ph$n m&m phù h^  p v\ i mYctiêu ban ]$u và các ti&u chí ]ánh giá.

    QuAn lý thay 2[ i: LVu tr b tr Wng thái k Xt qui cha các giai ]oWn phát trin.Các dãy sQ phía dV\ i hình 1.11 ch} ra phân bQ công sUc và ths i gian cho các pha phát trin

     ph$n m&m cha mmt da án c.  trung bình.

    Chính bin thân Ngôn ng 0  mô hình hóa tr 7 c quan UML không ]onh ngh q a tiXn trình phát trin ph$n m&m, nhVng UML và ph$n m&m công cY  Rational Rose (còn gTi tnt là Rose) ]V^ c sl dYngcó hiPu qui trong mmt sQ công ]oWn cha tiXn trình phát trin ph$n m&m. Khi bnt ]$u da án, trong

     pha khio sát khi thi, Rose ]V^ c sl dYng ] phát sinh mô hình tr Vs ng h^  p sl dYng. Trong pha chitiXt,  Rose ]V^ c sl dYng ]{ xây dang biu ]y trình ta và biu ]y cmng tác, ch}  ra các ]Qi tV^ ngtV[ ng tác v\ i nhau nhV thX nào. Biu ]y l\  p ]V^ c xây dang trong Rose ] th_y sa phY thumc vàonhau cha các ]Qi tV^ ng. Trong giai ]oWn ]$u cha pha xây dang, biu ]` thành ph$n ]V^ c hìnhthành nhs   Rose ] ch} ra sa phY thumc cha các thành ph$n trong hP thQng và cho ta khi ntng phátsinh mã trình c[  bin. Trong suQt pha xây dang, Rose cho ta khi ntng chuyn ]`i ngV^ c mã trìnhthành mô hình ]  tích h^  p mTi sa  thay ]`i trong quá trình phát trin. Trong pha chuyn giao,

     Rose ]V^ c sl dYng ] cd p nhdt các mô hình ]V^ c tWo ld p ra cho da án.

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    24/234

     

    Phát trin ph$n m&m b'ng UML  trang | 24

    CH-/ NG 2 

    KHÁI QUÁT V= UML

    UML là ngôn ngb mô hình hóa, tr V\ c hXt nó là mô ti ký pháp thQng nh_t, ngb ngh q a và các

    ]onh ngh q a v& metamodel   (mô ti ]onh ngh q a chính ngôn ngb mô hình hóa), nó không mô ti v&  phV[ ng pháp phát trin. UML ]V^ c sl dYng ] hin tho, ]uc ti, xây dang và làm tài liPu các vdt phem (artifacts) cha phân tích quá trình xây dang hP  thQng ph$n m&m theo hV\ ng ]Qi tV^ ng.UML ]V^ c sl dYng cho mTi tiXn trình phát trin ph$n m&m, xuyên suQt vòng ]s i phát trin và]mc ld p v\ i các công nghP cài ]ut hP thQng.

    2.1 GIJ I THIQU UML

    UML là ngôn ngb chuen ] viXt k X hoWch chi tiXt ph$n m&m. Nó phù h^  p cho viPc mô hìnhhóa các hP thQng nhV hP thông tin doanh nghiP p, các Ung dYng phân tán trên n&n Web, hP thôngnhúng ths i gian thac… Các khung nhìn cha ngôn ngb ]V^ c quan sát tc góc ]m phát trin và trinkhai hP thQng, nó không khó hiu và d{ sl dYng. UML là ngôn ngb mô hình ]V^ c ci con ngVs ivà máy sl dYng. Nh\  lWi r 'ng phV[ ng pháp là cách c_u trúc rõ ràng suy ngh q  và hành ]mng cha ai]ó. PhV[ ng pháp cho ngVs i sl dYng biXt làm cái gì, làm nhV thX nào, khi nào làm viPc ]ó và tWisao lWi làm nhV vdy. PhV[ ng pháp chUa mô hình và các mô hình này ]V[ c sl dYng ] mô ti cáigì ]ó. Sa khác nhau chh yXu cha phV[ ng pháp và ngôn ngb mô hình hóa là ngôn ngb mô hìnhhóa thiXu tiXn trình cho biXt làm cái gì, làm nhV thX nào, khi nào làm viPc ]ó và tWi sao lWi làmnhu vdy. NhV mTi ngôn ngb mô hình hóa khác, UML có ký pháp (các biu tV^ ng sl dYng trongmô hình) và td p các ludt sl dYng nó. Các ludt bao gym cú pháp, ngb ngh q a và  pragmatic  (ludthình thành câu có ngh q a).

    C$n chú ý r 'ng ngay ci khi nnm chnc ngôn ngb UML, không có gì ]im bio s~ có mô hình

    tQt. TV[ ng ta nhà vtn viXt tiu thuyXt b'ng ngôn ngb ta nhiên, ngôn ngb ch} là công cY, còn tiuthuyXt có hay hay không là phYc thumc hoàn toàn vào nhà vtn.

    1 sl dYng UML có hiPu qui, ]òi h|i phii hiu ]V^ c ba v_n ]& chính sau [BRJ99]

    Các ph$n tl c[  bin cha mô hình UML

    Các qui ]onh liên k Xt các ph$n tl mô hình

    Mmt sQ c[  chX chung áp dYng cho ngôn ngb này. 

    UML là ngôn ngb và nó ch} là mmt ph$n cha tiXn trình phát trin ph$n m&m, ]mc ld p v\ i tiXntrình. Tuy nhiên UML r _t phù h^  p v\ i các tiXn trình hV\ ng tr E ng hB  p s.  d 8ng (Use case – UC ),l_y kiXn trúc làm trung tâm, tV[ ng tác ttng d$n.

    2.1.1.1 - UML là ngôn ng A  

     Ngôn ngb phii có tc vang và qui tnc t` h^  p các tc trong tc vang ] giao tiX p. Ngôn ngUc môhình là ngôn ngb có tc vang và qui tnc td p trung vào biu di{n v& mut vdt lý và khái niPm cha hP thQng. UML là ngôn ngb chuen công nghiP p ] ld p k X hoWch chi tiXt ph$n m&m. NhV ]ã trình bàytrong chV[ ng tr V\ c, không có mô hình nào là th|a mãn cho toàn bm hP thQng. Thông thVs ng ta

     phii xây dang nhi&u mô hình cho mmt hP thQng, do vdy ngôn ngb phii cho phép biu di{n nhi&ukhung nhìn (views) khác nhau cha mmt kiXn trúc hP  thQng trong suQt quá trình phát trin ph$nm&m. Tc vang và qui tnc ngôn ngb UML cho ta cách thUc xây dang mô hình và ]Tc mô hình,

    nhVng không cho biXt mô hình nào c$n phii ]V^ c ld p và khi nào ld p chúng. NhiPm vY ]ó ]V^ cxác ]onh nhs  qui trình phát trin ph$n m&m. Qui trình phát trin ph$n m&m s~ giúp chúng ta ]Va

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    25/234

     

    Phát trin ph$n m&m b'ng UML  trang | 25

    ra quyXt ]onh hình thành vdt phem nào, hoWt ]mng nào và nhân viên nào s~  tWo ra, sl dYng vàquin lý chúng. 1yng ths i chúng ]V^ c sl dYng nhV thX nào vào viPc quin lý toàn bm da án.

    2.1.1.2 - UML là ngôn ng A  ?3  hi 3 n th B  

    V\ i nhi&u ld p trình viên, không có khoing cách tc ý tVf ng ]Xn cài ]ut mã trình. HT suy ngh q  

    v_n ]& và viXt ngay mã trình cho nó. Thac tX là có th tr ac tiX p viXt mã trình cho mmt sQ viPc, tr actiX p mô ti  thudt toán và biu thUc b'ng vtn bin. Tuy nhiên, viPc giao tiX p giba mô hình kháiniPm v\ i nhbng cái khác trong vòng ]s i phát trin ph$n m&m s~ khó khtn khi mTi ngVs i khôngsl dYng chung mmt ngôn ngb cho da án. NXu da án hay t` chUc nào ]ó ]Va ra ngôn ngb riêng chahT thì ngVs i m\ i tham gia da án s~ gu p r _t nhi&u khó khtn. H[ n nba, mmt sQ v_n ]& cha hP thQng

     ph$n m&m s~ ]V^ c hiu rõ ràng h[ n thông qua mô hình thay cho ngôn ngb ld p trình vtn bin. ThídY, có th suy ludn ra ý ngh q a phân c_ p l\  p nhVng không th hiu th_u ]áo nXu bnt ]$u tr ac tiX p

     b'ng mã trình cha l\  p trong phân c_ p. TV[ ng ta, ta không th hiu rõ hP thQng trên n&n Web nXukhông có mô hình. UML giúp xây dang mô hình ] d{ dàng giao tiX p. Mmt sQ công viPc phù h^  pv\ i mô hình hóa btng vtn bin, mmt sQ công viPc khác lWi phù h^  p h[ n v\ i mô hình hóa b'ng ]y hTa. UML là ngôn ngb ]y hTa. V\ i nhi&u hP thQng, mô hình trong ngôn ngb ]y hTa d{ hiu h[ nso v\ i ngôn ngb ld p trình. Sau mxi biu tV^ ng ]y hTa cha ngôn ngb UML là ngb ngh q a. Vdy, khixây dang mô hình trong UML thì ngVs i phát trin khác hay các công cY hx tr ̂   mô hình hóa cóth hiu mô hình mmt cách r x ràng.

    2.1.1.3 - UML làn ngôn ng A  ?$c t 6 

    1uc ti  là mô ti  rõ ràng nhbng ]im m_u chQt cha v_n ]&. UML cho phép mô ti mô hìnhchính xác, không nhd p nh'ng và hoàn thiPn. UML hV\ ng t\ i ]uc ti thiXt k X, phân tích và quyXtdonh cái ]ut trong quá trình phát trin và trin khai hP thQng ph$n m&m.

    2.1.1.4 - UML là ngôn ng A  ?D  xây d E ng

    UML là không phii là ngôn ngb ld p trình tr ac quan, nhVng mô hình cha nó có th k Xt nQi tr actiX p t\ i các ngôn ngb ld p trình khác nhau. Có ngh q a r 'ng có th ánh xW mô hình trong UML t\ icác ngôn ngb ld p trình khác nhau nhV Java, C++ hay các bing CSDL quan hP, CSDL hV\ ng ]QitV^ ng. Ánh xW này cho khi ntng biXn ]`i thudn tc mô hình UML sang ngôn ngb ld p trình. 1yngths i, cho khi ntng biXn ]`i ngV^ c lWi tc cài ]ut v& mô hình UML; có ngh q a r 'ng nó cho khi ntnglàm viPc v\ i vtn bin hay ]y hTa mmt cách nh_t quán.

    2.1.1.5 - UML là ngôn ng A  tài liêu

    UML hV\ ng t\ i làm tài liPu kiXn trúc hP thQng và các chi tiXt cha nó. UML cho khi ntng biudi{n yêu c$u, thl nghiPm, mô hình hóa các hoWt ]mng ld p k X hoWch và quin lý sin phem.

    UML cho biXt gi\ i hWn cha hP thQng và các chUc ntng chính cha nó thông qua UC và tác nhân.

    Trong UML, các UC ]V^ c mô ti b'ng biu ]y logic

    Biu di{n c_u trúc t q nh cha hP thQng nhs  biu ]y l\  p

    Mô hình hóa các hành vi ]Qi tV^ ng b'ng biu ]y chuyn tr Wng thái

    Phin inh kiXn trúc cài ]ut vdt lý b'ng biu ]y thành ph$n và biu ]y trin khai

    Mf  r mng các chUc ntng b'ng stereotypes 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    26/234

     

    Phát trin ph$n m&m b'ng UML  trang | 26

    2.2 MÔ HÌNH KHÁI NIQM CiA UML

    1 hiu ]V^ c UML ta phii hình dung ]V^ c mô hình khái niPm cha ngôn ngb. Nó ]òi h|i nnm]V^ c ba v_n ]& chính, bao gym các ph$n tl c[  bin ] xây dang mô hình, quy tnc liên k Xt các

     ph$n tl mô hình và mmt sQ c[  chX chung sl dYng cho ngôn ngb. Khi nnm vbng ]V^ c các v_n ]& này thì ta có th ]Tc ]V^ c mô hình UML và tWo ra mmt vài mô hình c[  bin.

    2.2.1 - Phhn tj  mô hình trong UML

    Các khQi hình thành mô hình UML gym ba loWi nhV sau: ph$n tc, quan hP và biu ]y. Ph$n tl là tr cu tV^ ng ctn bin trong mô hình, các quan hP gnn các ph$n tl này lWi v\ i nhau; còn biu ]ònhóm td p h^  p các ph$n tl. Trong UML có bQn loWi ph$n tl mô hình, ]ó là c_u trúc, hành vi,nhóm và chú thích. Các ph$n tl này là các khQi ] xây dang hV\ ng ]Qi tV^ ng c[  bin cha UML.

    2.2.1.1 - Ph)n t F  cG u trúc

    Ph$n tc c_u trúc là các danh tc trong mô hình UML. Chúng là bm phdn t q nh cha mô hình ] 

     biu di{n các thành ph$n khái niPm hay vdt lý. Có biy loWi phen tl c_u trúc nhV mô ti sau ]ây:L- p. L\  p mô ti td p các ]Qi tV^ ng cùng chung thumc tinh, thao tác, quan hP và ngb ngh q a. Mmt

    l\  p cài ]ut mmt hay nhi&u ghép nQi. Hình 2.1 biu di{n ]y  hTa l\  p b'ng hình chb nhdt, thôngthVs ng chú có tên, thumc tính và thao tác.

    Giao di3n. Giao diPn là td p h^  p các thao tác làm doch vY cha l\  p hay thành ph$n. Giao diPnmô ti hành vi th_y ]V^ c tc ngoài cha thành ph$n. Giao diPn biu di{n toàn bm hay mmt ph$nhành vi cha l\  p. Giao diPn ]onh ngh q a td p ]uc ti thao tác chU không ]onh ngh q a cài ]ut cha chúng.Ký pháp ]y hTa cha nó ]V^ c mô ti trên hình 2.2. Giao diPn thVs ng không ]Ung mmt mình mà]V^ c gnn vào l\  p hay thành ph$n thac hiPn giao diPn.

     Hình 2.1 L

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    27/234

     

    Phát trin ph$n m&m b'ng UML  trang | 27

     Hình 2.3 C :ng tác Hình 2.4 Use case

    Tr/0 ng hV p sj  d5ng (Use case). Mô ti chình ta các hành ]mng mà hP thQng s~ thac hiPn ] ]Wt ]V^ c mmt k Xt qui  cho tác nhân nào ]ó. Tác nhân là nhbng gì bên ngoài tV[ ng tác v\ i hP thQng. Td p h^  p các UC cha hP thQng s~ hình thành các tr Vs ng h^  p mà hP thQng ]V^ c sl dYng. Sl dYng UC ] c_u trúc các ph$n tl có tính hành vi trong mô hình. Nó ]V^ c hiPn thac hóa bf i ph$ntl cmng tác nhV vca mô ti trên. Hình 2.4 là ký pháp ]y hTa cha UC.

    L- p tích c[ c (active class). L\  p tích cac là l\  p có ]Qi tV^ ng làm chh mmt hay nhi&u l\  p tiXntrình hay luyng. L\  p tích cac ]V^ c xem nhV l\  p thông thVs ng nhVng ]Qi tV^ ng cha nó biu di{ncác thành ph$n có hành vi ]ang tV[ ng tranh v\ i các thành ph$n khác. Ký pháp ]y hTa cha nótV[ ng ta l\  p thông thVs ng nhVng biên chb nhdt ]V^ c tô ]dm. Thông thVs ng chúng c+ng có tên,thumc tính và thao tác.

    Thành phhn. Thành ph$n biu di{n vdt lý mã nguyn, các tP p nho phân trong quá trình pháttrin hP thQng. Ký pháp ]y hTa cha nó ]V[ c biu di{n trên hình 2.5

    Nút (node). Nút là th hiPn thành ph$n vdt lý, tyn tWi khi chV[ ng trình chWy và biu di{n cáctài nguyên tính toán. Có th ]ut td p các thành ph$n trên nút chuyn tc nút này sang nút khác. Nútcó th là máy tính, thiXt bo ph$n cUng. Ký pháp ]y hTa cha chúng ]V^ c mô ti trên hình 2.6.

     Hình 2.5 C :ng tác Hình 2.6 Use case

    2.2.1.2 - Ph)n t F  hành vi

    Ph$n tl hành vi là bm phdn ]mng cha mô hình UML. Chúng là các ]mng tc cha mô hình, biudi{n hành vi theo ths i gian và không gian. Có hai loWi chính là tV[ ng tác và tr Wng thái.

    T/, ng tác. TV[ ng tác là hành vi bao gym td p các thông ]iP p trao ]`i giba các ]Qi tV^ ng

    trong ngb cinh cY th ] thac hiPn mYc ]ích cY th. Hành vi cha nhóm ]Qi tV^ ng hay cha mxithao tác có th ]V^ c ch} ra b'ng tV[ ng tác. Biu di{ ]y hTa cha thông ]iP p ]V^ c th hiPn nhV trênhình 2.7, bao gym m+i tên và tên thao tác cha nó.

     Hình 2.7 Thông 2 i" p Hình 2.8 Tr Wng thái

    Máy trlng thái. Máy tr Wng thái là hành vi ch} ra tr dt ta các tr Wng thái mà ]Qi tV^ ng hay tV[ ngtác s~ ]i qua ] ]áp Ung sa kiPn. Hành vi cha l\  p hay cmng tác cha l\  p có th ]V^ c xác ]onh b'ng

    Myfile.cpp

    Ma $y chu # 

    Hin tho Chs  

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    28/234

     

    Phát trin ph$n m&m b'ng UML  trang | 28

    máy tr Wng thái. Máy tr Wng thái kích hoWt nhi&u ph$n tl, bao gym tr Wng thái, chuyn tiX p (tc tr Wngthái này sang tr Wng thái khác), sa kiPn và các hoWt ]mng (]áp Ung sa kiPn). Ký pháp ]y hTa chatr Wng thái ]V^ c th hiPn trên hình 2.8, nó chUa tên và tr Wng thái con nXu có.

    2.2.1.3 - Ph)n t F  nhóm

    Ph$n tl nhóm là bm phdn t` chUc cha mô hình UML. Ch} có mmt ph$n tl thumc nhóm này cótên là gói ( package). Gói là c[  chX ]a ntng ] t` chUc các ph$n tl vào nhóm. Các ph$n tl c_utrúc, hành vi và ngay ci ph$n tl nhóm có th cho vào gói. Không giQng thành ph$n (component ),

     ph$n tl nhóm hoàn toàn là khái niPm, có ngh q a r 'ng chúng ch} tyn tWi vào ths i ]im phát trin hP thQng chU không tyn tWi vào ths i gian chWy chV[ ng trình. Ký pháp ]y hTa cha nhóm ]V^ c biudi{n trên hình 2.9. gói giúp ta quan sát hP thQng f  mUc t`ng quan h[ n.

    Chú thích (annotaitonal )

    Ph$n tl chú thích là bm phdn chú giii cha mô hình UML. 1ó là ls i giii thích áp dYng ] mô ti các ph$n tl khác trong mô hình. Ph$n tl chú thích ]V^ c gTi là ghi chú (note). Ký pháp ]y hTa

    cha chúng th hiPn trên hình 2.9

     Hình 2.9 Nhóm và l E i ghi chú

    2.2.2 - Các quan h3 trong UML

    Có bQn loWi quan hP trong UML, bao gym quan hP phY thumc, k Xt h^  p, khai quát và hiPn thachóa. Chúng là c[  sf  ]{ xây dang mTi quan hP trong UML.

    Ph5  thukc (dependency).  PhYc thumc là quan hP  ngb  ngh q a hai ph$n tl  trong ]ó thay ]`i ph$n tl ]mc ld p s~ tác ]mng ]Xn ngb ngh q a cha ph$n tl phYc thumc. Ký pháp ]y hTa cha nó ]V^ cth hiPn trên hình 2.10.

     Hình 2.10 C :ng tác Hình 2.11 Use case

    K ̂ t hV p (association). K Xt h^  p là quan hP c_u trúc ] mô ti td p liên k Xt (mmt liên k Xt là k XtnQi giba các ]Qi tV^ ng). Khi ]Qi tV^ ng cha l\  p này gli/nhdn thông ]iP p ]Xn/tc ]Qi tV^ ng cha l\  pkia thì ta gTi chúng là có quan hP k Xt h^  p. Ký pháp ]y hTa cha k Xt h^  p ]V^ c mô ti trên hình 2.11chúng có th chUa tên nhiPm vY và tính nhi&u (multiplicity). TY h^  p (aggregation) là dWng ]uc

     biPt cha k Xt h^  p, nó biu di{n quan hP c_u trúc giba toàn th và bm phdn. Ký pháp ]y hTa cha nótrên hình 2.12. mmt dWng duc biPt cha td p h^  p là quan hP h^  p thành (composition), trong ]ó nXu

    nhV ]Qi tV^ ng toàn th bo hhy b| thì các ]Qi tV^ ng bm phdn cha nó c+ng bo hhy b| theo. Biu di{n]y hTa cha td p h^  p nhV trên hình 2.13.

    Các ludtthV[ ng mWi

    1ây làchú thích

    0..1.

    Ông chh  Nhân viên

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    29/234

     

    Phát trin ph$n m&m b'ng UML  trang | 29

     Hình 2.12 T 8 hB  p Hình 2.13 Use case

    Khái quát hóa ( generalization). Khái quát hóa là quan hP ]uc biPt hóa/ khái quát hóa màtrong ]ó ]Qi tV^ ng cY th s~ k X thca các thumc tính và phV[ ng pháp cha ]Qi tV^ ng t`ng quát. Ký

     pháp ]y hTa cha khái quát hóa ]V^ c mô ti trên hình 2.14.

     Hình 2.14 Khái quát hóa Hình 2.4 HiPn thac

    Hi3n th[ c hóa (realization). HiPn thac hóa là quan hP ngb ngh q a giba giao diPn và l\  p (haythành ph$n) hiPn thac l\  p; giba UC và h^  p tác hiPn thac UC. Biu di{n ]y hTa cha nó dV^ c mô ti trên hình 2.15.

    2.2.3 - Ki(u dm  li3uKiu db liPu không phii là ph$n tl mô hình trong UML. Kiu db liPu c[  sf  là kiu db liPu

    không có c_u trúc. UML có các kiu db liPu sau:

     Boolean: là kiu ]Xm v\ i hai giá tr o True và False

     Bi) u thO c (Expression): là xâu ký ta có cú pháp

    Tính nhi- u (Multiplicity):  là td p không r xng cha các sQ nguyên dV[ ng và ký ta * (] biu tho tính nhi&u vô hWn).

    Tên (Name): là xâu ký ta cho khi ntng ]uc ti phen tl.

    S &  nguyên (Integer): là kiu c[  bin và là ph$n tl cha td p vô hWn các sô nguyên âm và dV[ ng. Xâu (String): là tr dt ta ciu các ký ta, ]V^ c sl dYng là tên.

    ThE i gian (Time): xâu ký ta biu dirn giá tr o tuyPt ]Qi hay khoing tV[ ng tV[ ng ]Qi.

     Không lý giAi (Uninterpreted): là ‘cái gì ]ó’ mà ý ngh q a cha nó phY thumc và l q nh vac.

    2.2.4 - Bi(u \n UML

    Biu ]y là biu di{n ]y hTa td p h^  p các ph$n tl mô hình. V~ biu ]y ] biu di{n hP thQng]ang xây dang dV\ i các góc ]m quan sát khác nhau. Có th hiu biu ]y là ánh xW cha hP thQng.Mmt ph$n tl có th xu_t hiPn trong mmt hay nhi&u biu ]y. V& lý thuyXt thì biu ]y có th baogym t` h^  p vô sQ ph$n tc ]y hTa và quan hP vca mô ti trên. UML cho khi ntng xây dang mmtvài kiu biu ]y tr ac quan ] biu di{n các khía cWnh khác nhau cha hP thQng, bao gym biu ]y tr Vs ng h^  p sl dYng (use case diagram), biu ]y trình ta  ( sequence diagram), biu ]y cmng tác(collaboration diagram), biu ]y l\  p (class diagram), biu ]y biXn ]`i tr Wng thái ( state transitiondiagram), biu ]y thành ph$n (component diagram) và biu ]y trin khai (deployment diagram).Các loWi biu ]y nay s~ ]V^ c gi\ i thiPu tóm tnt dV\ i ]ây thông qua ví dY v& xây dang ph$n m&mcho hP thQng máy rút ti&n ta ]mng ( Automated Teller Machine – ATM ). Gii sl r 'ng ta có các máyrút ti&n ta ]mng ATM ]ut tWi các ]Vs ng phQ khác nhau trong thành phQ. Chúng ]V^ c nQi v\ i máytính trung tâm tWi tr Y sf  ngân hàng thông qua hP thQng mWng máy tính. Máy tính trung tâm lVutr b và quin tr o CSDL khách hàng, xl lý mmt sQ công viPc chuyên ngành và yêu c$u ATM tr i ti&n.

    Máy rút ti&n ta ]mng bao gym máy ]Tc th• tc, màn hình và bàn phím ] tV[ ng tác v\ i ngVs i sl dYng.

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    30/234

     

    Phát trin ph$n m&m b'ng UML  trang | 30

    2.2.4.1 - Bi 3 u ?H tr I ng h=  p sF  d Kng (Use case – UC)

    Biu ]y này ch} ra tV[ ng tác giba các UC và tác nhân. UC biu di{n các chUc ntng hP thQng.Tác nhân là con ngVs i hay hP thQng khác cung c_ p hay thu nhdn thông tin tc hP thQng ]ang ]V^ cxây dang. Biu ]y UC td p trung vào quan sát tr Wng thái t q nh cha các UC trong hP thQng. Vì UC

     biu di{n yêu c$u hP thQng tc góc ]m ngVs i dùng, cho nên UC là chUc ntng mà hP thQng phii có.

    Biu ]y  loWi này chi ra tác nhân nào khf i ]mng UC và khi nào tác nhân nhdn thông tin tc hP thQng.

    Biu ]y trên hình 2.16 ch} ra tV[ ng tác giba các UC và tác nhân cha hP thQng rút ti&n ta ]mngATM.  Khách hàng   (là tác nhân) có khi  ntng khf i ]mng mmt sQ  UC nhV  Rút ti- n, G. i ti- n,Chuy) n ti- n, Xem s&  d   tài khoAn, Thay 2[ i s&  cLn c

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    31/234

     

    Phát trin ph$n m&m b'ng UML  trang | 31

     Hình 2.17 Bi) u 23 trình t 7  c>a h" thông ATM

    2.2.4.2 - Bi 3 u ?H trình t E  (sequence)

    Biu ]y trình ta ch} ra luyng chUc ntng xuyên qua các UC, nó là biu ]y mô ti tV[ ng tác gibacác ]Qi tV^ ng và td p trung vào mô ti tr dt ta các thông ]iP p theo ths i gian. Thí dY tr Vs ng h^  p sl dYng Rút ti- n có th có nhi&u trình ta nhV khách hàng yêu c$u rút ti&n khi ]ã hXt ti&n trong tàikhoin, khi khách hàng nhd p nh$m PIN hay tr Vs ng h^  p hoWt ]mng bình thVs ng. Hình 2.17 là thídY k och bin bình thVs ng (nhd p dúng PIN, sQ ti&n trong tài khoin ]h sQ lV^ ng yêu c$u rút). Tácnhân tác ]mng UC này ]V^ c hin tho trên ]}nh biu ]y, thí dY tác nhân khách hàng trên hình 2.16.

    Các ]Qi tV^ ng mà hP  thQng c$n ]  thac hiPn UC  Rút ti- n c+ng ]V^ c ]ut trên ]}nh biu ]y.Mxi m+i tên trong biu ]y th hiPn thông ]iP p truy&n giba tác nhân và ]Qi tV^ ng hay ]Qi tV^ ngv\ i ]Qi tV^ ng ] thac hiPn chUc ntng cY th. Chú ý r 'ng biu ]y trình ta hin tho ph$n tl mô hình]Qi tV^ ng chU không phii l\  p. Thí dY, biu ]y này hin tho tên khách hàng cY th (ông Vtn) thay

    cho hin tho l\  p Khách hàng .

    Vaên : Khaùchhaøng

    Vaên : Khaùchhaøng

    Maùy ñoïc theûMaùy ñoïc theû Maøn hìnhATM

    Maøn hìnhATM

    Taøi khoaûnoâng Vaên

    Taøi khoaûnoâng Vaên

    Maùy traû tieànmaët

    Maùy traû tieànmaët

    1: Chaáp nhaän theû

    2: Ñoïc soá theû

    3: Khôûi ñoäng maøn hình

    4: Môû taøi khoaûn

    5: Yeâu caàu vaøo PIN

    6: Nhaäp PIN (1234)

    7: Kieåm tra PIN

    8: Yeâu caàu giao dòch

    9: Choïn giao dòch ruùt tieàn

    10: Yeâu caàu nhaäp soá tieàn

    11: Nhaäp soá tieàn (100000ñ)

    12: Ruùt tieàn (100000ñ)

    13: Kieåm tra taø i khoaûn (100000ñ)

    14: Giaûm taø i khoaûn (100000ñ)

    15: Traû tieàn (100000ñ)

    16: Traû bieân nhaän

    17: Ñaåy theû ra

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    32/234

     

    Phát trin ph$n m&m b'ng UML  trang | 32

    UC rút ti&n bnt ]$u khi khách hàng b|  th•  tín dYng vào máy ]Tc th•. Máy ]Tc th•  là ]QitV^ ng ]V^ c ch} ra trong hình chb nhdt trên ]}nh biu ]y. Sau ]ó máy ]Tc th• s~ ]Tc sQ  th• tíndYng, mf  ]Qi tV^ ng tài khoin cha ông Vtn và khf i ]mng màn hình cha hP thQng ATM. Màn hìnhhin tho d_u nhnc ] nhd p sQ hiPu khách hàng (PIN). Thí dY, khách hàng nhd p sQ PIN 1234. Mànhình kim tra PIN v\ i ]Qi tV^ ng tài khoin và th_y phù h^  p. Màn hình hin tho các chUc ntng ] ông Vtn laa chTn. Ông ta chTn chUc ntng Rút ti- n. Màn hình hin tho d_u nhnc ] ông Vtn nhd p

    sQ  ti&n s~ rút. Ông ta nhd p sQ  ti&n rút 100000]. Màn hình thac hiPn rút ti&n tc tài khoin có ]h 100000]? Giim sQ dV trong tài khoin ]i 100000]. Yêu c$u máy tr i ti&n chi tr i 100000] ti&n mutvà in ra biên nhân. CuQi cùng yêu c$u máy ]Tc th• tr i lWi th• tín dYng cho ông Vtn.

    Biu ]y trình ta trên ]ây mô ti toàn bm luyng sl lý cho UC rút ti&n thông qua thí dY tr Vs ngh^  p ông Vtn rút 100000]. Khách hàng có th th_y ]V^ c tiXn trình tác nghiP p cY th cha hT thôngqua biu ]y. Phân tích viên th_y ]V^ c luyng tiXn trình, ngVs i phát trin th_y ]V^ c các ]Qi tV^ ngc$n xây dang và các thao tác cho các ]Qi tV^ ng này, k v sV kim tra ch_t lV^ ng có th th_y chi tiXtcha tiXn trình ]{ xây dang qui trình thl nghiPm, kim tra. Biu ]y trình ta có ích cho mTi ngVs itham gia da án.

    2.2.4.3 - Bi 3 u ?H c@ng tác (Collabaration)

    Biu ]y cmng tác ch} ra các thông tin nhV biu ]y trình ta theo cách khác, nó td p trung vào t` chUc c_u trúc cha các ]Qi tV^ ng gli và nhdn thông ]iP p. Hình 2.18 là thí dY biu ]y cmng tác cha

     biu ]y trình ta tV[ ng Ung mô ti trên hình 2.17. Biu ]y cmng tác và biu ]y trình ta thumc loWi biu ]y tV[ ng tác và chúng có th biXn ]`i qua lWi. Trong biu ]y cmng tác, ]Qi tV^ ng ]ut trongchb nhdt, tác nhân là ngVs i hình cây nhV trong biu ]y trình ta. Trong khi biu ]y trình ta biudi{n tV[ ng tác ]Qi tV^ ng và tác nhân theo ths i gian thì biu ]y cmng tác lWi không quan tâm ]Xnths i gian. Thí dY trên hình 2.18 cho th_y máy ]Tc th• ra lPnh mf  tài khoin ông Vtn, ]Qi tV^ ng tàikhoin cha ông Vtn ra lPnh máy ]Tc tr i  lWi th•  tín dYng. Các ]Qi tV^ ng giao tiX p tr ac tiX p v\ inhau ]V^ c th hiPn b'ng ]Vs ng nQi.

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    33/234

     

    Phát trin ph$n m&m b'ng UML  trang | 33

     Hình 2.18 S !  23 c:ng tác ông V Ln rút 1000002  

    Tuy r 'ng biu ]y cmng tác cùng ch} ra các thông tin nhV biu ]y trình ta, nhVng biu ]y cmng

    tác ]V^ c sl dYng vì lý do khác. K v sV kim tra ch_t lV^ ng và kiXn trúc sV hP  thQng th_y ]V^ cviPc phân b` tiXn trình giba các ]Qi tV^ ng thông qua biu ]y loWi này. Thí dY, nXu biu ]y cmngtác có hình dWng nhV ngôi sao, v\ i nhi&u ]Qi tV^ ng giao tiX p v\ i ]Qi tV^ ng trung tâm thì kiXn trúcsV có th k Xt ludn r 'ng hP thQng quá phYc thumc vào mmt ]Qi tV^ ng và hT s~ ]i thiXt k X lWi phân

     b` tiXn trình ] nâng cao hiPu su_t hP thQng.

    2.2.4.4 - Bi 3 u ?H l !  p (class)

    Biu ]y l\  p ch} ra tV[ ng tác giba các l\  p trong hP thQng. Các l\  p ]V^ c xem nhV k X hoWch chitiXt cha các ]Qi tV^ ng. Tài khoin ông Vtn là ]Qi tV^ ng; Tài khoAn  là l\  p. L\  p Tài khoAn chUa

     PIN  khách hàng và hành vi Ki) m tra PIN . Mxi l\  p trong biu ]y l\  p ]V^ c tWo ra cho mxi loWi ]QitV^ ng trong biu ]y trình ta và cmng tác. Thí dY biu ]y l\  p cho UC Rút ti- n ]V^ c mô ti trên hình2.19

    Vaên : Khaùchhaøng

    Maùy traûtieàn

    Maùy ñoïctheû

    Maøn hinhATM

    1: Chaáp nhaän theû

    2: Ñoïc soá theû

    Taøi khoaûn

    oâng Vaên

    3: Khôûi doäng maøn hinh

    4: Môû taøi khoaûn

    5: Yeâu caâu nhaäp PIN

    6: Nhaäp PIN

    7: Kieåm tra PIN8: Yeâu caâu giao dòch

    9: Choïn giao dòch (Ruùt tieàn)

    10: Yeâu caâu nhaäp soá tieàn

    11: Nhaäp toång tieàn (100000ñ)

    12: Ruùt tieàn (100000ñ)

    13: Kieåm tra taøi khoaûn

    14: Giaûm taøi khoaûn

    15: Traû tieàn (100000ñ)

    16: Traû bieân nhaän

    17: Traû theû tín duïng

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    34/234

     

    Phát trin ph$n m&m b'ng UML  trang | 34

     Hình 2.19 Bi) u 23 l a UC Rút ti- n

    Biu ]y l\  p trên hình 2.19 ch} ra quan hP giba các l\  p hình thành nên UC  Rút ti- n. Biu ]y này bao gym bQn l\  p, ]ó là  Máy 2Rc th\ , Tài khoAn, Màn hình ATM , và Máy tr A  ti- n. Mxi l\  ptrong biu ]y ]V^ c biu di{n b'ng hình chb nhdt chia làm ba ph$n: tên l\  p (thí dY  tên l\  p TàikhoAn), thumc tính (thí dY l\  p Tài khoAn chUa ba thumc tính: S &  tài khoAn, S &  cLn c

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    35/234

     

    Phát trin ph$n m&m b'ng UML  trang | 35

     Hình 2.20 Bi) u 23 bi4 n 2[ i tr ;ng thái c>a l 

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    36/234

     

    Phát trin ph$n m&m b'ng UML  trang | 36

    Hình 2.21 mô ti biu ]y thành ph$n cha hP thông ATM. Biu ]y trên hình 2.21 là các thành ph$n phía máy tr Wm trong hP thQng ATM. NXu quyXt ]onh cài ]ut hP thQng b'ng ngôn ngb C++thì trong mxi l\  p s~ có tiP p .cpp và tiP p .h riêng biPt, vdy mxi l\  p ]V^ c ánh xW ]Xn hai thành ph$nriêng trong biu ]y. Thí dY, l\  p Màn hình ATM ánh xW ]Xn hai thành ph$n ]  th hiPn tiP p .h(header)  và tiP p .cpp (thân l a ATM client

    Thí dY máy rút ti&n ta ]mng ATM có hai luyng xl lý cho nên chúng có hai trình khi  thac.Mmt trình là  Máy tr ;m ATM , bao gym các thành ph$n  Máy tr A  ti- n, Máy 2Rc th\ và  Màn hình

     ATM . Trình thU hai là  Máy ch> ATM , nó ch} có thành ph$n Tài khoAn. Biu ]y thành ph$n cha Máy ch> ATM  trên hình 2.22.

    ATM.exe

    Maùy ñoïc theû Maùy traû tieàn

    Maøn hình ATMMaùy ñoïc theû

    Maøn hình ATM

    Maùy traû tieàn

    *.h

    *.cpp

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    37/234

     

    Phát trin ph$n m&m b'ng UML  trang | 37

     Hình 2.22 Bi) u 23 thành ph+n c>a máy ch> ATM

    Có th có nhi&u biu ]y thành ph$n cho mmt hP  thQng, sQ  lV^ ng này phY  thumc vào các hP thQng con cha chúng. Mxi hP  thQng con là gói thành ph$n. T`ng quát, gói là td p h^  p các ]QitV^ ng. Thí dY này có hai gói, ]ó là gói Máy tr ;m ATM  và gói Máy ch> ATM .

    B_t k  ai có trách nhiPm doch chV[ ng trình ]&u quan tâm ]Xn biu ]y loWi này. Biu ]y cho tath_y trình ta doch cha các mo]un trong hP thQng. 1yng ths i nó c+ng cho biXt rõ thành ph$n nào]V^ c tWo ra khi chWy chV[ ng trình. Biu ]y thành ph$n ch} ra ánh xW cha l\  p và các thành ph$ncài ]ut.

    2.2.4.7 - Bi 3 u ?H tri 3 n khai (deployment)

    Biu ]y  trin khai ch}  ra bQ  trí vdt lý cha mWng và các thành ph$n hP  thQng s~ ]ut f  ]âu.Trong thí dY hP thQng ATM thì ATM bao gym nhi&u hP thQng con chWy tách biPt trên các thiXt bo vdt lý khác nhau hay còn gTi là nút. Biu ]y trin khai cha hP ATM ]V^ c th hiPn trên hình 2.23.Biu ]y  trên hình này cho th_y  Máy tr ;m ATM   s~ chWy trên nhi&u ]oa ]im khác nhau. Chúnggiao tiX p v\ i Máy ch> ATM  qua mWng riêng. Máy ch> ATM  s~ giao tiX p v\ i các Máy ch> CSDL thông qua mWng LAN. NhV vdy, hP thQng ATM này có kiXn trúc ba t$ng: mmt t$ng là CSDL, mmtt$ng là máy chh, t$ng còn lWi là máy tr Wm.

     Hình 2.23 Bi) u 23 tri) n khai c>a h" th& ng ATM

    Thông qua biu ]y trin khai mà ngVs i quin lý da án, ngVs i sl dYng, kiXn trúc sV và ]mi ng+ trin khai hiu phân b` vdt lý cha hP thQng và các hP thQng con s~ ]V^ c ]ut f  ]âu.

    Taøi khoaûn Taøi khoaûn

    CSDL

    Ngaân haøng

    Maùy chuû

    ATM vuøng

    Soá 1

    Traøng TieànSoá 2

    Ñoäi Caán

    Maùy in

  • 8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc

    38/234

     

    Phát trin ph$n m&m b'ng UML  trang | 38

    2.3 KIMN TRÚC HQ THDNG

    KiXn trúc là tr cu tV^ ng hóa các khía cWnh quan tr Tng nh_t cha hP thQng. Nó cung c_ p khungtrong ]ó thiXt k X s~ ]V^ c xây dang. Nó mô ti t$m c. , sUc mWnh cha hP thQng, thu thd p các UCquan tr Tng nh_t và các yêu c$u Ung dYng. Nó th hiPn ph$n m&m s~ ]V^ c t` chUc nhV thX nào vàcung c_ p các giao thUc trao ]`i db liPu và giao tiX p giba các mo]un. ViPc hin tho, ]uc ti, xây

    dang và làm tài liPu hP thQng ph$n m&m ]òi h|i hP thQng phii ]V^ c xem xét tc nhi&u khía cWnhkhác nhau. NgVs i sl dYng khác nhau (ngVs i sl dYng cuQi cùng, nhà ph