PHÂN TÍCH THIẾT KẾ HỆ
THỐNG HƯỚNG ĐỐI TƯỢNG 
SỬ DỤNG UML
GVGD: Lê Thị Bích Hằng
Bộ môn Kỹ thuậtphầnmềm
Khoa Công nghệ thông tin
Trường Đạihọc Nha Trang
PTTK UML - Le Thi Bi ch Hang
2
Mụctiêu
 Cung cấp cho sinh viên các khái niệmcơ bản
làm nềntảng cho việctiếpcậnhướng đối
tượng để mô hình hóa, phân tích, thiếtkế hệ
thống. 
 Trang bị chosinhviênkỹ năng phân tích và
thiếthế hệ thống hướng đốitượng giúp người
họccóthể vậndụng vào thiếtkế các hệ thống
ứng dụng trong thựctế. 
PTTK UML - Le Thi Bi ch Hang
3
Nội dung chương trình
 Chương 1: Tổng quan về phân tích thiếtkế hệ thống
 Chương 2: Khái quát về UML
 Chương 3: Mô hình hóa Use Case
 Chương 4: Biểu đồ lớp
 Chương 5: Mô hình động - Biểu đồ tương tác
 Chương 6: Mô hình động (tt)
PTTK UML - Le Thi Bi ch Hang
4
Tài liệuthamkhảo
 Slide bài giảng
 [1] Đặng Văn Đức, Phân tích thiếtkế hướng đốitượng
bằng UML, NXB Giáo Dục
 [2] Huỳnh Văn Đức, Đoàn Thiện Ngân, Giáo trình
nhậpmônUML, NXB Lao động Xã hội, 2003. 
 [3] NguyễnVănVỵ, Phân tích thiếtkế: hướng cấutrúc
và hướng đốitượng, NXB Thống kê, 2002. 
 [4] Dennis, A., Wixom, B.Haley, Tegarden, D., 
Systems Analysis and Design with UML Version 2.0: 
An Object-Oriented Approach, second edition, Wiley, 
2004.
PHÂN TÍCH THIẾT KẾ HỆ
THỐNG HƯỚNG ĐỐI TƯỢNG
Chương 1
Tổng quan về phân tích thiết
kế hệ thống
PTTK UML - Le Thi Bi ch Hang
6
Nội dung
 Khái quát vòng đời phát triểnhệ thống thông
tin 
 Các cách tiếpcận phân tích và thiếtkế hệ
thống
 Các khái niệmcơ bảncủahướng đốitượng
PTTK UML - Le Thi Bi ch Hang
7
Những khó khăn khi phát triểnphầnmềm
 Chưathấuhiểuyêucầu, hoặchiểulầm
 Yêu cầuthường thay đổi trong thời gian phát
triển.
 Yêu cầuthường đượcmiêutả bằng vănbản, 
dài dòng, khó hiểu.
 Đội quân phát triểnphầnmềmrất khó nhận
thứcthấu đáo các mối quan hệ tiềm ẩnvà
phứctạpcần đượcthể hiện chính xác trong
các ứng dụng lớn.
 Khả năng nắmbắtcácdữ liệuphứctạpcủa
con người(tại cùng mộtthời điểm) là có hạn.
PTTK UML - Le Thi Bi ch Hang
8
Tiến trình phầnmềm
 Tiến trình phầnmềmlàphương cách sảnxuất
ra phầnmềmvới các thành phầnchủ yếu bao
gồm:
 Mô hình vòng đờipháttriểnphầnmềm
 Các công cụ hỗ trợ cho phát triểnphầnmềm
 Những người trong nhóm phát triểnphầnmềm.
PTTK UML - Le Thi Bi ch Hang
9
Planning
Requirements Determination
Conceptual Design
Physical Design 
Construction and/or Purchase (prototype)
Conversion - old to new
Implementation
Training
Evolution - maintenance & enhancements
A
n
a
l
y
s
i
s
D
e
s
i
g
n
Implementation
Deployment
Software Development Life Cycle –SDLC
PTTK UML - Le Thi Bi ch Hang
10
Nghiên cứusơ bộ (Planning)
 Lậpkế hoạch cho dự án
 Khởi động dự án
 Thiếtlập độingũ nhân viên cho việckhởi động dự án
 Thiếtlậpquanhệ với khách hàng
 Lậpkế hoạch cho dự án
 Mô tả phạmvi củadự án
 Chia dự án thành các tác vụ có thể thựchiện được
 Ướclượng tài nguyên, lậpkế hoạch tài nguyên
 Đánh giá rủiro
 Lậpkế hoạch hộihọp
 Ướclượng sơ bộ chi phí
 Thựcthidự án: giám sát tiến trình trong kế hoạch
