Tải bản đầy đủ (.ppt) (29 trang)

bài số 3 tổng quan về ooad

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.31 MB, 29 trang )

1
1
OBJECT-ORIENTED ANALYSIS
OBJECT-ORIENTED ANALYSIS
AND DESIGN WITH UML 2.0
AND DESIGN WITH UML 2.0
Bé m«n C«ng nghÖ phÇn mÒm
Bé m«n C«ng nghÖ phÇn mÒm
KHOA CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Bài 03: Tổng quan về OOAD
Bài 03: Tổng quan về OOAD
2
2
Nội dung
Nội dung
1.
1.
Mục đích của OOAD
Mục đích của OOAD
2.
2.
Phương pháp OOAD
Phương pháp OOAD
3.
3.
Case study
Case study
4.


4.
Công cụ UML
Công cụ UML
3
3
1.1. Tầm quan trọng của OOAD
1.1. Tầm quan trọng của OOAD
Nhiều người phát triển dự án
Nhiều người phát triển dự án

Cho rằng phần mềm chủ yếu được xây dựng bằng
Cho rằng phần mềm chủ yếu được xây dựng bằng
cách gõ “code” từ bàn phím
cách gõ “code” từ bàn phím

Không dành đủ thời gian cho quá trình phân tích và
Không dành đủ thời gian cho quá trình phân tích và
thiết kế phần mềm
thiết kế phần mềm




Họ phải “cày bừa” để hoàn thành chương trình vì
Họ phải “cày bừa” để hoàn thành chương trình vì

Không hiểu hoặc hiểu sai yêu cầu
Không hiểu hoặc hiểu sai yêu cầu

Giao tiếp với các thành viên không tốt

Giao tiếp với các thành viên không tốt

Không tích hợp được với module của đồng nghiệp…
Không tích hợp được với module của đồng nghiệp…




Họ nhận ra rằng “Phân tích” và “Thiết kế” cần
Họ nhận ra rằng “Phân tích” và “Thiết kế” cần
được coi trọng hơn, nhưng đã quá muộn
được coi trọng hơn, nhưng đã quá muộn
4
4
1.1. Tầm quan trọng của OOAD (2)
1.1. Tầm quan trọng của OOAD (2)
Cần thiết lập một cơ chế hiệu quả để nắm
Cần thiết lập một cơ chế hiệu quả để nắm
bắt yêu cầu, phân tích thiết kế
bắt yêu cầu, phân tích thiết kế
Cơ chế này phải như là một “ngôn ngữ
Cơ chế này phải như là một “ngôn ngữ
thống nhất” giúp cho quá trình hợp tác
thống nhất” giúp cho quá trình hợp tác
hiệu quả giữa các thành viên trong nhóm
hiệu quả giữa các thành viên trong nhóm
phát triển phần mềm.
phát triển phần mềm.





OOAD
OOAD
5
5
1.2. Mục đích của OOAD
1.2. Mục đích của OOAD
Chuyển các yêu cầu của bài toán thành một bản
Chuyển các yêu cầu của bài toán thành một bản
thiết kế của hệ thống sẽ được xây dựng
thiết kế của hệ thống sẽ được xây dựng
Tập trung vào quá trình phân tích các YÊU CẦU
Tập trung vào quá trình phân tích các YÊU CẦU
của hệ thống và thiết kế các MÔ HÌNH cho hệ
của hệ thống và thiết kế các MÔ HÌNH cho hệ
thống đó trước giai đoạn lập trình
thống đó trước giai đoạn lập trình
Được thực hiện nhằm đảm bảo mục đích và yêu
Được thực hiện nhằm đảm bảo mục đích và yêu
cầu của hệ thống được ghi lại một cách hợp lý
cầu của hệ thống được ghi lại một cách hợp lý
trước khi hệ thống được xây dựng
trước khi hệ thống được xây dựng
6
6
1.2. Mục đích của OOAD (2)
1.2. Mục đích của OOAD (2)
Cung cấp cho người dùng, khách hàng, kỹ sư
Cung cấp cho người dùng, khách hàng, kỹ sư

phân tích, thiết kế nhiều cái nhìn khác nhau về
phân tích, thiết kế nhiều cái nhìn khác nhau về
cùng một hệ thống
cùng một hệ thống
Chọn lựa thiết kế để phù hợp với môi trường
Chọn lựa thiết kế để phù hợp với môi trường
phát triển
phát triển

Là thiết kế khả thi cho từng hệ thống con, thành phần
Là thiết kế khả thi cho từng hệ thống con, thành phần
của kiến trúc
của kiến trúc

