Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 2: Phân tích thiết kế hướng đối tượng - Đỗ Ngọc Như Loan

 Hệ thống hướng chức năng vs. Hệ thống hướng đối tượng

 Các đặc điểm cơ bản của hệ thống hướng đối tượng

 Giới thiệu UML – UML 2.0

 Phân tích thiết kế hướng đối tượng với UML 2.0

pdf 79 trang yennguyen 2600
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 2: Phân tích thiết kế hướng đối tượng - Đỗ Ngọc Như Loan", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 2: Phân tích thiết kế hướng đối tượng - Đỗ Ngọc Như Loan

Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 2: Phân tích thiết kế hướng đối tượng - Đỗ Ngọc Như Loan
2 – Phân tích thiết kế hướng đối tượng 
GV: Phan Thị Kim Loan 
Phân tích thiết kế hướng đối tượng 
Đỗ Ngọc Như Loan 
2 – Phân tích thiết kế hướng đối tượng 
Nội dung trước 
2 
 Giới thiệu 
 Tiến trình phát triển hệ thống 
 Các phương pháp phát triển hệ thống 
2 – Phân tích thiết kế hướng đối tượng 
Nội dung 
3 
 Hệ thống hướng chức năng vs. Hệ thống hướng đối tượng 
 Các đặc điểm cơ bản của hệ thống hướng đối tượng 
 Giới thiệu UML – UML 2.0 
 Phân tích thiết kế hướng đối tượng với UML 2.0 
2 – Phân tích thiết kế hướng đối tượng 
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 
 4 
2 – Phân tích thiết kế hướng đối tượng 
Lịch sử phát triển OOAD 
5 
2 – Phân tích thiết kế hướng đối tượng 
Lịch sử của UML 
6 
OOSE OMT Booch method Others method 
Unified method 
UML 0.9 
UML 1.0 
UML 1.1 
UML 1.3 
UML 2.0 
OOPSLA ‘95 
Web – Jun ‘96 
UML Partners 
OMG Acceptance, Nov ‘97 
Final submission to OMG, Sep ’97 
First submission to OMG, Jan ‘97 
P
u
b
lic
 &
 F
e
e
d
b
a
c
k
2 – Phân tích thiết kế hướng đối tượng 
Giới thiệu 
Thiết kế cấu trúc và thiết kế hướng đối tượng 
7 
Student 
Account 
Đăng ký học 
phần 
v..v 
Thi cử 
Đóng học phí 
Nhập học 
Thiết kế cấu trúc 
2 – Phân tích thiết kế hướng đối tượng 
Giới thiệu 
Thiết kế cấu trúc và thiết kế hướng đối tượng 
8 
Student 
Account 
v..v 
Messege 
Messege 
Messege 
Messege 
Thiết kế hướng đối tượng 
2 – Phân tích thiết kế hướng đối tượng 
Nguyên tắc cơ bản của OO 
 Hướng đối tượng – Object-Oriented 
 Trừu tượng hoá – Abstraction 
 Tính đóng gói – Encapsulation 
 Tính đơn thể - Modularity 
 Tính phân cấp – Hierarchy 
9 
2 – Phân tích thiết kế hướng đối tượng 
Trừu tượng hoá – Abstraction 
 Quản lý độ phức tạp 
10 
Người bán hàng 
Sản phẩm 
Khách hàng 
2 – Phân tích thiết kế hướng đối tượng 
Tính đóng gói – Encapsulation 
 Che dấu cài đặt bên trong với clients 
 Clients phụ thuộc vào interface 
 Tăng tính mềm dẻo 
