Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 4: Mô hình hóa lĩnh vực ứng dụng

Mô hình khái niệm

 Xác định các khái niệm

 Xác định các thuộc tính

 Xác định các kết hợp

pdf38 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 2425 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 4: Mô hình hóa lĩnh vực ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ility
Operation()
Class Utility
Operation()
Item
Operation()
Phân tích thiết kế hướng đối tượng Bài 6 - 18/40
Các loại lớp trong biểu đồ
 Metaclass
 Là lớp mà hiện thực của nó là lớp chứ không phải 
đối tượng
MetaClass
Attribute
Operation()
Interface
ImplementationClass
 Giao diện (Interfaces)
 Nhiều ngôn ngữ hướng đối tượng hỗ trợ khái niệm giao diện để tách 
cài đặt lớp khỏi giao diện
 Giao diện chỉ chứa signatures của phương pháp cho lớp chứ không 
chứa cài đặt
 Cách tiếp cận này là cơ sở của ngôn ngữ định nghĩa giao diện 
(Interface Definition Language – IDL)
 Cho phép định nghĩa giao diện độc lập ngôn ngữ
Phân tích thiết kế hướng đối tượng Bài 6 - 19/40
Đặc tả lớp trong biểu đồ
 Trong Rose: 
 Sử dụng cửa sổ đặc tả lớp 
để gán các thuộc tính cho 
lớp như stereotype, 
persistent, visibility...
 Cửa sổ đặc tả khác nhau 
với các ngôn ngữ khác 
nhau khi chọn để cài đặt 
mô hình sau này
 Các lớp của Java, XML, 
CORBA
Phân tích thiết kế hướng đối tượng Bài 5 - 20/35
Đặc tả lớp trong biểu đồ
 Đặc tả lớp bao gồm
 Tên lớp
 Mỗi lớp trong mô hình có tên duy nhất
 Thông thường sử dụng danh từ đơn, không nên có dấu cách
 Thí dụ: Flight, Airplane
 Phạm vi (Visibility)
 Xác định khả năng nhìn thấy lớp từ ngoài gói
 Các loại
 Public: mọi lớp trong hệ thống có thể nhìn thấy
 Private hay Protected: có thể nhìn thấy từ bên trong lớp hay từ lớp friend
 Package hay Implementation: chỉ các lớp trong cùng gói mới nhìn thấy
 Tính nhiều (Multiplicity)
 Yêu cầu lưu trữ
 Duy trì (Persistent)
 Tương tranh (Concurrency)
 Trừu tượng (Abstract)
Phân tích thiết kế hướng đối tượng Bài 5 - 21/35
Đặc tả lớp trong biểu đồ
 Đặc tả lớp bao gồm
 ...
 Tính nhiều của lớp (Multiplicity)
 Là số hiện thực mong đợi của lớp
 Thí dụ: tính nhiều của lớp Employee là n, của lớp điều khiển và lớp Security 
Manager là 1...
 Yêu cầu lưu trữ cho lớp
 ...
Multiplicity Ý nghĩa
n (Mặc định) Nhiều
0..0 Không
0..1 Không hoặc 1
0..n Không hoặc nhiều
1..1 Chính xác 1
1..n Một hoặc nhiều
Phân tích thiết kế hướng đối tượng Bài 5 - 22/35
Đặc tả lớp trong biểu đồ
 Đặc tả lớp bao gồm
 ...
 Yêu cầu lưu trữ cho lớp
 Đặt kích thước bộ nhớ mong đợi để lưu trữ đối tượng của lớp
 Duy trì (Persistent)
 Rose: có khả năng sinh ngôn ngữ định nghĩa dữ liệu (Data Definition 
Language – DDL) để định nghĩa cấu trúc của CSDL
 Khi phát sinh DDL, Rose tìm kiếm các lớp có đánh dấu một trong hai 
loại đặc tính Persistence:
 Persistent: Thông tin trong đối tượng của lớp sẽ lưu trữ vào CSDL hay 
tệp có khuôn mẫu khác
 Transient: Thông tin trong đối tượng của lớp sẽ không lưu trữ lâu dài
 Không sử dụng tính chất persistence cho lớp công cụ, lớp công cụ 
tham số và lớp công cụ hiện thực tham số.
 Tương tranh (Concurrency)
 ...
Phân tích thiết kế hướng đối tượng Bài 5 - 23/35
Đặc tả lớp trong biểu đồ
 Đặc tả lớp bao gồm
 ...
 Tương tranh (Concurrency)
 Tương tranh mô tả ứng xử của lớp trong đa luồng điều khiển
 Bốn loại tương tranh
 Sequential: (trạng thái mặc định) lớp ứng xử như hoạt động chỉ trong 
một luồng điều khiển
 Guarded: Lớp ứng xử như trong đa luồng điều khiển, các lớp trong các 
