You are on page 1of 20

Câu 9: Biểu đồ trạng thái?

a. Ý nghĩa
- Biểu đồ trạng được sử dụng để biểu diễn các trạng thái và sự chuyển tiếp các
trạng thái và sự chuyển tiếp giữa các trạng thái của các đối tượng trong 1 lớp
xác định
- Có 2 dạng biểu đồ trạng thái
• Biểu đồ trạng thái cho usecase: Mô tả các trạng thái và chuyển tiếp
trạng thái của một đối tượng thuộc một lớp nào đó trong hoạt động của
một usecase cụ thể
• Biểu đồ trạng thái cho hệ thống mô tả tất cả các trạng thái của một đối
tượng trong toàn bộ hoạt động của cả hệ thống
b. Thành phần
- Trạng thái: Biểu diễn một trạng thái của đối tượng trong vòng đời của đối
tượng đó
Kí hiệu:
- Trạng thái khởi đầu: Khởi đầu của của đối tượng
Kí hiệu:
- Trạng thái kết thúc: Kết thúc vòng đời của đối tượng
- Chyển tiếp: Chuyển từ trạng thái này sang trạng thái khác, gắn liền với các
hành động được kích hoạt bởi sự kiện
- Các sự kiện: Sự kiện tác động gây ra bởi sự chuyển đổi trạng thái. Mỗi sự kiện
được đi kèm với các điều kiện(guard) và các hành động (action)
o Sự kiện gọi
o Sự kiện tín hiệu
o Sự kiện thời gian
c. Ví dụ:

1
Câu 7: Biểu đồ trình tự
a. Ý nghĩa
- Biểu diễn mối quan hệ giữa các đối tượng và tác nhân theo thứ tự thời gian.
- Biểu đồ tuần tự nhấn mạnh thứ tự thực hiện của các tương tác
- Biểu đồ này cho biết các thông điệp được truyền tuần tự như thế nào theo thời
gian. Thứ tự thực hiện các sự kiện trong biểu đồ tuần tự hoàn toàn tương tự
như trong scenario mô tả các usecase tương ứng
b. Thành phần
- Các đối tượng: được biểu diễn bởi các hình chữ nhật, bên trong là tên của đối
tượng. Cách viết chung của đối tượng là: Tên đối tương:Tên lớp
- Các message: Đươc biểu diễn bằng các mũi tên hướng từ đối tượng gửi sang
đối tượng nhận. Tên các message có thể biểu diễn dưới dạng phi hình thức
hoặc hình thức. Biểu đồ tuần tự cho phép có các message từ một đối tượng tới
chính bản thân nó
 Các loại messege
o Gọi (Call): Mô tả một lời gọi từ đối tượng này tới đối tượng kia
o Trả về (Return): Trả về giá trị tương ứng với lời gọi
o Gửi(send): Gửi tín hiệu tới đối tượng
o Tạo(creat): Tạo một đối tượng
o Hủy(Destroy):
- Đường lifeline: Là một đường kẻ nối dài phía dưới đối tượng, mô tả quá trình
của đối tượng trong tương tác thuộc biểu đồ
- Chú thích: Biểu đồ tuần tự có thể có chú thích để người đọc dễ dàng hiểu được
nội dung của biểu đồ đó
c. Ví dụ

2
Câu 8: Biểu đồ cộng tác
a. Ý nghĩa
- Biểu diễn mối quan hệ giữa các đối tượng, giữa các đối tượng và tác nhân,
nhấn mạnh đến vai trò của các đối tương trong tương tác
- Nhấn mạnh mối quan hệ về mặt không gian giữa các đối tượng trong hệ thống
b. Thành phần
- Các đối tượng: được biểu diễn bởi các hình chữ nhật bên trong là tên của đối
tượng. Cách viết chung của đối tượng là: Tên đối tượng:Tên lớp. Trong biểu
đồ cộng tác, các đối tượng tham gia tương tác luôn xuất hiện tại 1 vị trí xác
định
- Các liên kết: Giữa 2 đối tượng có tương tác sẽ có 1 liên kết nối từ hai đối tượng
đó. Liên kết này không có chiểu
- Các message: được biểu diễn bằng các mũi tên hướng từ đối tượng gửi sang
đối tượng nhận bên cạnh liên kết giữa 2 đối tượng đó. Trong biểu đồ cộng tác
các message được đánh số thứ tự theo thứ tự xuất hiện trong kịch bản mô tả
các usecase tương ứng.
c. Ví dụ:

3
Câu 4: Mối quan hệ trong biểu đồ lớp
a. Quan hệ kết hợp(Association)
- Định nghĩa: Kết hợp là quan hệ cấu trúc để mô tả tập liên kết (một liên kết là
kết nối giữa các đối tượng). Khi đối tượng của lớp này gửi/nhận thông điệp
đến/từ đối tượng của lớp kia thì ta gọi chúng là có quan hệ kết hợp
- Ví dụ

b. Quan hệ phụ thuộc (Dependency)


- Phụ thuộc là mối quan hệ giữa hai lớp đối tượng: một lớp đối tượng A có tính
độc lập và một lớp đối tượng B phụ thuộc vào A; một sự thay đổi của A sẽ ảnh
hưởng đến lớp phụ thuộc B.
Ký pháp đồ họa của nó được thể hiện:
- Ví dụ:

c. Quan hệ cộng gộp (Aggregation)


- Aggregation là quan hệ giữa tổng thể và bộ phận
o Trong quan hệ này, một lớp biểu diễn cái lớn hơn còn lớp kia biểu
diễn cái nhỏ hơn
o Biểu diễn quan hệ has-a
Một đối tượng của lớp tổng thể có nhiều đối tượng của lớp thành
phần
o Tổng thể và bộ phận có thể hủy bỏ vào thời điểm khác nhau
o Tên khác: quan hệ cộng hợp bởi tham chiếu (by reference)
o Là dạng đặc biệt của kết hợp, nó biểu diễn quan hệ cấu trúc giữa
toàn thể và bộ phận (là dạng quan hệ mụ tả một lớp A là một phần
của lớp B và lớp A cú thể tồn tại độc lập).
- Ví dụ

4
d. Quan hệ gộp (Composition)
- Một quan hệ gộp biểu diễn một quan hệ kiểu tổng thể-bộ phận. Lớp A có quan hệ
gộp với lớp B nếu lớp A là một phần của lớp B và sự tồn tại của đối tượng lớp B
điều khiển sự tồn tại của đối tượng lớp A.
*Quan hệ gộp:
Composition là dạng đặc biệt (mạnh hơn) của quan hệ cộng gộp
o Tổng thể và thành phần được hình thành hay hủy bỏ vào cùng thời điểm
o Tên khác: quan hệ cộng hợp bởi giá trị (by value)

- Kí hiệu:
- Ví dụ

e. Quan hệ khái quát hóa ( Kế thừa –Gerneralization)


- Khái quát hóa là quan hệ đặc biệt hoá / khái quát hoá mà trong đó đối tượng
củ thể sẽ kế thừa các thuộc tính và phương pháp của đối tượng tổng quát.
- cho phép một lớp kế thừa các thuộc tính, thao tác public và protected của
lớp khác:
- Ví dụ:

5
f. Quan hệ thực thi
- Biểu diễn mối quan hệ ngữ nghĩa giữa các thành phần cửa biểu đồ lớp,
trong đó 1 thành phần mô tả 1 công việc dạng hợp đồng và thành phần còn
lại thực hiện hợp đồng đó. Thông thường, lớp thực hiện hợp đồng có thể là
các giao diện
- Ví dụ

Câu 1: Trình bày đặc điểm chính của phương pháp thiết kế hướng đối tượng. So
sánh pttk hướng đối tượng và phân tích thiết kế hướng chức năng?
1. Phân tích thiết kế hướng chức năng
- Phương pháp hướng chức năng là phương pháp chia chương trình chính thành
các chương trình con, mỗi chương trình con thực hiện 1 công việc xác định

- Phần mềm được thiết kế theo 2 hướng: hướng dữ liệu và hướng hàng động

o Tiếp cận hướng dữ liệu: dựa vào yêu cầu lưu trữ dữ liệu của phần mềm mà
xây dựng các chức năng của hệ thống

o Tiếp cận theo hướng hành động: dựa vào các hành động của phần mềm để
tạo ra cơ sở dữ liệu

- Cách thức thực hiện là thiết kế từ trên xuống( top-down), phương pháp này tiến
hành phân rã bài toán lớn thành các bài toán con, phân chia đến các hàm và thủ
tục

2. Phân tích thiết kế hướng đối tượng


- Lấy đối tượng làm trung tâm
- Chia ứng dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối
độc lập với nhau. Sau đó ta có thể xây dựng ứng dụng bằng cách chắp các đối
tượng đó lại với nhau.