11 
2 – Phân tích thiết kế hướng đối tượng 
Tính đơn thể - Modularity 
Phân chia nhỏ 1 vấn đề phức tạp thành nhiều 
phần nhỏ, đơn giản hơn để có thể quản lý được 
độ phức tạp 
12 
Hệ thống xử lý mua bán hàng hoá 
Nhận đơn đặt hàng 
Thực hiện đơn đặt hàng 
Thanh toán đơn đặt hàng 
Lập hoá đơn bán hàng 
Thanh toán hoá đơn 
Xuất hoá đơn 
Các đơn thể quản lý tồn kho 
2 – Phân tích thiết kế hướng đối tượng 
Tính phân cấp – Hierarchy 
13 
Bất động sản Chứng khoán Tài khoản ngân hàng 
Tài sản 
Cổ phiếu Trái phiếu Tài khoản 
Tiết kiệm 
Tài khoản 
Thanh toán 
Tăng mức độ 
trừu tượng 
Giảm mức độ 
trừu tượng 
 Các phần tử trên cùng một mức phải có cùng mức độ trừu tượng 
2 – Phân tích thiết kế hướng đối tượng 
Các khái niệm cơ bản của HĐT 
 Objects & Class 
 Attributes (Properties) & Operation (Behavior) 
 Method & Message 
 Interface (Polymorphism) 
 Component 
 Package 
 Subsystem 
 Relationship 
14 
2 – Phân tích thiết kế hướng đối tượng 
Object 
 Một cách không hình thức, một đối tượng biểu diễn một thực 
thể, dạng vật lý, khái niệm hoặc phần mềm 
15 
Thực thể 
vật lý 
Thực thể 
Khái niệm 
Thực thể 
Phần mềm Chemical Process 
Truck 
Linked-list 
2 – Phân tích thiết kế hướng đối tượng 
Objects & Class 
 Một đối tượng là một đối tượng trừu tượng, hoặc một vật với 
giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụ thể 
 Lớp (Class) – khuôn mẫu cho các thể hiện của object 
 Đối tượng (Object) – Thể hiện của một class 
 Thuộc tính (Attributes) 
 Hành vi (Behaviors) – chi tiết đối tượng có thể làm gì 
16 
2 – Phân tích thiết kế hướng đối tượng 
Biểu diễn đối tượng 
 Một đối tượng được biểu diễn bởi một hình chữ 
nhật với tên được gạch dưới 
17 
: Profressor 
ProfressorJohn 
ProfressorJohn:
Professor 
A x B = 10 
Profressor John 
Chỉ có tên Object 
Tên Class và tên Object 
Chỉ có tên Class 
2 – Phân tích thiết kế hướng đối tượng 
Class - Example 
Class 
Course 
18 
A x B = 10 
Profressor John 
Properties 
Tên 
Địa điểm 
Thời gian 
Số tín chỉ 
Giờ bắt đầu 
Giờ kết thúc 
Behavior 
Thêm một sinh viên 
Huỷ một sinh viên 
Lấy danh sách giáo sư 
2 – Phân tích thiết kế hướng đối tượng 
Class & Object 
19 
2 – Phân tích thiết kế hướng đối tượng 
Method & Message 
 Phương thức (Methods) implement an object’s behavior 
 Messages are sent to trigger methods 
 Procedure call from one object to the next 
20 
2 – Phân tích thiết kế hướng đối tượng 
Phương thức và message 
21 
2 – Phân tích thiết kế hướng đối tượng 
Polymorphism 
Khả năng che dấu nhiều cài đặt khác nhau 
bên dưới một giao diện (interface) duy nhất 
 Nguyên tắc OO đóng gói 
22 
Nhà sản xuất A 
Nhà sản xuất B 
Nhà sản xuất C 
2 – Phân tích thiết kế hướng đối tượng 
Polymorphism – Interface 
23 
 Interface là hình thức hoá polymorphism 
 Interface hỗ trợ kiến trúc “plug & play” 
> 
Shape 
Draw 
Move 
Scale 
Rotate 
Tube 
Pyramid 
Cube 
Quan hệ Realizzation 
2 – Phân tích thiết kế hướng đối tượng 
Component 
 Một phần không tầm thường của hệ thống, gần như độc 
lập và có thể thay thế được, giữ một chức năng rõ ràng 
trong hệ thống 
 Một component có thể là 
 Một source code component 
 Một run time components hoặc 
 Một executable component 
24 
Source File 
 Name 
> 
Executable name 
> 
 Component name 
2 – Phân tích thiết kế hướng đối tượng 
Package 
 Một package là một cơ chế để tổ chức các phần tử vào 
