Kiïịn truâc cađi ăùơt (architectural implementation)

Một phần của tài liệu Ứng dụng UML trong quy trình phát triển phần mền (Trang 157)

Phaâc thaêo mö hònh Component bùìng caâch xaâc ắnh caâc component mang tñnh chíịt chuê ýịu, cíịu taơo nïn kiïịn truâc hïơ thöịng nhû caâc component thi hađnh vađ loaơi boê caâc component ñt quan troơng khoêi mö hònh nhû caâc component chûâa tađi liïơu hay ăoâng goâi caâc file maô nguöìn vađ gùưn caâc component chñnh nađy vađo caâc node.MFC6.0TSManagement

Líơp kïị hoaơch cho viïơc cađi ăùơt vađ tñch húơp tûđng bûúâc caâc thađnh phíìn cuêa hïơ thöịng khúêi ăíìu tûđ caâc use case trong iteration. Ăiïìu nađy khiïịn viïơc kiïím chûâng möơt use case hoađn chónh dïî dađng hún.Quaâ trònh cađi ăùơt caâc thađnh phíìn cíìn phaêi dûơa vađo caâc phuơ thuöơc giûôa caâc thađnh phíìn. Caâc thađnh phíìn nađo ăoâng vai trođ cung cíịp dõch vuơ cíìn phaêi ặúơc cađi ăùơt vađ tñch húơp trûúâc ăöìng thúđi ặúơc kiïím chûâng chûâc nùng. Möîi líìn tñch húơp möơt thađnh phíìn nïn dûơa vađo kïịt quaê líìn tñch húơp trûúâc.

Viïơc xíy dûơng möơt use case ăöi khi ăođi hoêi phaêi xíy dûơng möơt loaơt caâc component múâi. Vò víơy thûúđng phaêi coâ sûơ thoêa hiïơp. Chó xíy dûơng nhiïìu component múâi khi use case ăoâng vai trođ quan troơng, nïịu khöng thò taơm thúđi hoaôn laơi ăïịn líìn cađi ăùơt vađ tñch húơp kïị tiïịp. Khi ăaô coâ kïị hoaơch coâ thïí tiïịn hađnh choơn phiïn baên cađi ăùơt thñch húơp cuêa möơt hïơ thöịng con vađ caâc component ăïí tiïịn hađnh biïn dõch, liïn kïịt vađ thi hađnh.

Chûúng 4

ÛÂNG DUƠNG UML TRONG QUY TRÒNH PHAÂT TRIÏÍN PHÍÌN MÏÌM 176

4.31. Cađi ăùơt caâc hïơ thöịng con (subsystem)

Cađi ăùơt tûđng hïơ thöịng con theo vai trođ cuêa noâ trong toađn böơ hïơ thöịng nghôa lađ caâc dõch vuơ mađ hïơ thöịng con sûê duơng ăaô ặúơc cađi ăùơt vađ tñch húơp trûúâc ăoâ. Möîi lúâp vađ giao diïơn trong trong möơt package ặúơc sûê duơng phaêi ặúơc cađi ăùơt trong component tûúng ûâng.

hay sûê duơng caâc sûu liïơu mö taê phûúng thûâc trong phíìn thiïịt kïị ăïí cađi ăùơt phûúng thûâc cuêa lúâp.

Chûúng 4

ÛÂNG DUƠNG UML TRONG QUY TRÒNH PHAÂT TRIÏÍN PHÍÌN MÏÌM 177

4.42. Kiïím chûâng (test)

4.42.1. Líơp kïị hoaơch kiïím chûâng

Xaâc ắnh chiïịn lûúơc kiïím chûâng, nhín sûơ vađ caâc tađi nguýn liïn quan, caâc kïịt quaê ăaơt ặúơc trong möîi quy trònh kiïím chûâng.

4.42.2. Thiïịt kïị caâc quy trònh kiïím chûâng (test case)

