8/30/2017<br />
<br />
Nội dung<br />
<br />
Chương 4.<br />
Phân tích và thiết kế hệ<br />
thống ở trạng thái tĩnh<br />
<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
6.<br />
<br />
GV: Lê Thị Minh Nguyện<br />
Email: nguyenltm@huflit.edu.vn<br />
<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
Giới thiệu<br />
Lớp, đối tượng<br />
Cách tiếp cận xác định lớp<br />
Lớp và đối tượng trong UML<br />
Mối kết hợp (quan hệ)<br />
Phân tích tĩnh<br />
<br />
1<br />
<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
1. Giới thiệu<br />
<br />
2. Đối tượng (Object)<br />
<br />
• Trong quá trình mô hình hóa yêu cầu (chương 3), chúng ta tập<br />
<br />
• Một đối tượng là một khái niệm, một sự trừu tượng hay là một<br />
<br />
trung vào “what” và bỏ qua “how”<br />
<br />
2<br />
<br />
sự vật (thing) có ranh giới rõ ràng và có ý nghĩa cho một ứng<br />
dụng.<br />
<br />
• Vấn đề còn tồn tại ở các bước xác định yêu cầu đã thực hiện<br />
vẫn chưa cho ta thấy một bức tranh hoàn chỉnh về phần mềm<br />
<br />
• Một đối tượng có<br />
<br />
mà ta cần xây dựng.<br />
<br />
• Trạng thái (State)<br />
• Hành vi (Behavior)<br />
<br />
• Với từng Use case chúng ta phân tích thiết kế ở trạng thái tĩnh<br />
<br />
• Định danh (Identity)<br />
<br />
và động<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
3<br />
<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
4<br />
<br />
1<br />
<br />
8/30/2017<br />
<br />
2. Lớp (Class)<br />
<br />
3. Cách tiếp cận xác định lớp<br />
<br />
• Một lớp là một lời miêu tả của một nhóm các đối tượng có<br />
chung thuộc tính, chung phương thức (ứng xử), chung các mối<br />
quan hệ với các đối tượng khác và chung ngữ nghĩa (semantic).<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
3.2. Tiếp cận theo phân loại<br />
<br />
• Lớp là một khuôn mẫu để tạo ra đối tượng<br />
<br />
• Ký hiệu:<br />
<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
<br />
5<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
<br />
• Ý tưởng: xác định các lớp thông qua việc đọc trong các văn<br />
bản mô tả use case hoặc các mô tả yêu cầu để tìm kiếm và<br />
trích lọc các cụm danh từ<br />
• Các cụm danh từ được xem như là ứng viên của lớp<br />
• Phân thành 3 loại<br />
<br />
• Class giả tạo sẽ được bỏ đi<br />
<br />
2<br />
<br />
8/30/2017<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
• Xác định các class trong hệ thống ATM, các cụm danh từ tìm được<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
• Đồng nhất các ứng viên trùng lắp<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
• Loại bỏ lớp giả<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
• Xác định danh từ, cụm danh từ có thể là thuộc tính:<br />
• Chỉ sử dụng như giá trị<br />
• Không có nhiều hơn một đặc trưng riêng, hoặc chỉ một đặc<br />
trưng của đối tượng khác<br />
<br />
3<br />
<br />
8/30/2017<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
• Loại bỏ các ứng viên không mục tiêu hoặc không thuộc<br />
phạm vi của hệ thống<br />
• Thông điệp<br />
• Hệ thống<br />
• Mẫu tin<br />
• Ngân quỹ<br />
• VND<br />
• Tiền mặt<br />
• Tiến trình đăng nhập<br />
<br />
3.1. Tiếp cận theo cụm danh từ<br />
• Kết quả các lớp được xác định<br />
• Máy ATM: cung cấp một giao diện tới ngân hàng<br />
• Thẻ ATM: cung cấp một khách hàng với một khóa tới một tài khoản<br />
• Khách hàng: một khách hàng là một cá nhân sử dụng máy ATM, có<br />
một tài khoản<br />
• Ngân hàng: các khách hàng phụ thuộc vào ngân hàng. Nó là một nơi<br />
tập trung các tài khoản và xử lý giao dịch tài khoản<br />
• Tài khoản: mô hình hóa một tài khoản của khách hàng và cung cấp<br />
các dịch vụ về tài khoản cho khách hàng<br />
• Giao dịch: mô tả giao tác của khách hàng khi sử dụng ATM. Lưu giữ<br />
thời gian, ngày, loại, số tiền, và số dư.<br />
<br />
3.2. Tiếp cận theo phân loại<br />
<br />
3.2. Tiếp cận theo phân loại<br />
<br />
• Phân loại các lớp của hệ thống dựa trên các mẫu chung<br />
<br />
• Lớp tổ chức (Organisation): tập hợp con người, tài nguyên,<br />
phương tiện, hoặc những nhóm xác định chức năng người dùng<br />
<br />
• Lớp khái niệm (concept): một khái niệm là một quan niệm<br />
hoặc sự hiểu biết riêng biệt về thế giới. Lớp khái niệm bao<br />
gồm các nguyên lý được dùng để tổ chức hoặc lưu trữ các<br />
hoạt động và các trao đổi về mặt quản lý.<br />
• Ví dụ: phương pháp, hiệu băng, mô hình<br />
<br />
• Lớp sự kiện (event):<br />
• Lớp sự kiện là các thời điểm thời gian cần được lưu trữ. Các sự việc<br />
xảy ra tại một thời điểm hoặc một bước trong một dãy tuần tự các<br />
bước.<br />
• Ví dụ: đăng ký, hóa đơn, đơn hàng , phiếu nhập…<br />
<br />
• Ví dụ: đơn vị, bộ phận, phòng ban, chức danh….<br />
<br />
• Lớp con người (people): lớp con người thể hiện vai trò khác<br />
nhau của người dùng trong việc tương tác với hệ thống.<br />
• Ví dụ: sinh viên, khách hàng, giáo viên, nhân viên….<br />
<br />
• Vị trí (place): các vị trí vật lý mà hệ thống mô tả thông tin về nó<br />
• Ví dụ: tòa nhà, kho, văn phòng, chi nhánh, đại lý…<br />
<br />
• Lớp sự vật hữu hình và thiết bị: lớp các đối tượng hoặc các<br />
nhóm của đối tượng hữu hình mà có thể cảm nhận trực quan về<br />
các thiết bị mà hệ thống tương tác.<br />
• Ví dụ: xe hơi, máy bay….<br />
<br />
4<br />
<br />
8/30/2017<br />
<br />
3.2. Tiếp cận theo phân loại<br />
<br />
3.2. Tiếp cận theo phân loại<br />
<br />
• Ví dụ: hệ thống ATM<br />
<br />
• Ví dụ: hệ thống ATM<br />
• Các lớp con người<br />
<br />
• Các lớp khái niệm<br />
• Các lớp sự vật hữu hình và thiết bị<br />
<br />
• Các lớp sự kiện<br />
<br />
• Các lớp tổ chức:<br />
<br />
4. Lớp và đối tượng trong UML<br />
<br />
Lớp và đối tượng trong UML<br />
<br />
• UML thể hiện lớp bằng hình chữ nhật có 3 phần.<br />
• Phần thứ nhất chứa tên lớp.<br />
• Phần thứ hai là thuộc tính và các dữ liệu thành phần<br />
• Phần thứ ba là các phương thức hay hàm thành phần của lớp.<br />
Name<br />
<br />
Visibility<br />
Public<br />
Protected<br />
Private<br />
<br />
Attribute<br />
<br />
Operation<br />
<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
19<br />
<br />
Phân tích thiết kế hướng đối tượng<br />
<br />
20<br />
<br />
5<br />
<br />