Ph
Ph
ân tích và thiết kế hướng
ân tích và thiết kế hướng
đối tượng
đối tượng
(Object
(Object
Oriented System
Oriented System
Analysis and Design)
Analysis and Design)
Giảng viên: Phạm Ngọc Nam
2
/Chapte
r
© DHBK 2007
Giới thiệu
Giới thiệu
•
4 ĐVHT = 60 tiết
•
Học trên lớp + Bài tập lớn
•
Điểm = Điểm thi + Điểm bài tập lớn
(70%) + (30%)
•
Điều kiện thi: Phải có bài tập lớn
•
Bài tập lớn:
Làm theo nhóm tối đa 5 sinh viên
Nội dung: phân tích và thiết kế hệ thống sử dụng
Rational Rose
Đề tài: sinh viên tự chọn đề tài
•
Mục đích của môn học
Trang bị cho sinh viên một phương pháp có hệ thống để
phân tích và thiết kế hệ thống
3
/Chapte
r
© DHBK 2007
Nội dung
Nội dung
1. Giới thiệu chung về phân tích và thiết kế hệ thống
2. Giới thiệu về phân tích và thiết kế hướng đối tượng với
UML
3. Lập kế hoạch
4. Phân tích hệ thống
5. Thiết kế hệ thống
6. Triển khai hệ thống
4
/Chapte
r
© DHBK 2007
Tài liệu tham khảo
Tài liệu tham khảo
•
Systems Analysis and Design with UML Version 2.0-An
object oriented approach; Alan Dennis, Barbara Haley
Wixom, David Tegarden.
•
www.uml.org
•
www.rational.com
•
www.Google.com
5
/Chapte
r
© DHBK 2007
Chương 1. Giới thiệu chung về phân
Chương 1. Giới thiệu chung về phân
tích và thiết kế hệ thống
tích và thiết kế hệ thống
1.1 Giới thiệu
1.2 Quy trình phát triển hệ thống
1.3 Các phương pháp phát triển hệ thống
6
/Chapte
r
© DHBK 2007
1.1 Giới thiệu
1.1 Giới thiệu
7
/Chapte
r
© DHBK 2007
1.2 Quy trình phát triển hệ thống
1.2 Quy trình phát triển hệ thống
•
Lập kế hoạch (Planning)
Vì sao phải xây dựng hệ thống ?
•
Phân tích (Analysis)
Ai sẽ sử dụng hệ thống, hệ thống sẽ làm gì, nó
sẽ được dùng khi nào, ở đâu?
•
Thiết kế (Design)
Hệ thống sẽ làm việc như thế nào?
•
Triển khai (Implementation)
Triển khai hệ thống
8
/Chapte
r
© DHBK 2007
1.2 Quy trình phát triển hệ thống
1.2 Quy trình phát triển hệ thống
Lập kế hoạch
Lập kế hoạch
•
Xác định giá trị kinh doanh của hệ thống
•
Phân tích tính khả thi
•
Xây dựng kế hoạch công việc
•
Xác định nguồn nhân lực cho dự án
•
Điều khiển và quản lý dự án
9
/Chapte
r
© DHBK 2007
1.2 Quy trình phát triển hệ thống
1.2 Quy trình phát triển hệ thống
Phân tích
Phân tích
•
Phân tích hệ thống
•
Thu thập các nguồn thông tin
•
Mô hình hoá quá trình
•
Mô hình hóa dữ liệu
10
/Chapte
r
© DHBK 2007
1.2 Quy trình phát triển hệ thống
1.2 Quy trình phát triển hệ thống
Thiết kế
Thiết kế
•
Xác định chiến lược thiết kế
•
Thiết kế cấu trúc
•
Thiết kế giao diện
•
Thiết kế cơ sở dữ liệu
•
Thiết kế chương trình
11
/Chapte
r
© DHBK 2007
1.2 Quy trình phát triển hệ thống
1.2 Quy trình phát triển hệ thống
Triển khai
Triển khai
•
Xây dựng hệ thống
•
Cài đặt hệ thống
12
/Chapte
r
© DHBK 2007
1.2 Quy trình phát triển hệ thống
1.2 Quy trình phát triển hệ thống
Các pha và kết quả của từng pha
Các pha và kết quả của từng pha
Process Product
Planning
Analysis
Design
Implementation
Project Plan
System Proposal
System
Specification
New System and
Maintenance Plan
13
/Chapte
r
© DHBK 2007
1.3 Các phương pháp phát triển hệ
1.3 Các phương pháp phát triển hệ
thống
thống
•
Thiết kế cấu trúc (Structured design)
Phương pháp thác nước (waterfall method)
Phương pháp phát triển song song (Parallel
development)
•
Phương pháp phát triển nhanh ứng dụng (RAD)
Phương pháp phát triển theo các pha
Phương pháp xây dựng nguyên mẫu
(prototyping)
Thông thường (regular)
Loại bỏ (throwaway)
•
Phương pháp phát triển rất nhanh (Agile development)
XP (extreme programming)
14
/Chapte
r
© DHBK 2007
1.3.1 Thiết kế cấu trúc
1.3.1 Thiết kế cấu trúc
•
Dự án sẽ tiến triển từ bước này sang bước tiếp theo một
cách có hệ thống
•
Thông thường, một bước phải được hoàn thành trước khi
bắt đầu bước tiếp theo
15
/Chapte
r
© DHBK 2007
1.3.1 Thiết kế cấu trúc
1.3.1 Thiết kế cấu trúc
Phương pháp thác nước
Phương pháp thác nước
16
/Chapte
r
© DHBK 2007
1.3.1 Thiết kế cấu trúc
1.3.1 Thiết kế cấu trúc
Phương pháp thác nước
Phương pháp thác nước
•
Ưu điểm:
Trước khi lập trình thì các yêu cầu về hệ thống được
xác định rất chi tiết và đầy đủ => giảm thiểu được sự
thay đổi về yêu cầu trong quá trình phát triển hệ thống
•
Nhược điểm:
Thời gian từ khi đề xuất dự án đến khi có sản phẩm cuối
cùng thường rất dài (vài tháng -> vài năm)
17
/Chapte
r
© DHBK 2007
1.3.1 Thiết kế cấu trúc
1.3.1 Thiết kế cấu trúc
Phương pháp phát triển song song
Phương pháp phát triển song song
18
/Chapte
r
© DHBK 2007
1.3.2 RAD
1.3.2 RAD
•
Các nhân tố quan trọng:
Công cụ CASE
JAD
Ngôn ngữ lập trình thế hệ thứ tư/ visual
Công cụ tạo mã
19
/Chapte
r
© DHBK 2007
1.3.2 RAD
1.3.2 RAD
Phương pháp phát triển theo pha
Phương pháp phát triển theo pha
20
/Chapte
r
© DHBK 2007
1.3.2 RAD
1.3.2 RAD
Phương pháp xây dựng nguyên mẫu thông
Phương pháp xây dựng nguyên mẫu thông
thường
thường
21
/Chapte
r
© DHBK 2007
1.3.2 RAD
1.3.2 RAD
Phương pháp xây dựng nguyên mẫu loại bỏ
Phương pháp xây dựng nguyên mẫu loại bỏ
22
/Chapte
r
© DHBK 2007
1.3.3 Lựa chọn phương pháp phù hợp
1.3.3 Lựa chọn phương pháp phù hợp
•
Tiêu chí:
Độ rõ ràng, đầy đủ của các yêu cầu của người
sử dụng
Khả năng, mức độ thành thạo về công nghệ
Độ phức tạp của hệ thống
Độ tin cậy của hệ thống
Quỹ thời gian
23
/Chapte
r
© DHBK 2007
1.3.3 Lựa chọn phương pháp phù hợp
1.3.3 Lựa chọn phương pháp phù hợp
24
/Chapte
r
© DHBK 2007
Chương 2: Giới thiệu về phân tích và
Chương 2: Giới thiệu về phân tích và
thiết kế hướng đối tượng với UML
thiết kế hướng đối tượng với UML
2.1 Giới thiệu
2.2 Các đặc điểm cơ bản của hệ thống hướng đối tượng
2.3 UML 2.0
2.4 Phân tích và thiết kế hướng đối tượng với UML 2.0
25
/Chapte
r
© DHBK 2007
2.1 Giới thiệu
2.1 Giới thiệu
•
Lịch sử phát triển của ngôn ngữ lập trình:
First Generation (1954 – 1958)
Fortran I
Second Generation (1959 – 1961)
Fortran II, Algol, Cobol
Third Generation (1962 – 1970)
PL/I, Pascal
Object Oriented Languages
Smalltalk, C++, Java