luồng khác nhau cộng tác với nhau để không làm ảnh hưởng đến các lớp 
khác
 Active: Lớp có luồng điều khiển riêng
 Synchronous: Lớp ứng xử như trong đa luồng điều khiển. Các lớp không 
cộng tác với nhau vì chúng hoạt động loại trừ tương hỗ.
 Trừu tượng (Abstract)
 Là lớp không được hiện thực hóa
 Sử dụng trong cấu trúc kế thừa
AbstractClass
Phân tích thiết kế hướng đối tượng Bài 5 - 24/35
Gói các lớp
 Gói (Packages) để nhóm các lớp có 
những cái chung
 Có nhiều quan điểm hình thành gói
 Gói lớp theo prototype
 Thí dụ có gói Boundaries, gói Control và 
gói Entities
 Gói lớp theo chức năng
 Thí dụ gói Security, gói Reporting, gói 
Error Handling...
 Sử dụng tổ hợp hai loại tiếp cận trên để 
hình thành gói
 Có thể tổ chức gói bên trong gói khác
 Quan hệ giữa các gói hình thành trên cơ 
sở quan hệ giữa các lớp trong các gói.
Boundaries
Entities
Control
Phân tích thiết kế hướng đối tượng Bài 5 - 25/35
Thuộc tính
 Thuộc tính (attribute) của một khái niệm biểu diễn dữ liệu 
cần thiết cho các thể hiện của khái niệm
 Ví dụ: khái niệm Mặt hàng có các thuộc tính: Mã, tên
 Thuộc tính chỉ đại diện cho các dữ liệu liên quan đến khái 
niện sở hữu thuộc tính đó
 Ví dụ: Người bán hàng
 Tên
 Số quầy?????
Phân tích thiết kế hướng đối tượng Bài 5 - 26/35
Thêm các thuộc tính lớp
 Tìm kiếm thuộc tính?
 Tìm trong tài liệu UC
 Tìm các danh từ trong luồng sự kiện
 Thí dụ: “Người sử dụng nhập tên, địa chỉ ngày sinh của Nhân viên”
-> Tên, địa chỉ, ngày sinh là danh từ và là thuộc tính của lớp Nhân 
viên
 Tìm trong tài liệu yêu cầu hệ thống
 Thí dụ tài liệu yêu cầu hệ thống mô tả các thông tin cần thu thập
 Tìm thuộc tính trong cấu trúc CSDL
 Nếu đã xác định cấu trúc CSDL thì các trường trong bảng là thuộc tính 
của lớp
Phân tích thiết kế hướng đối tượng Bài 5 - 27/40
Thuộc tính
 Cách xác định các thuộc tính
 Các con số và chuỗi ký tự là thuộc tính
 Nếu 1 tính chất của 1 khái niện không thể làm được điều gì thì rất 
có thể đó là thuộc tính
 Nếu nghi ngờ thuộc tính là khái niện thì đơn giản hãy coi đó là khái 
niệm
 Ví dụ: Lương là thuộc tính hay khái niệm so với khái niệm công nhân
 Nếu nghi ngờ nó là khái niềm thì coi như lương và công nhân là 2 khái 
niệm tách rời
Phân tích thiết kế hướng đối tượng Bài 5 - 28/35
Thêm các thuộc tính lớp
 Trong trường hợp khó khăn quyết định danh từ tìm ra 
là thuộc tính hay là lớp
 Thí dụ: Tên công ty là thuộc tính hay lớp?
 Loại ứng dụng cụ thể quyết định việc này
 Mặt khác cần quan sát nhóm thông tin có hành vi hay không
 Khi kết thúc tìm kiếm thuộc tính
 Đảm bảo rằng các thuộc tính tìm ra phải có ích cho yêu cầu 
hệ thống
 Gán thận trọng thuộc tính cho các lớp
 Không nên hình thành lớp có quá nhiều hay quá ít thuộc tính 
(tốt nhất nên có lớp ít hơn 10 thuộc tính)
Phân tích thiết kế hướng đối tượng Bài 5 - 29/35
Đặc tả thuộc tính lớp
 Trong Rose: sử dụng cửa sổ 
đặc tả thuộc tính để gán đặc 
tính cho thuộc tính
 Với mỗi thuộc tính trong 
biểu đồ cần có:
 Tên thuộc tính
 Kiểu dữ liệu thuộc tính lưu trữ. 
Phụ thuộc vào ngôn ngữ lập 
trình
 Thí dụ, Add : String
 Giá trị khởi đầu
 Thí dụ, IDNumber: Interger=0
 Stereotype
 Phạm vi (visibility)
 ....
Phân tích thiết kế hướng đối tượng Bài 5 - 30/35
Đặc tả thuộc tính lớp
 Với mỗi thuộc tính trong biểu đồ cần có
 ...
 Phạm vi (visibility)
 Một tính chất quan trọng của lập trình hướng 