Test case cho möơt use case mö taê caâch kiïím chûâng cho möơt use case bao göìm caê kïịt quaê tûúng taâc giûôa ngûúđi sûê duơng vúâi hïơ thöịng, trònh tûơ thi hađnh theo kõch baên (script) cuêa use case. Test case cho möơt use case úê mûâc design (use case realization) mö taê caâch kiïím chûâng quaâ trònh tûúng taâc giûôa use case vúâi caâc component liïn quan ăïịn viïơc thi hađnh use case.

Test case cho hïơ thöịng mö taê quy trònh kiïím chûâng viïơc thi hađnh chñnh xaâc caâc chûâc nùng cuêa hïơ thöịng xeât vïì töíng thïí chuê ýịu lađ sûơ thi hađnh phöịi húơp líîn nhau giûôa caâc use case dûúâi möơt söị ăiïìu kiïơn cuơ thïí bao göìm cíịu hònh phíìn cûâng, ngûúđi sûê duơng, kñch thûúâc cú súê dûô liïơu...

4.42.3. Thûơc hiïơn kiïím chûâng

Tûơ ăöơng hoâa caâc quy trònh kiïím chûâng möơt caâch töịi ăa bùìng caâch taơo caâc component kiïím chûâng. Möîi component chûâa caâc kõch baên (script) cho quy trònh kiïím chûâng. Kiïím chûâng kïịt quaê tñch húơp. Kiïím chûâng hïơ thöịng qua thûơc hiïơn test case cho hïơ thöịng. Ăaânh giaâ kïịt quaê kiïím chûâng caâc ăöơ ăo vïì mûâc ăöơ hoađn chónh vađ tin cíơy.

Chûúng 4

ÛÂNG DUƠNG UML TRONG QUY TRÒNH PHAÂT TRIÏÍN PHÍÌN MÏÌM 178

4.43. Toâm tùưt

Chûúng böịn ăaô trònh bađy sú lûúơc vïì qui trònh phaât triïín phíìn mïìm Rational Unified Process, qua ăoâ cuông giúâi thiïơu khaê nùng ûâng duơng cuêa UML trong möơt qui trònh phaât triïín phíìn mïìm cuơ thïí. RUP vađ UML ặúơc phaât triïín ăöìng hađnh vúâi nhau vađ coâ nguöìn göịc tûđ haông phíìn mïìm Rational, vò víơy viïơc kïịt húơp giûôa UML vađ RUP mang laơi möơt cöng cuơ ríịt hiïơu quaê trong viïơc phaâr triïín phíìn mïìm. Ăïí minh hoơa thûơc tïị cho ûâng duơng nađy chuâng em ăaô sûê duơng phíìn mïìm Rational Rose 2000 (coâ höî trúơ hoađn toađn ngön ngûô UML vađ RUP) ăïí thiïịt kïị ûâng duơng, viïơc tiïịp cíơn vađ sûê duơng möơt cöng cuơ múâi trïn thûơc tïị coâ khöng ñt khoâ khùn, nhûng nhûông kïịt quaê ăaơt ặúơc trong ûâng duơng coâ thïí cho thíịy khaê nùng ûâng duơng cuêa UML trong thûơc tïị lađ ríịt khaê quan.

Chûúng 5 TÖÍNG KÏỊT 179

5.1. Kïịt luíơn

