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ụ
32 trang |
Chia sẻ: thanhle95 | Lượt xem: 628 | Lượt tải: 1
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