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ể
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:
- Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng.pdf