lađ möơt ngön ngûô húơp nhíịt ăún thuíìn, UML cođn bao göìm caê nhûông khaâi niïơm múâi cuđng vúâi caâch mö taê, ắnh nghôa vađ sûê duơng caâc khaâi niïơm nađy. Viïơc nghiïn cûâu ngön ngûô UML khöng chó dûđng úê viïơc tòm hiïíu, sûê duơng caâc khaâi niïơm, caâc kyâ hiïơu trong ngön ngûô, mađ bïn caơnh ăoâ chuâng ta cíìn phaêi tòm hiïíu caâch thûâc ăïí mö hònh hoâa möơt hïơ thöịng phíìn mïìm, cuông nhû viïơc tñch húơp UML vúâi möơt qui trònh phaât triïín phíìn mïìm cuơ thïí. Hiïơn nay, híìu hïịt caâc cöng cuơ höî trúơ phín tñch thiïịt kïị ăïìu coâ höî trúơ ngön ngûô UML, viïơc nghiïn cûâu UML giuâp chuâng ta coâ thïí tòm hiïíu vađ sûê duơng caâc CASE tool höî trúơ cho viïơc phaât triïín phíìn mïìm, ăöìng thúđi coâ thïí tiïịp cíơn vúâi nhûông qui trònh saên xuíịt phíìn mïìm tiïn tiïịn trïn thïị giúâi. Trong ăiïìu kiïơn nïìn cöng nghïơ phíìn mïìm nûúâc ta cođn khaâ non treê, viïơc ặa vađo sûê duơng möơt qui trònh cöng nghïơ vađ möơt ngön ngûô mö hònh hoâa múâi seô gùơp khöng ñt khoâ khùn, nhûng trong giai ăoaơn buđng nöí cuêa ngađnh cöng nghïơ phíìn mïìm hiïơn nay viïơc tòm hiïíu vađ sûê duơng möơt ngön ngûô mö hònh hoâa hiïơu quaê nhû UML lađ ríịt cíìn thiïịt.

Chûúng 5 TÖÍNG KÏỊT 180 5.2. Hûúâng phaât triïín

UML lađ möơt ngön ngûô mö hònh hoâa ríịt röơng, bïn caơnh nhûông phíìn ăaô ặúơc trònh bađy trong luíơn vùn, UML cođn coâ nhiïìu ûâng duơng ríịt ăa daơng nhû caâc ûâng duơng mö hònh hoâa hïơ thöịng thúđi gian thûơc, caâc hïơ thöịng phín taân, caâc ûâng duơng trïn web...

Trïn cú súê nhûông phíìn ăaô thûơc hiïơn, ăïì tađi cuêa chuâng em coâ möơt söị hûúâng phaât triïín sau:

_ Xíy dûơng tađi liïơu nghiïn cûâu giaêng daơy UML

_ Dûơa trïn qui trònh cöng nghïơ RUP, tòm hiïíu vađ xíy dûơng möơt phûúng phaâp phaât triïín phíìn mïìm phuđ húơp vúâi ăiïìu kiïơn cuêa nïìn cöng nghïơ phíìn mïìm nûúâc ta hiïơn nay.

em trong suöịt nhûông nùm hoơc vûđa qua. Mùơc duđ chuâng em ăaô hïịt sûâc cöị gùưng ăïí hoađn thiïơn ăïì tađi nhûng chùưc khöng traânh khoêi nhûông thiïịt soât nhíịt ắnh, kñnh mong quyâ thíìy cö tíơn tònh chó baêo ăïí ăïì tađi cuêa chuâng em ặúơc hoađn thiïơn hún.

Phuơ luơc A CAÂC KHAÂI NIÏƠM

A

abstract class Lúâp trûđu tûúơng khöng coâ thûơc thïí ăaơi diïơn.

action Hađnh ăöơng, hađnh ăöơng coâ kïịt quaê lađm thay ăöíi möơt traơng thaâi nađo ăoâ cuêa hïơ thöịng.

action state Möơt traơng thaâi hoaơt ăöơng gíy ra möơt hađnh ăöơng nađo ăoâ. activation Sûơ kñch thñch möơt hađnh ăöơng.

active class Möơt lúâp coâ nhûông thûơc thïí lađ möơt active object.

active object Möơt ăöịi tûúơng súê hûôu möơt tiïịn trònh coâ thïí ăiïìu khiïín ặúơc.

actor Taâc nhín - lađ möơt thûơc thïí ăoâng vai trođ tûúng taâc vúâi hïơ thöịng, taâc nhín coâ thïí lađ ngûúđi sûê duơng hïơ thöịng hoùơc möơt hïơ thöịng khaâc.

aggregation Lađ möơt quan hïơ thu naơp giûôa möơt lúâp ăoâng vai trođ toađn thïí vađ möơt lúâp ăoâng vai trođ lađ böơ phíơn.

artifact Möơt phíìn thöng tin ặúơc duđng hoùơc ặúơc phaât sinh tûđ hïơ thöịng. association Quan hïơ kïịt húơp giûôa hai thađnh töị trong hïơ thöịng.