PTTK UML - Le Thi Bi ch Hang
11
Nghiên cứusơ bộ
 Nhậnbiếtcácchứcnăng chính củahệ thống
 Đánh giá sơ bộ rủiro
 Xem xét các yêu cầu, các nguồn tài nguyên có thể sử
dụng
 Thảoluận, xem xét các khía cạnh thương mại, phân
tích khả năng lờilỗ, đánh giá mức độ rủiro
 Phảitrả lời đượccâuhỏi: “Có nên phát triểnhệ thống
này hay không?”
PTTK UML - Le Thi Bi ch Hang
12
Phân tích (Analysis)
 Xác định yêu cầu (Determining Requirement)
 Phỏng vấnvàlắng nghe
 Đưaracáccâuhỏiphỏng vấn
 Câu hỏi Open-ended 
 Câu hỏi closed-ended
 Xác định tổng thể hệ thống cần làm những gì
 Hệ thống lạicácyêucầu: bằng cách xây dựng
mô hình xử lý
 Xây dựng mô hình dữ liệu quan niệm
PTTK UML - Le Thi Bi ch Hang
13
Thiếtkế (Design)
 Phảitrả lờicâuhỏi: “Hệ thống làm cách nào
để thõa mãn các yêu cầu”
 Thiếtkế menu, form nhập, báo cáo (report)
 Thiếtkế logic và vật lý các thành phầndữ liệu
củahệ thống để tạo database
 Thiếtkế các chứcnăng xử lý củahệ thống
PTTK UML - Le Thi Bi ch Hang
14
Thựchiện (Implementation)
 Xây dựng phầnmềm
 Viết code theo yêu cầu quy định sẵn
 Viếttàiliệugiải thích rõ các chương trình, thủ tục, 
hàm
 Kiểm nghiệmchương trình chạy đúng
 Thử nghiệmhệ thống
 Thử nghiệm đơnvị
 Thử nghiệm tích hợp (tích hợp nhiều thành phần)
 Thử nghiệm toàn bộ hệ thống
 Khách hàng thử nghiệm(về mức độ chấpnhận)
PTTK UML - Le Thi Bi ch Hang
15
Triển khai (Deployment)
 Thựchiệntriển khai
 Huấnluyệnngườisử dụng
 Tạo các file dữ liệucầnthiết
 Bảotrìnângcấp
 Hoạt động bảotrìtùythuộcvàosự thay đổicủa
môi trường sử dụng
 Các hệ thống khác nhau có những mức độ bảotrì
khác nhau
PTTK UML - Le Thi Bi ch Hang
16
Mô hình thác nước (Waterfall)
Nghiên cứu Sơ bộ
Xác định yêu cầu
Thiếtkế quan niệm
Thiếtkế logic
Thiếtkế vậtlý
Xây dựng phầnmềm
Đào tạo
Analysis
Design
Thử nghiệmhệ thống
Implementation
Deployment
Bảo trì-Nâng cấp
Nghiên cứu Sơ bộ
Xác định yêu cầu
Xây dựng phầnmềm
Thử nghiệmhệ thống
Đào tạo
Bảo trì-Nâng cấp
PTTK UML - Le Thi Bi ch Hang
17
Mô hình thác nước
 Ưu điểm
 Có vòng lặp, cho phép trở về pha trướctrongvòngđời
phầnmềm để sửachữa khi phát hiệnlỗihoặckhicó
thay đổi. 
 Hướng tài liệu: tấtcả các pha trong vòng đờiphầnmềm
