You are on page 1of 20

VIN KHOA HC V CNG NGH VIT NAM

VIN CNG NGH THNG TIN

PHN TCH THIT K HNG I TNG


PGS.TS. ng Vn c Email: dvduc@ioit.ac.vn

Ni dung
1. Tin trnh pht trin phn mm theo hng i tng 2. Gii thiu Ngn ng m hnh ha thng nht UML 3. M hnh ha nghip v 4. M hnh ha trng hp s dng 5. M hnh ha tng tc i tng 6. Biu lp v gi 7. Biu chuyn trng thi v biu hot ng

Biu kin trc vt l v pht sinh m trnh


9. M hnh ha d liu 10. Bi hc thc nghim
dvduc-2004 Phn tch thit k hng i tng Bi 8 - 2/20

Bi 8

Biu kin trc vt l v pht sinh m trnh

Kin trc phn mm?


Kin trc h thng l k hoch chi tit ca cc b phn hnh thnh h thng UML nh ngha:

Kin trc l cu trc t chc ca h thng Kin trc bao gm cc b phn tng tc thng qua giao din Kin trc phn mm l m t cc phn h, cc thnh phn ca h thng phn mm v cc quan h gia chng Kin trc logc

Theo Buschman:

Hai loi kin trc h thng

Ch ra cc lp i tng v cc quan h gia chng hnh thnh chc nng h thng N c th hin bng cc biu UC, biu lp, trng thi, hot ng... L m t t kha cnh phn cng v cc moun phn mm trn N c m t bng cc biu ci t: biu thnh phn v biu trin khai
Phn tch thit k hng i tng Bi 8 - 4/20

Kin trc vt l

dvduc-2004

Cc thnh phn

Thnh phn?

L m un vt l m trnh: th vin m ngun, m kh thc.


SubprogSpec SubprogBody

Cc loi thnh phn


<<Stereotype>> Generic Component

c t thnh phn bng Stereotype


MainSubprog

c t v thn chng trnh con Tp hp cc hm Khng cha nh ngha lp

Chng trnh chnh Cha u vo chng trnh


dvduc-2004 Phn tch thit k hng i tng Bi 8 - 5/20

Cc thnh phn

Cc loi thnh phn


PackageSpec PackageBody TaskSpec TaskBody

c t v thn gi Gi l ci t lp c t gi l tp header
Database

c t v thn nhim v L cc thnh phn Run-time Biu din cc gi c thread c lp

Biu din CSDL Cha mt hay nhiu lc


dvduc-2004 Phn tch thit k hng i tng Bi 8 - 6/20

Biu thnh phn

Biu thnh phn l biu hin th cc thnh phn trong h thng v ph thuc gia chng

Credit

Thnh phn A ph thuc vo thnh phn B khi vi lp trong A ph thuc vo vi lp trong B Th vin no c s dng, tp kh thc (.exe) no c to ra khi dch chng trnh Cc quan h gia cc th vin m trnh

Flight

Reservation

Biu cho bit

<<DLL>> FlightServer

C kh nng t chc cc thnh phn vo cc gi


Phn tch thit k hng i tng Bi 8 - 7/20

dvduc-2004

Th d Biu thnh phn


MainProgram CartInterface

CartMgr

ProductMgr

ProductCollection

ProductItem

CartCollection

CartItem

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 8/20

B sung chi tit cho thnh phn

Stereotype

La chn biu tng biu din thnh phn C th l:

<none>, ActiveX, Applet, Subroutine Spec, dll... t nh ngha

Language

Trong Rose c th gn ngn ng cho thnh phn Cho kh nng phat sinh cc ngn ng khc nhau cho mi thnh phn Gn cc khai bo vo m trnh ca tng thnh phn Gn lp vo thnh phn trc khi pht sinh m trnh C th nh x mt hay nhiu lp vo mt thnh phn Thnh phn ch c mt loi quan h: quan h ph thuc Trnh hnh thnh quan h vng
Phn tch thit k hng i tng Bi 8 - 9/20

Declaration

Class

Dependency

dvduc-2004

Biu trin khai

Biu trin khai m t kin trc phn cng (cc nt) c phn mm chy trn chng, bao gm cc b x l, cc tin trnh, cc thit b v cc kt ni gia chng

M t tp ca h thng Ch ra ton b cc nt trn mng, kt ni gia chng v cc phn mm chy trn chng My tnh, my in, thit b c th t v truyn tin

Nt l i tng vt l c ti nguyn tnh ton

Gia cc nt l kt ni giao tip, kiu kt ni c th hin bng stereotype

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 10/20

Cc phn t ca biu trin khai

B x l

L my x l: my ch, my trm B sung thuc tnh:


Processor

Stereotype M t vt l ca b x l: tc , dung lng nh Lp lch x l: Preemptive, Non-preemptive, Cyclic, Executive, Manual

Thit b

L phn cng ch c mt mc ch: my in, scanner... B sung thuc tnh:


Stereotype M t vt l ca thit b

Device

Kt ni

L lin kt vt l gia cc thit b v b x l B sung stereotype v c tnh vt l cho kt ni: T1


Phn tch thit k hng i tng Bi 8 - 11/20

B sung tin trnh cho b x l

dvduc-2004

Th d biu trin khai


Database Server

Application Server

Oracle Server Printer

Main Program
Web Server Internet Information Server Client Workstation #1

Client Workstation #2

Web Browser Web Browser

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 12/20