- Chức năng của hệ thống được biểu diễn thông qua cộng tác của đối tượng, việc
thay đổi chức năng, tiến hóa chức năng không làm thay đổi đến cấu trúc tĩnh của
phần mềm

- Hệ thống = tập hợp các đối tượng + quan hệ giữa các đối tượng
- Các đối tượng trao đổi với nhau bằng thông điệp (message). Không sử dụng biến
toàn cục
- Có tính đóng gói:

6
Dữ liệu +xử lý dữ liệu= đối tượng
Thuộc tính + phương thức= lớp
Ưu: Hạn chế sự ảnh hưởng khi có sự thay đổi cập nhật
Ngăn cản sự truy cập thông tin từ bên ngoài
Che dấu thông tin
- Tính thừa kế:
Một lớp được xây dựng từ 1 hoặc nhiều lớp khác bằng việc chia sẻ các thuộc tính
và phương thức
Lớp con thừa kế các thuộc tính và phương thức từ lơp cha
Tổng quát hóa, chuyên biệt hóa: Tổng quát hóa: Đặt các tính chất chung của của
các lớp khác nhau vào một lớp cha; Chuyên biệt hóa: Tạo ra một lớp con có tính
chất riêng từ lớp cha.
- Đơn thừa kế: Một lớp con chỉ thừa kế từ 1 lớp cha
- Đa thừa kế: Một lớp con thừa kế từ nhiều lớp cha khác nhau
- Tính đa hình
3. So sánh
- Lập trình cấu trúc
Thuật toán+ CTDL= Chương trình
- Lập trình hướng đối tượng
∑Đối tượng = chương trình
Đối tượng = Thuật toán+ CTDL
PTTK hướng chức năng PTTK hướng đối tượng
Ưu điểm - Phân rã được chức năng của hệ - Phân tích thiết kế gần gũi với thế
thống giới thực
- Tư duy phân tích thiết kế rõ - Tái sử dụng dễ dàng
ràng, chương trình sáng sửa dễ - Đóng gói che dấu thông tin làm
hiểu cho hệ thống tin cậy hơn
- Đối với hệ thống nhỏ thì chi -Thừa kế làm giảm chi phí, hệ
phí ít tốn kém thống có tính mở cao
- Có nhiều ngôn ngữ hỗ trợ cài - Phù hợp với hệ thống lớn
đặt
Nhược điểm - Việc dựa vào cấu trúc của quá - Thiếu sự linh động khi thay đổi
trình chức năng dẫn đến khi chức thông tin
năng hệ thống thay đổi, cấu trúc - Chi phí tốn kém
ấy có thể bị thay đổi rất nhiều,
thậm chí phải thay đổi toàn bộ
- Tính mở của hệ thống thấp
- Khó tái sử dụng
- Chi phí sửa lỗi lớn
Câu 2: Biểu đồ usecase
a. Biểu đồ usecase:

7
Biểu đồ usecase biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu của hệ
thống, biểu đồ usecase sẽ phải chỉ ra hệ thống cần phải thực hiện điều gì để thỏa
mãn các yêu cầu của người dùng hệ thống đó.
Biểu đồ usecase chỉ ra sự tương tác giữa các tác nhân và hệ thống thông qua các
user. Hay nói cách khác, một biểu đồ usecase là tập hợp các tác nhân, các usecase
và mối quan hệ giữa chúng
b. Thành phần
- Actor: Actor có thể là các thực thể bên ngoài hệ thống có tương tác với hệ
thống(Thông thường actor là người dùng, tuy nhiên actor cũng có thể là các hệ
thống bên ngoài) theo 1 trong các hình thức sau:
o Tương tác, trao đổi thông tin với hệ thống hoặc sử dụng chức năng hệ thống

o Cung cấp đầu vào hoặc nhận các đầu ra của hệ thống

o Không điều khiển hoạt động của hệ thống

- Usecase: Use-case như tên gọi của nó, là một trường hợp sử dụng của hệ thống, nó
mô tả một chuỗi hành động mà hệ thống sẽ thực hiện để đạt được kết quả có ý
nghĩa đối với một tác nhân nào đó.
- Mối quan hệ giữa các usecase (Relationships)
- Boundary
c. Mối quan hệ giữa các usecase
 Quan hệ bao hàm (include): chỉ ra rằng usecase này có thể sử dụng lại chức
năng của usecase kia
Bán
hàng

<<include>>

In hóa đơn