Ở mức chi tiết, thiết kế sẽ phụ thuộc vào nền tảng,
Ở mức chi tiết, thiết kế sẽ phụ thuộc vào nền tảng,
ngôn ngữ lập trình, hay cơ sở dữ liệu.
ngôn ngữ lập trình, hay cơ sở dữ liệu.
7
7
Nội dung
Nội dung
1.
1.
Mục đích của OOAD
Mục đích của OOAD
2.
2.
Ph
Ph

ương pháp OOAD
ương pháp OOAD
3.
3.
Case study
Case study
4.
4.
Công cụ UML
Công cụ UML
8
8
2.
2.
Phương pháp OOAD
Phương pháp OOAD
OOAD được chia thành 2 giai đoạn
OOAD được chia thành 2 giai đoạn

Phân tích hướng đối tượng (OOA)
Phân tích hướng đối tượng (OOA)

Thiết kế hướng đối tượng (OOD)
Thiết kế hướng đối tượng (OOD)
OOA là giai đoạn nhằm tạo ra các mô
OOA là giai đoạn nhằm tạo ra các mô
hình cơ bản (mô hình khái niệm) của hệ
hình cơ bản (mô hình khái niệm) của hệ
thống dựa theo những gì khách hàng yêu
thống dựa theo những gì khách hàng yêu

cầu về hệ thống của họ
cầu về hệ thống của họ
OOD sẽ bổ sung thêm các thông tin thiết
OOD sẽ bổ sung thêm các thông tin thiết
kế chi tiết cho các mô hình nói trên
kế chi tiết cho các mô hình nói trên
10
10
Mô hình Phân tích
Mô hình Phân tích
Phân tích tập trung vào việc trừu tượng hóa các
Phân tích tập trung vào việc trừu tượng hóa các
vấn đề nghiệp vụ
vấn đề nghiệp vụ
Xây dựng mô hình bằng cách tìm kiếm các lớp,
Xây dựng mô hình bằng cách tìm kiếm các lớp,
các đối tượng chính có trong hệ thống
các đối tượng chính có trong hệ thống

Các lớp, đối tượng này chỉ là những khái niệm nghiệp
Các lớp, đối tượng này chỉ là những khái niệm nghiệp
vụ cơ bản nhằm tìm hiểu hệ thống
vụ cơ bản nhằm tìm hiểu hệ thống

Tránh cung cấp các khái ni
Tránh cung cấp các khái ni
ệ
ệ
m, thông tin cài đặt quá
m, thông tin cài đặt quá

chi tiết (cho dù có thể đã tìm được tại thời điểm đó)
chi tiết (cho dù có thể đã tìm được tại thời điểm đó)
11
11
Mô hình Thiết kế
Mô hình Thiết kế
Bao gồm các lớp, đối tượng ở mức cao
Bao gồm các lớp, đối tượng ở mức cao

Nên đóng thành các gói
Nên đóng thành các gói

Chỉ rõ và mô hình hóa mối quan hệ tương tác giữa
Chỉ rõ và mô hình hóa mối quan hệ tương tác giữa
chúng
chúng

Chỉ rõ hành động và thuộc tính của các đối tượng
Chỉ rõ hành động và thuộc tính của các đối tượng
Đơn giản hoá của việc phát triển mã nguồn
Đơn giản hoá của việc phát triển mã nguồn

Ví dụ như thuật toán, sơ đồ khối…
Ví dụ như thuật toán, sơ đồ khối…
Thể hiện được bản thiết kế mã nguồn sẽ được
Thể hiện được bản thiết kế mã nguồn sẽ được
cấu trúc và phát triển như thế nào
cấu trúc và phát triển như thế nào
12
12

Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
13
13
Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)

2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
Mô hình hóa yêu cầu người dùng
Mô hình hóa yêu cầu người dùng
thành các biểu đồ use case, đặc
thành các biểu đồ use case, đặc
tả use case
tả use case
, biểu đồ hoạt động
, biểu đồ hoạt động
14
14




Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
Các
Các

bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
T
T
ìm các lớp phân tích và
ìm các lớp phân tích và
xây
xây
dựng các biểu đồ tương tác
dựng các biểu đồ tương tác
15
15





Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
Ánh xạ các phần tử thiết kế từ
Ánh xạ các phần tử thiết kế từ
các lớp phân tích và thiết kế UC
các lớp phân tích và thiết kế UC
16
16





Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
Tinh chỉnh các lớp phân tích để
Tinh chỉnh các lớp phân tích để
thiết kế lớp và tạo biểu đồ lớp
thiết kế lớp và tạo biểu đồ lớp

17
17




Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
-