association end Ăiïím cuöịi cuêa quan hïơ kïịt húơp liïn kïịt vúâi möơt classifier. attribute Thuöơc tñnh cuêa möơt thađnh töị trong lûúơc ăöì.

B

behavior Hađnh vi cuêa thađnh töị trong hïơ thöịng. binary

association Quan hïơ kïịt húơp nhõ phín/ quan hïơ kïịt húơp giûôa hai lúâp. C

(interface), sûơ cöơng taâc (collaboration) vađ caâc möịi quan hïơ giûôa caâc thađnh phíìn trong mö hònh.

collaboration Möơt collaboration mö taê quâa trònh thûơc hiïơn cuêa möơt thao taâc hay möơt classifier trong möơt tíơp caâc classifier coâ tûúng taâc vúâi nhau.

collaboration

diagram Lađ möơt lûúơc ăöì tûúng taâc tíơp trung vađo cíịu truâc töí chûâc, möịi quan hïơ taâc ăöơng qua laơi giûôa caâc ăöịi tûúơng.

comment Lađ möơt chuâ thñch ặúơc gùưn vađo caâc thađnh töị trong mö hònh nhùìm lađm roô nghôa cho caâc thađnh töị nađy.

component Lađ möơt phíìn cuêa hïơ thöịng ặúơc triïín khai. component

diagram Lađ möơt lûúơc ăöì ghi nhíơn caâc töí chûâc vađ sûơ phuơ thuöơc giûôa caâc thađnh phíìn trong hïơ thöịng.

composite state Lađ möơt traơng thaâi chûâa caâc traơng thaâi con luín phiïn hoùơc tuíìn tûơ (taâch túđi).

composition Quan hïơ cíịu thađnh, lađ möơt daơng maơnh hún cuêa quan hïơ thu naơp. Concurrent substate Lađ möơt traơng thaâi con ặúơc tiïịn hađnh ăöìng thúđi vúâi möơt traơng thaâi con khaâc bïn trong möơt traơng thaâi gheâp.

D

datatype Kiïíu dûô liïơu, mö taê kiïíu dûô liïơu cuêa ngûúđi sûê duơng. dependency Quan hïơ phuơ thuöơc giûôa hai thađnh töị mö hònh. deployment

diagram Lađ möơt lûúơc ăöì thïí hiïơn cíịu hònh luâc chaơy cuêa caâc thađnh phíìn, caâc thiïịt bõ, böơ xûê lyâ.

derived element Lađ möơt thađnh töị ặúơc díîn xuíịt tûđ caâc thađnh töị khaâc trong hïơ thöịng.

disjoint substate Möơt traơng thaâi con khöng thïí tiïịn hađnh ăöìng thúđi vúâi caâc tiïịn trònh con khaâc trong möơt traơng thaâi gheâp.

E

entry action Lađ möơt hađnh ăöơng ăíìu vađo cuêa möơt traơng thaâi.

event Möơt sûơ kiïơn, coâ thïí gíy ra sûơ chuýín ăöíi traơng thaâi trong lûúơc ăöì traơng thaâi.

exit action Lađ möơt hađnh ăöơng ăíìu ra cuêa möơt traơng thaâi.

extend Quan hïơ múê röơng giûôa hai Use case, hađnh vi cuêa use case nađy ặúơc múê röơng tûđ nhûông hađnh vi cuêa möơt use case khaâc.

ăöịi tûúơng thi hađnh möơt hađnh ăöơng. G

generalization Möịi quan hïơ giûôa möơt thađnh töị töíng quaât vađ möơt thađnh töị phuơ ăùơc biïơt.

guard condition Lađ möơt ăiïìu kiïơn cíìn ặúơc thoêa maôn ăïí coâ thïí thi hađnh möơt möơt sûơ chuýín ăöíi traơng thaâi.

I

interface Tïn cuêa möơt tíơp caâc thao taâc ăùơc trûng cho hađnh vi cuêa möơt thađnh töị mö hònh.

internal