thành các nhóm 
 Một phần tử trong mô hình có thể chứa các phần tử khác 
 Dùng để 
 Tổ chức mô hình đang phát triển 
 Một đơn vị trong quản trị cấu hình 
25 
Package 
Name 
Nguyên tắc OO 
Tính đơn thể 
2 – Phân tích thiết kế hướng đối tượng 
Subsystem 
 Tổ hợp của một package (có thể chứa các phần tử khác 
trong mô hình) và một class(có hành vi) 
 Hiện thực hoá một hoặc nhiều interface định nghĩa cho 
hành vi của nó 
26 
> 
Subsystem Name 
Subsystem Relization 
Interface 
2 – Phân tích thiết kế hướng đối tượng 
Subsystem & Component 
Component là thể hiện ở mức vật lý của một khái niệm 
trừu tượng trong thiết kế 
Subsystem có thể dùng để biểu diễn các component 
trong thiết kế 
27 
 Component 
name 
> 
 Component name 
Design Model Implementation Model 
Component Interface Component Interface 
2 – Phân tích thiết kế hướng đối tượng 
Relationships 
 Association (Kết hợp) – Bản số và chiều 
 Aggregation (Thu nạp): toàn thể và bộ phận 
 Composition (Cấu thành) 
 Dependency (Phụ thuộc) 
 Generalization (Tổng quát hóa) Đơn/Đa kế thừa 
 Realization (Hiện thực hoá) 
28 
2 – Phân tích thiết kế hướng đối tượng 
Association 
 Mô hình hoá một liên kết ngữ nghĩa giữ các class 
29 
class 
Tên role 
Association 
Tên association 
2 – Phân tích thiết kế hướng đối tượng 
Aggregation 
Một dạng đặc biệt của association – mô hình 
hoá mối quan hệ toàn thể - bộ phận giữa một 
thực thể và các bộ phận của nó 
30 
Whole Part 
Aggregation 
2 – Phân tích thiết kế hướng đối tượng 
Composition 
Một dạng aggregation có tính sở hữu cao và 
cùng chu kỳ sống 
 Các bộ phận không thể sống lâu hơn thực thể 
31 
Whole Part 
Aggregation 
2 – Phân tích thiết kế hướng đối tượng 
Association: Bản số và chiều 
Bản số xác định số đối tượng tham gia vào một mối 
quan hệ 
 Số các thể hiện của một class quan hệ với MỘT thể hiện 
của một class khác 
 Được chỉ ra ở mỗi đầu của quan hệ association 
Association và aggregation mặc định là hai chiều, 
nhưng người ta thường giới hạn theo một chiều 
 Mũi tên được thêm vào để chỉ chiều của mối quan hệ 
32 
2 – Phân tích thiết kế hướng đối tượng 
Association: Bản số 
Không xác định 
Chỉ một 
Không hoặc nhiều 
Một hoặc nhiều 
Không hoặc một 
Khoảng được chỉ định 
Các khoảng không liên tục 
33 
1 
0 .. * 
1..* 
0..1 
2..4 
2,4,6 
2 – Phân tích thiết kế hướng đối tượng 
Bản số và chiều 
34 
1 0..* 
Navigation 
Multiplicity 
2 – Phân tích thiết kế hướng đối tượng 
Mối quan hệ: Dependency 
 Quan hệ giữa hai phần tử trong mô hình mà thay đổi ở phần tử 
này có thể gây ra thay đổi ở phần tử kia 
 Quan hệ “sử dụng”, không cấu trúc 
35 
Dependency relationship 
Dependency relationship 
Class 
Component 
Package 
2 – Phân tích thiết kế hướng đối tượng 
Generalization 
 Quan hệ giữa các class trong đó một lớp chia sẻ cấu trúc 
và/hoặc hành vi của một hoặc nhiều class khác 
 Xác định một sự phân cấp các mức độ trừu tượng trong đó 
một subclass kế thừa từ một hoặc nhiều superclass 
 Đơn kế thừa 
 Đa kế thừa 
 Generalization là quan hệ « là một dạng của » 
