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