transition Lađ möơt sûơ chuýín ăöíi tñn hiïơu höìi ăaâp cho möơt sûơ kiïơn mađ khöng cíìn thay ăöíi traơng thaâi cuêa ăöịi tûúơng.

L

link Lađ möơt tham chiïịu giûôa caâc ăöịi tûúơng..

M

message Lađ möơt sûơ chuýín ăöíi thöng tin giûôa caâc thûơc thïí.

metaclass Lađ möơt lúâp trûđu tûúơng mađ thïí hiïơn cuêa noâ lađ nhûông lúâp. model element Thađnh töị mö hònh.

multiplicity Baên söị, ăùơc taê söị lûúơng cho pheâp cuêa caâc thûơc thïí trong möơt möịi quan hïơ.

N

n-ary association Quan hïơ kïịt húơp bíơc n, lađ möơt quan hïơ kïịt húơp giûôa ba hay nhiïìu lúâp vúâi nhau.

name Lađ möơt chuöîi ắnh nghôa cho thađnh töị mö hònh. node Lađ möơt thađnh phíìn biïíu diïîn caâc tađi nguýn maây tñnh. O

object Lađ möơt thïí hiïơn cuơ thïí cuêa möơt lúâp trong hïơ thöịng.

object diagram Lađ möơt ăöì thõ cuêa caâc thïí hiïơn, bao göìm caâc ăöịi tûúơng vađ caâc giaâ trõ cuơ thïí.

quan hïơ vúâi möơt ăöịi tûúơng khaâc thöng qua quan hïơ kïịt húơp. R

role Lađ tïn ăùơt biïơt cuêa möơt thûơc thïí tham gia trong möơt ngûô caênh ăùơc biïơt nađo ăoâ.

S

sequence

diagram Lađ möơt lûúơc ăöì tûúng taâc tíơp trung vađo caâc hađnh vi ăöơng hûúâng thúđi gian.

signal Ăùơc taê möơt möịi liïn hïơ kñch thñch khöng ăöìng böơ giûôa caâc thûơc thïí. Tñn hiïơu coâ thïí coâ tham söị.

state Lađ möơt hoađn caênh hoùơc möơt tònh huöịng trong quâa trònh söịng cuêa ăöịi tûúơng thoêa maôn möơt ăiïìu kiïơn nađo ăoâ, biïíu diïîn möơt söị hoaơt ăöơng hoùơc chúđ möơt vađi sûơ kiïơn.

Statechartdi Lađ möơt lûúơc ăöì thïí hiïơn maây traơng thaâi.

Diagram stereotype Lađ möơt loaơi phíìn tûê mö hònh duđng ăïí múê röơng ngûô nghôa cuêa UML. Khuön míîu phaêi dûơa trïn caâc thađnh töị ăaô ặúơc ắnh nghôa trong

UML.Stereo chó múê röơng vïì ngûô nghôa khöng múê röơng vïì cíịu truâc..

substate Traơng thaâi lađ möơt phíìn cuêa traơng thaâi gheâp. subpackage Möơt package chûâa caâc package khaâc.

subsystem Nhoâm caâc thađnh töị mö hònh biïíu diïîn caâc ăún võ hađnh vi trong hïơ thöịng víơt lyâ.

swimlane Duđng ăïí nhoâm caâc hađnh ăöơng coâ cuđng möơt muơc ăñch nađo ăoâ trong lûúơc ăöì ăöịi tûúơng.

T

tagged value Gña trõ theê ắnh nghôa möơt thuöơc tñnh theo daơng tïn-giaâ trõ. Duđng ăïí böí sung thöng tin cho caâc thađnh töị mö hònh.

transition Quan hïơ giûôa hai traơng thaâi, chó ra rùìng möơt ăöịi tûúơng chuýín tûđ traơng thaâi nađy sang möơt traơng thaâi khaâc khi coâ möơt sûơ kiïơn hoùơc möơt tñn hiïơu nađo ăoâ xaêy ra.

U