36 
2 – Phân tích thiết kế hướng đối tượng 
Đơn kế thừa 
 Một class kế thừa từ một class khác 
37 
Tổ tiên 
Hậu duệ 
Hậu duệ 
Generalization Relationship 
Super Class 
(cha) 
Sub Classes 
2 – Phân tích thiết kế hướng đối tượng 
Chỉ sử dụng đa kế thừa khi thật cần, và luôn 
phải cẩn thận ! 
38 
Đa kế thừa 
Đa kế thừa 
2 – Phân tích thiết kế hướng đối tượng 
Cái gì được kế thừa 
Một subclass kế thừa các thuộc tính, hành vi và các 
mối quan hệ từ cha nó 
Một subclass có thể: 
 Bổ sung thuộc tính, hành vi và các mối quan hệ 
 Định nghĩa lại các hành vi (nên cẩn thận!) 
Các thuộc tính, hành vi và các mối quan hệ chung 
được đặt ở mức cao nhất có thể trong cấu trúc phân 
cấp 
39 
2 – Phân tích thiết kế hướng đối tượng 
Realization 
Một lớp thực thi hành vi được đặc tả bởi 1 lớp khác 
(thường là 1 interface) 
40 
2 – Phân tích thiết kế hướng đối tượng 41 
2 – Phân tích thiết kế hướng đối tượng 
Giới thiệu về UML 
UML chỉ đơn thuần là ngôn ngữ đồ hoạ để mô hình hoá chứ 
không phải là phương pháp để phát triển hệ thống 
42 
2 – Phân tích thiết kế hướng đối tượng 
Giới thiệu về UML 
UML 2.0 cung cấp 14 biểu đồ để mô hình 
hoá cấu trúc và chức năng của hệ thống, 
chia làm 2 nhóm: 
 Biểu đồ mô hình cấu trúc 
 Biểu đồ mô hình chức năng 
43 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
6 loại biểu đồ cấu trúc: 
 Biểu đồ lớp (Class) 
 Biểu đồ đối tượng (Object) 
 Biểu đồ gói (package) 
 Biểu đồ triển khai (Deployment) 
 Biểu đồ thành phần (Component) 
 Biểu đồ cấu trúc phức hợp (Composite structure 
diagrams) 
44 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
Biểu đồ lớp (class diagram) 
 Biểu diễn mối quan hệ giữa các lớp 
45 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
Biểu đồ đối tượng (object diagram) 
 Biểu diễn mối quan hệ giữa các đối tượng 
46 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
Biểu đồ gói 
(package diagram) 
 Biểu đồ gói gộp các 
thành phần khác 
nhau của UML (ví 
dụ: lớp) để tạo 
thành thành phần 
lớn hơn 
47 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
Biểu đồ triển khai 
(deployment diagram) 
 Biểu diễn cấu trúc phần 
cứng và các thành phần 
phần mềm của hệ thống 
48 
Printer
123 Le Loi Str
Regional ATM 
Server
Banking 
Datab...
345 Nguyen 
Hue Str.
Oracle Server
ATMServer.exe
ATMClient.exe ATMClient.exe
> >
>
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
Biểu đồ thành phần (component diagram) 
 Biểu diễn quan hệ giữa các thành phần của hệ thống 
49 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ cấu trúc 
Biểu đồ cấu trúc phức hợp (composite structure 
diagram) 
 Minh hoạ chi tiết cấu trúc bên trong của một lớp 
50 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
 8 loại biểu đồ chức năng 
 Biểu đồ hoạt động (activity diagram) 
 Biểu đồ tương tác (interaction diagrams) 
• Biểu đồ chuỗi tuần tự (sequence diagram) 
• Biểu đồ cộng tác (communication/collaboration diagram) 
• Biểu đồ khát quát tương tác (interaction overview diagram) 
• Biểu đồ thời gian (timing diagram) 
 Biểu đồ máy trạng thái (state machines) 
• Máy trạng thái chức năng (behavior state machines) 
• Máy trạng thái giao thức (protocol state machines) 
 Biểu đồ ca sử dụng (use case diagram) 
