B
À
I
T
Ậ
P
C
Ô
N
G
N
G
H
Ệ
P
H
Ầ
N
M
Ề
M
T
Ì
M
H
I
Ể
U
Q
U
Y
T
R
Ì
N
H
R
U
P
(
R
A
T
I
O
N
A
L
U
N
I
F
I
E
D
P
R
O
C
E
S
S
)
N
h
ó
m
1
6
V
õ
Đ
ạ
i
L
ư
ợ
n
g
H
o
à
n
g
Q
u
a
n
g
Q
u
ố
c
V
õ
P
h
ư
ớ
c
H
o
à
i
N
h
ã
N
g
u
y
ễ
n
T
h
ị
M
ỹ
D
u
n
g
P
h
a
n
M
i
n
h
T
â
m
7
/
1
0
/
1
4
1
Q
u
y
t
r
ì
n
h
r
u
p
K
H
Á
I
N
I
Ệ
M
,
V
Ò
N
G
Đ
Ờ
I
,
P
H
A
,
N
G
U
Y
Ê
N
T
Ắ
C
,
Ư
U
V
À
N
H
Ư
Ợ
C
Đ
I
Ể
M
7
/
1
0
/
1
4
2
VÒNG ĐỜI
7/10/14
3
Cấu trúc của quy trình RUP, được thể hiện theo hai chiều:
Trục hoành biểu diễn khía cạnh động của qui trình, bao gồm thời gian và các khía cạnh chu kỳ sống của qui trình.
Trục tung biểu diễn khía cạnh tĩnh của qui trình, gồm các luồng công việc chính.
4 PHA CỦA RUP
1. The Inception Phase – Pha khởi đầu
Phạm vi dự án, yêu cầu người dùng và ràng buộc
Yêu cầu nghiệp vụ, rủi ro, kế hoạch dự án (phân công, 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ụ
7
/
1
0
/
1
4
4
4 PHA CỦA RUP…
2. The Elaboration Phase – Pha phác thảo
Mục tiêu là để xác định các yêu cầu chi tiết hơn và xác định các kiến trúc cho hệ thống.
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
Tinh chỉnh kiến trúc và chọn thành phần (component)
7
/
1
0
/
1
4
5
4 PHA CỦA RUP…
3. The Construction Phase – Pha xây dựng
Tập trung để phát triển các ứng dụng mà nó đã sẵn sàng cho việc triển khai.
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ạ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ợ…
7
/
1
0
/
1
4
6
4 PHA CỦA RUP…
4. The Transition Phase – Pha chuyển giao
Bây giờ chúng ta có thể cung cấp các hệ thống chuyển giao thành sản phẩm.
Tạo sản phẩm xuất xưởng
Kiểm tra sản phẩm, thu thập phản hồi
7
/
1
0
/
1
4
7
7
/
1
0
/
1
4
8
Thời gian dành cho các giai đoạn này được ước tính như sau
9 NGUYÊN TẮC CỦA RUP (LUỒNG CÔNG VIỆC)
1. Mô hình hóa nghiệp vụ (business modeling):
mô tả cấu trúc và quy trình nghiệp vụ.
2. Xác định yêu cầu (requirement):
mô tả nghiệp vụ bằng phương pháp “tình huống sử dụng” (use case base method)
3. Phân tích và thiết kế (analysis & design):
mô tả kiến trúc hệ thống thông qua các sơ đồ phân tích thiết kế.
4. Lập trình:
thực hiện các việc xây dựng chương trình bằng ngôn ngữ lập trình.
5. Thử nghiệm:
mô tả các tình huống và kịch bản thử nghiệm, tiến hành thử nghiệm hệ thống phần mềm.
7
/
1
0
/
1
4
9
9 NGUYÊN TẮC CỦA RUP (LUỒNG CÔNG VIỆC)…
6. Triển khai:
đưa hệ thống phần mềm vào sử dụng.
7. Quản trị cấu hình và quản trị thay đổi:
kiểm soát các thay đổi và duy trì sự hợp nhất của các thành phần dự án.
8. Quản trị dự án:
quản lý toàn bộ quá trình làm việc của dự án.
9. Môi trường:
đảm bảo các hạ tầng cần thiết để có thể phát triển được hệ thống.
7
/
1
0
/
1
4
10
THẾ MẠNH CỦA RUP
Thích ứng với quá trình
RUP có khả năng thích ứng dựa trên các nhu cầu phát triển.
Cân bằng giữa các bên cạnh tranh liên quan
Bằng cách giữ cho các bên liên quan tham gia hoạt động.
Phối hợp giữa các nhóm phát triển
Giữ một quá trình giao tiếp mở giữa các nhóm
Thể hiện giá trị của quy trình Lặp
Cung cấp phần mềm làm việc sớm và thường xuyên
7
/
1
0
/
1
4
11
THẾ MẠNH CỦA RUP…
Nâng cao mức độ trừu tượng
Thích nghi với công cụ mô hình, tái sử dụng mã hiện có, và tập trung vào kiến trúc
Tập trung liên tục về chất lượng
Điều này được thực hiện bằng cách kiểm tra tất cả các phần chính của dự án.
7
/
1
0
/
1
4
12
ƯU ĐIỂM
Thường xuyên nhận thông tin phản hồi từ các bên liên quan
Những người thực hiện dự án có thể học hỏi và tích luỹ thêm nhiều kinh nghiệm qua các dự án.
Sử dụng hiệu quả các nguồn lực
Sử dụng các kiến trúc thành phần (component), có tính kế thừa ở mức cao, tăng khả năng tái sử dụng.
Bạn có thể cung cấp chính xác những gì khách hàng muốn
Các thay đổi có thể quản lý được một cách tốt hơn. Cho phép thay đổi các yêu cầu, các phương thức cho thích hợp hơn
Các vấn đề được phát hiện sớm trong dự án của bạn
Sản phẩm có chất lượng tốt hơn.
Cải thiện khả năng kiểm soát
Kiểm tra chất lượng phần mềm liên tục
Cải thiện quản lý rủi ro
Các rủi ro sớm được phát hiện và giảm nhẹ trong khi tích hợp hệ thống và xây dựng dần dự án
7
/
1
0
/
1
4
13
NHƯỢC ĐIỂM
Quá trình có thể quá phức tạp để thực hiện
Phát triển có thể không kiểm soát được
Nó là một quá trình nặng
Bạn cần một chuyên gia để hoàn toàn thông qua quá trình này
7
/
1
0
/
1
4
14
TÀI LIỆU THAM KHẢO
Rational Unified Process: Best Practices for Software Development Teams
/>ices_TP026B.pdf
A Manager’s Introduction to the Rational Unified Process (RUP)
/>The Rational Unified Process
/>7
/
1
0
/
1
4
15
Ứ
N
G
D
Ụ
N
G
P
R
O
J
E
C
T
:
S
T
E
A
M
T
U
R
B
I
N
E
D
E
S
I
G
N
T
O
O
L
C
Ô
N
G
C
Ụ
T
H
I
Ế
T
K
Ế
C
Á
N
H
Q
U
Ạ
T
T
U
A
B
I
N
H
Ơ
I
N
Ư
Ớ
C
7
/
1
0
/
1
4
16
Nhiệm vụ:
Xây dựng một công cụ để thiết kế cánh quạt của tua bin hơi
nước
Khách hàng:
Alstom Power
Thực hiện:
1999-2000
Số liệu được lấy từ
THÁCH THỨC CỦA DỰ ÁN
Thời gian phát triển gấp rút (<9 tháng) từ ý tưởng ban đầu
Giao diện người dùng tinh vi với đồ họa 2D và 3D
Tích hợp các phần mềm được phát triển bởi khách hàng (trong Mathlab) cho các tính toán hình học và nhiệt
động lực học.
Yêu cầu ban đầu rất mơ hồ, bởi vì không có công cụ trước đó tồn tại.
7
/
1
0
/
1
4
17
PHƯƠNG PHÁP ĐỂ GIẢI QUYẾT
Đội ngũ các nhà phát triển có kinh nghiệm:
Hai kỹ sư Zühlke với kỹ sư từ khách hàng
Bắt đầu nhanh và nhiệt tình với sự tham gia của khách hàng
Yêu cầu hệ thống quản lý dựa trên tính năng xây dựng hàng ngày
Thực hiện trong Java 2 / Standard Edition
Kết quả: dự án đã hoàn thành hai tháng trước thời hạn, với tất cả các tính năng cần thiết và với một nhược điểm
rất ít. Big party!
7
/
1
0
/
1
4
18
MỘT SỐ THỐNG KÊ DỰ ÁN
7
/
1
0
/
1
4
19
Số lượng nhân viên: 4
Kích cỡ nhóm (tương đương toàn thời gian): 3.5
Số các trường hợp (về nội dung) sử dụng: 6
Số tính năng: 40
Số yêu cầu thay đổi thực hiện: 53
Số lỗi tìm thấy và cố định: 14
Số lần lặp lại (thử nghiệm): 8
Thời gian thực hiện: 7 tháng
Tổng nỗ lực của mọi người trong ngày: 260
Số lớp Java thực hiện: Khoảng 180
Tổng số dòng lệnh, bao gồm cả dòng bình luận: Khoảng 30,000
DẤU MỐC THỜI GIAN
7
/
1
0
/
1
4
20
TỔNG KẾT DỰ ÁN
7
/
1
0
/
1
4
21
BÀI HỌC KINH NGHIỆM
Các yếu tố góp phần vào sự thành công của dự án:
•
lặp đi lặp lại và phát triển gia tăng (không có che giấu sự thật)
•
Sự tham gia nhiệt tình của khách hàng trong việc lập kế hoạch và giám sát dự án
•
nhanh chóng và hữu ích thông tin phản hồi từ khách hàng
•
phí cho quản lý dự án thấp (khoảng 7% tổng khối)
•
quản lý thay đổi thực dụng nhưng hiệu quả
•
Quy trình RUP tiết kiệm rất nhiều thời gian thiết lập dự án
Cần cải thiện:
•
Tích cực thử nghiệm hệ thống liên tục
•
Ít nhất cần thêm kiểm tra đơn vị với các công cụ xxUnit
•
Thu thập thêm nhiều số liệu thiết kế
7
/
1
0
/
1
4
22
C
Ả
M
Ơ
N
!
S
Ự
L
Ắ
N
G
N
G
H
E
7
/
1
0
/
1
4
23