Bài giảng Phân tích thiết kế hệ thống - Bài 9: Phân tích thiết kế hướng đối tượng - Nguyễn Hoài Anh

CÁC KHÁI NIỆM CƠ BẢN  Đối tượng (object)  Từ điển Tiếng Việt:  Đối tượng là người, vật hay hiện tượng mà con người nhằm vào trong suy nghĩ, trong hành động.  Trong phương pháp HĐT  Đối tượng là trừu tượng cái gì đó trong lĩnh vực vấn đề nghiên cứu Phản ánh khả năng hệ thống lưu giữ thông tin về nó và tương tác với nó Gói các giá trị thuộc tính và các dịch vụ

pdf32 trang | Chia sẻ: thanhle95 | Lượt xem: 615 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích thiết kế hệ thống - Bài 9: Phân tích thiết kế hướng đối tượng - Nguyễn Hoài Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài 9. Phân tích thiết kế hướng đối tượng Nguyễn Hoài Anh Khoa công nghệ thông tin Học viện kỹ thuật quân sự nguyenhoaianh@yahoo.com Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự DẪN NHẬP Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự DẪN NHẬP Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự DẪN NHẬP  Đặc điểm bài toán quản lý  Sự phức tạp của phần mềm phụ thuộc mô hình hệ thống thực ⇒ Nguyên tắc chia để trị  Có thể phân thành các nhóm  Quản lý nhân sự, tiền lương  Quản lý điểm  Quản lý khám chữa bệnh ⇒ Cần có cách tiếp cận để có thể sử dụng lại  Hệ thống thực phát triển ⇒ Cần có cách tiếp cận để tích hợp thêm / loại bỏ đi dễ nhất → Phân tích thiết kế hướng đối tượng Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự DẪN NHẬP Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự DẪN NHẬP  Ưu điểm  Thích hợp hệ thống lớn, phức tạp  Khả năng sử dụng lại cao  Bảo trì thuận lợi  Cho phép phát triển hệ có quy mô tùy ý bằng cách lắp ghép  Nhược điểm  Chưa có hệ quản trị CSDL hưởng đối tượng chuẩn  Có nhiều tùy biến, nên đòi hỏi nhiều kinh nghiệm → không phù hợp với người mới phân tích → Cần biết sử dụng hai phương pháp hỗ trợ nhau Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự NỘI DUNG Ba nội dung của một phương pháp  Khái niệm cơ bản  Đối tượng  Lớp  Sự trao đổi thông điệp  Bao bọc và che dấu thông tin Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự NỘI DUNG Ba nội dung của một phương pháp  Mô hình sử dụng  Biểu đồ use case (use case diagrams)  Biểu đồ hoạt động (activity diagrams)  Biểu đồ trình tự (sequence diagrams)  Biểu đồ cộng tác (collaboration diagrams)  Biểu đồ trạng thái (statechart diagrams)  Biểu đồ lớp (class diagrams)  Biểu đồ thành phần (component diagrams)  Biểu đồ phát triển (Deployment diagrams) Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự NỘI DUNG Ba nội dung của một phương pháp  Quy trình PT thiết kế hướng đối tượng  Mô hình hóa nghiệp vụ  Mô hình hóa hệ thống mức phân tích  Mô hình hóa hệ thống mức thiết kế Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự CÁC KHÁI NIỆM CƠ BẢN  Đối tượng (object)  Từ điển Tiếng Việt:  Đối tượng là người, vật hay hiện tượng mà con người nhằm vào trong suy nghĩ, trong hành động.  Trong phương pháp HĐT  Đối tượng là trừu tượng cái gì đó trong lĩnh vực vấn đề nghiên cứu  Phản ánh khả năng hệ thống lưu giữ thông tin về nó và tương tác với nó  Gói các giá trị thuộc tính và các dịch vụ Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự CÁC KHÁI NIỆM CƠ BẢN  Lớp (class)  Trong nghiên cứu  Để trừu tượng hóa một nhóm các đối tượng cùng loại trong thế giới thực ta có khái niệm lớp.  Trong phương pháp HĐT  Lớp là bản mẫu hay một kiểu chung cho tất cả những đối tượng có đặc trưng giống nhau, nghĩa là có thuộc tính và hành vi giống nhau  Đối tượng thể hiện (cá thể) của một lớp xác định Oto Nguoi Sach Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự CÁC KHÁI NIỆM CƠ BẢN  Sự trao đổi thông điệp (message)  Hệ thống gồm một tập các đối tượng  Các đối tượng đó liên hệ qua thông thông điệp.  Khi lập trình HĐT  Khai báo Lớp: gồm thuộc tính và hành vi (hàm)  Khai báo Đối tượng theo định nghĩa lớp  Truyền thông điệp là việc gọi hàm của đối tượng nhận taikhoan sotaikhoan tenchutk socmt sodu vantin() ATM idmay vitri dvquanly viewvantin() vantin(sotaikhoan) viewvantin(sodu) Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự CÁC KHÁI NIỆM CƠ BẢN  Bao bọc và che dấu thông tin (packet)  Bao bọc  Đóng gói dữ liệu và các hàm vào một đơn vị cấu trúc  Kỹ thuật này cho phép  Xác định các vùng đặc trưng:  Privite: riêng tư, chỉ được sử dụng trong lớp, hoặc lớp kế thừa  Public: công khai, mọi đối tượng đều được truy cập ⇒ Nguyên lý che dấu thông tin Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự MÔ HÌNH SỬ DỤNG Use Case Diagrams Scenario DiagramsScenarioDiagramsCollaborationDiagrams Component Diagrams Deployment Diagrams Object Diagrams Scenario DiagramsScenarioDiagramsStatechartDiagrams Sequence Diagrams Class Diagrams Activity Diagrams Models Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ USE CASE  Mô tả nghiệp vụ nxb nhapsach (from qlsach) thanhlysach (from qlsach) kiemkesach (from qlsach) nhanvienqlsach (from qlsach) docgia muonsach (from qlmuontra) trasach (from qlmuontra) lapbbvpmuontra (from qlmuontra) lamthe (from qldocgia) giahanthe (from qldocgia) tkdocgiavipham (from qldocgia) huythe (from qldocgia) nhanvienmuontra (from qlmuontra) nhanvienlamthe (from qldocgia) docgia Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ USE CASE  Phân tích HT laythongtinsach (from UC He Thong) inbaocaothongke (from UC He Thong) tlysach (from UC He Thong) themphieunhap (from UC He Thong) xoaphieunhap (from UC He Thong) suaphieunhap (from UC He Thong) NVquanlysach (from Tac Nhan He Thong) > > > > > > Nhaxuatban (from Tac Nhan He Thong) timkiemttnxb (from UC He Thong) > themthedg (from UC He Thong) suathedg (from UC He Thong) xoathedg (from UC He Thong) timkiemthe (from UC He Thong) giahanthecoyeucau (from UC He Thong) lapdanhsachvipham (from UC He Thong) huytheviphamnhieu (from UC He Thong) huythehethan (from UC He Thong) NVlamthe (from Tac Nhan He Thong) > > > > > > > > suaphieumuon (from UC He Thong) xoaphieumuon (from UC He Thong) luuthongtinsachtra (from UC He Thong) layttviphammuontra (from UC He Thong) vietbbvpmuontra (from UC He Thong) themphieumuon (from UC He Thong) kiemtrathe (from UC He Thong) timkiemphieumuon (from UC He Thong) laythongtindg (from UC He Thong) > NVmuontra (from Tac Nhan He Thong) > > > > > > > > Docgia (from Tac Nhan He Thong) laythongtindg (from UC He Thong) > Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ HOẠT ĐỘNG  Mô tả nghiệp vụ yeu cau muon sach kiemtra the kiem tra doc gia co du dkien muon sach khong thong bao khong duoc muon tim sach lay sach+kiem tra lap phieu muon giao sach cho doc gia bao the khong hop le thong bao khong co sach the doc gia [moi] the doc gia [xu ly xong] the doc gia [tu choi] sach [moi] sach [xu ly xong] sach [tu choi] nhanv ienmuontra : nhanv ienmuontradocgia : Docgia Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ HOẠT ĐỘNG  Thiết kế giao diện : FmLapKHHK [trèng] yªu cÇu lËp KHHK NhËp th«ng tin Chän kho¸ ®µo t¹o Chän líp :DM_KhoaDaoTao :DM_lophoc Chän CTDTTK Chän Dßng CTDTTK Chän M«n häc Chän Bé m«n :CT_DaoTaoToanKhoa :Dong_CTDTtoankhoa :DM_monhoc :DM_bomon HiÓn thÞ KHHK Yªu cÇu ghi KHHK :KHGD_hocky:Dong_KHHK Ghi KHHK Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ TRÌNH TỰ  Phân tích hệ thống : Docgia : NVmuontra form muon tra dieu khien muon tra csdl sach phieumuon csdldocgia 1: trinh the 2: 4: thong tin sach muon 11: tra loi 3: kiem tra the 10: bao cho doc gia 5: nhap tt sach 6: luu thong tin 7: tim sach 8: 9: ket qua tim kiem 15: cap nhat thong tin muon 12: lap phieu muon 13: giao phieu cho doc gia 14: nhan phieu Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ TRÌNH TỰ  Thiết kế hệ thống : Docgia : nvmuontra : Form_muonsach : Dk_muonsach : phieumuon : sach : docgia 1: trinh the 2: kiem tra the 3: tt sach muon 14: giao phieu cho doc gia 15: update( ) 17: cn tt doc gia muon sach 18: save( ) 4: nhan thong tin 5: nhap tt sach muon 6: infomation sach muon( ) 8: infomation( ) 10: view search( ) 11: view search( ) 12: giao dien kq timkiem 13: insert phieumuon( ) 7: insert sach( ) 9: search( ) 16: save( ) Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ CỘNG TÁC  Phân tích hệ thống : Docgia : NVmuontra form muon tra dieu khien muon tra csdl sach csdldocgiaphieumuon 2: 8: 1: trinh the 4: thong tin sach muon 11: tra loi 14: nhan phieu 3: kiem tra the 10: bao cho doc gia 5: nhap tt sach 15: cap nhat thong tin muon 12: lap phieu muon 6: luu thong tin 7: tim sach9: ket qua tim kiem 13: giao phieu cho doc gia Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ CỘNG TÁC  Thiết kế hệ thống : Docgia : nvmuontra : Form_muonsach : Dk_muonsach : phieumuon : sach : docgia 7: insert sach( ) 9: search( ) 16: luu thong tin 18: save( ) 1: trinh the 3: tt sach muon 2: kiem tra the 4: nhan thong tin 13: insert phieumuon( ) 15: update( ) 17: cn tt doc gia muon sach 6: infomation sach muon( ) 11: view search( ) 5: nhap tt sach muon 12: giao dien kq timkiem 8: infomation( ) 10: view search( ) 14: giao phieu cho doc gia Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ TRẠNG THÁI CTDT ®ang lËp CTDT ®ang thùc hiÖn söa ®æi xö lý ®Æc biÖt CTDT l−u kÕt thóc kho¸ häc xÐt thay ®æi b¾t ®Çu kho¸ häc xo¸ Khëi t¹o entry/T¹o míi CTDT do/kÕt nèi TT kho¸ §T do/kÕt nèi TT ngµnh §T do/kÕt nèi TT chuyªn ngµnh §T Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ LỚP  Lớp thực thể (PT) phieutra > maphieutra : String... madocgia : String tendocgia : String ngaymuon : Date ngaytra : Date masach : String tensach : String (from Bieu Do Lop Thuc The) docgia > madocgia : String tendocgia : String ngaysinh : Date gioitinh : Logical donvi : String ngaycapthe : Date ngayhethan : Date (from Bieu Do Lop Thuc The) phieumuon > maphieumuon : String... madocgia : String ngaylap : Date masach : String tensach : String tendocgia : String (from Bieu Do Lop Thuc The) +1.n +1.1 +1.n +1.1 phieunhap > maphieunhap : String manxb : String ngaylap : Date masach : String tensach : String soluong : Numeric dongia : Numeric (from Bieu Do Lop Thuc The) sach > masach : String... tensach : String tacgia : String theloai : String nhaxuatban : String namxb : Date soluong : Numeric gia : Numeric (from Bieu Do Lop Thuc The) +1.n +1.1 +1.1 +1.n +1.n +1.1 nhaxuatban > manxb : String... tennxb : String diachi : String sodienthoai : Numeric email : String (from Bieu Do Lop Thuc The) +0.n +1.1 +1.n +1.n Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ LỚP  Thiết kế lớp FmCapnhatKHNH taomoiKHNH() hienthiF() hienthiKHNH() (from gi aodien) > DM_LH_Daotao ID_LHDT : Char(3) TenLHDT : Char(50) soky : Number(2) lay ttLHDT() taomoiLHDT() suaLHDT() xoaLHDT() (from Thucthe) > DM_KhoaDaoTao ID_khoaDT : Char(5) tenKhoaDT : Char(30) layttKDT() taomoiKDT() suaKDT() xoaKDT() (from Thucthe) > DkCNhatKHNH layttLHDT() layttKDT() layttCT() layttKHNH() ghiKHNH() ghiCT() (from Dieukhien) > 1 1 1 1 n 1 KHGD_namhoc ID_KHNH : Char(10) namhoc : Number(4) hocky : Number(2) ngayBD : Date ngayKT : Date tongsotuan : Number(3) nghiletet : Number(3) sotuanHL : Number(3) taomoiKHNH() suaKHNH() xoaKHNH() layttKHNH() ghiKHNH() (from Thucthe) > 1 1 chitietKHNH thiHK : Number(3) thiTNQG : Number(2) LamBVDA : Number(2) TTtoankhoa : Number(2) thamgiaDT : Number(1) TGlenlop : Number(3) DVHT : Number(1) MHchung : Number(3) KTcoso : Number(3) KTchuyennganh : Number(3) QSchuyennganh : Number(3) layttKHNH() taomoiCT() suaCT() xoaCT() layttCT() ghiCT() (from Thucthe) > 1..n 0..1 Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ TRIỂN KHAI Login.csLogin.resx Payroll.sln Payroll.exe Payroll.obj Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự BIỂU ĐỒ PHÁT TRIỂN Desktop PC Printer Payrol l Server Bank System Project Mangement DB Company LAN Company LAN Internet Company LAN There may be multiple desktop PCs Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự QUY TRÌNH CÔNG VIỆC  Mô hình hóa nghiệp vụ  Đầu vào:  Yêu cầu người dùng về hệ thống mới  Môi trường hoạt động của hệ thống hiện tại  Đầu ra:  Mô hình đơn vị tổ chức  Biểu đồ usecase nghiệp vụ  Biểu đồ hoạt động của các ca nghiệp vụ Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự QUY TRÌNH CÔNG VIỆC  Mô hình hóa hệ thống mức phân tích  Đầu vào:  Mô hình đơn vị tổ chức  Biểu đồ usecase nghiệp vụ  Biểu đồ hoạt động của các ca nghiệp vụ  Đầu ra:  Biểu đồ usecase hệ thống  Biểu đồ trình tự mức phân tích  Biểu đồ cộng tác mức phân tích  Biểu đồ lớp thực thể Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự QUY TRÌNH CÔNG VIỆC  Mô hình hóa hệ thống mức thiết kế  Đầu vào:  Biểu đồ usecase hệ thống  Biểu đồ tương tác mức phân tích (trình tự, cộng tác)  Biểu đồ lớp thực thể  Đầu ra:  Kịch bản của usecase hệ thống  Biểu đồ tương tác mức thiết kế  Biểu đồ hoạt động, trạng thái  Biểu đồ lớp, kiến trúc thành phần, phát triển Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự KẾT LUẬN  PT thiết kế hướng đối tượng  Thích hợp với các hệ thống lớn  Dễ dàng nâng cấp, bảo trì  Tuy nhiên  Chưa có hệ QT CSDL hỗ trợ đầy đủ hướng ĐT  Phương pháp luận lập trình chưa hoàn toàn hướng đối tượng Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự THẢO LUẬN  So sánh hướng cấu trúc, hướng đối tượng  Hướng phát triển của phương pháp phân tích thiết kế tương lai
Tài liệu liên quan