Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp

Sơ đồ lớp

Biểu đồ lớp mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng

Là một kỹ thuật mô hình hóa tồn tại ở tất cả các phương pháp phát triển hướng đối tượng

Biểu đồ hay dùng nhất trong UML. 

A A

Các phân tử của sơ đô lớp

Lớp

Thuộc tính

Phương thức

Quan hệ

□ Liên kết (Associations)

□ Tổng quát hóa (Generalization)

□ Phụ thuộc (Dependency)

□ Thực hiện (Realization)

 

docx 38 trang kimcuc 6940
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp

Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CôNg nghệ THÔnG tin
Chương X
TKẾ SO®Ò
Mục đích
Cách 1: Xây dựng lớp lĩnh vực mà không xem tới ứng dụng
Trên một lĩnh vực có thể có nhiều ứng dụng
Ví dụ
■ Hàng không (quản lý bay, quản lý tiếp đất, quản lý ngoại hối..)
Phát hiện ra tính đặc thù của mỗi ứng dụng cụ thể Kết quả: Biểu đồ lớp cho mỗi ca sử dụng
ilftxnan#1
Sơ đồ lớp
Biểu đồ lớp mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng
Là một kỹ thuật mô hình hóa tồn tại ở tất cả các phương pháp phát triển hướng đối tượng
Biểu đồ hay dùng nhất trong UML.
A	A
Các phân tử của sơ đô lớp
■ Lớp
Thuộc tính
Phương thức
Quan hệ
Liên kết (Associations)
Tổng quát hóa (Generalization)
Phụ thuộc (Dependency)
Thực hiện (Realization)
Các luật ràng buộc và ghi chú
F
Phát hiện các đôi tượng/Lớp
Dầu vào: Biểu đồ ca sử dụng và biếu đồ lớp lĩnh vực
Đầu ra: Biểu đồ lớp của từng ca sử dụng
Có 3 loại lớp tham gia ca sử dụng:
Lớp biên (boundary) hay lớp đối thoại:
Lớp điều khiển (control)
Lớp thực thể (entity) là lớp nghiệp vụ
Boundaryclass
Controlclass
Entityclass
class
■ Boundary (Lớp biên)
Dành cho lớp nằm trên biên hệ thống với thế giới còn lại
Chúng có thể là form, report, giao diện với phần cứng như máy in, scanner...
Khảo sát biểu đồ uc để tìm kiếm lớp biên
Entity (lớp thực thể)
Control (Lớp điều khiển)
oundary
Entity
Lớp thực thể là lớp lưti trữ thông tin sẽ ghi vào bộ nhớ ngoài
Tìm chúng trong luồng sự kiện và biểu đồ tương tác
Thông thường phải tạo ra bâng CSDL cho lớp loại này
■ Mỗi thuộc tính của lớp thực thể sẽ là trường trong bảng CSDL
Control
có trách nhiệm điều phối hoạt động của các lớp khác
Thông thường mỗi uc có một lớp điều khiển
Nó không thực hiện chức năng nghiệp vụ nào
Các lớp điều khiển khác: điều khiển sự kiện liên quan đến an ninh và liên quan đến giao dịch CSDL
Boundaryclass
Entityclass
flexpai
Người sử dụng tự tạo ra stereotype mới
Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy
Dựa vào kịch bản đặc tả ta phát hiện các lớp:
Lờp Thực thể: Lấy từ biểu đồ lớp lĩnh vực: Lớp giảng, môn học, thầy giáo
Lờp Biên: w_thầy: Màn hình chính giao tiếp với đối tác thầy giáo
■ W_Lớp giảng và WJJch giảng là các màn hình phụ dùng tương ứng với thêm/bớt lớp giảng và in/xem lịch giảng
Lờp điều khiển: QLLỚpthầy
> GIÀNG VIÊN
Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy
CHIA SẺ DQQ
CHUYÊN MỤC GIÀNG VIÊN
CHUYÊN THANG
UU DÀO TẠO
0 THÔNG TIN
NHÃN SIT
CÔNG ĐOÀN
0 NGHIÊN CỨU KHOA HỌC
\ỹỊ XEM LỊCH DẠY
\ỹỊ XEM LỊCH COI THI g THỐNG KÉ GIỜ GIẢNG
Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy
LỊCH GIẢNG DẠY
Tìm kiếm theo
© Mã giảng viên Tùy chọn
Mã nhân sụ*
Mật khâu xem lương*
(Nềỉt ỉà giảng viên thỉnh giáng thì không cần nhập ĩììật khầu)
Học kỳ*
- Chọn học kỳ -
Xem lịch giảng dạy
Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy
STT
Lớp học
Môn học
Thứ
Tiết dạy
Phòng học
Thời gian dạy
1
Đại học Hệ thống thông tin 10B
(Ly thuyết: 45 tiết)
Phân tích thiết kế hệ thống
Ba
4-5
6
A2.08
Từ: 28-12-2015
Đến: 15-05-2016
2
Đại học Khoa Học Máy tính 9A
(Ly thuyết: 45 tiết)
Nhập môn an toàn thông tin
Ba
7-5
9
X13.03
Từ: 28-12-2015
Đến: 15-05-2016
3
Đại học Khoa học máy tính 10A
(Ly thuyết: 45 tiết)
Hệ cơ sở dữ liệu
Ba
1O-S
12
V14.05
Từ: 28-12-2015
Đến: 15-05-2016
4
Đại học Tin học 11A (Ly thuyết: 3Ó tiết)
Nhập môn Tin học 2
Tư
11-5
12
X13.05
Từ: 28-12-2015
Đến: 15-05-2016
5
Đại học Hệ thống thông tin 9A (Ly thuyết: 45 tiết)
Bào mật cơ sở dữ liệu
Năm
7-5
9
X13.02
Từ: 28-12-2015
Đến: 15-05-2016
6
Đại học Khoa học máy tính 10A
(Thực hành: 30 tiết) - Nhóm 1
Hệ cơ sở dữ liệu
Năm
10-5
12
H5.2.1
Từ: 11-01-2016
Đến: 15-05-2016
Phát hiện và bổ sung các thuộc tính, thao tác cho từng lớp tham gia các ca sử dụng
Lớp thực thể: Tạm thời chỉ có thuộc tính
Lớp điều khiển: Chì có các thao tác. Các thao tác này diễn tả logic của ứng dụng, các quy tắc nghiệp vụ, hành vi hệ thống.
Lớp biên: có cả thuộc tính và thao tác.
Thuộc tính diễn tả các trường thu thập thông tin hay xuất kết quả
Các thao tác biểu diễn những hành động mà người dùng thực hiện trên màn hình giao diện
Thêm liên kết cho các lớp
Lờp biên chỉ được nối với các lóp điều kiển hay với các lờp biên khác
Lóp thức thể chỉ được nối với các lởp điều khiển hay lớp thức thể khác. Liên kết với các lớp điều khiển luôn là 1 chiều (từ điều khiển đến thực thể)
Lờp điều khiển đươc phép truy cập tới mọi loại lớp bo gồm các lớp điều khiển khác
Thêm các đối tác vào biểu đồ theo nguyên tắc: Mỗi đối tác chỉ được nối với một hay một số lớp biên
MonHoc
W_LapQiang
‘^►hocKy
LopGiang ^•ngayTrongTuan tnoiGlan
^layLopGiangO
^►g a n ThayO
■^layUlcnGiang o
♦inLlchGiangQ
i^-mon
fl^>lopGiang
TbayGiao
<1 rom u so C-3fi«a Vm»w)
I^hoc ham/vi
^Ten
Ể^>maSo
^docMonQ
^laytopGlangO
^chonLopGtangO
♦boLopGiangO
Một quan hệ ngữ nghĩa giữa hai hoặc nhiều lớp có mối liên hệ với nhau giữa các đối tượng
Một quan hệ cấu trúc, đặc tả rằng các đối tượng của một lớp kết nổi với đối tượng của lớp khác hoặc chính lớp đó.
Ví dụ: “Một nhân viên làm việc cho một công ty”
Một Liên kết giữa các lớp chỉ ra rằng đối tượng ở một đầu của liên kết nhận ra đôi tượng của đầu kia và có thể gửi thông điệp cho nhau
Role
name
Association
Student
name instructor
s ta ffMcmbcr ——— 	;	
1..*	instructs	*
Multiplicity
Navigable
(unidirectional)
association
Role
Reflexive
association
*
Courses
0.3
Role
name
Association
Student
name
instructor
s ta ffMcmbcr ——— 	;	
1..*	instructs	*
Multiplicity
Navigable
(unidirectional)
association
Role
Reflexive
association
*
Courses
0.3
□ Multiplicity
Chỉ có 1 đối tượng
1
0 hoặc nhiều (unlimited)
* (0..*
1 hoặc nhiều
1 .*
0 hoặc 1 (optional association)
0..'
Khoảng xác định
2..4
Nhiều khoảng
2, 4..6, 8
Phân tích và kiểm định quan hệ
■ Tránh sử dụng quan hệ 1-1 không cần thiết trong biểu đồ lớp
Một kiểu đặc biệt của liên kết, dùng để mô hình hóa quan hệ toàn thể - bộ phận giữa một kết tập và bộ phận của nó
Car
7 *	1	*
“ Door “
House
Part
Whole
■ Kiểm tra kết tập:
Cụm từ “bộ phận của’’ (part of) được sử dụng để mồ tả quari hệ?
Cánh cửa là một bộ phận của xe hơi
CÓ phải một số hành vi của toàn thể đuợc áp dụng tự động cho bộ phận của nó?
Xe hơi di chuyển, cửa di chuyển.
CÓ phải một vài giá trị thuộc tính của toàn thẻ kéo theo một số thuộc tính của bộ phận?
Xe hơi màu xanh nên cửa màu xanh.
Có tồn tại sự không đảo chiều giữa các lớp cho quan hệ kết tập?
Cửa là bộ phận của xe hơi. Xe hơi không là bộ phận của cửa.
■ Một dạng đặc trưng của kết tập
□Toàn thể là sở hữu duy nhất của bộ phận
Số cá thể ở phía lớp toàn thể phải là 0 hoặc 1.
Thời gian sống của (lớp) bộ phận phụ thuộc vào (lớp) toàn the.
□Toàn thể phải quản lý việc tạo và hủy các bộ phận của nó.
Circle ♦	\ / Point	Circle
Polygon
3..*
Point
Đối tượng của lớp chuyên biệt (lớp con có thể thay thế bởi các đối tượng của lớp tổng quát (lớp cha).
□ Quan hệ “is a
Person
Super
Class
Generalization
relationship
Student
Sub
Class
Lớp con thừa kế lớp cha:
□Thuộc tính
Phương thức
Quan hệ
Lớp con có thể
□Thêm thuộc tính và phương thức
□Thêm quan hệ
Ghi đè các phương thức thừa kế
■ Sự phụ thuộc chỉ ra một quan hệ ngữ nghĩa giữa hai hoặc nhiều lớp trong đó sự thay đổi của lớp này bắt buộc sự thay đổi của lớp khác mặc dù giữa chúng không có một sự liên kết rõ ràng
Client
«fricnd» >
Supplier
Một quan hệ thực hiện chỉ ra một lớp thực thi hành vi đặc tả bởi một lớp khác (thường là một giao diện)
Một giao diện có thể được thực thi bởi nhiều lớp
Một lớp có thể thực thi nhiều giao diện
LinkcdLìst
«iiHcrf'acc»
List
LinkcdList —o List
Các rang buộc và ghi chú
Ràng buộc và chú thích các liên kết, thuộc tính, phương thức và các lớp Các ràng buộc là các hạn chế ngữ nghĩa được viết dưới dạng biểu thức Boolean
Customer
id: long ị value > 0 }
*
ị total < $50 }
Order
may be canceled
Note
Constraint
Các giai đoạn của mô hình hóa đôi tượng
Tìm kiếm các lớp
Xác định liên kết giữa các lớp
Xác định các thuộc tính
Tổ chức và đơn giản hóa các lớp bằng cách sử dụng quan hệ thưa kế
Xóa các liên kết thừa
Kiểm tra xem biểu đò đã bao gồm tất cả các yêu cầu của tài liệu hay chưa?
Lặp lại và làm mịn mô hình
Nhóm các lớp thành các modules (gói)
Người quản lý thư viện mong muốn tự động hóa việc mượn sách
Họ yêu cầu một phần mềm cho phép người sử dụng biết sách hiện có, có thê đặt mượn 2 quyện sách, những người tham gia mượn sách có thể biết sách nào đã mượn hoặc đã đặt
Những người tham gia mượn sách sở hữu một password để truy nhạp
Việc mượn sách được thực hiện bởi các thủ thư, sau khi xác định người mượn sách, hộ biết được người này có được phép mượn hay không? (tối đa 5 quyên), người nàỹ được ưu tiền? (đã đặt trước)
Xác định các liên kêt
Library
I * employee
Librarian
contain
Participant
.♦	0..2 <] reserved I
Book
0..5 <] borrowed
0..*
Borrowing
Xác định các thuộc tính
employee
Librarian
L.*
0..2 <] reserved 1
1..
Book
Participant
0..5 <1 borrowed 1
ID
contain
Person
name
addr
employee
Librarian
L.*
0..2 <] reserved 1
1..
Book
Participant
0..5 <1 borrowed 1
ID
contain
Person
name
addr
Câu 1. Xác định quan hệ giữa các lớp: Keyboard, Mouse, Laptop và Desktop.
Câu 2. Xác định quan hệ giữa các lớp: Person, StaffMember và Company. Nếu hệ thống có thêm lớp University thì quan hệ này sẽ thay đổi thế nào (StaffMember là bộ phận của Company và cũng là bộ phận của University).
Câu 3. Xác định quan hệ giữa các lớp: Car, Door và Truck.

File đính kèm:

  • docxbai_giang_phan_tich_va_thiet_ke_he_thong_chuong_10_thiet_ke.docx
  • pdftran_thi_kim_chi_c010a_bieudolop1_1299_543015.pdf