theo mô hình thác nước đều đượcviếttàiliệucẩnthận
và đượckiểmtratrước khi chuyển sang pha tiếp theo. 
Do vậy, hệ thống sẽ dễ dàng bảotrìkhicónhững thay
đổi
Khuyết điểm
 Khách hàng chỉđượctraođổimộtlần duy nhấtvàchưa
được hình dung sảnphẩmnênrấtcóthể các pha tiếp
theo sẽ không thựchiện đúng những gì khách hàng cần
-> sảnphẩmphầnmềmcuốicùngcóthể không thỏa
mãn nhu cầuthựcsự của khách hàng
PTTK UML - Le Thi Bi ch Hang
18
Những thành viên trong nhóm phát
triểnPM
 Nhà phân tích (Analyst)
 Nghiên cứuyêucầucủa khách hàng để định nghĩa1 phạmvi 
bài toán
 Nhậndạng nhu cầutổ chức
 Xác định nhu cầucủa nhân lực
 Xác định phương pháp và công nghệ
 Thiếtkế cấu trúc Database
 Nhà thiếtkế (Designer)
 Giao diệnchương trình (menu, form, report)
 Quyết định các yêu cầuvề phầncứng và phầnmềm
 Chuyên gia lĩnh vực (Domain Expert) 
 Lập trình viên (Programmer)
 Người dùng (User)
PTTK UML - Le Thi Bi ch Hang
19
Giớihạncủahệ thống
PTTK UML - Le Thi Bi ch Hang
20
Các cách tiếpcậnphântíchhệ thống
 Phương pháp hướng chứcnăng
 Phương pháp hướng đốitượng
PTTK UML - Le Thi Bi ch Hang
21
Phương pháp hướng chứcnăng
 Phân rã các chứcnăng củangười dùng thành các
chứcnăng nhỏ hơn
 Đơnvị nhỏ nhấtgọilàthủ tục hay hàm
 Hệ thống hoàn chỉnh khi các chứcnăng cũng hoàn
chỉnh và không đượcthayđổi theo thờigian
Chứcnăng chính
Chứcnăng con 1 Chứcnăng con 2
Chứcnăng
con 1.1
Chứcnăng
con 1.1
Chứcnăng
con 1.1
Chứcnăng
con 1.1
PTTK UML - Le Thi Bi ch Hang
22
Phương pháp hướng chứcnăng
 Ưu điểm
 Đơngiản
 Là phương pháp tốtchoviệcthiếtkế ngân hàng dữ liệu
và nắmbắt thông tin 
 Nhược điểm
 Chỉ quan tâm đếnviệc quảnlýdữ liệu mà hệ thống cần
lưutrữ (nhậpxuất thông tin)
 Tập trung vào thông tin mà không quan tâm đếnnhững
gì xảyravới thông tin và cách hoạt động củahệ thống
 Không phù hợpvớihệ thống thường xuyên thay đổi
PTTK UML - Le Thi Bi ch Hang
23
Phương pháp hướng đốitượng
 Xem các thành phần trong hệ thống như các đốitượng ngoài đời
thực
 Ứng dụng có thể chia thành các thành phầnnhỏ gọilàđốitượng, 
sau đó chúng được tích hợplại thành ứng dụng
 Chứcnăng củahệ thống đượcbiểudiễn thông qua cộng tác của
đốitượng, việc thay đổichứcnăng, tiến hóa chứcnăng không
làm thay đổi đếncấutrúctĩnh củaphầnmềm.
 Ưu điểm
 Hỗ trợ sử dụng lại mã nguồn
 Phù hợpvớicáchệ thống lớn: Các đốitượng hoạt động
độclậpvàchỉ thựchiệnhànhđộng khi nhận đượcyêu
cầutừ các đốitượng khác
 Giảmlỗi, tăng tốc độ thiếtkế và phát triểnphầnmềm
PTTK UML - Le Thi Bi ch Hang
24
Các nguyên tắccơ bảncủahướng đốitượng
Abstraction Encapsulation
Object Orientation
HierarchyPolymorphism
PTTK UML - Le Thi Bi ch Hang
25
Tính trừutượng (Abstraction)
 Chỉ quan tâm các đặctrưng quan trọng cần
thiếtcủacácđốitượng
 Không quan tâm các khía cạnh chi tiếtphức
tạp