Ánh xạ các lớp và các mối liên kết
Ánh xạ các lớp và các mối liên kết
thành mô hình thực thể liên kết
thành mô hình thực thể liên kết
-
-
Chuẩn hóa mô hình thực thể liên kết
Chuẩn hóa mô hình thực thể liên kết
thành dạng chuẩn 3 để thiết kế CSDL
thành dạng chuẩn 3 để thiết kế CSDL
18
18




Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC
(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và

thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
Thiết kế biểu đồ chuyển đổi giữa các
Thiết kế biểu đồ chuyển đổi giữa các
giao diện người dùng và thiết kế chi tiết
giao diện người dùng và thiết kế chi tiết
các giao diện ấy
các giao diện ấy
19
19




Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
Các
Các
bước
bước
trong OOAD
trong OOAD
1. Mô hình hóa yêu cầu sử dụng UC

(Requirement modeling using UC)
2. Phân tích use case
(Use case analysis)
3. Xác định phần tử thiết kế và
thiết kế UC
5. Mô hình hóa E-R, Chuẩn hóa và
thiết kế CSDL
6. Thiết kế đặc tả ngoài
(External Specification Design)
4. Thiết kế lớp
(Class design)
7. Thiết kế trường hợp kiểm thử
(Test case design)
Thiết kế trường hợp kiểm thử dựa trên
Thiết kế trường hợp kiểm thử dựa trên
các use case đã phân tích và thiết kế
các use case đã phân tích và thiết kế
20
20
Chương 2
Chương 2
. Tổng quan về phân tích
. Tổng quan về phân tích
thiết kế hướng đối tượng
thiết kế hướng đối tượng
1.
1.
Mục đích của OOAD
Mục đích của OOAD
2.

2.
Phương pháp OOAD
Phương pháp OOAD
3.
3.
Case study
Case study
4.
4.
Công cụ UML
Công cụ UML
21
21
3
3
. Case study
. Case study
Case study mẫu: Course Registration
Case study mẫu: Course Registration
Case study bài tập: Library System
Case study bài tập: Library System
22
22
Course Registration
Course Registration
CS
CS
The system manages course registration in
The system manages course registration in
university. It manages course information for

university. It manages course information for
semesters of past one year and next semester.
semesters of past one year and next semester.
Course registration can be done for only next
Course registration can be done for only next
semester. Course information for past one year
semester. Course information for past one year
is only for viewing.
is only for viewing.
Registrars, lecturers, and students have to login
Registrars, lecturers, and students have to login
to use the system. After completing their work,
to use the system. After completing their work,
they can log out the system because of security
they can log out the system because of security
.
.
Admistrators can manage users in the system
Admistrators can manage users in the system
(including search, add, delete and update).
(including search, add, delete and update).
23
23
Course Registration
Course Registration
CS
CS
Registrars manage course information through
Registrars manage course information through
registrar GUI. Registrars add, delete, and update

registrar GUI. Registrars add, delete, and update
basic information of courses for preparing
basic information of courses for preparing
course information of the next semester.
course information of the next semester.
Information about each course, such as
Information about each course, such as
lecturers, department and prerequisites will be
lecturers, department and prerequisites will be
included to help students make informed
included to help students make informed
decisions. A course will have a maximum of 30
decisions. A course will have a maximum of 30
students and minimum 3 students
students and minimum 3 students
24
24
Course Registration
Course Registration
CS
CS
After completion of preparation for all course
After completion of preparation for all course
information of the next semester, registrars open
information of the next semester, registrars open
course information to students for registration.
course information to students for registration.
After that, students can register for courses.
After that, students can register for courses.
At the end of course registration period,

At the end of course registration period,
r
r
egistrars close course registration. After closing
egistrars close course registration. After closing
course registration, students cannot register nor
course registration, students cannot register nor
cancel registration
cancel registration
.
.
A course with fewer than 3 students will be
A course with fewer than 3 students will be
canceled. If a course is canceled, system must
canceled. If a course is canceled, system must
notifies students who registered the course
notifies students who registered the course
about this cancellation.
about this cancellation.
25
25
Course Registration
Course Registration
CS
CS
Lecturers make input and update detail of
Lecturers make input and update detail of
course information of corresponding
course information of corresponding
course through lecturer GUI.

course through lecturer GUI.
Registrars and lecturers can view lists of
Registrars and lecturers can view lists of
students who registered for courses after
students who registered for courses after
registration period.
registration period.

Registrars can view all lists.
Registrars can view all lists.

Lecturers can view only lists for corresponding
Lecturers can view only lists for corresponding
courses.
courses.
26
26
Course Registration
Course Registration
CS
CS
Students make registration for courses
Students make registration for courses
through student GUI.
through student GUI.

Students browse course list for the next
Students browse course list for the next
semester and register for the course after
semester and register for the course after

choosing it.
choosing it.

If the course to be registered is full or its time
If the course to be registered is full or its time
is the same as the course he/she has
is the same as the course he/she has
registered or he/she does not satisty the
registered or he/she does not satisty the
prerequisites, the student must be notified.
prerequisites, the student must be notified.

×