use case Lađ möơt chuöîi caâc hađnh ăöơng hoùơc möơt ăún võ chûâc nùng ặúơc cung cíịp búêi hïơ thöịng nhùìm ăaâp ûâng nhu cíìu cuêa caâc taâc nhín bïn ngoađi hay caâc hïơ thöịng khaâc.

use case diagram Lûúơc ăöì Use Case ghi nhíơn chûâc nùng cuêa hïơ thöịng dûúâi goâc nhòn cuêa ngûúđi sûê duơng.

Phuơ luơc B CAÂC KYÂ HIÏƠU

Tïn Kyâ hiïơu

Actor (taâc nhín) Name

Association (Quan hïơ kïịt húơp)

Aggregation (Quan hïơ thu naơp/kïịt húơp) Composition (Quan hïơ cíịu thađnh) Class (lúâp)

Collaboration (sûơ cöơng taâc) Component (thađnh phíìn) Constraint (rađng buöơc)

Dependency (quan hïơ phuơ thuöơc) Generalization (quan hïơ töíng quaât hoâa) Interface (giao tiïịp)

Node (Nuât) Note (ghi chuâ) Object (ăöịi tûúơng) Package (goâi)

Stereotype (khuön míîu) (stereotype)

Tagged Value (giaâ trõ theê) Use case Name

TAĐI LIÏƠU THAM KHAÊO

(1) Bruce Powel Douglass - Ph.D.Chief Evangelist, The Unified Modeling Language for Systems Engineering, I-Logix 1/1999.

(2) CRaG System Report, An Introduction to the UML, 1998.

(3) Engineering Notebook C++ Report, UML Use Case Diagrams, 10/1998. (4) James Rumbaugh, UML – The View from the front, Rational Software

Corporation, 3/1999.

(5) Grady Booch, Software Architecture and the UML, Rational Software,

4/2000.

(6) Grady Booch, James Rumbaugh, Ivar Jacobson, The Importance of Modeling, The UML User’s Guide,1998.

(7) Gunnar Overgaard, Bran Selic vađ Conrad Bock, Object Modeling with UML Behavioral Modeling, 1/2000.

(8) Ivar Jacobson, Grady Booch, James Rumbaugh, The Unified Software Development Process Book, 4/1999.

(9) OMG & Rational Corporation, OMG Unified Modeling Language Specification V1.3, 8/1999.

(10) Popkin Software, Modeling Systems with UML, A Popkin Software White

Paper, 1998.

(11) Philippe Kruchten, A Rational Development Process, 4/2000.

(12) Rational Software Corporation, Analysis and Design with UML, 1997. (13) Rational Software Corporation, Rational Unified Process – Best Practices for Software Development Teams,A Rational Software Corporation White

International White Paper, 3/2000.

(19) Scott W.Amber, The Unified Modeling Language and Beyond: The Techniques of Object-Oriented Modeling, An AmbySoft Inc.White Paper

2/2000.

(20) Sinan Si Alhir, Applying the Unified Modeling Language, 8/1998.

(21) Sinan Si Alhir, Description of the Public Model for Unified Modeling Language metamodel abstract syntax V1.3, OMG Revision Task Force 11/1998. (22) Sinan Si Alhir, Extending the UML, 1/1998

(23) Sinan Si Alhir, The Foundation of the UML, Updated 8/1998

(24) Sinan Si Alhir, The UML – One year sfter Adoption of the Standard,

1/1999.

(25) Sinan Si Alhir, The UML – One year sfter Adoption of the Standard,

12/1999.

(26) Sinan Si Alhir, Reuse and the UML, Updated 1/1999. (27) Sinan Si Alhir, Succeeding with UML, 8/1998.

(28) Sinan Si Alhir, What is the UML, 8/1998.

(29) Sinan Si Alhir, The True Value of the Unified Modeling Language, 9/1998. (30) Sinan Si Alhir, Unified Modeling Language - Extension Mechanisms,

10/1998.

(31) Tony Clark & Andy Evans, Foundation of Unified Modeling Language,

University of Bradford, UK 8/1999.

Một phần của tài liệu Ứng dụng UML trong quy trình phát triển phần mền (Trang 157)

Tải bản đầy đủ (PDF)

(171 trang)