Chương 1
Chương
1
Tổng quan về phân tích và thiết kế
UML/NN 1
Nội dung
Phân tích, thiết kế là gì?
Quá trình phân tích thiết k
ế
Phân tích thiết kế hướng đối tượng
RUP (Rational Unified Process)
UML
(
Unified Modelin
g
Lan
g
ua
g
e
)
(ggg)
Giới thiệu
Các thành phầncủaUML
Các
thành
phần
của
UML
Các loại mô hình UML
UML/NN 2
1.1 Phân tích thiết kế là gì?
Phân tích thiết kế phần mềm:
ể
Quá trình tìm hi
ể
u và mô phỏn
g
lại hiện tượn
g
,
quy trình nghiệp vụ trong thế giới thực từ đó xây
dựng hệ thống để giảiquyết bài toán đặtratrên
dựng
hệ
thống
để
giải
quyết
bài
toán
đặt
ra
trên
máy tính.
Thiết kế
Thế giới thực
UML/NN 3
Lập trình
Kiểm thử
Phần mềm
Tại sao phải phân tích thiết kế?
Bảo trì
Bảotr
ì
Cài đặt
Kiểm thử
C
à
i đặt
Kiểm thử
Bảo
tr
ì
Thiết kế
C
à
i
đặt
ó
ế ế
ế ế
C
ó
thi
ế
t k
ế
Không thi
ế
t k
ế
UML/NN 4
Tại sao phải phân tích thiết kế?
Chất lượng thiết kế là nhân tố chính quyết
đị hhấtlượ hầ ề
đị
n
h
c
hất
lượ
n
g
p
hầ
n m
ề
m
Không thiết kế -hoặc thiết kế không tốt dẫn
đến phần mềm chất lượn
g
thấp
Không quản lý được những thay đổi yêu cầu
Khó kiểm thử
Khó bảo trì
Không có tính tiến hóa
Không tái sử dụng được
UML/NN 5
Không
tái
sử
dụng
được
Phân tích, thiết kế trong CNPM
Quy trình thác nước:
Phân tích
yêu cầu
Vị trí của Phân tích thiết kế
tron
g
qu
y
t
r
ình phát triển PM
Yêu
cầu
Thiết kế
gy
Cài đặt &
Kiểm thử
Triển khai
UML/NN 6
Phần mềm
Phân tích yêu cầu
Là bước đầu tiên trong xây dựng phần mềm
Gồm có các bước
Phân tích viên phân tích hiện trạng và yêu cầu
của khách hàn
g
Mô hình hệ thống
Lập bảng các chức năng của hệ thống
Yêu cầu chức năng
Y
êu cầu phi chức năng
Xác định phạm vi của hệ thống
UML/NN 7
Thiết kế
Là bước kế tiếp nhằm phác họa ra hệ thống
V
iệc thiết kế bao
g
ồim các côn
g
việc
Thiết kế dữ liệu
Thiết kế kiến trúc
T
hiết kế thành
p
hần
p
Thiết kế giao diện
UML/NN 8
Cài đặt, kiểm thử
Cài đặt theo thiết kế (sử dụng các công cụ
để âdự hầ ề từ thiếtkế)
để
x
â
y
dự
n
g
p
hầ
n m
ề
m
từ
thiết
kế)
Kiểm thử:
Kiểm thử đơn vị (Unit Test)
Kiểm thử h
ệ
thốn
g
con
(
Sub-S
y
stem Test
)
ệ g(
y)
Kiểm thử hệ thống (System Test)
UML/NN 9
Triển khai
Cài đặt hệ thống
Giải pháp phần cứn
g
Cài đặt phần mềm
Chuyển
g
iao côn
g
n
g
hệ
Hướng dẫn sử dụng: đào tạo, tài liệu hướng dẫn
Bảo trì, nân
g
cấp
UML/NN 10
Phương pháp phân tích thiết kế
Phương pháp hướng chức năng
Là lốitiế ậ t ề thố ủ Cô hệ hầ ề
Là
lối
tiế
p c
ậ
n
t
ruy
ề
n
thố
ng c
ủ
a
Cô
ng ng
hệ
p
hầ
n m
ề
m
Tập trung vào thông tin
Dể dàng xử lý việcthayđổidữ liệunhưng lạikhótrong
Dể
dàng
xử
lý
việc
thay
đổi
dữ
liệu
,
nhưng
lại
khó
trong
thay đổi về nguyên tắc nghiệp vụ
Phươn
g
p
há
p
hướn
g
đối tư
ợ
n
g
gp p g ợ g
Chúng ta tập trung vào cả thông tin và hoạt động
Xem xét các thành phần trong bài toán tương tự như các
ố ế ớ
đ
ố
i tượng trong th
ế
gi
ớ
i thực
Dễ dàng tái sử dụng
UML/NN 11
Phân tích hướng đối tượng (OOA)
Là một giai đoạn của dự án nhằm tạo ra một
ôhì h õ à à ú tí h hữ ấ đề
m
ô
hì
n
h
r
õ
r
à
n
g
v
à
s
ú
c
tí
c
h
n
hữ
n
g
v
ấ
n
đề
cần giải quyết theo những khái niệm và đối
tượ ủ thế iớithự
tượ
n
g
c
ủ
a
thế
giới
thự
c
Việc phân tích cần xác định những đặc
trưn
g
, nhữn
g
tươn
g
tác và quan hệ có liên
quan của các thực thể
UML/NN 12
Cửa hàng bán xe hơi
Xác định thực thể
Khá h hà
Khá
c
h
hà
ng
Người bán hàng
Đơn đặthàng
Đơn
đặt
hàng
Xe hơi
Hóa đơn
Những tương tác
Khách hàn
g
xem xe
g
Khách hàng đặt hàng
Khách hàng thanh toán
UML/NN 13
Người bán hàng giao hóa đơn và giao xe
Ngân hàng bán lẻ
Xác định thực thể
L itàikh ả ATM Tiếtkiệ Khô kỳ h
L
oạ
i
tài
kh
o
ả
n:
ATM
,
Tiết
kiệ
m,
Khô
ng
kỳ
h
ạn
Khách hàng
Nhân viên
Nhân
viên
Những tương tác
Khách hàng mở tài khoản
Khách
hàng
mở
tài
khoản
Chuyển tiền từ tài khoản Tiết kiệm đến tài khoản ATM
Chu
y
ển tiền từ tài khoản Tiết ki
ệ
m tới tiền
g
ởi Khôn
g
k
ỳ
y ệ g g ỳ
hạn
Chuyển tiền từ tài khoản Không kỳ hạn tới tiền gởi tiết
kiệm
UML/NN 14
kiệm
Thiết kế hướng đối tượng (OOD)
Chương trình được xem như là một tập hợp
những đốitượng cộng tác đốitượng là thể
những
đối
tượng
cộng
tác
,
đối
tượng
là
thể
hiện của lớp, các lớp tạo nên cây phân cấp
có quan hệ thừakế
có
quan
hệ
thừa
kế
Nhà thiết kế xác định trách nhiệm, thuộc tính
tác vụ và quan hệ củacáclớp
tác
vụ
và
quan
hệ
của
các
lớp
UML/NN 15
Những thuận lợi của OOA&D
Phù hợp với suy nghĩ tự nhiên của con
ngườigiảiquyết đượcmộtsố vấn đề trong
người
,
giải
quyết
được
một
số
vấn
đề
trong
sản xuất phần mềm
Tăng cường tái sử dụng đốitượng nhờ đó
Tăng
cường
tái
sử
dụng
đối
tượng
nhờ
đó
giảm được chi phí, lỗi, công sức, gia tăng tốc
độ thiếtkế và bảotrì
độ
thiết
kế
và
bảo
trì
Giúp phát triển những phần mềm phức tạp,
hỗ trợ cho việctạoranhững hệ thống phần
hỗ
trợ
cho
việc
tạo
ra
những
hệ
thống
phần
mềm dẻo và có khả năng ráp nối cao
UML/NN 16
Qui trình RUP (Rational Unified Process)
Qui trình phát triển phần mềm thống nhất
RUP là ộtt hữ itì h háttiể
RUP
là
m
ột
t
ron
g
n
hữ
n
g
qu
i
t
r
ì
n
h
p
hát
t
r
iể
n
phần mềm theo hướng đối tượng, dùng
Nô ữ ôhì hthố hất(UML
Ngô
n n
gữ
m
ô
hì
n
h
thố
n
g
n
hất
(UML
-
Unified modeling language)
ể
RUP là qui trình do hãn
g
Rational phát tri
ể
n
UML/NN 17
Các vấn đề về phần mềm
UML/NN 18
Nguyên nhân
UML/NN 19
RUP
UML/NN 20
Các giai đoạn RUP
UML/NN 21
RUP: Nỗ lực
UML/NN 22
Qui trình RUP…
Giai đoạn 1 (Inception): khởi đầu
Ph idự áêầ ườidù à à b ộ
Ph
ạm v
i
dự
á
n, y
ê
u c
ầ
u ng
ười
dù
ng v
à
r
à
ng
b
u
ộ
c
Yêu cầu nghiệp vụ, rủi ro, kế hoạch dự án (phân công,
chi phí)
chi
phí)
Thiết kế kiến trúc (chi phí, lịch, tài nguyên)
Cấu hình môi trường làm việc, công cụ
Giai đoạn 2 (Elaboration): Hình thành
Tinh chỉnh tài liệu
Hoạch định những bước lặp
Kế hoạch phát triển: tiến trình, công cụ CASE
Ti h hỉ hkiế úàh hà h hầ ()
23 CNPM/NN
Ti
n
h
c
hỉ
n
h
kiế
n tr
ú
c v
à
c
h
ọn t
hà
n
h
p
hầ
n
(
component
)
…Qui trình RUP
Giai đoạn 3 (Construction): Xây dựng
ả ý ế ì ả ẩ ấ ả ả
Qu
ả
n l
ý
ti
ế
n tr
ì
nh tạo s
ả
n ph
ẩ
m: năng su
ấ
t, đ
ả
m b
ả
o
chất lượng
Tạosảnphẩm (alpha beta các phiên bản test khác)
Tạo
sản
phẩm
(alpha
,
beta
,
các
phiên
bản
test
khác)
Kế hoạch triển khai ứng dụng: phần mềm, người sử
dụng, hỗ trợ…
Giai đoạn 4 (Transition): Chuyển giao
Tạo sản phẩm xuất xưởng
Kiểm tra sản phẩm, thu thập phản hồi
24 CNPM/NN
Unified Process
A role played by an
individual or a team
Activity
A unit of work
Activity
Describe a
C
Analyst
Worker
Use
C
ase
responsible for
Analyst
Artifact
A piece of information that is
produced, modified, or used
by a process
UML/NN 25
Use case
package
Use case
by a process