đối tượng là tính gói
 Bốn lựa chọn phạm vi cho thuộc tính
 Public: Mọi lớp đều nhìn thấy thuộc tính (+)
 Private: Lớp khác không nhìn thấy thuộc tính (-)
 Protected: Các lớp kế thừa có thể nhìn thấy (#)
 Package và Implementation: Thuộc tính là public 
đối với các lớp trong cùng gói
 ...
Private 
Attributes 
and 
Operation
s
Public Attributes
Public Operations
Public
Private
Protected
Package (Implementation)
Public
Private
Protected
+
-
#
Phân tích thiết kế hướng đối tượng Bài 5 - 31/35
Đặc tả thuộc tính lớp
 Với mỗi thuộc tính trong biểu đồ cần có
 ...
 Kiểu lưu trữ thuộc tính
 By value: Lớp chứa thuộc tính
 By reference: Thuộc tính đặt ngoài lớp, lớp có con trỏ đến thuộc tính
 Unspecified: Không xác định
 Thuộc tính tĩnh
 Là thuộc tính chia sẻ cho mọi hiện thực lớp
 Ký hiệu trong lớp là tên thuộc tính có gạch chân (phiên bản cũ: $)
 Thuộc tính suy diễn
 Là thuộc tính được tạo bởi 1 hay nhiều thuộc tính khác
 Ký hiệu: dấu / trước tên thuộc tính
 ...
aClass
staticAttribute
/ derivedAttribute
Phân tích thiết kế hướng đối tượng Bài 5 - 32/35
Thao tác
 Khái niệm có thể có các thao tác (operation)
 Thao tác của khái niệm chính là khả năng thực hiện của 
một thể hiện của khái niệm
 ở giai đoạn này (phân tích, thiết kế kiến trúc) có thể 
không nhất thiết phải mô tả các thao tác của khái 
niệm
 Giai đoạn xây dựng (thực hiện, cụ thể hóa sản phẩm) sẽ 
thực hiện công việc này một cách chi tiết và đầy đủ
Phân tích thiết kế hướng đối tượng Bài 5 - 33/35
Thêm các kết hợp
 Kết hợp biểu diễn quan hệ giữa các thể hiện của các khái 
niệm
 Chú ý :
 Liên kết không có cấu trúc: đó chỉ là các mối liên quan động, xảy ra 
nhất thời -> bỏ. Các liên kết (có cấu trúc) phải ổn định và tồn tại 
trong một khoảng thời gian nào đó
 Liên kết thừa: Những liên kết tìm lại được nhờ lưu hành theo những 
liên kết khác đã có
 Thuộc tính thừa: thuộc tính có thể suy ra từ các thuộc tính khác.
NV bán hàng Đơn hàngCHỌN
Phân tích thiết kế hướng đối tượng Bài 5 - 34/35
Thêm các kết hợp
 Bội số (multiplicity) của vai trò chỉ ra số thể hiện có thể có của quan 
hệ tham gia 
 Các bội số có thể
 1: chỉ đúng 1
 1..* từ 1 đến nhiều
 * từ 0 đến nhiều
 M..n từ m đến n
Cửa hàng Mặt hàng
1 Chứa *
Phân tích thiết kế hướng đối tượng Bài 5 - 35/35
Ví dụ hệ đăng ký môn học
Phân tích thiết kế hướng đối tượng Bài 5 - 36/35
Tóm tắt
 Bài này đã xem xét các vấn đề sau
 Tìm kiếm lớp
 Tìm kiếm thuộc tính, thao tác lớp
 Tìm kiếm các loại quan hệ giữa các lớp
 Biểu diễn biểu đồ lớp và gói
 Biểu diễn đồ họa các thuộc tính của thuộc tính, thao tác 
trong lớp
 Biểu diễn các thuộc tính cho quan hệ giữa các lớp
Phân tích thiết kế hướng đối tượng Bài 5 - 37/35
Bài tập
 Bài 1: Xây dựng mô hình khái niệm hệ thống đăng 
ký môn học (đã làm)
 Bài 2: Xây dựng mô hình khái niệm của hệ thống 
phần mềm bán hàng tại siêu thị
 Phần mềm sử dụng tại siêu thị nhằm ghi nhận hoạt động 
bán hàng, xử lý các thanh toán với khách hàng. Phần 
mềm được sử dụng bởi người bán hàng và được quản lý 
bởi người quản lý siêu thị. Phần mềm nhằm tự động hóa 
công việc của người bán tại quầy thu tiền
Bài 3: Xây dựng mô hình khái niệm của hệ thống 
phần mêm rút tiền ATM
Phân tích thiết kế hướng đối tượng Bài 5 - 38/35
Bài tập

File đính kèm:

  • pdfBài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 4 Mô hình hóa lĩnh vực ứng dụng.pdf
Tài liệu liên quan