Giải thích: Bán hàng bao gồm một số thao tác, trong đó có thao tác In hóa
đơn. Điều này có nghĩa là nếu Bán hàng thì phải In hóa đơn nhưng ngược lại
thì chưa chắc
 Quan hệ mở rộng (extend): mở rộng một usecase bằng cách thêm vào các
hành vi hoặc hành động mới
Bán
hàng

<<extend>>

Ký hợp đồng
bảo hành

8
Giải thích: use-case bán hàng được mở rộng sang use-case ký hợp đồng bảo
hành. Điều này có nghĩa là: trong điều kiện bình thường thì thao tác bán hàng
không dẫn tới việc ký hợp đồng bảo hành. Chỉ trong một số điều kiện nào đó
thì mới có sự mở rộng
 Quan hệ kế thừa: usecase này được kế thừa các chức năng từ usecase kia

Giải thích: Thao tác giao hàng được thực hiện bằng một trong hai cách: giao ở cửa
hàng hoặc mang đến tận nhà. Hai cách giao hàng này có thể có một thao tác chung là
"đóng gói hàng" nằm ở nút giao hàng. Như vậy trong kết hợp generalization thì các thao
tác chung nằm ở nút gốc (nếu có), còn các trường hợp riêng nằm ở các nút con.
d. Mục đích của biểu đồ usecase
- Dùng để mô hình hóa các chuỗi hành động của hệ thống
- Cung cấp một cách nhìn tổng thể về những gì hệ thống sẽ làm và ai sẽ dùng nó
- Đưa ra cơ sở để xác định giao tiếp người máy của hệ thống
- Dùng để mô hình hóa kịch bản cho 1 trường hợp sử dụng
- Để người dùng có thể hiểu được và có thể giao tiếp với hệ thống ở mức tổng thể
- Làm cơ sở cho việc phác thảo ra các đặc tả kiểm tra
Ví dụ:

9
Câu 3:Trình bày khái niệm lớp và đối tượng? Phân loại
a. Đối tượng
- Định nghĩa:
Một đối tượng biểu diễn cho 1 thực thể có thể là thực thể vật lý, khái niệm hay là
phần mềm
Một đối tượng là một khái niệm, một sự trìu tượng hay là một vật mà có ranh giới
rõ rang và có ý nghĩa rõ rệt cho 1 ứng dụ
- Mỗi đối tượng trong 1 hệ thống đều có 3 đặc tính: trạng thái, ứng xử, và định
danh.
 Trạng thái: Tập dữ liệu, thông tin để mô tả đối tượng. Trạng thái là một trong
những khả năng mà đối tượng có thể tồn tại. Trạng thái của đối tượng thay đổi
theo thời gian và được định nghĩa bởi một tập các thuộc tính, giá trị của các
thuộc tính đó cùng với các mối quan hệ của đối tượng với các đối tượng khác.
Ví dụ như đối tượng Danh sách Đăng kí môn học trong hệ thống đăng kí lớp
học của một trường đại học có thể có hai trạng thái “mở” và “đóng”. Nếu số
lượng sinh viên đăng kí còn nhỏ hơn số tối đa cho phép thì trạng thái của đối
tượng là “mở”, khi đạt đến số lượng sinh viên tối đa cho một lớp học thì đối
tượng chuyển sang trạng thái “đóng”.

10
 Ứng xử: dùng để định nghĩa cách ứng xử của đối tượng đối với những yêu cầu
từ các đối tượng khác. ứng xử của một đối tượng thể hiện thông qua một tập
các phép toán(operation) của đối tượng.
 Định danh: mỗi đối tượng là duy nhất, giữa các đối tượng phải có sự phân cách
rõ ràng, các đối tượng khác nhau có định danh khác nhau, các định danh này
không phụ thuộc vào trạng thái hay ứng xử của đối tượng
- Kí hiệu: Trong UML đối tượng được thể hiện bởi một hình chữ nhật, tên của đối
tượng được gạch chân.
- Phân loại:
 Đối tượng giao diện(Interface): có nhiệm vụ trao đổi giữa hệ thống bên
trong với hệ thống bên ngoài
 Đối tượng thực thể (Entity): Chịu trách nhiệm lưu trữ và xử lý thông tin
(bên trong hệ thống)
 Đối tượng cơ sở dữ liệu (Database): lưu trữ và cung cấp thông tin
 Đối tượng tác nhân (actor): là đối tượng nằm ngoài hệ thống nhưng có liên
