Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng

Chương 1: Mô hình đối tượng

Chương 2: Lớp và đối tượng

Chương 3: Sự phân loại

Chương 4: Phân tích thiết kế hệ thống hướng đối tượng sử dụng UML

Chương 5: Quy trình phân tích và thiết kế

Chương 6: Một số bài toán cụ thể

pdf52 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 2145 | Lượt tải: 5download
Tóm tắt nội dung Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 vào viӋc phân tích các phҫn tӱ [iFÿӏnh 
và trách nhiӋPFNJQJQKѭOjWѭѫQJWiFJLӳa chúng. ViӋc phân tích các phҫn tӱ này miêu tҧ gҫQÿ~QJ
các thành phҫn cӫa hӋ thӕQJPjÿѭӧc sӱ dөng trong quá trình thiӃt kӃ thành phҫn dӇ [iFÿӏnh viӋc 
thiӃt kӃ các phҫn tӱ. 
 Trong thành phҫn thiӃt kӃ, quá trình vi mô tұp trung vào viӋc chӑn lӑc viӋc thiӃt kӃt các thành 
phҫn bҵng viӋFÿӏQKQJKƭDQyWURQJFiFOӟp mà có thӇ thӵc thi trӵc tiӃp bҵQJFiFNƭWKXұt thӵc hiӋn 
ÿm chӑn. Trong suӕt quá trình thiӃt kӃ chi tiӃt, bҥn tiӃp tөc chӑn lӵa các lӟp thông qua làm viӋc vӟi 
các nӝi dung, hành vi và quan hӋ cӫa chúng. Quá trình chӑn lӵa nên dӯng lҥLNKLFyÿӫ chi tiӃt cho 
viӋc thiӃt kӃ các lӟSÿѭӧc thӵc thi. 
%jLW̵S 
1) Trình bày quy trình xây dӵng phҫn mӅm? 
2) Trình bày quy trình phân tích và thiӃt kӃ trong xây dӵng phҫn mӅm? 
44 
&+ѬѪ1*9,: È3'Ө1*3+Æ17Ë&+%¬,72È1&Ө7+ӆ 
+͏WK͙QJÿL͉XNKL͋Q4X̫QOêK͏WK͙QJJLDRWK{QJ 
 KhӣLÿҫu 
 Ӣ mӝt sӕ Qѭӟc tiên tiӃn thì viӋc sӱ dөng hӋ thӕng xe lӱDÿѭӧFFRLQKѭOjSKә biӃQ1Jѭӡi dân 
vүn thích sӱ dөng hӋ thӕng xe lӱDÿӇ ÿLOҥi nhӳQJFXQJÿѭӡQJGjL+ѫQQӳa, viӋc sӱ dөng xe lӱDÿL
lҥLFNJQJÿѭӧFFRLQKѭOjSKѭѫQJWLӋn an toàn nhҩWWURQJFiFSKѭѫQJWLӋQÿѭӡng bӝ. 
 Chúng ta có thӇ thҩy rҵng hӋ thӕng xe lӱa ӣ FiFQѭӟc phát triӇn rҩt mҥnh bӣi vì nó mang lҥi 
hiӋu quҧ kinh tӃ FDRKѫQVRYӟLFiFSKѭѫQJWLӋn khác. Vì vұ\ÿӕi vӟi mӝt hӋ thӕng xe lӱa cҫn phҧi 
ÿѭӧc giám sát chһt chӁ, bӣi vì mӛi chuyӃn sӭc vұn chuyӇn có nó có thӇ lên tӟLKjQJWUăPWKұm chí 
KjQJQJjQQJѭӡi. 
 Trong bài này chúng ta tұp phân tích mӝt hӋ thӕng quҧQOêÿѭӡng xe lӱa bҵng viӋF[iFÿӏnh các 
yêu cҫu và hӋ thӕng tác nhân. 
 Yêu cҫu cho hӋ thӕng quҧn lý tuyӃQÿѭӡng xe lӱa: 
 HӋ thӕng quҧn lý tuyӃQ ÿѭӡng xe lӱa có 2 chӭF QăQJ FKtQK'үQ ÿѭӡng và giám sát tuyӃn 
ÿѭӡng. Các chӭFQăQJOLrQTXDQEDRJӗm lұp kӃ hoҥch, dӵ báo lӛi, theo dõi vӃt tuyӃQÿѭӡng, giám 
sát giao thông, tránh va chҥP[XQJÿӝt tuyӃQÿѭӡng và ghi lҥi nhұt ký. Tӯ nhӳng chӭFQăQJWUrQ
chúng ta có thӇ ÿѭDUDXVHFDVHVVDu: 
- Route Train: ThiӃt lұp mӝt kӃ hoҥch, kӃ hoҥch này vҥch rõ các tuyӃQÿѭӡng mà xe lӱa 
sӁ ÿLTXD 
- Plan Traffice: ThiӃt lұp mӝt kӃ hoҥch giao thông mà cung cҩS Kѭӟng dүn trong viӋc 
triӇn khai kӃ hoҥch tuyӃn xe lӱa tҥi mӝt thӡi gian nhҩWÿӏnh và mӝt vùng nhҩWÿӏnh. 
- Monitor Train Systems: Giám sát hӋ thӕng xe lӱDFKRQKѭQJFKӭFQăQJWKtFKKӧp. 
- Predict Failure: Thӵc hiên phân tích nhӳQJÿLӅu kiӋn cӫa hӋ thӕQJYjÿѭDUDQKӳng cҧnh 
báo lӛi liên quan tӟi kӃ hoҥch vұn hành cӫa tӯng tuyӃn xe lӱa. 
- Track Train Location: Giám sát vӏ trí cӫa các xe lӱa. 
- Monitor Traffic: Giám sát tҩt cҧ các tuyӃn xe lӱa trong mӝt vùng. 
- $YRLG&ROOLVLRQĈѭDUDELӋn pháp, có thӇ là tӵ ÿӝng hoһc làm thӫ F{QJÿӇ tránh nhӳng 
vө va chҥm trên tuyӃn xe lӱa. 
- Log 0DLQWHQDQFHĈѭDUDELӋQSKiSÿӇ ghi lҥi nhӳng nhұWNtÿmWKӵc hiӋn trên tuyӃn xe 
lӱa. 
 Nhӳng use cases này thiӃt lұp các yêu cҫu chӭFQăQJFѫEҧn cho hӋ thӕng quҧn lý giao thông xe 
lӱa. Chúng cho ta biӃt hӋ thӕng phҧi làm nhӳQJJuÿӕi vӟLQJѭӡi sӱ dөQJQy7KrPYjRÿyFK~QJWD
45 
có nhӳng yêu cҫu không có chӭFQăQJYjJLҵng buӝFPjWiFÿӝng lên các yêu cҫXÿѭӧFÿӏnh rõ bӣi 
các use case cӫa chúng ta: 
 Nhӳng yêu cҫu không có chӭFQăQJ 
- Vұn chuyӇn hành khách và hàng hóa an toàn. 
- Hӛ trӧ tӕFÿӝ xe lӱa lên tӟi 250 dһm/giӡ. 
- Cung cҩp mӝt hӋ thӕng hoҥt ÿӝng chính xác ӣ mӭc 99.99% 
- Cung cҩSFiFÿҫ\ÿӫ các chӭFQăQJWUiFKGѭWKӯa. 
- Cung cҩp vӏ trí chính xác cӫa tàu trong vòng 10 yards. 
- Cung cҩp chính xác vұn tӕc cӫa xe lӱa. 
- ĈiSӭQJÿҫu vào trong vòng 10s. 
 Nhӳng ràng buӝc. 
- ĈiSӭng các tiêu chuҭn quӕc gia 
- Phù hӧp vӅ giá thành cҧ vӅ phҫn cӭng và phҫn mӅm. 
 Bây giӡ FK~QJWDÿmFyQKӳng yêu cҫu cӫa bài toán. Quay lҥi bài toán quҧn lý hӋ thӕQJÿѭӡng 
xe lӱa cӫa chúng ta. Qua tìm hiӇu và phân tích thì chúng ta có thӇ ÿѭDUDkiӇu QJѭӡi dùng khác 
QKDX WiFÿӝng tӟi hӋ thӕng: Dispatcher, TrainEngineer, và Maintainer. Ngoài ra hӋ thӕng còn 
giao tiӃSWѭѫQJWiFYӟi thiӃt bӏ ngoài, Navstar GPS. &iFWiFQKkQÿyQJYDLWUzVDXWURQJKӋ thӕng. 
- Dispatcher: ThiӃt lұp tuyӃQÿѭӡng xe lӱa và theo dõi viӋc tiӃn hành cӫa tӯng xe lӱa 
riêng biӋt. 
- TrainEngineer: Giám sát tình trҥng hoҥWÿӝng cӫa xe lӱa. 
- Maintainer: Giám sát tình trҥng duy tri hӋ thông xe lӱa. 
- Navstar GPS: Cung cҩp dӏch vө ÿӏnh vӏ GQJÿӇ theo dõi tàu hӓa. 
46 
ͰQJGͭQJ:HE+͏WK͙QJWKHRG}LNuQJK͑ 
 1Jj\QD\ÿӕi vӟi nhiӅu doanh nghiӋp, sӵ tӵ chӫ Yjÿӝc lұp cӫDF{QJQKkQQJj\FjQJWăQJ0ӛi 
công nhân có thӇ tham gia vào nhiӅu dӵ án vì thӃ phҧi phân chia thӡi gian sao cho hӧSOê7ѭѫQJ
ӭng vӟi sӕ thӡi gian làm viӋFWKuÿzLKӓi thӡi gian nghӍ QJѫLFNJQJSKҧi hӧp lý. Vì vұy, các nhà quҧn 
lý có ít thӡi gian gһSÿѭӧFF{QJQKkQGRÿyYLӋc quҧn lý thӡi gian làm viӋFFNJQJQKѭWKӡi gian nghӍ 
gһp nhiӅXNKyNKăQ 
 GiҧLSKiSÿѭӧFÿѭDUDOjFK~QJWD[k\Gӵng mӝt hӋ thӕng cho phép theo dõi thӡi gian làm viӋc 
FNJQJQKѭNuQJKӍ cӫa mӛi công nhân. 
 KhӣLÿҫu 
 Yêu cҫu cӫa hӋ thӕQJOjÿѭӧc miêu tҧ mӝt cách tóm tҳt các tài liӋXFiFÿһc tính chӫ yӃu, các 
P{KuQKXVHFDVHFiFÿһc tҧ use case chính và các kiӃn trúc cҫn thiӃt. 
 Yêu cҫu: 
47 
 HӋ thӕng theo dõi kì nghӍ sӁ cung cҩp tӯng nhân viên riêng biӋt cùng vӟi khҧ QăQJÿӇ quҧn lý 
thӡi gian nghӍ cӫa hӑ, nghӍ viӋFYuÿDXӕm, và thӡi gian nghӍ WKѭѫQJQLrQ 
 HӋ thӕng sӁ cung cҩSFiFÿһc tính chính sau: 
- Thӵc thi mӝt cách linh hoҥt cho viӋc kiӇm chӭng và xác minh lҥi thӡi gian yêu cҫu. 
- Cho phép quҧn lý phê duyӋt. 
- &KRSKpSQJѭӡi dùng có thӇ truy cұp lҥi thӡL JLDQ WUѭӟF ÿy Yj FKRSKpS \rX Fҫu 
ÿѭӧc thӵFKLrQÿӃn mӝWQăPUѭӥLWURQJWѭѫQJODL 
- Sӱ dөng e-PDLOWK{QJEiRÿӇ yêu cҫu quҧn lý phê duyӋt và thông báo cho nhân viên 
biӃt trҥQJWKiLWKD\ÿәi. 
- Sӱ dөng phҫn cӭng hiӋn tҥi. 
- Ĉѭӧc thӵc hiӋn, triӇn khai mӣ rӝng cӫa mҥng nӝi bӝ hiӋn tҥi và sӱ dөQJWtQKQăQJ
ÿăQJQKұp mӝt lҫn cho tҩt cҧ FiFFѫFKӃ xác thӵc. 
- /ѭXJLӳ lҥi nhӳng bҧn ghi cho tҩt cҧ các giao dӏch. 
- &KRSKpSQJѭӡi quҧn lý trӵc tiӃp tһng thӡi gian nghӍ thêm cho nhân viên. 
- Cung cҩp mӝt dӏch vө giao diӋn Web cho các hӋ thӕng nӝi bӝ khác truy vҩQYjÿѭD
ra bҩt kǤ thӡi gian nghӍ cӫa nhân viên nào. 
 Mô hình use case mӭc cao nhҩWFKѭDWiFQKkQYjXVHFDVHÿѭӧc miêu tҧ ӣ KuQKGѭӟLÿk\ 
 1KuQYjRVѫÿӗ trên, chúng ta thҩy có 4 tác nhân sau; 
- (PSOR\HHOjQJѭӡi sӱ dөng hӋ thӕng chӫ yӃu. Mӝt nhân viên sӱ dөng hӋ thӕQJÿӇ 
quҧn lý thӡi gian nghӍ cӫa hӑ. 
48 
- Manager: là mӝWQKkQYLrQFNJQJVӱ dөng hӋ thӕQJQKѭFiFQKkQYLrQNKiFYӟi mөc 
ÿtFKWѭѫQJWӵ QKѭQJFyWKrPPӝt sӕ quyӅQFDRKѫQQKkQYLrQEuQKWKѭӡng. Có thӇ 
quҧn lý thӡi gian gian nghӍ cӫa mӝt nhóm nhân viên. 
- Clerk: Mӝt thành viên cӫa hӋ thӕng quҧQOêQJѭӡLFyÿҫ\ÿӫ các quyӅQÿӇ xem hӗ 
VѫGӳ liӋu cá nhân cӫa mӝt nhân viên và chӏu trách nhiӋm cho tҩt cҧ các thông tin vӅ 
nhân viên. MӝW WKѭNê Fy WKӇ thêm hoһc loҥi bӓ bҩt kǤ mӝt bҧn ghi nào trong hӋ 
thӕng. 
- System Admin: Có vai trò chӏu trách nhiӋm cho hӋ thӕng chҥy әQÿӏQKWUѫQNK{QJ
bӏ lӛi 
 6ѫÿӗ trên còn mô tҧ các use case chính sau: 
- Manage Time: Miêu tҧ các nhân viên yêu cҫu và xem thӡi gian nghӍ QKѭWKӃ nào. 
- Approve Request: Miêu tҧ mӝt quҧQOêÿiSӭng yêu cҫu cӫa mӝWQKyPQKѭWKӃ nào. 
- Edit Employee Record: Miêu tҧ mӝt Clerk cӫa hӋ thӕng chӍnh sӱa thông tin cӫa mӝt 
QKkQYLrQQKѭWKӃ nào. 
- Manage Locations: Miêu tҧ mӝt Clerk quҧn lý các bҧQJKLQKѭWKӃ nào. 
- Manage Leave Categories: 
- Override Leave Records: 
- Back Up System Logs. Miêu tҧ $GPLQVDROѭXGӳ liӋu. 
%jLWұS 
1) ÈSGөQJSKkQWtFKYjWKLӃWNӃKӋWKӕQJYjREjLWRiQTXҧQOý +ӗVѫVLQKYLrQ" 
2) ÈSGөQJSKkQWtFKYjWKLӃWNӃKӋWKӕQJYjREjLWRiQTXҧQOê.ӃWTXҧKӑFWұSFӫDVLQKYLrQ" 
49 
0Ӝ76ӔĈӄ7+,0Ү8 
50 
7UѭӡQJĈҥi Hӑc Hàng Hҧi ViӋt Nam 
Khoa Công nghӋ Thông tin 
BӜ MÔN Hӊ THӔNG THÔNG TIN 
-----***----- 
THI KӂT THÚC HӐC PHҪN 
Tên hӑc phҫn: PHÂN TÍCH& THIӂT Kӂ +7+ѬӞ1*ĈӔ,7ѬӦNG 
1ăPKӑc: x 
ĈӅ thi sӕ: Ký duyӋWÿӅ: 
x x 
Thӡi gian: 60 phút 
&kXÿLӇm) 
 So sánh Phân tích thiӃt kӃ hӋ thӕQJKѭӟng cҩu trúc vӟi Phân tích thiӃt kӃ hӋ thӕQJKѭӟng 
ÿӕLWѭӧng? 
Câu 2: (2 ÿLӇm) 
 ĈӕLWѭӧng là gì? Mӕi quan hӋ giӳDFiFÿӕLWѭӧng? 
Câu 3: (3 ÿLӇm) 
 7UuQKEj\FiFSKѭѫQJSKiSSKkQORҥi? Lҩy ví dө? 
Câu 4: (3 ÿLӇm) 
Trình bày các khӕLFѫEҧn trong UML? 
----------------------------***HӂT***---------------------------- 
/˱Xê - Không s͵D[yDÿ͉ thi, n͡p l̩Lÿ͉ sau khi thi 
51 
7UѭӡQJĈҥi Hӑc Hàng Hҧi ViӋt Nam 
Khoa Công nghӋ Thông tin 
BӜ MÔN Hӊ THӔNG THÔNG TIN 
-----***----- 
THI KӂT THÚC HӐC PHҪN 
Tên hӑc phҫn: PHÂN TÍCH& THIӂT Kӂ +7+ѬӞ1*ĈӔ,7ѬӦNG 
1ăPKӑc: x 
ĈӅ thi sӕ: Ký duyӋWÿӅ: 
x x 
Thӡi gian: 60 phút 
&kXÿLӇm) 
 Trình bày nhӳQJѭXYjQKѭӧFÿLӇm cӫa Phân tích và thiӃt kӃ hӋ thӕQJKѭӟQJÿӕLWѭӧng? 
Câu 2: (2 ÿLӇm) 
 Lӟp là gì? Mӕi quan hӋ giӳa các lӟp? 
Câu 3: (3 ÿLӇm) 
LiӋt kê các loҥi biӇXÿӗ (Diagrams) trong UML? MөFÿtFKFӫa tӯng loҥi biӇXÿӗ? 
Câu 4: (3 ÿLӇm) 
 BiӇXÿӗ lӟp là gì? Trình bày mөFÿtFKYjFiFKYӁ biӇXÿӗ lӟp trong UML? 
----------------------------***HӂT***---------------------------- 
/˱Xê - Không s͵D[yDÿ͉ thi, n͡p l̩Lÿ͉ sau khi thi 
52 
7UѭӡQJĈҥi Hӑc Hàng Hҧi ViӋt Nam 
Khoa Công nghӋ Thông tin 
BӜ MÔN Hӊ THӔNG THÔNG TIN 
-----***----- 
THI KӂT THÚC HӐC PHҪN 
Tên hӑc phҫn: PHÂN TÍCH& THIӂT Kӂ +7+ѬӞ1*ĈӔ,7ѬӦNG 
1ăPKӑc: x 
ĈӅ thi sӕ: Ký duyӋWÿӅ: 
x x 
Thӡi gian: 60 phút 
&kXÿLӇm) 
 ĈӕLWѭӧng là gì? Lӟp là gì? Trình bày mӕi quan hӋ giӳa LӟSYjĈӕLWѭӧng? Cho ví dө? 
Câu 2: (2 ÿLӇm) 
 Trình bày các khái niӋm: Use case, Actor trong UML? Cho ví dө? 
Câu 3: (3 ÿLӇm) 
9zQJÿӡi cӫa xây dӵng phҫn mӅm? 
Câu 4: (3 ÿLӇm) 
 BiӇXÿӗ tuҫn tӵ (Sequence) là gì? Trình bày mөFÿtFKYjFiFKYӁ biӇXÿӗ tuҫn tӵ trong 
UML? 
----------------------------***HӂT***---------------------------- 
/˱Xê - Không s͵D[yDÿ͉ thi, n͡p l̩Lÿ͉ sau khi thi 

File đính kèm:

  • pdfBài giảng Phân tích và thiết kế hệ thống hướng đối tượng.pdf
Tài liệu liên quan