Pht sinh m trnh

Su bc c bn pht sinh m trnh


Kim tra m hnh To lp thnh phn nh x lp vo thnh phn Gn thuc tnh pht sinh m trnh Chn lp, thnh phn hay gi pht sinh m Pht sinh m trnh

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 13/20

Pht sinh m trnh

Bc 1: Kim tra m hnh

Rose c chc nng kim tra m hnh c lp ngn ng m bo tnh nht qun trong m hnh Khi kim tra c th pht hin cc li sau

nh x khng y : Cc i tng hay thng ip trong biu trnh t cha nh x vo thao tc hay lp trong biu lp Vi phm xm nhp: Th d, hai lp trong hai gi c quan h nhng v thiu quan h gia hai gi Kim tra ph thuc ngn ng: S pht hin, th d, nhiu lp cng tn khai bo public trong mt moun chng trnh

Bc 2: To lp thnh phn

To lp thnh phn cha lp Trc khi pht sinh m trnh phi nh x cc lp vo thnh phn tng ng B sung quan h thnh phn trn Biu thnh phn

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 14/20

Pht sinh m trnh

Bc 3: nh x lp vo thnh phn

Mi thnh phn m ngun biu din tp m ngun cho mt hoc vi lp

Th d C++: Mi lp nh x n hai thnh phn Cc tp Header v Body

Bc ny yu cu nh x lp vo thnh phn tng ng

Bc 4: t c tnh cho pht sinh m trnh

Nhiu c tnh c th gn cho lp, thuc tnh, thnh phn ca m hnh iu khin m c pht sinh nh th no.

Th d C++: c tnh GenerateGetOperation iu khin vic c pht sinh hm Get() hay khng. Th d khc: GenerateDefaultConstructor Thay v thay i trc tip tp c tnh ta c th to ra tp c tnh tm thi s dng, khng nh hng n tp c tnh mc nh

t tp c tnh tm thi

Hy b tp c tnh tm thi
Phn tch thit k hng i tng Bi 8 - 15/20

dvduc-2004

Pht sinh m trnh

Bc 5: Chn lp, thnh phn hay gi

C th chn lp, thnh phn hay gi pht sinh m trnh vo cc thi im khc nhau Pht sinh m t biu hay Browser C th pht sinh m trnh cho mt vi lp, thnh phn hay gi ng thi La chn ngn ng theo yu cu pht sinh m t m hnh

Bc 6: Pht sinh m trnh

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 16/20

Pht sinh m trnh

Ci g c pht sinh t m hnh?

Thc t

Khng c cng c m hnh ha no pht sinh m trnh y Rose cng ch pht sinh khung chng trnh
Lp: Mi lp trong m hnh c sinh m Thuc tnh: M trnh s cha cc thuc tnh lp bao gm phm vi, kiu d liu v gi tr mc nh, cc hm Get(), Set(). Signature: Cc thao tc c khai bo trong m trnh cng vi danh sch tham s, kiu d liu ca tham s v kiu gi tr cho li ca thao tc Quan h: Mt s quan h trong m hnh c chuyn sang thuc tnh Thnh phn: Mi thnh phn c hin thc trong tp tng ng Ti liu: Ti liu trong m hnh c chn vo ni thch ng trong m trnh
Phn tch thit k hng i tng Bi 8 - 17/20

Cc phn t c pht sinh


dvduc-2004

Pht sinh m trnh

Nhim v ca ngi pht trin sau khi Rose sinh m trnh


Thu thp cc tp m trnh, vit m trnh cho cc thao tc lp Thit k giao din ha

Th d on m trnh do Rose pht sinh

#include "stdafx.h" #include "Order.h" //##ModelId=3A77E3CD0280 Boolean Order::Create() { // TODO: Add your specialized code here. // NOTE: Requires a correct return value to compile. } //##ModelId=3A77E3E60316 Boolean Order::SetInfo(Integer OrderNum, String Customer, Date OrderDate, Date FillDate) { // TODO: Add your specialized code here. // NOTE: Requires a correct return value to compile. } //##ModelId=3A77E40E0230 String Order::GetInfo() { // TODO: Add your specialized code here. // NOTE: Requires a correct return value to compile. dvduc-2004 } Phn tch thit k hng i tng Bi 8 - 18/20

Pht sinh m trnh


class Order { public: //##ModelId=3A7F695F019A OrderItem* theOrderItem; //##ModelId=3A77E3CD0280 Boolean Create(); //##ModelId=3A77E3E60316 Boolean SetInfo(Integer OrderNum, String Customer, Date OrderDate, Date FillDate); //##ModelId=3A77E40E0230 String GetInfo(); private: //##ModelId=3A7E13F9038E Integer OrderNumber; //##ModelId=3A7E14260122 String CustomerName; //##ModelId=3A7E14470208 Date OrderDate; //##ModelId=3A7E145303D4 Date OrderFillDate; };
dvduc-2004 Phn tch thit k hng i tng Bi 8 - 19/20

Tm tt

Bi ny xem xt cc vn sau

Kin trc vt l ca h thng Xy dng biu thnh phn


Cc thnh phn phn mm v quan h gia chng Cc phn t ha v biu thnh phn

Xy dng biu trin khai

Cc phn t ha v biu trin khai

Cc bc chuyn i m hnh thnh phn mm

dvduc-2004

Phn tch thit k hng i tng

Bi 8 - 20/20

You might also like