quan đến hệ thống
b. Lớp
- Khái niêm: Lớp là tập hợp các thuộc tính và phương thức có liên quan với nhau.
Lớp được đặt tên và thường được dùng để mô tả các đối tượng có cùng loại
thuộc tính và hành vi. Như vậy lớp là một khuôn mẫu để tạo ra đối tượng. Mỗi đối
tượng là một thể hiện của một lớp và một đối tượng không thể là thể hiện của
nhiều hơn một lớp
- Kí hiệu: Lớp được thể hiện bởi một hình chữ nhật, có các phần ngăn cách giữa tên,
thuộc tính, phương thức của lớp
- Ví dụ: Lớp “Người đọc”: Lớp này chứa các thông tin cần thiết về người đọc, phục
vụ cho việc mượn sách. Người đọc là người đã đăng kí với thư viện và mượn sách
của thư viện.
- Phân loại:
 Lớp thực thể (Entity Class)
- Lớp thực thể dùng để mô hình hóa các thông tin lưu trữ lâu dài trong hệ
thống. Nó thường độc lập với các đối tượng khác ở xung quanh, có nghĩa là nó
không quan tâm tới việc các đối tượng xung quanh tương tác với hệ thống như
thế nào. Do đó nó thường có khả năng sử dụng lại.
- Ví dụ như lớp Sinh viên, lớp này có thể có trong hệ thống quản lý điểm, hệ
thống Đăng kí học, hệ thống quản lý thư viện... của một trường đại học

Kí hiệu:
 Lớp biên (Boundary Class): Dùng để nắm giữ sự tương tác giữa phần bên
ngoài với phần bên trong của hệ thống. Chúng cung cấp giao diện cho một
người dùng hay một hệ thống khác để tương tác với hệ thống. Mỗi một tương
tác giữa cặp Actor/ Use case đòi hỏi ít nhất là một lớp biên.

11
Kí hiệu:
 Lớp điều khiển (Control Class): Thể hiện trình tự ứng xử của hệ thống trong
một hay nhiều Use case. Lớp này dùng để điều phối các hoạt động cần thực
hiện để hiện thực hóa chức năng của một Use case.

Kí hiệu:
 Lớp cơ sở dữ liệu: Lưu trữ dữ liệu và cung cấp thông tin
- Ngoài ra còn có cách phân loại như sau: lớp thông thường, lớp trừu tượng
(abstract class), lớp tham số (parameterized class), lớp thể hiện (instantiated class),
lớp tiện ích (utilities class), lớp tiện ích tham số (parameterized utilities class), lớp
thể hiện tiện ích (instantiated utilities class)
 Lớp tham số (parameterized class):là lớp dùng để tạo ra một họ các lớp có các
ứng xử có chung ý nghĩa nhưng thực hiện trên các tập dữ liệu khác nhau.
 Ví dụ :
 Lớp thể hiện (instantiated class): khi ta gán một giá trị cụ thể cho tham số của
lớp tham số, ta được một lớp thể hiện. Như ở trên ta có lớp List dùng để mô tả một
danh sách và các phép toán liên quan tới danh sách như thêm một phần tử vào
danh sách, xóa một phần tử khỏi danh sách, duyệt danh sách. Bây giờ ta cho một
giá trị cụ thể đó là nhân viên, ta có danh sách nhân viên.
 Lớp tiện ích (utilities class): là một tập hợp các phép toán. Ví dụ như ta có một
số hàm toán học : lấy bình phương, lấy căn... mà được dùng ở nhiều nơi trong hệ
thống, khi đó các hàm này được nhóm lại và đóng kín trong một lớp gọi là lớp tiện
ích. Lớp tiện ích thường được dùng để mở rộng tính năng của ngôn ngữ lập trình,
lưu giữ các hàm có thể tái sử dụng cho nhiều hệ thống.
 Lớp tiện ích tham số (parameterized utilities class): cũng giống như lớp tiện
ích, nó bao gồm một tập hợp các hàm hay dùng nhưng để chỉ một lớp tác động
tổng quát chứ không chỉ rõ kiểu dữ liệu mà nó sẽ thao tác.
 Lớp thể hiện tiện ích (instantiated utilities class): khi cho một giá trị cụ thể cho
lớp tiện ích tham số ta có một lớp thể hiện tiện ích. Ví dụ
 Lớp trừu tượng (abstract class): là lớp được thiết kế ở mức độ trừu tượng cao