51 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
Biểu đồ hoạt động 
(activity diagram) 
 Được dùng để mô 
tả luồng công việc 
của hệ thống hoặc 
luồng hoạt động 
trong một ca sử 
dụng hoặc mô tả 
thiết kế chi tiết của 
một phương thức 
(method) 
52 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
Biểu đồ chuỗi tuần tự (sequence diagram) 
 Mô tả các hoạt động của các đối tượng trong một ca sử 
dụng dựa vào thứ tự xuất hiện theo thời gian 
53 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
Biểu đồ cộng tác (collaboration diagram) 
 Là cách biểu diễn khác của biểu đồ chuỗi tuần tự 
nhưng tập trung vào mối quan hệ và giao tiếp giữa 
các đối tượng 
54 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
 Biểu đồ khát quát tương tác (interaction overview diagram) 
 Được dùng để mô tả tương tác giữa các đối tượng trong các 
ca sử dụng phức tạp 
 Ít được sử dụng 
 Biểu đồ thời gian (timing diagram) 
 Được dùng để mô tả tương tác giữa các đối tượng theo thời 
gian. Chủ yếu được dùng để mô tả sự thay đối trạng thái của 
đối tượng khi có tác động của một sự kiện theo thời gian. 
 Được dùng để phát triển các hệ thống thời gian thực và hệ 
thống nhúng 
55 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
Biểu đồ máy trạng thái chức năng (behavior 
state machines) 
 Được dùng để mô tả các trạng thái khác nhau mà các 
đối tượng của một lớp có thể có trong thời gian tồn tại 
của chúng. 
56 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
Biểu đồ máy trạng thái giao thức (protocol state 
machines) 
 Được dùng để mô tả giao thức giữa các lớp 
 Ví dụ: open database -> Query or update 
57 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
58 
Biểu đồ ca sử dụng (use case diagram) 
Được dùng để mô tả tương tác giữa một hệ thống với người sử dụng 
hoặc với các hệ thống khác có tương tác với nó. 
Là công cụ để mô tả các yêu cầu của hệ thống 
Là một trong những công cụ quan trọng nhất trong phân tích và thiết kế 
hướng đối tượng 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
59 
2 – Phân tích thiết kế hướng đối tượng 
Biểu đồ chức năng 
60 
2 – Phân tích thiết kế hướng đối tượng 
Các Ràng buộc 
Ràng buộc 
(constraints) 
 Dùng để biểu 
diễn ràng buộc 
và các quan 
hệ mà không 
thể biểu diễn 
được bằng 
UML 
 Ràng buộc 
được đặt trong 
ngoặc { } 
61 
2 – Phân tích thiết kế hướng đối tượng 
Các giá trị đính 
Nhãn:giá trị (tagged values) 
 Là một cặp chuỗi ký tự: nhãn (tag) và giá trị (value) 
được dùng để bổ sung thông tin cho một phần tử nào 
đó (lớp, đối tượng, quan hệ ) 
 Nhãn và giá trị được đặt trong ngoặc { } 
62 
2 – Phân tích thiết kế hướng đối tượng 
Các khuôn mẫu 
Khuôn mẫu (stereotype) 
 Cho phép mở rộng UML bằng cách sử dụng các phần tử 
mô hình hoá đã có sẵn trong UML 
 Khuôn mẫu có thể sử dụng ràng buộc và tagged values 
 Khuôn mẫu được đặt trong dấu > 
63 
2 – Phân tích thiết kế hướng đối tượng 
Các ghi chú 
 Note: Có thể đặt ghi chú cho mọi phần tử UML 
 Ghi chú dùng để thêm thông tin cho các lược đồ 
 Nó là hình chữ nhật bị bẻ góc 
 Ghi chú có thể móc nối với một phần tử bằng một đường 
đứt nét 
64 
2 – Phân tích thiết kế hướng đối tượng 
Đặc điểm cơ bản của OOAD 
 Use-case driven 
 Architecture Centric 
