Đ 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ự ệ ố ầ ề ướ ố ượ
I.1 Các khái ni m căn b n c a công ngh 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ớ ự ừ ượ ố ượ ự ế ạ ệ ụ ấ ụ ề
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ị ử ể ữ
II.1. Tóm t t l ch s 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
c 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ồ ờ ộ ổ ứ ờ
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
• 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ữ
III.1. Các thành ph n c a 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 ýử ể ượ ử ụ ề ơ ồ ư
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
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:ộ ụ ề
Use-case: Đòi ti n b i th ngề ồ ườ
Ph m vi: ạ Công ty B o hi m PCMả ể
Actor chính: Ng i đòi b i th ngườ ồ ườ
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ề ệ