nhất, nó chứa những thuộc tính, những hành vi chung cho nhiều lớp con khác. Lớp
trừu tượng được tạo ra chỉ để cho các lớp khác kế thừa nó, những phương thức
khai báo trong lớp trừu tượng không được cài đặt mà chúng chỉ được cài đặt ở các
lớp con. Cho nên không có một đối tượng nào được tạo ra từ lớp trừu tượng.
Câu 10: Biểu đồ hoạt động? Thành phần của biểu đồ hoạt động?
a. Khái niệm:
Biểu đồ hoạt động là một phương tiện mô tả các dòng công việc và dược dùng
theo nhiều cách khác nhau
- Như 1 công việc công cụ phân tích, nó được dùng để:
Mô tả các dòng trong usecase hoặc giữa các usecase

12
- Ở mức thiết kế, biểu đồ hoạt động dùng để:
Mô tả chi tiết bên trong 1 thao tác
Xác định yêu cầu nghiệp vụ ở mức cao
Là phương tiện mô tả các usecase và các hành vi bên trong của đối tượng
b. Thành phần
- Hoạt động: Mô tả 1 hoạt động gồm tên hoạt động và đặc tả của nó

Kí hiệu:

- Trạng thái kết thúc

- Trạng thái khởi đầu:


- Thanh đồng bộ ngang:

- Thanh đồng bộ dọc:


- Chuyển tiếp: Là sự thay đổi từ hoạt động này sang hoạt động khác .
Kí hiệu:
- Quyết định: Mô tả lựa chọn điều kiện

Kí hiệu:
- Các luồng: Phân tách các lớp đối tượng khác tồn tại trong biểu đồ hoạt động
Kí hiệu: Phân cách nhau bởi 1 đường kẻ dọc từ trên xuống dưới biểu đồ
c. Mục đích
- Xác định các hoạt động phải thực hiện trong phạm vi của 1 phương thức
- Xác định công việc cụ thể của 1 đối tượng
- Chỉ ra nhóm hành động liên quan có thể được thực thi ra sao và chúng ảnh hưởng
đến những đối tượng xung quanh như thế nào
- Để chỉ ra một trường hợp sử dụng có thể được thực thể hóa như thế nào theo khái
Bắt đầu
niệm hoạt động và các
đăngsự
ký biến đổi trạng thái của đối tượng
d. Ví dụ
Khách hàng tìm hiểu các dịch vụ Xác nhận yêu cầu
của Công ty Du lịch
Yêu cầu
không hợp lệ Phát sinh ngoại lệ
validation
Khách hàng cung cấp các chi tiết
đăng ký
Thêm yêu cầu vào
collection
Yêu cầu bị
Khách hàng cung cấp chi tiết collection từ chối
cách thức thanh toán Phát sinh ngoại lệ
collection
collection chấp
nhận yêu cầu
Công ty Du lịch chấp
nhận đăng ký 13

Khách hàng
được đăng ký
Câu 5: Trình bày khái niệm về phương thức? Phân loại?
a. Khái niệm
- Phương thức định nghĩa các hoạt động mà lớp có thể thực hiện. Tất cả các đối
tượng được tạo ra từ 1 lớp sẽ có chung thuộc tính và phương thức.
- Phương thức được sử dụng để xử lý thay đổi các thuộc tính cũng như thực hiện
các công việc khác
- Phương thức thường được gọi là các hàm (function) nhưng chúng nằm trong 1 lớp
và chỉ có thể được áp dụng cho các đối tượng của lớp này
- Một phương thức được miêu tả qua tên, giá trị trả về và danh sách của 0 cho tới
nhiều tham số. Lúc thi hành phương thức được gọi kèm theo đối tượng của lớp
b. Phân loại:
+ Phương thức vào ra: Dùng để nhập thông tin từ bên ngoài vào trong đối tượng,
đưa thông tin từ đối tượng ra ngoài
+ Phương thức khởi tạo, hủy bỏ
+ Phương thức tính toán: Chịu trách nhiệm tính toán và xử lý thông tin
Ví dụ: Đặc trưng cho đối tượng hóa đơn có các phương thức như:
c. Tạo hóa đơn
d. Thanh toán
e. In hóa đơn
Câu 6: Khái niệm sự kiện, thông điệp? Phân loại?
1. Sự kiện:
- Khái niệm
• Một trong những thành phần quan trọng bậc nhất của một đối tượng là sự
kiện. Một sự kiện là một sư kích thích được gửi từ đối tượng này sang đối
tượng khác.
• Một sự kiện là một việc sẽ xảy ra và có thể gay ra một hành động nào đó
Ví dụ: khi bạn bấm lên nút Play trên máy CD-Player, nó sẽ bắt đầu chơi nhạc (giả sử
rằng CD-Player có điện, trong máy có đĩa CD và nói chung là dàn CD-Player hoạt
động tốt). Sự kiện ở đây là bạn nhấn lên nút Play, và hành động ở đây là bắt đầu chơi
nhạc.
- Phân loại:

