Professional Documents
Culture Documents
DH Uml10
DH Uml10
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 8. Biu kin trc vt l v pht sinh m trnh 9. M hnh ha d liu
Bi hc thc nghim
dvduc-2004 Phn tch thit k hng i tng Bi 10 - 2/39
Bi 10
Cc bc xy dng ng dng
Mc ch:
Xy dng h thng phn mm vi kh nng qun l vic mn sch v tp ch trong th vin. H thng s xy dng cn n gin nhng d dng m rng sau ny
Cc bc chnh
M rng m hnh phn tch thnh m hnh thit k Lp trnh c chng trnh chy c
dvduc-2004
Bi 10 - 4/39
c t yu cu h thng
c gi, sch v tp ch c ng k trc trong h thng Sch, tp ch thng dng c mua nhiu bn. Hu b sch v tp ch c khi qu hn hay rch nt
Th th l nhn vin ca th vin giao tip vi c gi v h thng s h tr cng vic ca n. c gi c th t trc sch hay tp ch m n cha c trong th vin.
Khi ngi khc tr hay c mua mi v th c gi c thng bo. c gi hay th th c kh nng hu b t trc.
C kh nng to lp, cp nht, hu b thng tin v u sch, c gi, vic cho mn (loan) v t trc trong h thng. H thng c th chy trn Unix, Windows... v c giao din ha d s dng. D dng m rng cc chc nng mi cho h thng trong tng lai.
Phn tch thit k hng i tng Bi 10 - 5/39
dvduc-2004
Thu thp m t ton b yu cu hnh thnh m hnh phn tch Xc nh cc lp chnh trong lnh vc vn (cc khi nim)
Xc nh ci s c h thng qun l
Phn tch yu cu
Xc nh cc UC m t ci m h thng th vin cn c v mt chc nng -> yu cu chc nng h thng Tm kim cc tc nhn: Th th v c gi Gi s: c gi khng trc tip s dng h thng. M t tc nhn
c gi (Borrower): l ngi c th mn, t trc sch hay tp ch. Tc nhn ny c th l con ngi hay th vin khc. Th th (Librarian): l ngi thc s s dng h thng. H duy tr h thng, thc hin cc chc nng c bn nh cho mn, t trc v c thng bo v cc thng tin khc ca th vin
Phn tch thit k hng i tng Bi 10 - 6/39
dvduc-2004
Xc nh cc UC
Return of item
Librarian
Librarian
Lend item Add Title Remove Reservation <<uses>>
Maintenance
Remove Item
<<uses>>
Add Borrower Remove or Update Borrower dvduc-2004 Phn tch thit k hng i tng Bi 10 - 7/39
M t UC
Nu c gi t trc
1. 2. 3. 4. 5. 6.
dvduc-2004
M t UC
Hu b tn ti liu:
1. Xc nh tn ti liu s hu 2. Hu ton b ti liu c tn km theo mi ti liu cho mn lin quan 3. Hu b tn ti liu
dvduc-2004
Bi 10 - 9/39
M t UC
dvduc-2004
Bi 10 - 10/39
M t UC
Cp nht ngi mn
1. Xc nh ngi mn s cp nht
2. Hin th thng tin ngi mn, thng tin c th thay i 3. Cp nht thng tin ngi mn
Hu ngi mn
1. Yu cu tn ngi mn 2. Hu b thng tin ngi mn khi h thng, km theo hu b t trc, hy b ng k mn ca ngi mn .
dvduc-2004
Bi 10 - 11/39
Lp UC mi:
UC Bo tr (Maintenance) L UC tng qut v s dng mt s UC khc tch cc chc nng nghip v khi chc nng bo tr h thng Tiu (Title) Ti liu (Item)
Xy dng biu UC
dvduc-2004
Bi 10 - 12/39
BorrowerInformation (khng t tn Borrower v n c chn lm tn tc nhn) Title Book Title Magazine Title Item Reservation Loan
dvduc-2004
Biu lp lnh vc
<<Business Object>> Item 0..n id : Integer $find on title() create() destroy() $find() refer to / may be loaned in a 0..1 <<Business Object>> Loan date : Date = current Date copy of
<<Business Object>> Title name : String author : String isbn : String / number of reservations $find() create() destroy()
<<Business Object>> Borrower information name : String address : String city : String state : String zip : String
$find() create() destroy()
has
dvduc-2004
Bi 10 - 14/39
M t lp lnh vc
Lp Item
Biu din ti liu vt l C hai trng thi: Cha cho mn v cho mn C lp Tn ti liu tng ng Biu din tn sch hay tp ch C tn, tc gi v ISBN... Trng thi: t trc hay Khng t trc mn L c bit ha ca lp Title Biu din tn sch L c bit ha ca lp Title Biu din tn tp ch
Lp Title
Lp Book title:
Lp Magazine title:
dvduc-2004
Bi 10 - 15/39
M t lp lnh vc
Lp t trc (Reservation)
C th t trc Tn ti liu mn Ti liu L giao ko gia c gi v Th th i tng ny cho bit c gi no mn ti liu Khi c gi tr ti liu th i tng ny mt i L thng tin v con ngi c th hay th vin khc Thng tin bao gm tn, a ch...
Lp Cho mn (Loan)
Ch
Ch mi xem xt cc lp lnh vc
dvduc-2004
Bi 10 - 16/39
Loaned
Not reserved
removeReservation addReservation
Lp Item Lp Title
Trng thi lp
dvduc-2004
Bi 10 - 17/39
S dng cc Biu trnh t Ch ra cc thao tc ca lp nhng cha chi tit tham s (signature)
$UNNAMED$2 : $UNNAMED$1 $UNNAMED$4 : $UNNAMED$3 $UNNAMED$5 $UNNAMED$0 : Lend Window : Title Borrower information : Loan : Item Librarian 1: find title( ) 2: find() 3: find Item( )
4: find on title()
5: identify borrower( )
6: find() 7: create()
Lend Item
dvduc-2004 Phn tch thit k hng i tng Bi 10 - 18/39
Khi m hnh ha biu trnh t ta nhn thy cn c ca s v hp thoi nhp liu -> B sung cc lp giao din
<<GUI>> Return Window return item() find title() find borrower() <<Business Object>> Item (from Business Package) <<Business Object>> Loan (from Business Package) <<Business Object>> Title (from Business Package) <<GUI>> Lend Window <<GUI>> Reservation Window <<Business Object>> Borrower information (from Business Package) find title() reserve title() identify borrower() remove reservation() <<GUI>> Maintenance Window add item() remove item() add title() remove title() create borrower() remove borrower()
find title() identify borrower() find reservation() find Item() create loan()
<<Business Object>> Reservation (from Business Package) dvduc-2004 Phn tch thit k hng i tng Bi 10 - 19/39
Business Package + Item + Loan + Title + Borrower information + Book Title + Reservation + Magazine Title
GUI Package + Lend Window + Return Window + Reservation Window + Maintenance Window
dvduc-2004
Bi 10 - 20/39
Thit k
Thit k mc cao
Xc nh cc gi v ph thuc gia chng Thit k kin trc tt cho kh nng d dng m rng v thay i h thng Chi tit ni dung trong cc gi S dng cc m hnh ng ca UML m t ng x ca cc i tng lp
dvduc-2004
Bi 10 - 21/39
Thit k
Mc tiu: Tch logc ng dng (cc lp nghip v) khi logc k thut sao cho khi thay i nhm ny khng nh hng n nhm khc Mi gi gii quyt mt vn chc nng hay k thut c th Gii php
Trnh ph thuc hai chiu (cc gi khng nn qu gn cht vo nhau) Cc th vin CSDL, Giao din, Truyn tin...
dvduc-2004
Bi 10 - 22/39
Thit k
Cho kh nng quan st d liu v nhp d liu Cc lp ny hnh thnh trn c s th vin giao din chun hay ca ngn ng lp trnh (MFC, Java AWT package...) Chng c quan h vi gi i tng nghip v
Bao gm cc lp nghip v (Title, Item, Loan, BorrowerInformation... ) t m hnh phn tch Cc lp c chi tit ha trong pha thit k N c quan h vi gi CSDL lu tr d liu trn tp Cung cp dch v cho cc lp trong gi i tng nghip v c th lu tr n trn tp Th d gi ny cha lp Persistent lu tr i tng ln tp Cha cc dch v cho mi gi khc s dng Th d gi ny cha lp ObjID s dng cho mi i tng lu tr trn tp
Phn tch thit k hng i tng Bi 10 - 23/39
dvduc-2004
Thit k
UI Package + UpdateBorrowerFrame + BorrowerFrame + CancelReservationFrame + BrowseWindow + MainWindow + ReservationFrame + FindBorrowerDialog + ReturnItemFrame + TitleInfoWindow + LendItemFrame + StartClass + FindTitleDialog + BorrowerInfoWindow + UpdateTitleFrame + TitleFrame + AboutDialog + MessageBox + QuitDialog
Database Package + Persistent dvduc-2004 Phn tch thit k hng i tng Bi 10 - 24/39
Thit k
dvduc-2004
Bi 10 - 25/39
Thit k
Gi CSDL
Persistent
objid : integer $iterfile : RandomAccessFile Persistent() getObjId() $getObject() store() delete() update() $iterate() write() read()
Cho tp phng, CSDL thng mi nh CSDL quan h hay CSDL hng i tng...
Chi tit lu tr trn tp l n vi cc i tng nghip v Cc i tng nghip v ch vic gi cc thao tc chung ca chng nh store(), update(), delete(), find()... Hnh thnh lp mi: Persistent L lp cha ca cc lp c nhu cu lu tr i tng N l lp tru tng Cc lp k tha t Persistent cn ci t read(), write() S dng lp ObjId ca gi tin ch
Phn tch thit k hng i tng
dvduc-2004
Bi 10 - 26/39
Thit k
Not reserved
nh ngha cc i s, gi tr cho li ca cc hm thnh phn B sung hm read(), write() cho cc lp k tha t Persistent ca gi CSDL
addReservation( R : Reservation ) / reservations.add( R ) removeReservation( R : Reservation )[ reservations.size() == 1 ] / reservations.remove( R ) Reserved addReservation(R : Reservation) / reservations.add( R ) removeReservation( R : Reservation )[ reservations.size() > 1 ] / reservation.remove ( R )
Trong thit k lp Title: trng thi xc nh nh vc t reservations Cc i tng khc lm thay i trng thi Title bng gi cc hm addReservation() hay removeReservation()
Lp Title
Bi 10 - 27/39
dvduc-2004
Thit k
BorrowerInformation
lastname : String firstname : String address : String city : String zip : String state : String loans : ObjId[] reservations : ObjId[] BorrowerInformation() $getBorrowerInformation() $iterateBorrower() addLoan() removeLoan() getLoan() getNoLoans() addReservation() removeReservation() getNoReservations() write() read() $findOnLastName() setLastName() setFirstName() setAddress() setCity() setZip() setState() getLastName() getFirstName() getCity() getZip() getState() getReservation() <<Business Object>> <<Business Object>>
Loan
<<Business Object>>
Title
item : ObjId borrower : ObjId Loan() getBorrower() getTitleName() getItem() getItemId() write() read() 0..1
(from Database Package) objid : integer $iterfile : RandomAccessFile Persistent() getObjId() $getObject() store() delete() update() $iterate() write() read()
Persistent
has / have
0..n
name : String author : String isbn : String type : int items : ObjId[] reservations : ObjId[] Title() $findOnName() $findOnAuthor() $findOnISBN() $iterateTitle() $getTitle() getTitle() getAuthor() getISBN() getType() getTypeAsString() setTitle() setAuthor() setISBN() setType() getNoItems() addItem() removeItemAtIndex() getItem() getItemWithId() getNoReservations() getReservation() addReservation() removeReservation() write() read()
Item
copy of
itemid : Integer title : ObjId loan : ObjId Item() getTitleName() getId() setLoan() getLoan() isBorrowed() write() read() 0..n 0..n
<<Business Object>>
Reservation
0..n
dvduc-2004
Bi 10 - 28/39
Thit k
Gi UI
L gi trn trn nh cc gi khc Trnh din thng tin cho ngi s dng v nhp d liu cho h thng Cc lp ca gi ny xy dng trn c s th vin ca ngn ng lp trnh bc cao hay cng c thng mi M hnh ng (th d biu trnh t) ca thit k c t trong gi ny
dvduc-2004
Bi 10 - 29/39
Thit k
1: TitleFrame ( ) 2: addButton_Clicked( ) Check if already exist Create Title and item objects Store items and title 3: $findOnName (String) 4: $findOnISBN (String) 5: Title (String, String, String, int) 6: Item (ObjId, int) 7: store ( ) 8: addItem (ObjId)
9: store ( )
dvduc-2004
Bi 10 - 30/39
Thit k
$UNNAMED$231 : Title
$UNNAMED$232 : Item
dvduc-2004
Bi 10 - 31/39
Thit k
C th thc hin ring r nhng song song vi cc cng vic khc trong pha phn tch Da trn c s cc UC, h thng c chia thnh cc chc nng
Th d
Functions: Thit k cc ca s thc hin cc chc nng chnh ca h thng nh Cho mn, Tr ti liu, t trc... Informations: Cc ca s lin qaun n trnh din thng tin trong h thng nh thng tin lin quan n tn sch, c gi Maintenance: Cc ca s cho php bo tr h thng nh cp nht, hy b ti liu, c gi...
dvduc-2004
Bi 10 - 32/39
Thit k UI
StartClass
$main()
resultTitle() resultBorrower()
MainWindow()
dvduc-2004
Bi 10 - 33/39
Thit k Gi UI/Functions
MainWindow
LendItemFrame borrower : BorrowerInformation title : Title findTitleButton_Clicked() findBorrowerInformation_Clicked() okButton_Clicked() cancelButton_Clicked() itemList_ListSelect() resultTitle() resultBorrower() checkStatus() LendingItemFrame() paint() LendingItem_Action() ReturningItem_Action() ReserveTitle_Action() RemoveReservation_Action() Title_Action() Borrower_Action() BrowseAll_Action() InsertTitle_Action() UpdateTitleItems_Action() InsertBorrower_Action() UpdateBorrower_Action() About_Action() Exit_Action() resultTitle() resultBorrower() MainWindow()
CancelReservationFrame
borrower : BorrowerInformation title : Title findTitleButton_Clicked() okButton_Clicked() cancelButton_Clicked() borrowerList_Selected() resultTitle() checkStatus() CancelReservationFrame()
ReservationFrame
borrower : BorrowerInformation title : Title findTitleButton_Clicked() findBorrowerButton_Clicked() okButton_Clicked() cancelButton_Clicked() resultTitle() resultBorrower() checkStatus() ReservationFrame()
Title
title : Title
ReturnItemFrame
<<Business Object>>
Item
BorrowerInformation
<<Business Object>>
BorrowerInformation dvduc-2004
<<Business Object>>
<<Business Object>>
<<Business Object>>
<<Business Object>>
Reservation
Title
Loan
Bi 10 - 34/39
Thit k Gi UI/Information
MainWindow TitleInfoWindow findButton_Clicked() okButton_Clicked() resultTitle() TitleInfoWindow() paint() LendingItem_Action() ReturningItem_Action() ReserveTitle_Action() RemoveReservation_Action() Title_Action() Borrower_Action() BrowseAll_Action() InsertTitle_Action() UpdateTitleItems_Action() InsertBorrower_Action() UpdateBorrower_Action() About_Action() Exit_Action() resultTitle() resultBorrower() MainWindow() BorrowerInfoWindow current : BorrowerInformation <<Business Object>> Reservation findButton_Clicked() okButton_Clicked() resultBorrower() BorrowerInfoWindow() <<Business Object>> Loan <<Business Object>> Reservation BrowseWindow updateBorrowerButton_Clicked() updateTitleButton_Clicked() closeButton_Clicked() fill() BrowseWindow()
FindTitleDialog reswindow : ResultOfFindTitle current : Title findButton_Clicked() okButton_Clicked() cancelButton_Clicked() FindTitleDialog() <<Business Objec... Title
FindBorrowerDialog reswindow : ResultOfFindBorrower current : BorrowerInformation findButton_Clicked() okButton_Clicked() cancelButton_Clicked() FindBorrower_Dialog() <<Business Object>> BorrowerInformation
dvduc-2004
Bi 10 - 35/39
Thit k Gi UI/Maintenance
MainWindow TitleFrame current : Title paint() LendingItem_Action() ReturningItem_Action() ReserveTitle_Action() RemoveReservation_Action() Title_Action() Borrower_Action() BrowseAll_Action() InsertTitle_Action() UpdateTitleItems_Action() InsertBorrower_Action() UpdateBorrower_Action() About_Action() Exit_Action() resultTitle() resultBorrower() MainWindow() FindBorrowerDialog reswindow : ResultOfFindBorrower current : BorrowerInformation
UpdateTitleFrame title : Title updateButton_Clicked() deleteButton_Clicked() addItemButton_Clicked() removeItemButton_Clicked() cancelButton_Clicked() UpdateFrame() UpdateTitleFrame()
dvduc-2004
Bi 10 - 36/39
Lp trnh
Pha xy dng hay ci t l lp trnh cc lp nh x cc lp trong m hnh thit k vo thnh phn trong m hnh thnh phn nh x cc gi trong khung nhn logc vo cc gi trong m hnh thnh phn
dvduc-2004
Biu trin khai c hnh thnh trong khung nhn trin khai
dvduc-2004
Bi 10 - 38/39
Tm tt
Bi ny xem xt mt v d c th - Qun l th vin Trnh by cc bc ca mt cch tip cn pht trin h thng s dng UML
dvduc-2004
Bi 10 - 39/39