• Cấu trúc phần mềm quyết định việc mô tả, xây dựng và viết tài 
liệu hệ thống 
• 3 dạng cấu trúc của một hệ thống: 
• Chức năng (functional view): chức năng bên ngoài của hệ 
thống từ góc nhìn của người sử dụng : biểu đồ ca sử dụng, 
biểu đồ hoạt động 
• Cấu trúc tĩnh (static view): lớp, thuộc tính, phương thức, 
quan hệ 
• Cấu trúc động (dynamic view): chức năng bên trong của hệ 
thống: biểu đồ máy trạng thái chức năng 
 Iterative and Incremental 
65 
2 – Phân tích thiết kế hướng đối tượng 
Ưu điểm của OOAD 
 Việc chia nhỏ một hệ thống lớn thành các module sẽ 
giúp cho việc giải quyết vấn đề dễ dàng hơn, dễ chia sẻ 
giữa các thành viên của dự án và dễ dàng trao đổi với 
người dùng về các yêu cầu của hệ thống 
 Dễ dàng sử dụng lại các module trong các dự án khác 
 Tư duy suy nghĩ về đối tượng gần gũi với thực tế 
66 
2 – Phân tích thiết kế hướng đối tượng 
Ưu điểm 
Một mô hình chung 
Có tính dễ dùng lại 
Mô hình phản ánh chính xác thế giơi thực 
 Mô tả chính xác hơn các tập dữ liệu và các xử lý 
 Được phân rã dựa trên các phân chia tự nhiên 
 Dễ hiểu và dễ bảo trì 
Tính ổn định 
 Một thay đổi nhỏ trong yêu cầu không gây ra sự thay 
đổi lớn trong hệ thống đang phát triển 
67 
2 – Phân tích thiết kế hướng đối tượng 
Ưu điểm của OOAD 
68 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Unified process là một phương pháp phát triển hệ thống trong đó quy 
định khi nào thì sử dụng các kỹ thuật UML và sử dụng chúng như thế 
nào trong quá trình phân tích và thiết kế hệ thống. 
 Tác giả: Booch, Jacobsen, Rumbaugh 
 Là phương pháp hướng đối tượng 
 Không phải là một quy trình phát triển phần mềm hoàn thiện 
• Không xét đến các vấn đề về phân bổ nhân lực, ngân quỹ, quản 
lý hợp đồng 
• Không quy định về các hoạt động bảo trì hay hỗ trợ khách hàng 
• Không xét đến các vấn đề tương tác giữa các dự án 
69 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
70 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Pha khởi tạo (Inception): giống như pha lập kế hoạch 
 Các bước liên quan: 
• Mô hình hoá giá trị kinh doanh của hệ thống (business modeling) * 
• Xác định yêu cầu (requirements)* 
• Phân tích (analysis)* 
• Thiết kế (design) 
• Thực hiện (implementation) 
• Kiểm tra (test) 
• Môi trường phát triển (environment)* 
 Kết quả: 
• Phạm vi của dự án 
• Các yêu cầu và ràng buộc quan trọng 
• Kế hoạch dự án bước đầu 
• Miêu tả tính khả thi và rủi ro của dự án 
• Lựa chọn môi trường cần thiết để phát triển hệ thống 
 71 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Pha phát triển (elaboration): hoàn thiện mô hình kinh doanh, đánh 
giá lại rủi ro và hoàn thiện kế hoạch dự án 
 Các bước liên quan: 
• Thu thập yêu cầu (requirements) 
• Phân tích (analysis)* 
• Thiết kế (design)* 
• Thực hiện (implementation) 
• Kiểm tra (test) 
• Triển khai (deployment) 
• Quản lý cấu hình và thay đổi (configuration and change 
management) 
 Kết quả: 
• Biểu đồ cấu trúc và chức năng UML 
• Phiên bản hoạt động đầu tiên của hệ thống 
72 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Pha xây dựng (construction): tập trung chủ yếu vào lập trình 
 Các bước liên quan: 
• Thu thập yêu cầu (requirements) 
• Phân tích (analysis) 
• Thiết kế (design) 
• Thực hiện (implementation)* 
• Kiểm tra (test) 
• Triển khai (deployment) 
• Quản lý cấu hình và thay đổi (configuration and change 
management)* 
 Kết quả: 