14
• Sự kiện gọi (call event): Yêu cầu thực hiện một hành động (Một phương
thức)
• Sự kiện tín hiệu( signal event): Gửi thông điệp (Chứa các giá trị thuộc tính
tham số liên quan) giữa các trạng thái
• Sự kiện thời gian(time event) : Biểu diễn quá trình chuyển tiếp theo thời
gian, thường kèm theo từ mô tả thời gian cụ thể
2. Thông điệp
a. Khái niệm
- Trong lập trình hướng đối tượng, một tương tác giữa hai đối tượng được thực thi
dưới dạng thông điệp được gửi từ đối tượng này sang đối tượng khác. Một thông
điệp ở đây thường được thực hiện qua một lệnh gọi thủ tục đơn giản (một đối
tượng này gọi một thủ tục của một đối tượng khác); khi thủ tục đã được thực hiện
xong, quyền điều khiển được trao trở về cho đối tượng gọi thủ tục cùng với giá trị
trả về .
- Thông điệp được thể hiện trong tất cả các loại biểu đồ động (tuần tự, cộng tác,
hoạt động và trạng thái) theo ý nghĩa là sự giao tiếp giữa các đối tượng.
- Một thông điệp được vẽ là một được thẳng với mũi tên nối giữa đối tượng gửi và
đối tượng nhận thông điệp. Loại mũi tên sẽ chỉ rõ loại thông điệp.
b. Phân loại

Câu 11: Tóm tắt các bước trong quá trình thiết kế cơ sở dữ liệu?
1. Theo mô hình quan hệ:

15
- Bước 1: Xây dựng lược đồ quan hệ
Xác định các bảng, các thuộc tính, phụ thuộc hàm liên quan đến việc lưu trữ cơ sở dữ liệu
Ví dụ: cho BH=<U,F>
U={ SoHD, Ngay, TenKH, Điachi, Tongtien, TenH, Gia, Soluong, Thanhtien}
F={ SoHDNgay, TenKH, Diachi, Tongtien; TenHGiá; SoHD,TenHSoluong,
Thanhtien}
- Bước 2: Chuẩn hóa ( Đưa về dạng 3NF)
 Bước 2.1: Tìm khóa
Ví dụ: IHB=U- { Ngay, TenKH, Diachi, Tongtien, Gia, Soluong,
Thanhtien}={ SoHD,TenH}
 Bước 2.2. Tìm bao đóng
+
I HB={ SoHD, Ngay, TenH, TenKH, Diachi, Tongtien, Gia, Soluong, Thanhtien}
=U
BH có duy nhất 1 khóa là IBH
Ta có:
SoHDNgay, TenKH, Diachi, Tongtien
{ Ngay, TenKH, Diachi, Tongtien } U
{SoHD}+={ Ngay, TenKH, Diachi, Tongtien } ≠ U
TenH Gia
{Gia} U
{Gia}+= {TenH, Gia} U
BH không ở dạng chuẩn 3
 Bước 2.3. Chuẩn hóa
 Bảng HD={U1, F1}
U1= {SoHD, TenKH, Diachi, Tongtien, Ngay}
F1={SoHDNgay, TenKH,Diachi, Sotien}
 Bảng Hang ={U2, F2}
U2={TenH, Gia}
F2={TenHGia}
 Bảng HDBH ={U3, F3}
U3={SoHD, TenH, Soluong, Thanhtien}
F3={SoHD, TenH Soluong, Thanhtien}
- Bước 3: Hợp nhất các bảng
Các bảng có cùng tập thuộc tính khóa được hợp nhất với tập thuộc tính chung.
Tên bảng được đặt theo tên của thuộc tính khóa
- Bước 4: Đặt quan hệ giữa các bảng

Bảng
HD Hang HDBH
Khóa
SoHD X X
TenH X X

16
Mối quan hệ giữa các bảng

17
HDBH Bước 5: Hang
HD Chuyển đổi TenH
SoHD
SoHD TenKH mô hình Dongia
Ngay Soluong quan hệ
TenKh Thanhtien vào CSDL
Diachi -
Tongtien Xác định địa chỉ lưu trữ
- Quan hệBảng
+Thuộc tínhfield
- Đặt quan hệ giũa các bảng
Hang HDBH
HD 11
TenH SoHD
1 SoHD
Gia TenH
Soluong Ngay
Thanhtien TenKH
Diachi
Tongtien

