Ngôn ng mô hình hóa UML ề ữI... Các tác nhân chính 5.
Trang 1Đ tài 1 Ngôn ng mô hình hóa UML ề ữ
I Xây d ng h th ng ph n m m theo h ự ệ ố ầ ề ướ ng đ i t ố ượ ng
Hướng đ i tố ượng là m t công ngh đ s n sinh ra các mô hình ph n ánh m t cách tộ ệ ể ả ả ộ ự nhiên các nghi p v th c t Xét cho cùng thì m i quy trình nghi p v trong th c t đ u là sệ ụ ự ế ọ ệ ụ ự ế ề ự
tương tác c a các đ i tủ ố ượng theo m t trình t nh m đ t độ ự ằ ạ ược m t m c đích c th Nói cáchộ ụ ụ ể khác, các đ i tố ượng và m i quan h gi a chúng ph n ánh quy trình nghi p v Ví d nhố ệ ữ ả ệ ụ ụ ư nghi p v tuy n nhân s cho m t công ty có th đệ ụ ể ự ộ ể ược tóm t t qua m t chu i các tắ ộ ỗ ương tác
nh sau:ư
1 Công ty đ a ra thông báo tuy n nhân s t i các ng viên có nhu c uư ể ự ớ ứ ầ
2 Ứng viên g i h s d tuy n t i công tyử ồ ơ ự ể ớ
3 Công ty duy t h s và g i gi y h n ph ng v n t i ng viênệ ồ ơ ử ấ ẹ ỏ ấ ớ ứ
4 Công ty ph ng v n ng viênỏ ấ ứ
5 Công ty ký h p đ ng v i ng viên ho c t ch iợ ồ ớ ứ ặ ừ ố
Trong ví d trên có s tham gia c a hai đ i tụ ự ủ ố ượng “công ty” và “ ng viên” S trao đ iứ ự ổ thông tin gi a hai đ i tữ ố ượng này cho th y m i quan h ph thu c gi a chúng (dependence).ấ ố ệ ụ ộ ữ
M t ví d khác là trong h th ng qu n lý nhân s chúng ta có các đ i tộ ụ ệ ố ả ự ố ượng nh : nhânư viên, qu n lý,…cho th y m i quan h d ng khác: các nhân viên làm công vi c qu n lý t tả ấ ố ệ ạ ệ ả ấ nhiên cũng là nhân viên c a công ty nh ng có thêm các thu c tính riêng bi t – m t quan h kủ ư ộ ệ ộ ệ ế
th a (inheritance).ừ
Trong m t h th ng bán hàng, m i đ n hàng bao g m trong nó các thông tin v kháchộ ệ ố ỗ ơ ồ ề hàng, ngày gi , …và m t danh m c các m t hàng Khi này ta nói r ng gi a đ n hàng và m tờ ộ ụ ặ ằ ữ ơ ặ hàng t n t i m t quan h bao g m (aggregation) ồ ạ ộ ệ ồ
M c tiêu c a công ngh hụ ủ ệ ướng đ i tố ượng chính là th hi n để ệ ược các đ i tố ượng và
m i quan h gi a chúng vào trong các h th ng ph n m m Vì v y, các h th ng ph n m mố ệ ữ ệ ố ầ ề ậ ệ ố ầ ề theo công ngh hệ ướng đ i tố ượng ph n ánh m t cách t nhiên và trung th c nghi p v th c tả ộ ự ự ệ ụ ự ế
và có kh năng đáp ng các thay đ i d dàng.ả ứ ổ ễ
Phát tri n m t h th ng ph n m m theo hể ộ ệ ố ầ ề ướng đ i tố ượng d a trên 5 khái ni m cự ệ ơ
b n: L p (class), đ i tả ớ ố ượng (object), thông đi p (mesage), th a k (inheritance) và đa hìnhệ ừ ế (polymorphism)
L p là s tr u tớ ự ừ ượng hóa các đ i tố ượng th c t theo ph m vi nghi p v L y ví d vự ế ạ ệ ụ ấ ụ ề
h th ng qu n lý sinh viên c a trệ ố ả ủ ường ĐHBK Hà N i c n qu n lý r t nhi u đ i tộ ầ ả ấ ề ố ượng sinh viên khác nhau nh ng có th ch đư ể ỉ ược tr u từ ượng hóa thành m t l p đ i tộ ớ ố ượng có tên SinhVien ch ng h n S tr u tẳ ạ ự ừ ượng hóa m t l p đ i tộ ớ ố ượng cho ta k t qu m t t p các thu cế ả ộ ậ ộ tính (attributes) và các hành vi (operations) đ c tr ng cho b t kỳ đ i tặ ư ấ ố ượng nào thu c l p đó.ộ ớ
Đ i tố ượng th c t thì có vô s thu c tính và hành vi nh ng ch thu c tính và hành vi trongự ế ố ộ ư ỉ ộ
ph m vi nghi p v là đạ ệ ụ ược xét đ n S chi ti t ph thu c vào ph m vi nghi p v ế ự ế ụ ộ ạ ệ ụ
S tr u tự ừ ượng hóa di n ra nhi u c p đ L y ví d : l p đ ng v t có vú bao g m l pễ ở ề ấ ộ ấ ụ ớ ộ ậ ồ ớ
đ ng v t 4 chân, l p 4 chân l i bao g m các l p nh l p mèo, l p trâu,…ộ ậ ớ ạ ồ ớ ư ớ ớ
M i đ i tỗ ố ượng là m t bi u hi n th c t c a m t l p.ộ ể ệ ự ế ủ ộ ớ
object = name + attributes + operations
H th ng hệ ố ướng đ i tố ượng n u đế ược mô hình đúng s r t linh ho t, d hi u ch nh,ẽ ấ ạ ễ ệ ỉ
được cài đ t d dàng b ng các ngôn ng hặ ễ ằ ữ ướng đ i tố ượng Các h th ng ph n m m hệ ố ầ ề ướ ng
đ i tố ượng cũng được cài đ t b i các ngôn ng l p trình hặ ở ữ ậ ướng đ i tố ượng
13
Trang 2Hướng đ i tố ượng không ch là m t lý thuy t mà đã đỉ ộ ế ược ch ng minh b ng nh ng ngứ ằ ữ ứ
d ng r t thành công trong th c t nhi u lĩnh v c khác nhau Tuy nhiên, lĩnh v c này v n c nụ ấ ự ế ở ề ự ự ẫ ầ
được chu n hóa h n n a.ẩ ơ ữ
Xây d ng m t h th ng ph n m m hự ộ ệ ố ầ ề ướng đ i tố ượng cũng tuân theo quy trình chung
nh m i công ngh khác:ư ọ ệ
1 Requirements : Thu th p yêu c uậ ầ
2 Analysis : Phân tích
3 Design: Thi t kế ế
4 Implementation: Cài đ tặ
5 Test: Ki m thể ử
6 Deployment: Tri n khaiể
Theo nguyên t c chung này, m i công ty l i ng d ng nh ng công ngh khác nhau đắ ỗ ạ ứ ụ ữ ệ ể phát tri n ng d ng nh các mô hình water fall, mô hình hể ứ ụ ư ướng ch c năng,…ứ
M c dù đã ng d ng các công ngh ti n ti n và quy trình phát tri n chu n hóa nh ngặ ứ ụ ệ ế ế ể ẩ ư ngành công nghi p ph n m m v n ph i đ i m t v i nh ng thách th c:ệ ầ ề ẫ ả ố ặ ớ ữ ứ
1 S gia tăng v quy mô t nh đ n l n c a ng d ngự ề ừ ỏ ế ớ ủ ứ ụ
2 S c ép v th i gian hoàn thànhứ ề ờ
3 S phân tán v không gian làm vi cự ề ệ
4 Đa d ng v n i dungạ ề ộ
5 S thay đ i các yêu c u c a ngự ổ ầ ủ ườ ử ụi s d ng
Nh ng thách th c này có th nói là g n li n v i m i công ty ph n m m đ c bi t là ữ ứ ể ắ ề ớ ọ ầ ề ặ ệ ở
Vi t Nam, n i mà vai trò c a quá trình kh o sát, phân tích còn b xem nh cũng nh các côngệ ơ ủ ả ị ẹ ư
ty còn đang b ng v i s m r ng v quy mô và thi u nhân l c chuyên môn v phân tíchỡ ỡ ớ ự ở ộ ề ế ự ề thi t k ế ế
II L ch s phát tri n ngôn ng mô hình hóa UML ị ử ể ữ
Nh ng năm 1980 là th i kỳ bùng n s lữ ờ ổ ố ượng các công ty ph n m m s d ng ngônầ ề ử ụ
ng l p trình hữ ậ ướng đ i tố ượng(Object Oriented Programming - OOP) đ xây d ng các ngể ự ứ
d ng Đi u này d n t i m t đòi h i ph i có m t quy trình làm ph n m m ti p c n theo hụ ề ẫ ớ ộ ỏ ả ộ ầ ề ế ậ ướ ng phân tích và thi t k hế ế ướng đ i tố ượng (Object Oriented Analyze and Design - OOAD) Nhi uề nhà nghiên c u phứ ương pháp trong đó có Booch, Rumbaugh và Jacobson đã làm vi c đ c l pệ ộ ậ
và đã đ xu t các quy trình th a mãn yêu c u này M i m t quy trình có m t t p ký hi u môề ấ ỏ ầ ỗ ộ ộ ậ ệ hình riêng đ truy n đ t và di n t các k t qu phân tích và thi t k ể ề ạ ễ ả ế ả ế ế
Vào đ u nh ng năm 1990, các công ty khác nhau, th m chí là các b ph n khác nhauầ ữ ậ ộ ậ
c a cùng m t công ty đã s d ng các quy trình khác nhau Thêm vào đó, các công ty này l iủ ộ ử ụ ạ
mu n s d ng các công c ph n m m h tr các quy trình c a h V i quá nhi u quy trìnhố ử ụ ụ ầ ề ỗ ợ ủ ọ ớ ề khác nhau, các công ty ph n m m đã r t khó khăn trong vi c cung c p các công c này Đi uầ ề ấ ệ ấ ụ ề này cho th y vi c c n thi t ph i có m t quy trình v i t p ký hi u th ng nh t.ấ ệ ầ ế ả ộ ớ ậ ệ ố ấ
Năm 1994, James Rumbaugh đã h p tác cùng Grady Booch t i công ty ph n m mợ ạ ầ ề Rational Software Corporation đ cùng xây d ng m t quy trình th ng nh t d a trên k t quể ự ộ ố ấ ự ế ả
14
Trang 3c a t ng ngủ ừ ười Sau đó Ivar Jacobson cũng s m gia nh p nhóm này Năm 1996, nhóm đã choớ ậ
xu t b n phiên b n đ u tiên c a UML t i c ng đ ng phát tri n ph n m m và yêu c u ph nấ ả ả ầ ủ ớ ộ ồ ể ầ ề ầ ả
h i Cũng cùng th i gian đó, m t t ch c có tên Object Management Group (OMG) đã m iồ ờ ộ ổ ứ ờ nhóm đ trình m t ngôn ng mô hình OMG là m t t ch c phi l i nhu n chuyên xúc ti n vi cệ ộ ữ ộ ổ ứ ợ ậ ế ệ
s d ng công ngh hử ụ ệ ướng đ i tố ượng trong ngành công nghi p ph n m m thông qua vi c đ aệ ầ ề ệ ư
ra các hướng d n và đ c t OOP Các thành viên c a OMG ban đ u là 3Com Corporation;ẫ ặ ả ủ ầ American Airlines; Canon, Inc.; Data General; Hewlett-Packard; Philips Telecommunications N.V.; Sun Microsystems; và Unisys Corporation Các t p đoàn l n nh HP, IBM, Microsoft,ậ ớ ư Oracle và Rational Software đã nh n th y l i ích c a UML và đã nh n l i tài tr cho các d ánậ ấ ợ ủ ậ ờ ợ ự
v UML c a OMG Năm 1997, OMG ti p t c xem xét l i UML và đ n năm 2001 thì phiênề ủ ế ụ ạ ế
b n UML 1.4 ra đ i Hi n nay OMG đã phát hành t i phiên b n UML 2.0 và đang nghiên c uả ờ ệ ớ ả ứ phiên b n 2.1.ả
UML – Unified Modeling Language là m t ngôn ng dùng các s đ và mô hình th ngộ ữ ơ ồ ố
nh t đ mô hình các h th ng ph n m m.ấ ể ệ ố ầ ề
M c đích c a UML là:ụ ủ
• Tr thành ngôn ng mô hình mà t t c m i ngở ữ ấ ả ọ ười làm mô hình có th s d ngể ử ụ
• T p trung hậ ướng t i gi i quy t các v n đ t n t i trong phát tri n ph n m mớ ả ế ấ ề ồ ạ ể ầ ề
hi n nay.ệ
• Đ n gi n nh t có th trong khi v n mô hình đơ ả ấ ể ẫ ược ph n l n các ng d ng.ầ ớ ứ ụ
• Nâng cao tính tái s d ng các thành ph n c a m t h th ng ph n m mử ụ ầ ủ ộ ệ ố ầ ề
• UML là m t ngôn ng di n t , UML không ph i là m t quy trình ộ ữ ễ ả ả ộ
Thu t ng “Unified” đây có m t ý nghĩa quan tr ng, nó nói lên các nguyên t c c aậ ữ ở ộ ọ ắ ủ UML:
• Th ng nh t phố ấ ương th c, ký hi u, thu t ngứ ệ ậ ữ
• G n k t gi a các chu trình phát tri nắ ế ữ ể
• Không ph thu c vào lĩnh v c ng d ngụ ộ ự ứ ụ
• Không ph thu c vào ngôn ng l p trình và môi trụ ộ ữ ậ ường th c hi nự ệ
• Không ph thu c vào quy trình phát tri nụ ộ ể
• G n k t ch t ch các khái ni m n i t i c a h th ng.ắ ế ặ ẽ ệ ộ ạ ủ ệ ố
Hi n nay, UML là m t ngôn ng đã đệ ộ ữ ược OMG chu n hóa và đẩ ược đ c t rõ ràng T tặ ả ấ
c các mô hình, s đ c a UML đ u theo hả ơ ồ ủ ề ướng đ i tố ượng
Các đ c tính c a UML bao g m:ặ ủ ồ
• Mô hình class (class diagrams) mô t c u trúc tĩnh c a h th ng và m i quan hả ấ ủ ệ ố ố ệ
gi a các đ i tữ ố ượng
• Mô hình tương tác (interaction diagrams), mô hình tr ng thái (state diagrams), môạ hình ho t đ ng (activity diagrams) mô t các hành vi đ ng c a các đ i tạ ộ ả ộ ủ ố ượ ng trong h th ng cũng nh các thông đi p gi a chúng.ệ ố ư ệ ữ
• Mô hình Use-case và mô hình ho t đ ng mô t các yêu c u và các lu ng côngạ ộ ả ầ ồ
vi c trong h th ng.ệ ệ ố
• Các mô hình c u trúc h n h p (composite structure diagrams) mô t s h p tácấ ỗ ợ ả ự ợ cũng nh các đ c đi m v cài đ t.ư ặ ể ề ặ
15
Trang 4• Mô hình tri n khai (deployment diagrams) mô t vi c tri n khai ph n m m trênể ả ệ ể ầ ề
m t môi trộ ường xác đ nh.ị
III Ngôn ng UML ữ
Xét trên khía c nh ngôn ng di n t , UML có đ y đ các mô hình và s đ đ thạ ữ ễ ả ầ ủ ơ ồ ể ể
hi n h u hêt các khía c nh c a h th ng ph n m m Các thành ph n c a ngôn ng UML baoệ ầ ạ ủ ệ ố ầ ề ầ ủ ữ
g m:ồ
• Các Views (các hướng nhìn): Các view th hi n các cách nhìn khác nhau t i hể ệ ớ ệ
th ng M t h th ng không th ch đố ộ ệ ố ể ỉ ược mô t b i m t s đ Nhi u hả ở ộ ơ ồ ề ướ ng nhìn khác nhau cho ta nhi u s đ mô t đ y đ v h th ng Các hề ơ ồ ả ầ ủ ề ệ ố ướng nhìn cũng liên k t ngôn ng mô hình v i các quy trình đế ữ ớ ược ch n cho vi c phát tri nọ ệ ể
h th ng.ệ ố
• Các Diagrams (các s đ ): Các s đ bao g m các ph n t hình v dùng đ môơ ồ ơ ồ ồ ầ ử ẽ ể
t nôi dung c a các View UML 2.0 bao g m 13 lo i s đ khác nhau.ả ủ ồ ạ ơ ồ
• Các Model Elements (các ph n t mô hình): Các khái ni m đầ ử ệ ượ ử ục s d ng trong các s đ và các ph n t c a s đ di n t các khái ni m ph bi n c a côngơ ồ ầ ử ủ ơ ồ ễ ả ệ ổ ế ủ ngh hệ ướng đ i tố ượng nh class, object, message (thông đi p) và m i quan hư ệ ố ệ
gi a chúng bao g m quan h dependence, inheritance và aggregation M t ph nữ ồ ệ ộ ầ
t mô hình có th đử ể ượ ử ục s d ng trong nhi u s đ nh ng chúng luôn có cùng ýề ơ ồ ư nghĩa và ký hi u gi ng nhau.ệ ố
16
Trang 5• Cỏc General Mechanisms (cỏc đ c t chung m r ng): Mụ t cỏc thụng tin chỳặ ả ở ộ ả
thớch, ng nghĩa c a cỏc ph n t mụ hỡnh, thu t ng ữ ủ ầ ử ậ ữ
Use-case view: Đõy là hướng nhỡn v m t ch c năng c a h th ng đề ặ ứ ủ ệ ố ược th c hi n b iự ệ ở
cỏc tỏc nhõn bờn ngoài
ud Primary Use Cases
Hệ thống bán hàng qua mạng Interrnet Chọn hàng
Khách hàng
Đ ăng ký khách hàng
Quản trị hệ
thống
Nhân viên kinh
doanh
Lập đơn mua hàng
Gửi thông tin phản hồi
Xem chi tiết sản phẩm
Cập nhật giỏ hàng
Cập nhật thông tin mặt hàng
Quản lý danh mục hàng hóa
Trả lời khách hàng
Theo dõi
đơn hàng
Cỏc nguyờn t c cho vi c xõy d ng use-case view là:ắ ệ ự
• Cỏc use-case được hỡnh thành trờn c s nhỡn t bờn ngoài vào trong h th ngơ ở ừ ệ ố
(out-> in)
• Cỏc use-case ph i đ y đ , chỳng đả ầ ủ ượ ổc t ng h p theo phợ ương phỏp đi t t i đaừ ố
đ n t i thi u (ban đ u m r ng t i đa cỏc use-case cú th sau đú thu h p l iế ố ể ầ ở ộ ố ể ẹ ạ theo nhu c u khỏch hàng).ầ
• Cỏc use-case c n cú tớnh đ c l p tầ ộ ậ ương đ i đ d t ch c nhúm làm vi c và cúố ể ễ ổ ứ ệ
tớnh tỏi s d ng cao.ử ụ Bờn c nh s đ , ngạ ơ ồ ười làm mụ hỡnh cú th s d ng mụ t b ng văn b n chi ti t choể ử ụ ả ằ ả ế
m i use-case (text detail) M i mụ t c n đ m b o cỏc thụng tin sau:ỗ ỗ ả ầ ả ả
17
Trang 61 Tên use-case
2 M c tiêu c a use-caseụ ủ
3 Ph m vi c a use-caseạ ủ
4 Các tác nhân chính
5 Ti n đi u ki nề ề ệ
6 Dòng chính
7 Dòng phụ
8 Ngo i lạ ệ
9 H u đi u ki nậ ề ệ Sau đây là m t ví d v use-case text detail:ộ ụ ề
Dòng chính
1 Người đòi b i thồ ường g i đ n yêu c u v i các d li u b ng ch ng v tai n nử ơ ầ ớ ữ ệ ằ ứ ề ạ
2 Công ty b o hi m xác nh n ngả ể ậ ười vi t đ n có quy n l i b o hi m h p lế ơ ề ợ ả ể ợ ệ
3 Công ty b o hi m phân công cho m t đ i lý xác minh trả ể ộ ạ ường h p nàyợ
4 Đ i lý đ i chi u t t c các chi ti t trong đ n theo chính sách b o hi m c aạ ố ế ấ ả ế ơ ả ể ủ công ty
5 Công ty b o hi m tr ti n b o hi mả ể ả ề ả ể
Dòng phụ
1a B ng ch ng tai n n không đ y đằ ứ ạ ầ ủ
1a1 Công ty b o hi m yêu c u d li u thi uả ể ầ ữ ệ ế
1a2 Người đòi b i thồ ường g i l i các d li u thi uử ạ ữ ệ ế
2a Người đòi b i thồ ường không có chính sách b o hi m h p lả ể ợ ệ
2a1 Công ty b o hi m t ch i yêu c u, nh c nh , ghi l i và k t thúc x lý v vi cả ể ừ ố ầ ắ ở ạ ế ử ụ ệ 3a Không có đ i lý nào r nh r iạ ả ỗ
3a1 (Công ty b o hi m s làm gì trong trả ể ẽ ường h p này???)ợ
4a V tai n n vi ph m chính sách b o hi m c b nụ ạ ạ ả ể ơ ả
4a1 Công ty b o hi m t ch i yêu c u, nh c nh , ghi l i và k t thúc x lý v vi cả ể ừ ố ầ ắ ở ạ ế ử ụ ệ 4b V tai n n ch vi ph m chính sách b o hi m nhụ ạ ỉ ạ ả ể ỏ
4b1 Công ty b o hi m đi u đình v i ngả ể ề ớ ười đòi b o hi m và đ ng ý tr b o hi mả ể ồ ả ả ể
Trong trường h p các use-case quá ph c t p và ch a đợ ứ ạ ư ược mô t rõ ràng, chúng có thả ể
được tác ra thành các use-case nh h n theo hai d ng:ỏ ơ ạ
• Include: use-case m i đớ ược tách ra và được bao g m trong use-case chính m tồ ộ cách vô đi u ki nề ệ
18
Trang 7uc Use Case Model
Use Case Principal
Use Case Include
«include»
• Extend: use-case m i x y ra khi m t đi u ki n x y ra trong use-case chính ớ ả ộ ề ệ ả
uc Use Case Model
Use Case Principal
Use Case Extend
«extend»
Nói chung, use-case view giúp ta tr l i câu h i WHAT? v h th ng.ả ờ ỏ ề ệ ố
Logical views
Đây là hướng nhìn cho bi t các ch c năng đế ứ ược thi t k vào trong h th ng nh thế ế ệ ố ư ế nào (HOW?) thông qua vi c mô t các c u trúc tĩnh và các hành vi đ ng c a h th ng Sau đâyệ ả ấ ộ ủ ệ ố
là m t s s đ quan tr ng thộ ố ơ ồ ọ ường đượ ử ục s d ng
Các c u trúc tĩnh (static structure):ấ C u trúc tĩnh đấ ược mô hình b ng UML chính là cácằ class diagrams Đây là s mô hình các khái ni m trong ng d ng, các đ c đi m n i t i cũngự ệ ứ ụ ặ ể ộ ạ
nh m i quan h gi a chúng.ư ố ệ ữ
19
Trang 8Ví d v mô hình class:ụ ề
cd Jav a M odel
Account
- billingAddress: String
- closed: boolean
- deliveryAddress: String
- emailAddress: String
- name: String
+ createNewAccount() : void
+ loadAccountDetails() : void
+ markAccountClosed() : void
+ retrieveAccountDetails() : void
+ submitNewAccountDetails() : void
+ validateUser(String, String)
property get
+ getBasket() : ShoppingBasket
+ getBillingAddress() : String
+ getClosed() : boolean
+ getDeliveryAddress() : String
+ getEmailAddress() : String
+ getName() : String
+ getOrder() : Order
property set
+ setBasket(ShoppingBasket) : void
+ setBillingAddress(String) : void
+ setClosed(boolean) : void
+ setDeliveryAddress(String) : void
+ setEmailAddress(String) : void
+ setName(String) : void
+ setOrder(Order) : void
LineItem
- quantity: int
property get
+ getItem() : StockItem + getQuantity() : int
property set
+ setItem(StockItem) : void + setQuantity(int) : void
Order
- date: Date
- deliveryInstructions: String
- orderNumber: String
+ checkForOutstandingOrders() : void
property get
+ getDate() : Date + getDeliveryInstructions() : String + getLineItem() : LineItem + getOrderNumber() : String + getStatus() : OrderStatus
property set
+ setDate(Date) : void + setDeliveryInstructions(String) : void + setLineItem(LineItem) : void + setOrderNumber(String) : void + setStatus(OrderStatus) : void
«enumeration»
OrderStatus
enum
- closed: int
- delivered: int
- dispatched: int
- new: int
- packed: int
ShoppingBasket
- shoppingBasketNumber: String
+ addLineItem() : void + createNewBasket() : void + deleteItem() : void + processOrder() : void
property get
+ getLineItem() : LineItem
property set
+ setLineItem(LineItem) : void
StockItem
- Author: string
- catalogNumber: string
- costPrice: number
- listPrice: number
- title: string
property get
+ getAuthor() : string + getCatalogNumber() : string + getCostPrice() : number + getListPrice() : number + getTitle() : string
property set
+ setAuthor(string) : void + setCatalogNumber(string) : void + setCostPrice(number) : void + setListPrice(number) : void + setTitle(string) : void
Transaction
- date: Date
- orderNumber: String
+ loadAccountHistory() : void + loadOpenOrders() : void
property get
+ getAccount() : Account + getDate() : Date + getLineItem() : LineItem + getOrderNumber() : String
property set
+ setAccount(Account) : void + setDate(Date) : void + setLineItem(LineItem) : void + setOrderNumber(String) : void
-history -account
-status
-item
-basket -account
Các hành vi đ ng:ộ
State machine:
Các khái ni m ệ Mô hình hóa Classes
Attributes Operations
Object
20
Trang 9Đây là mô hình mô t vi c chuy n đ i tr ng thái c a đ i tả ệ ể ổ ạ ủ ố ượng trong quá trình tham gia các ho t đ ng nghi p v c a h th ng Tr ng thái c a đ i tạ ộ ệ ụ ủ ệ ố ạ ủ ố ượng b thay đ i b i m t hànhị ổ ở ộ
vi nào đó
S đ hành đ ng (activity diagrams):ơ ồ ộ Đây là s đ mô t lu ng nghi p v trong hơ ồ ả ồ ệ ụ ệ
th ng.ố
21
Trang 10S đ tơ ồ ương tác (interaction diagram): Đây là s đ mô t s tơ ồ ả ự ương tác gi a các đ iữ ố
tượng theo trình t th i gian (còn g i là sequence diagram) Các s đ sequence có th đự ờ ọ ơ ồ ể ượ c
mô t m c h th ng (Sequence System – ch có user tả ở ứ ệ ố ỉ ương tác v i h th ng) ho c m c chiớ ệ ố ặ ứ
ti t (Sequence Detail – Các đ i tế ố ượng và thông đi p gi a chúng đã đệ ữ ược đ nh hìnhị ):
22