• Phiên bản beta của hệ thống 
73 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Pha chuyển tiếp (transition): tập trung chủ yếu vào kiểm tra và triển 
khai 
 Các bước liên quan: 
• Thu thập yêu cầu (requirements) 
• Phân tích (analysis) 
• Thiết kế (design) 
• Thực hiện (implementation) 
• Kiểm tra (test)* 
• Triển khai (deployment)* 
• Quản lý cấu hình và thay đổi (configuration and change 
management)* 
 Kết quả: 
• Phiên bản cuối cùng (release) của hệ thống 
• Hướng dẫn sử dụng 
• Kế hoạch hỗ trợ khách hàng, kế hoạch nâng cấp hệ thống 
74 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Các bước kỹ thuật (Engineering workflows) 
1. Mô hình hoá giá trị kinh doanh (business modeling) 
• Diễn ra chủ yếu trong pha khởi tạo 
• Phát hiện vấn đề và xác định các dự án tiềm năng 
• Xác định giá trị kinh doanh mà dự án đem lại 
• Thu thập dữ liệu và mô hình hoá ca sử dụng có thể được sử dụng 
2. Xác định yêu cầu (requirements) 
• Xác định yêu cầu về chức năng và cả không chức năng 
• Yêu cầu được thu thập từ người sử dụng, người quản lý người sử 
dụng, khách hàng 
3. Phân tích 
• Xây dựng biểu đồ cấu trúc và chức năng sử dụng UML 
• Xác định các lớp có thể sử dụng lại 
• Bước phân tích có thể được sử dụng lại bất kỳ lúc nào trong chu 
trình phát triển hệ thống 
75 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Các bước kỹ thuật (Engineering workflows) 
4. Thiết kế 
• Chuyển từ mô hình phân tích sang mô hình thiết kế 
• Thiết kế giao diện, cơ sở dữ liệu, cấu trúc vật lý của hệ thống, thiết kế 
chi tiết các lớp 
5. Thực hiện (implementation) 
• Lập trình: viết các lớp, chương trình và sử dụng các lớp trong thư 
viện 
• Tích hợp các module 
6. Kiểm tra (Test) 
• Kiểm tra tích hợp hệ thống, chức năng, kiểm tra khả năng chấp nhận 
của người sử dụng  
• Việc kiểm tra đuợc tiến hành trong suốt quá trình phát triển của HT 
7. Triển khai (deployment) Đóng gói phần mềm, phân phối, cài đặt và beta 
testing 
76 
2 – Phân tích thiết kế hướng đối tượng 
The Unified process 
 Các bước hỗ trợ (Supporting workflows) 
1. Quản lý dự án (project management) 
• Diễn ra trong suốt quá trình phát triển hệ thống 
• Xác định và quản lý rủi ro 
• Quản lý phạm vi dự án 
• Quản lý về thời gian, chi phí 
2. Quản lý cấu hình và thay đổi (configuration and change management ) 
• Theo dõi và quản lý trạng thái và các phiên bản của hệ thống 
• Quản lý việc thay đổi các phiên bản (người thay đổi, thời gian thay 
đổi) 
3. Quản lý môi trường phát triển (environment) 
• Quản lý các công cụ và môi trường phát triển cần thiết cho dự án 
• Ví du: Rational Rose, Microsoft project, Microsoft Visual C++ 
77 
2 – Phân tích thiết kế hướng đối tượng 
Thực hành 
 Làm quen với công cụ Rational Rose 
 Case Study – Quản lý đăng ký học phần 
 Tìm hiểu về các đề tài OOAD 
 Đăng ký nhóm và đăng ký đồ án 
 Đọc sách UML 
78 
2 – Phân tích thiết kế hướng đối tượng 
Bài tập 
 Cho ví dụ 10 Class: Attribute, Operation 
 Cho ví dụ 10 Object 
=> trong đề tài đã đăng ký 
79 

File đính kèm:

  • pdfbai_giang_phan_tich_va_thiet_ke_huong_doi_tuong_bai_2_phan_t.pdf