2. Theo phương pháp hướng đối tượng


- Bước 1: Xây dựng biểu đồ lớp cho các đối tượng lưu trữ
- Bước 2: Chuyển đổi biểu đồ lớp sang các bảng
- Bước 3: Chuyển đổi các bảng bảng vào trong CSDL cụ thể
Câu: Thuộc tính là gì? Phân loại thuộc tính
- Mỗi thuộc tính mô tả một đặc điểm lưu trữ thông tin của đối tượng. Thuộc tính
là một danh từ
Ví dụ: Đối tượng sinh viên có các thuộc tính như: MaSV, Hoten, Ngaysinh, Diachi,
- Phân loại
 Thuộc tính khóa: Dùng để phân biệt hay nhận diện đối tượng
 Thuộc tính mô tả: Chứa thông tin của đối tượng theo yêu cầu đặt ra của
hệ thống
 Thuộc tính suy diễn: là thuộc tính mà giá trị của nó có thể được suy
diễn từ các thuộc tính hay đối tượng khác. Thuộc tính suy diễn có thể là
thuộc tính khóa hoặc thuộc tính mô tả
 Thuộc tính liên kết: Được sử dụng để kết nối( truy nhập thông tin) tới
các đối tượng khác nhau
 Thuộc tính đặc biệt
Câu 12: Tài liệu phân tích khác tài liệu thiết kế như thế nào?
Câu : Nêu các nguyên tắc cơ bản của phương pháp hướng đối tượng?
- Trừu tượng hóa (abstraction)
a. Các thực thể phần mềm được mô hình hóa dưới dạng các đối tượng.
b. Các đối tượng được trừu tượng hóa ở mức cao hơn dựa trên thuộc tính
và phương thức mô tả đối tượng để tạo thành các lớp.
c. Các lớp được trừu tượng hóa ở mức cao hơn nữa để tạo thành một sơ đồ
các lớp được kế thừa lẫn nhau. Trong phương pháp hướng đối tượng có
thể tồn tại những lớp không có đối tượng tương ứng, gọi là lớp trừu
tượng.
Như vậy, nguyên tắc cơ bản để xây dựng các khái niệm trong hướng đối
tượng là sự trừu tượng hóa theo các mức độ khác nhau.
- Tính bao đóng(encapsulation): che dấu mọi chi tiết hiện thực của đối tượng
không cho bên ngoài thấ́y và truy xuất => tính độc lập cao giữa các đối tượng
a. Che dấu các thuộc tính dữ liệu: nếu cần cho phép truy xuất 1 thuộc tính
dữ liệu, ta tạo 2 phương thức get/set tương ứng để giám sát việc truy
xuất và che dấu chi tiết hiện thực bên trong ( thuộc tính private)
b. Che dấu chi tiết hiện thực các phương thức. Che dấu các hàm và sự hiện
thực của chúng
- Tính modul hóa (modularity): các bài toán sẽ được phân chia thành những vấn
đề nhỏ hơn, đơn giản và quản lý được.
- Tính phân cấp (hierarchy): cấu trúc chung của một hệ thống hướng đối tượng
là dạng phân cấp theo các mức độ trừu tượng từ cao đến thấp.
Câu: Trình bày biểu đồ lớp? Các thành phần trong biểu đồ lớp và kí pháp?
- Biểu đồ lớp: cho biết hình ảnh tĩnh của hệ thống, giúp người phát triển quan
sát – lập kế hoạch cấu trúc hệ thống trước khi viết mã chương trình
- Các thành phần:
• Thuộc tính lớp: là nhóm thông tin liên kết với lớp
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

• Thao tác: là hành vi kết hợp của lớp, xác định trách nhiệm của lớp
Ký pháp trong UML
Operation Name (arg1: arg1 data type, arg2: arg2 data type...): return type
• Quan hệ giữa các lớp
o Kết hợp (Associations)
o Phụ thuộc (Dependencies)
o Cộng hợp (Aggregations)
o Quan hệ thực thi (Realizes Relationships)
o Khái quát hóa (Generalizations)
- Các loại lớp
o Boundary: lớp biên

o Entity: Lớp thực thể là lớp lưu trữ thông tin sẽ ghi vào bộ nhớ ngoài

o 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

You might also like