Biểu đồ lớp
Các phương thức
Lớp Thủ thư
Định nghĩa: Chứa thông tin mật khẩu và tài khoản của quản lý được cấp cho các thủ
thư dùng chung. Có khả năng tác động đến lớp Sách, Mượn trả sách, Độc giả.
Phương thức:
taoTk(): tạo tài khoản dùng chung cho các thủ thư để đang nhập hệ thống.
dangNhap(): kiểm tra xem mật khẩu tài khoản đúng không nếu đúng thì đăng
nhập, sai thì nhập lại.
dangXuat(): phương thức giúp thủ thư đăng xuất khỏi hệ thống.
Lớp Sách
Định nghĩa: Chứa thông tin của Sách quan hệ mượn trả với lớp Độc giả, một quyển
Sách có thể được mượn bởi một hay nhiều độc giả.
Phương thức:
getter(): thực hiện thao tác lấy dữ liệu, thuộc tính của sách.
setter(): chỉ định thông tin thuộc tính của sách.
themSach(): thêm sách vào trong cơ sở dữ liệu.
xoaSach: xóa sách khỏi cơ sở dữ liệu.
suaSach(): sửa thông tin của sách trong cơ sở dữ liệu.
HienThiSach(): hiển thị thông tin của sách trên giao diện.
checkSach(): kiểm tra số lượng của sách.
timSach(): tìm kiếm sách.
Lớp Mượn trả sách
Định nghĩa: Chứa thông tin quan hệ mượn trả của độc giả và độc giả.
Phương thức:
getter():thực hiện thao tác lấy dữ liệu, thuộc tính của lớp mượn trả.
setter(): chỉ định thông tin thuộc tính của lớp mượn trả.
themMuonTra() : thêm khi có bạn mượn sách.
xoaMuonTra(): xóa quan hệ khỏi cơ sở dữ liệu.
suaMuonTra() : sửa thông tin mượn trả.
hienThiMuonTra(): hiển thị thông tin mượn trả.
Lớp Độc giả
Định nghĩa: Chứa thông tin của các độc giả của thư viện yêu cầu thẻ còn trong thời
gian sử dụng. Có quan hệ mượn trả với lớp Sách.
Phương thức:
getter(): thực hiện thao tác lấy dữ liệu, thuộc tính của độc giả.
setter(): chỉ định thông tin, thuộc tính của độc giả.
themĐG(): thêm độc giả mượn vào cơ sở dữ liệu.
xoaĐG(): xóa độc giả khỏi cơ sở dữ liệu.
suaĐG(): sửa thông tin độc giả trong cơ sở dữ liệu.
HienThiĐG(): hiển thị thông tin độc giả.
checkĐG() : kiểm tra mã thẻ của độc giả còn trong sở dữ liệu không (còn hạn
sử dụng)
timĐG(): tìm kiếm độc giả.
dangNhap(): kiểm tra xem mật khẩu tài khoản đúng không nếu đúng thì đăng
nhập, sai thì nhập lại.
dangXuat(): phương thức giúp thủ thư đăng xuất khỏi hệ thống.
Biểu đồ đối tượng
Biểu đồ giao tiếp
Hệ thống đăng nhập
Hệ thống tìm kiếm
Hệ thống mượn sách
Hệ thống trả sách
Hệ thống hiển thị sách
Hệ thống hiển thị độc giả
Cơ sở lý thuyết
Phân tích và thiết kế hướng đối tượng
Phân tích và thiết kế ớng đối tượng là một kỹ thuật tiếp cận phổ biến dùng để phân
tích, thiết kế một ứng dụng, hệ thống. Nó dựa trên bộ các nguyên tắc chung, đó là một tập
các hướng dẫn để giúp chúng ta tránh khỏi một thiết kế xấu. 5 nguyên tắc SOLID trong
thiết kế hướng đối tượng:
Một lớp chỉ nên một do để thay đổi, tức một lớp chỉ nên xử một chức
năng đơn lẻ, duy nhất thôi. Nếu đặt nhiều chức năng vào trong một lớp sẽ dẫn đến
sự phụ thuộc giữa các chức năng với nhau và mặc dù sau đó ta chỉ thay đổi ở một
chức năng thì cũng phá vỡ các chức năng còn lại.
Các lớp, module, chức năng nên dễ dàng Mở (Open) cho việc mở rộng (thêm chức
năng mới) và Đóng (Close) cho việc thay đổi.
Lớp dẫn xuất phải có khả năng thay thế được lớp cha của nó.
Chương trình không nên buộc phải cài đặt một interface không sử dụng đến.
Các module cấp cao không nên phụ thuộc o các module cấp thấp. Cả hai nên
phụ thuộc thông qua lớp trừu tượng. Lớp trừu tượng không nên phụ thuộc vào chi
tiết. Chi tiết nên phụ thuộc vào trừu tượng.
UML là gì?
Ngôn ngữ hình hóa thống nhất (tiếng Anh: Unified Modeling Language, viết tắt
thành UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng
đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng.
Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về
cấu trúc cũng như hoạt động. Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho
những người thiết kế thực hiện hệ thống thông tin cũng như những người sử dụng nó;
tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng. Cách nhìn
bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người ng; phục vụ từ giai đoạn phân
tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin. Các
hình hướng đối ợng được lập cũng sở cho việc ứng dụng các chương trình tự
động sinh mã trong các ngôn ngữ lập trình hướng đối tượng, chẳng hạn như ngôn ngữ C++,
Java,... Phương pháp hình này rất hữu dụng trong lập trình hướng đối tượng. Các
hình được sử dụng bao gồm Mô hình đối tượng (mô hình tĩnh) và Mô hình động.
Tại sao lại là OOAD và UML?
OOAD cần các bản vẽ để mô tả hệ thống được thiết kế, còn UML là ngôn ngữ mô tả
các bản vẽ nên cần nội dung thể hiện. Do vậy, chúng ta phân tích thiết kế theo hướng
đối tượng và sử dụng UML để biểu diễn các thiết kế đó nên chúng thường đi đôi với nhau.
OOAD sử dụng UML
UML sử dụng để vẽ cho nhiều lĩnh vực khác nhau như phần mềm, cơ khí, xây dựng
v… trong phạm vi các bài viết này chúng ta chỉ nghiên cứu cách sử dụng UML cho phân
tích thiết kế ớng đối tượng trong ngành phần mềm. OOAD sử dụng UML bao gồm
các thành phần sau:
View (góc nhìn)
Diagram (bản vẽ)
Notations (ký hiệu)
Mechanisms (qui tắc, cơ chế)
Draw: https://drive.google.com/file/d/1Xku5XteYeBGKM_4T_G411HCHLevvSPQV/
view?usp=sharing

Preview text:

Biểu đồ lớp Các phương thức Lớp Thủ thư
Định nghĩa: Chứa thông tin mật khẩu và tài khoản của quản lý được cấp cho các thủ
thư dùng chung. Có khả năng tác động đến lớp Sách, Mượn trả sách, Độc giả. Phương thức:
taoTk(): tạo tài khoản dùng chung cho các thủ thư để đang nhập hệ thống.
dangNhap(): kiểm tra xem mật khẩu tài khoản có đúng không nếu đúng thì đăng
nhập, sai thì nhập lại.
dangXuat(): phương thức giúp thủ thư đăng xuất khỏi hệ thống. Lớp Sách
Định nghĩa: Chứa thông tin của Sách có quan hệ mượn trả với lớp Độc giả, một quyển
Sách có thể được mượn bởi một hay nhiều độc giả. Phương thức:
getter(): thực hiện thao tác lấy dữ liệu, thuộc tính của sách.
setter(): chỉ định thông tin thuộc tính của sách.
themSach(): thêm sách vào trong cơ sở dữ liệu.
xoaSach: xóa sách khỏi cơ sở dữ liệu.
suaSach(): sửa thông tin của sách trong cơ sở dữ liệu.
HienThiSach(): hiển thị thông tin của sách trên giao diện.
checkSach(): kiểm tra số lượng của sách.
timSach(): tìm kiếm sách. Lớp Mượn trả sách
Định nghĩa: Chứa thông tin quan hệ mượn trả của độc giả và độc giả. Phương thức:
getter():thực hiện thao tác lấy dữ liệu, thuộc tính của lớp mượn trả.
setter(): chỉ định thông tin thuộc tính của lớp mượn trả.
themMuonTra() : thêm khi có bạn mượn sách.
xoaMuonTra(): xóa quan hệ khỏi cơ sở dữ liệu.
suaMuonTra() : sửa thông tin mượn trả.
hienThiMuonTra(): hiển thị thông tin mượn trả. Lớp Độc giả
Định nghĩa: Chứa thông tin của các độc giả của thư viện yêu cầu là thẻ còn trong thời
gian sử dụng. Có quan hệ mượn trả với lớp Sách. Phương thức:
getter(): thực hiện thao tác lấy dữ liệu, thuộc tính của độc giả.
setter(): chỉ định thông tin, thuộc tính của độc giả.
themĐG(): thêm độc giả mượn vào cơ sở dữ liệu.
xoaĐG(): xóa độc giả khỏi cơ sở dữ liệu.
suaĐG(): sửa thông tin độc giả trong cơ sở dữ liệu.
HienThiĐG(): hiển thị thông tin độc giả.
checkĐG() : kiểm tra mã thẻ của độc giả còn trong cơ sở dữ liệu không (còn hạn sử dụng)
timĐG(): tìm kiếm độc giả.
dangNhap(): kiểm tra xem mật khẩu tài khoản có đúng không nếu đúng thì đăng
nhập, sai thì nhập lại.
dangXuat(): phương thức giúp thủ thư đăng xuất khỏi hệ thống.
Biểu đồ đối tượng
Biểu đồ giao tiếp Hệ thống đăng nhập Hệ thống tìm kiếm Hệ thống mượn sách Hệ thống trả sách
Hệ thống hiển thị sách
Hệ thống hiển thị độc giả Cơ sở lý thuyết
Phân tích và thiết kế hướng đối tượng
Phân tích và thiết kế hướng đối tượng là một kỹ thuật tiếp cận phổ biến dùng để phân
tích, thiết kế một ứng dụng, hệ thống. Nó dựa trên bộ các nguyên tắc chung, đó là một tập
các hướng dẫn để giúp chúng ta tránh khỏi một thiết kế xấu. 5 nguyên tắc SOLID trong
thiết kế hướng đối tượng:
Một lớp chỉ nên có một lý do để thay đổi, tức là một lớp chỉ nên xử lý một chức
năng đơn lẻ, duy nhất thôi. Nếu đặt nhiều chức năng vào trong một lớp sẽ dẫn đến
sự phụ thuộc giữa các chức năng với nhau và mặc dù sau đó ta chỉ thay đổi ở một
chức năng thì cũng phá vỡ các chức năng còn lại.
Các lớp, module, chức năng nên dễ dàng Mở (Open) cho việc mở rộng (thêm chức
năng mới) và Đóng (Close) cho việc thay đổi.
Lớp dẫn xuất phải có khả năng thay thế được lớp cha của nó.
Chương trình không nên buộc phải cài đặt một interface mà nó không sử dụng đến.
Các module cấp cao không nên phụ thuộc vào các module cấp thấp. Cả hai nên
phụ thuộc thông qua lớp trừu tượng. Lớp trừu tượng không nên phụ thuộc vào chi
tiết. Chi tiết nên phụ thuộc vào trừu tượng. UML là gì?
Ngôn ngữ mô hình hóa thống nhất (tiếng Anh: Unified Modeling Language, viết tắt
thành UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng
đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng.
Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về
cấu trúc cũng như hoạt động. Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho
những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó;
tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng. Cách nhìn
bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai đoạn phân
tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin. Các
mô hình hướng đối tượng được lập cũng là cơ sở cho việc ứng dụng các chương trình tự
động sinh mã trong các ngôn ngữ lập trình hướng đối tượng, chẳng hạn như ngôn ngữ C++,
Java,... Phương pháp mô hình này rất hữu dụng trong lập trình hướng đối tượng. Các mô
hình được sử dụng bao gồm Mô hình đối tượng (mô hình tĩnh) và Mô hình động.
Tại sao lại là OOAD và UML?
OOAD cần các bản vẽ để mô tả hệ thống được thiết kế, còn UML là ngôn ngữ mô tả
các bản vẽ nên cần nội dung thể hiện. Do vậy, chúng ta phân tích và thiết kế theo hướng
đối tượng và sử dụng UML để biểu diễn các thiết kế đó nên chúng thường đi đôi với nhau. OOAD sử dụng UML
UML sử dụng để vẽ cho nhiều lĩnh vực khác nhau như phần mềm, cơ khí, xây dựng
v… trong phạm vi các bài viết này chúng ta chỉ nghiên cứu cách sử dụng UML cho phân
tích và thiết kế hướng đối tượng trong ngành phần mềm. OOAD sử dụng UML bao gồm các thành phần sau: View (góc nhìn) Diagram (bản vẽ) Notations (ký hiệu)
Mechanisms (qui tắc, cơ chế) Draw:
https://drive.google.com/file/d/1Xku5XteYeBGKM_4T_G411HCHLevvSPQV/ view?usp=sharing