You are on page 1of 14

THIẾT KẾ HỆ THỐNG

Giảng viên: Cao Thị Nhâm


BỨC TRANH TỔNG THỂ

Thiết kế
• Xác định yêu cầu • Coding
• Mô hình hóa quy • Tạo TL HD sử dụng
trình • Thiết kế lớp
• Testing
• Mô hình hóa cấu trúc • Thiết kế tầng quản lý dữ liệu
• Cài đặt và triển khai
• Mô hình hóa hành vi • Thiết kế giao diện người dùng
• Thiết kế kiến trúc vật lý
Phát triển &
Phân tích
vận hành

@NhamCT 2022 Thiết kế lớp 2


Nội dung chính

Thiết kế lớp

Thiết kế tầng quản lý dữ liệu

Thiết kế giao diện người dùng

Thiết kế kiến trúc vật lý

@NhamCT 2022 Thiết kế lớp 3


THIẾT KẾ LỚP
• Nguyên lý SOLID
• Thiết kế lớp
• Đặc tả phương thứ
• Thiết kế ràng buộc

@NhamCT 2022 Thiết kế lớp 4


Cấu trúc hệ thống
NHẮC LẠI
• Lớp

• Đối tượng

• Hành vi

• Phương thức

• Đặc điểm của OOP:


• Đóng gói
• Đa hình
• Thừa kế
• Trừu tượng
@NhamCT 2022 Thiết kế lớp 5
Các nguyên lý thiết kế
A good design is one that balances trade-offs to minimize the total cost of the
system over its entire lifetime.
Coad and Yourdon

• Nguyên lý SOLID
• Single responsibility principle
• Open/closed principle
• Liskov Substitution Principle
• Interface Segregation Principle
• Dependency inversion principle
@NhamCT 2022 Thiết kế lớp 6
S
O Có thể mở rộng một class
Một class chỉ nên giữ một trách nhiệm duy nhất

L nhưng không được sửa đổi bên trong nó

I
Các object của class con có thể thay thế class cha mà
D Thay vì dùng 1 interface lớn, nên tách thành
không làm thay đổi tính đúng đắn của chương trình nhiều interface nhỏ, với nhiều mục đích cụ thể
@NhamCT 2022 Thiết kế lớp 7
Công việc cần làm

Review các thiết kế


Thiết kế lớp

Đặc tả phương thức

Thiết kế ràng buộc

@NhamCT 2022 Thiết kế lớp 8


Thiết kế lớp

@NhamCT 2022 Thiết kế lớp 9


Thiết kế lớp (tiếp)

@NhamCT 2022 Thiết kế lớp 10


Đặc tả phương thức
• Là một tài liệu thể hiện cách thức thực hiện của phương thức

→người lập trình dựa trên tài liệu này để code

• Nội dung đặc tả gồm 4 phần chính:


• Thông tin tổng quát

• Sự kiện kích hoạt

• Tham số

• Đặc tả thuật toán

@NhamCT 2022 Thiết kế lớp 11


Đặc tả phương thức (tiếp)
Thông tin tổng quát

Method name: Class name: Programmer:


Sự kiện kích hoạt
Events:
Name Data type
Inputs
Tham số

Outputs
Algorithm Đặc tả thuật toán
specification
Notes Các ghi chú khác

@NhamCT 2022 Thiết kế lớp 12


Thiết kế ràng buộc
• Các loại ràng buộc
• Điều kiện tiên quyết (Pre-condition)
• Ràng buộc cần đạt được để một phương thức có thể thực thi

• Ví dụ: tham số đầu vào của phương thức Tìm ước số của hai số phải có giá trị nguyên

• Hậu điều kiện (Post-condition)


• Ràng buộc cần đạt được sau khi thực thi một phương thức

• Ví dụ: Điểm số của sinh viên phải được lưu vào cơ sở dữ liệu sau khi kết thúc phương thức

• Invariant
• Ràng buộc áp dụng cho các thuộc tính của lớp

• Ví dụ: Thuộc tính Tuổi phải có giá trị nguyên nằm trong khoảng 0 - 120

@NhamCT 2022 Thiết kế lớp 14


@NhamCT 2022 Thiết kế lớp 15

You might also like