Chương 2 MÔ HÌNH VÀ CÁC PHƯƠNG PHÁP MÔ HÌNH HÓA thống hướng đối tượng... Phân loại mô hình Mô hình tĩnh: Biểu diễn thông số hệ thống Cấu trúc của hệ thống dữ liệu, thông tin và
Trang 2Chương 2 MÔ HÌNH VÀ CÁC
PHƯƠNG PHÁP MÔ HÌNH HÓA
thống hướng đối tượng
Trang 3Mô hình (Model)
hoá của thế giới thực (Efraim Turban )
đồ thị, sơ đồ, biểu đồ,…)
Trang 4Phân loại mô hình
Mô hình tĩnh:
Biểu diễn thông số hệ thống
Cấu trúc của hệ thống (dữ liệu, thông tin) và những cấu trúc tĩnh khác
Biểu diễn hành vi, thủ tục của hệ thống
Sự tƣợng tác giữa các đối tƣợng nhằm thực hiện hoạt động hệ thống
Trang 5Mô hình hoá (modeling)
Trang 6Phương pháp mô hình hóa
Tập khái niệm và mô hình
Ví dụ: phương pháp SA: mô hình DFD, phương pháp BOOCH:
Class diagram, Object diagram, State transition diagram, module diagram, process diagram, interaction diagram
Qui trình triển khai: gồm các bước và kết quả từng bước
Công cụ trợ giúp
Trang 7Chương 2 MÔ HÌNH VÀ CÁC
PHƯƠNG PHÁP MÔ HÌNH HÓA
Lịch sử các phương pháp mô hình hóa
thống hướng đối tượng
Trang 8Lịch sử các phương pháp mô hình hóa
Phương pháp sơ đẳng với đặc tính chung là chuẩn hóa kỹ thuật của các nhà phát triển ứng dụng
Phương pháp Descartes với đặc trưng là phân rã
chức năng của HTTT theo mô hình phân cấp và ứng dụng các phương pháp lập trình cấu trúc, đơn thể
Một số phương pháp: HIPO, SADT, SA hay SSA,
Trang 9Lịch sử các phương pháp mô hình hóa
Tiếp cận theo hướng từ trên xuống (top – down)
Dễ dàng áp dụng cho các hệ thống được cấu thành bởi những thành phần ghép nối
Tiếp cận từng bước
Khuyết điểm
Thiếu qui luật chính xác trong sự phân rã
Thiếu các ràng buộc về việc bố trí xứ lý theo thời gian
Khó khăn trong việc phân rã một hệ thống lớn
Trang 10Lịch sử các phương pháp mô hình hóa
Thập niên 80: phương pháp hệ thống, tiếp cận dữ liệu
và xử lý: MERISE, IDA, REMORA, IA,…
Cách tiếp cận
Phân loại
Bao gồm 2 trường phái
Lưỡng phần dữ liệu và xử lý: MCT, SADT, MERISE
Không phân biệt rõ ràng giữa dữ liệu và xử lý: IDA, Remora, PCM, CIAM
ACM- Ưu điểm
Mô hình ERA được sử dụng rộng rãi nhất
2 cách tiếp cận của hệ thống về dữ liệu và xử lý
Quan tâm đến những thành phần không tin học hóa
Khuyết điểm
Lưỡng phần dữ liệu và xử lý
Trang 11Lịch sử các phương pháp mô hình hóa
Thập niên 90: phương pháp hướng đối tượng, mô hình tiêu biểu là OOD, HOOD, BON, OSA, … và sau này là OOSA, OOA, OMT, CRC, OOM, OOAD, UML/RUP
Trang 12Lịch sử các phương pháp mô hình hóa
Trang 13Lịch sử các phương pháp mơ hình hĩa
OODa
Ida
OOSA
Merise Remora Axial
Ssa Hipo
Tiếp cận Descartes
Arianne Proteé
Corig
Tiếp cận hệ thống
RUP Thời gian
Trang 14Chương 2 MÔ HÌNH VÀ CÁC
PHƯƠNG PHÁP MÔ HÌNH HÓA
Một số phương pháp phân tích thiết kế
hệ thống hướng đối tượng
Trang 15OMT – Object Modeling Technique
hệ thống (lớp, thuộc tính, toán tử, kế thừa, mối kết hợp,…)
của hệ thống có thể thay đổi theo thời gian (trạng thái, sự kiện, hành động, họat động)
liệu bên trong
Trang 16OOA – Object Oriented Analysis
với quan điểm hướng đối tượng Gồm 5
bước:
Xác định cấu trúc: cấu trúc tổng quát –
chuyên biệt; cấu trúc tổng thể thành phần
Trang 17Chương 2 MÔ HÌNH VÀ CÁC
PHƯƠNG PHÁP MÔ HÌNH HÓA
thống hướng đối tượng
Một số mô hình tiêu biểu
Trang 19Mô hình tổ chức
Mô hình phân cấp chức năng : phân rã một
chức năng tổng hợp thành những chức năng chi tiết hơn
Ví dụ: biểu diễn các chức năng của hệ thống cửa
Quản lý xuất
Trang 20CSDL
Tồn kho
Danh sách tồn kho
Lên kế hoạch giao
ĐĐ hàng
Lập phiếu giao hàng
Phiếu giao hàng
Lưu phiếu giao hàng
Phiếu giao hàng Ghi nhận tồn
kho mới
Khách hàng Bộ phận bán hàng Kho Văn phòng
Trang 21Mô hình dòng dữ liệu
Mô hình tương tác thông tin
Khách hàng
Phòng bán hàng
Văn phòng
Kho
Tác nhân
Đơn đặt mua NGK
ĐĐ hàng bị từ chối
Thông tin giao NGK Đơn đặt mua NGK
Tồn kho
Đơn đặt mua NGK
Thông tin giao NGK
Ví dụ: Mô hình tương tác đặt hàng cửa hàng NGK
Trang 22Đơn đặt mua NGK
ĐĐH không hợp lệ ĐĐH bị từ chối
Lưu ĐĐ hàng
Đơn đặt mua NGK
ĐĐH hợp
lệ
Tính tồn kho
Lập hóa đơn giao hàng
Trang 23ĐĐ hàng mới
Đã lên lịch
Đã giao
Đã thanh toán
Trạng thái Biến cố Trạng thái hiện hành
Trang 25Lên lịch giao hàng (b)
Trang 26Mô hình dữ liệu
Mô hình quan hệ
DON_GIA)
NGAYGIAO, TRANG THAI)
DONGIA_DAT)
Cấu trúc cơ bản
NGOẠI,…)
Trang 27Liên kết 1-1
Trang 28Thực thể Mối kết hợp
Trang 29Mô hình đối tƣợng
Mô hình đối tượng theo OOA
Lớp & đối tượng Kết hợp
Tổng quát hoá (IS – A)
Thành phần (Is – Part - Of)
Thông điệp (Message)
Đối tác
Mã số
Họ tên Địa chỉ Điện thoại
ĐĐ Hàng
Mã số Ngày đặt Ngày giao Tổng trị giá Tính trị gia ĐĐ hàng()
NGK đặt
Số lƣợng đặt Đơn giá Trị giá()
Trang 30UML (Unified Modeling Language)
Trang 31UML (Unified Modeling Language)
Các phương pháp khác Booch OMT
Trang 32UML (Unified Modeling Language)
UML:
Tính lặp (iterative)
Gia tăng (incremental)
concentrated)
Hướng kiến trúc (well-defined structure)
Trang 33UML (Unified Modeling Language)
view)
Khung nhìn xử lý (proces view)
Khung nhìn triển khai (deployment
view)
Khung nhìn use case (Use case view)
Trang 34UML (Unified Modeling Language)
Sơ đồ đối tượng (object diagram)
Sơ đồ lớp (class diagram)
Sơ đồ use case (use case diagram)
Sơ đồ thành phần (component diagram)
Sơ đồ triển khai (deployment diragram)
Các sơ đồ tương tác (interaction diagram)
Sơ đồ tuần tự (sequence diagram)
Sơ đồ hợp tác (collaboration diagram)
Sơ đồ hoạt động (activity diagram)
Sơ đồ chuyển dịch trạng thái (state transition
Trang 35UML (Unified Modeling Language)
Sách
tựaSách: string nămXuấtBản: integer
1 1 *
Trang 36UML (Unified Modeling Language)
Sơ đồ đối tượng
nămXuấtBản=1997
Trang 37UML (Unified Modeling Language)
Mƣợn sách
Trả sách
Mƣợn tại chổ
Đọc sách, báo Mua sách Đọc giả
Thủ thƣ
Nhà cung cấp
Trang 38UML (Unified Modeling Language)
Trang 39UML (Unified Modeling Language)
Node 1 (phòng quản trị):Server
Node 2 (phòng quản trị):APP
Server
Cơ sở dữ liệu
Xử lý
Trang 40UML (Unified Modeling Language)
Quay số
Kết nối
Tín hiệu Đổ chuông
Nhấc máy
Gác máy
Tín hiệu
Tín hiệu gác máy Tín hiệu gác máy
Tin hiệu gác máy
Trang 41UML (Unified Modeling Language)
Sơ đồ trạng thái
Sẵn sàng cho mượn Đang mượn
Mất Hết lưu hành
Lưu trữ
Muợn Trả
Đánh mất Đánh mất Đánh mất
Đánh mất Thanh lý
Chấm dứt lưu hành Nhập kho lưu trữ
Nhập kho
Trang 42UML (Unified Modeling Language)