lOMoARcPSD| 58933639
8/12/2022
Chương 1. Tổng quan (tiếp)
Tiến tr nh phÆt triển phần mềm
Nguyễn Hồng Hạnh, MSc
Bộ môn Công nghệ phần mềm
Khoa CNTT&TT – ĐH Xây dựng Hà Nội
Email: hanhnh@huce.edu.vn
1
Nội dung
2
2
.Tiến trình Phát triển Phần mềm
1
2
lOMoARcPSD| 58933639
8/12/2022
1. Các hoạt động phát triển phần mềm (PTPM)
2. Một số mô hình phát triển phần mềm thông
dụng
3. Tiến trình RUP
3
4
2.1
. Các hoạt ng Phát triển Phần mềm
6
hoạt động cơ bản
:
Analysis:
phân ch xem mình s
làm những gì
Design:
mình sẽ
thiết kế phần mềm như thế nào
Develop:
mình sẽ
code ra sao
Test:
phần mềm
được đem đi
kiểm tra xem chạy đúng yêu cầu
thiết kế chưa
Deploy:
phần mềm
được đưa vào sử dụng
Maintain:
giai đoạn
bảo trì, hỗ tr
khách hàng sử dụng phần
mềm.
3
4
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
2.1.1 Analysis
Là giai đoạn đội phát triển dự án sẽ phân ch để hiu
đưc vn đề của khách hàng và những gì mà họ đang
mong đợi. Giai đoạn xác định yêu cầu
5
6
2.1
. Các hoạt ng Phát triển Phần mềm
2.1.1
Analysis
3
ớc quan trọng trong giai đoạn Analysis
6
lOMoARcPSD| 58933639
8/12/2022
5
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
A. Project Denion – XÆc định dự Æn
Hiểu được dự Æn l m g , khÆch h ng l ai, thuộc lĩnh vực gì, vấn đề của họ ra sao,
hiện trạng hiện tại của họ như thế n o, mục êu hướng đến của họ là gì, phạm
vị của dự án như thế nào, kế hoạch thực hiện dự Æn (me schedule) ra sao,
những Œu ch giœp dự Æn thỏa mªn kỳ vọng của khÆch h ng…
7
7
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
C. Analysis – Ph n t ch th ng n
Mục đích: Hệ thống lại th ng n, đơn giản l sắp xếp & phân loi
mọi thứ cho phø hợp, đẹp đẽ, sạch sẽ để dễ d ng nắm bắt, hiểu
được vấn đề v t m hướng giải quyết.
Analysis means simply breaking down the informaon of an object, enty,
process, or anything else to understand its funconing
Sandhya Jane - tÆc giả cuốn Business Analysis: The queson and answer
book
Nhận diện đúng đâu l yŒu cầu thực sự khÆch h ng mong đi
ở hệ thống. V trong những yŒu cầu đó th cÆi g nŒn ưu Œn
h ng đầu, cÆi g họcầnnhất?
8
2.1
. Các hoạt ộng Phát triển Phần mềm
B.
Elicitaon
KhaithÆcthngn
Mụcđích
:
Nắmđược
, khaithÆc
được
chnhxÆc
tất
cả
nhng
yŒu
cầu
(
requirements)
từ
phakhÆchhng(
cả
ng
minh(stated)
lẫnngầm
ẩn
(
unstated)).
Output:
Thngn,
rấtnhiều
thngn,
tồn
tại
ớinhiềudng
(
ghichØp, hnh
nh
, mthanh
…)
8
9
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
9
D. Documentaon – T i liệu h a m tả chi ết yŒu cầu của
khÆch h ng, để thực hiện thường Æp dụng 2 cÆch sau:
10
2.1
. Các hoạt ng Phát triển Phần mềm
C.
Analysis
Phntchthngn
10
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
11
1.
Tận
dụng
cÆc
template
c
sẵn
2.
Døng
ngn
ng
hnhha
m
để
liệu
ha. Hai
loại
ph
biến
nhất
l
N
BPM
UML
v
Ti
liệu
output:
E.
Vericaon
Kiểm
tra
lại
F.
Management
11
12
2.1
. Các hoạt ng Phát triển Phần mềm
2.1.2
Design
Giai
đoạn
can thiệp sâu về kỹ thuật,
bao gồm:
Thiết kế Database
Vẽ Mockup
Thiết kế UX/UI
Thiết kế Business Process Flow
Thiết kế bộ phân quyền hthng
Output: Ti
liệuthiết
kế
SDD (Soware Design Document)
hoặc
FDD (Funconal Design Document)
12
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
2.1.3 Develop – Quá trình build sản phẩm
2.1.4 Test Kiểm thử
Internal Tesng – test nội bộ đảm bảo Dev cài đặt đúng yêu cầu thiết kế,
đảm bảo trả kết quả đúng cam kết với khách hàng. Sử dụng Requirement
Traceability Matrix để theo dõi quá trình test case khớp với requirement
(thành công hay thất bại)
External Tesng thc hiện User Acceptance Test (UAT) với khách
2.1. Các hoạt ộng Phát triển Phần mềm
2.1.5 Deploy –L m những việc đhệthốngsẵn s ng
đưcsửdụng
Build soluon từ môi trường Dev lên môi trường Producon.
Migrate data: là chuyển toàn bộ data hiện tại của khách hàng từ hệ
thống cũ sang hệ thống mới.
Thiết lập người dùng như: phân quyền, cập nhật tài khoản, thông n
cá nhân…
ớng dẫn người dùng sử dụng hệ thống (User Manual)
- c thể ở nhiều dạng: tệp pdf, video, …
2.1.6 Maintain –Bảo tr
Sửa li phÆt sinh
N ng cấp hệ thng
13
hng
13
lOMoARcPSD| 58933639
8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
14
14
lOMoARcPSD| 58933639
8/12/2022
2.2. Một số mô hình PTPM thông dụng
Có nhiều mô hình PTPM
Mô hình thác nưc
Mô hình phát triển ứng dụng linh hoạt Scrum/ Agile
Mô hình nguyên mẫu
Mô hình chữ V
Mô hình ến hóa
Mô hình xoắn ốc
Mô hình hợp nhất
15
Mô hình thác ớc (Waterfall model)
16
Phntch
tnh
kh
thi
Phntchv
ặc
tả
yŒu
cầu
Thiết
kế
Mªhav
kiểmthử
Ci
ặt
v
bảo
tr
15
16
lOMoARcPSD| 58933639
8/12/2022
Mô hình nguyên mẫu (prototyping model)
17
18
17
PhntchyŒu
cầu
Thiết
kế
nhanh
Xy
dựng
nguyŒn
mẫu
Đánh
giÆ
Thiết
kế
Mô hình chữ V
18
Đặc
tả
yŒu
cầu
Kiểmthử
hệ
thng
Kiểmthử
tch
hợp
Kiểmthửơn
vị
Thiết
kế
chi
tiết
Thiết
kế
kiến
trœc
Mªha
lOMoARcPSD| 58933639
8/12/2022
MH tiến hóa (evolutionary model)
19
M h nh Scrum/ Agile
Chia nhỏ yêu cầu ra thành các User Story, gom vào từng Sprint
Backlog để làm dần dần.
Quy trình sẽ không đi từ đầu tới cuối 1 lần duy nhất, mà đi nhiều lần từ analysis
-> deploy, tạo thành nhiều sprint, nhiều vòng lặp. Mỗi vòng lặp sẽ làm một số
nh năng nhất định, thời gian sẽ được rút ngắn còn khoảng từ 2-4 tuần/ sprint.
Kết quả khÆch h ng thấy ngay được sản phẩm của mình thành hình dần dần,
từ đó góp ý để cải thiện sản phẩm ngày một phù hợp hơn với nhu cầu của họ.
20
20
Đặc
tả
PhÆt
triển
Hợpthức
ha
PhiŒn
bản
ầu
tiŒn
PhiŒn
bản
trunggian
PhiŒn
bản
cuối
cøng
19
lOMoARcPSD| 58933639
8/12/2022
MH xoắn ốc (spiral model)
21
22
Vấn
Giải
phÆp
ầu
Khởi
Inception
Soạnthảo
Elaboration
Xy
dựng
Construction
Chuyển
giao
Transition
Đặt vấn
Giải quyết vấn
Thực hiện
Thời gian
21
22
lOMoARcPSD| 58933639
8/12/2022
MH hợp nhất (unied model)
Góc nhìn kỹ thuật
23
24
23
clặpchuẩn
bị
clặpkiến
trœc
clặpkiến
trœc
clặp
phÆt
triển
clặp
phÆt
triển
clặp
phÆt
triển
clặpchuyển
giao
clặpchuyển
giao
Mẫuthử
)
(
maquette
NguyŒn
mẫukiến
trœc
NguyŒn
mẫukiến
trœc
NguyŒn
mẫu
phÆt
triển
NguyŒn
mẫu
phÆt
triển
PhiŒn
bản
PhiŒn
bản
PhiŒn
bản
chnh
thức
ớc lặp
Kết quả
MH hợp nhất (unified model)
Kết hợp 2 góc nhìn
24
clặpchuẩn
bị
clặpkiến
trœc
clặpkiến
trœc
clặp
phÆt
triển
clặp
phÆt
triển
clặp
phÆt
triển
clặpchuyển
giao
clặpchuyển
giao
Mẫuthử
)
maquette
(
NguyŒn
mẫukiến
trœc
NguyŒn
mẫukiến
trœc
NguyŒn
mẫu
phÆt
triển
NguyŒn
mẫu
phÆt
triển
PhiŒn
bản
PhiŒn
bản
PhiŒn
bản
chnh
thức
ớc lặp
Kết quả
Khởiầu
Soạnthảo
Xy
dựng
Chuyển
giao
lOMoARcPSD| 58933639
8/12/2022
MH hợp nhất và UML
25
3. Tiến trình RUP
RUP (Raonal Unied Process) là một ến trình
phát triển ứng dụng kết hợp MHH với UML,
không phải là một chuẩn.
Nội dung đề cập:
3.1. Các nguyên tắc cơ bản
3.2. Các pha và công đoạn
3.3. Tiến trình 10 bước
26
25
lOMoARcPSD| 58933639
8/12/2022
26
3.1. Các nguyên tắc cơ bản
Lặp và tăng trưởng
Dự án được chia thành những vòng lặp hoặc giai
đoạn ngắn để dễ dàng kiểm soát. Cuối mỗi vòng lặp,
phần thi hành được của HT được sản sinh theo cách
thêm vào dần dần.
Tập trung vào kiến tc
HT phức tạp được chia thành các modul để dễ dàng
triển khai và bảo trì. Kiến trúc này được tr nh b y theo
5 g c nh n khÆc nhau.
27
3.1. Các nguyên tắc cơ bản
Dẫn dắt theo các ca sử dụng (Usecase)
Nhu cầu người dùng thể hiện bởi các ca sử dụng. Các ca sử
dụng ảnh hưởng xuyên suốt cho mọi giai đoạn phát triển HT, là
cơ sở xác định vòng lặp và tăng trưởng, là căn cứ để phân chia
công việc trong nhóm.
Nắm bắt nhu cầu => phát hiện các ca sử dụng.
Phân ch => đi sâu vào các ca sử dụng.
Thiết kế và cài đặt => xây dựng HT theo các ca sử dụng.
Kiểm định và nghiệm thu HT => thực hiện theo các ca sử dụng.
Khống chế bởi các nguy cơ
Phát hiện sớm và loại bỏ các nguy cơ đ/v dự án.
28
28
27
lOMoARcPSD| 58933639
8/12/2022
3.2. Các pha và công đoạn của RUP
3.2. Các pha và công đoạn của RUP
Pha khởi đầu (incepon)
Cho một cái nhìn tổng quát về HT (chức năng, hiu
năng, công nghệ,…) và về dự án sẽ triển khai (phạm
vi, mục êu, nh khả thi,…) => đưa ra kết luận nên
phát triển dự án hay loại bỏ?
Pha triển khai (elaboraon)
Phân ch chi ết hơn về HT (chức năng và cấu trúc
nh)
Đề xuất một kiến trúc HT (nguyên mẫu)
30
30
29
29
lOMoARcPSD| 58933639
8/12/2022
3.2. Các pha và công đoạn của RUP
Pha xây dựng (construcon)
Tập trung vào thiết kế và cài đặt HT.
Kiến trúc HT được chi ết hóa, chỉnh sửa.
Kết thúc khi đã cho ra được 1 HT hoàn chỉnh với tài
liệu đi kèm.
Là pha êu tốn nhiều thời gian, công sức nht.
Pha chuyển giao (transion)
Chuyển HT tới tay người dùng cuối: chuyển đổi dữ
liệu, lắp đặt, kiểm tra, đào tạo,…
31
lOMoARcPSD| 58933639
8/12/2022
3.3. Tiến trình 10 bước dựa trên RUP
1.Nghiên cứu sơ bộ
Đưa ra cái nhìn khái quát về HT và dự án.
Đưa ra kết luận nên/không nên triển khai dự án.
2.Nhận định và đặc tả các ca sử dụng
Nắm bắt yêu cầu của người dùng, phát hiện các ca sử dụng
Mỗi ca sử dụng phải được đặc tả ới dạng kịch bản và/hoặc một
biểu đồ trình t
3.MHH lĩnh vực ứng dụng
Đưa ra 1 MH (biểu đồ lớp) phản ánh mọi khái niệm, nghiệp vụ.
Các lớp ở đây là các lớp lĩnh vực.
33
3.3. Tiến trình 10 bước dựa trên RUP
4. Xác định các đối tượng/lớp tham gia ca sử dụng
Với mỗi ca sử dụng, phát hiện các lớp lĩnh vực,lớp điều khiển, lớp
biên.
5. MHH tương tác trong các ca sử dụng
Các đối tượng tương tác bằng cách trao đổi thông điệp.
To kịch bản của ca sử dụng: biểu đồ trình tự, biểu đồ giao ếp.
6. MHH ứng xử
Các đối tượng điều khiển có khả năng ứng xử đ/v các sự kiện đến từ
bên ngoài đđiều khiển.
Sử dụng biểu đồ máy trạng thái để mô tả hành vi ứng xử của các đối
ợng điều khiển.
34
34
33

Preview text:

lOMoAR cPSD| 58933639 8/12/2022
Chương 1. Tổng quan (tiếp)
Tiến tr nh phÆt triển phần mềm Nguyễn Hồng Hạnh, MSc
Bộ môn Công nghệ phần mềm
Khoa CNTT&TT – ĐH Xây dựng Hà Nội Email: hanhnh@huce.edu.vn 1 1
2 .Tiến trình Phát triển Phần mềm • • 2 2 Nội dung lOMoAR cPSD| 58933639 8/12/2022
1. Các hoạt động phát triển phần mềm (PTPM)
2. Một số mô hình phát triển phần mềm thông dụng 3. Tiến trình RUP 3 3
2.1 . Các hoạt ộng Phát triển Phần mềm 6 hoạt động cơ bản :
Analysis: phân tích xem mình sẽ làm những gì
Design: mình sẽ thiết kế phần mềm như thế nào
Develop: mình sẽ code ra sao
Test: phần mềm được đem đi kiểm tra xem chạy đúng yêu cầu thiết kế chưa
Deploy: phần mềm được đưa vào sử dụng
Maintain: giai đoạn bảo trì, hỗ trợ khách hàng sử dụng phần mềm. 4 4 lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm 2.1.1 Analysis
Là giai đoạn đội phát triển dự án sẽ phân tích để hiểu
được vấn đề của khách hàng và những gì mà họ đang
mong đợi. Giai đoạn xác định yêu cầu 5
2.1 . Các hoạt ộng Phát triển Phần mềm 2.1.1 Analysis
3 bước quan trọng trong giai đoạn Analysis 6 6 lOMoAR cPSD| 58933639 8/12/2022 5 lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
A. Project Definition – XÆc định dự Æn
Hiểu được dự Æn l m g , khÆch h ng l ai, thuộc lĩnh vực gì, vấn đề của họ ra sao,
hiện trạng hiện tại của họ như thế n o, mục tiêu hướng đến của họ là gì, phạm
vị của dự án như thế nào, kế hoạch thực hiện dự Æn (time schedule) ra sao,
những tiŒu ch giœp dự Æn thỏa mªn kỳ vọng của khÆch h ng…
7 7 lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
2.1 . Các hoạt ộng Phát triển Phần mềm
B. Elicitation KhaithÆcthngtin
Mụcđích : Nắmđược , khaithÆc được chnhxÆc tất cả những yŒu cầu
( requirements) từ phakhÆchhng( cả tường minh(stated) lẫnngầm ẩn ( unstated)).
Output: Thngtin, rấtnhiều thngtin, tồn tại dướinhiềudạng ( ghichØp, hnh ảnh , mthanh …) 8 8
C. Analysis – Ph n t ch th ng tin
Mục đích: Hệ thống lại th ng tin, đơn giản l sắp xếp & phân loại
mọi thứ cho phø hợp, đẹp đẽ, sạch sẽ để dễ d ng nắm bắt, hiểu
được vấn đề
v t m hướng giải quyết.
“Analysis means simply breaking down the information of an object, entity,
process, or anything else to understand its functioning“
Sandhya Jane - tÆc giả cuốn Business Analysis: The question and answer book
Nhận diện đúng đâu l
yŒu cầu thực sự khÆch h ng mong đợi
ở hệ thống. V
trong những yŒu cầu đó th cÆi g nŒn ưu tiŒn
h ng đầu, cÆi g họcầnnhất? 9 lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm 9
2.1 . Các hoạt ộng Phát triển Phần mềm
C. Analysis Phntchthngtin 10 10
D. Documentation – T i liệu h a m
tả chi tiết yŒu cầu của
khÆch h ng, để thực hiện thường Æp dụng 2 cÆch sau: lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
1. Tận dụng cÆc template c sẵn
2. Døng ngn ngữ m hnhha để ti liệu ha. Hai loại phổ biến nhất l BPMN v UML
Ti liệu output:
E. Verification –Kiểm tra lại F. Management 11 11
2.1 . Các hoạt ộng Phát triển Phần mềm 2.1.2 Design
Giai đoạn can thiệp sâu về kỹ thuật, bao gồm: • Thiết kế Database • Vẽ Mockup • Thiết kế UX/UI •
Thiết kế Business Process Flow •
Thiết kế bộ phân quyền hệ thống • … Output: Ti liệuthiết kế
SDD (Software Design Document) hoặc
FDD (Functional Design Document) 12 12 lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm
2.1.3 Develop – Quá trình build sản phẩm
2.1.4 Test –Kiểm thử
Internal Testing
– test nội bộ đảm bảo Dev cài đặt đúng yêu cầu thiết kế,
đảm bảo trả kết quả đúng cam kết với khách hàng. Sử dụng Requirement
Traceability Matrix để theo dõi quá trình test case khớp với requirement
(thành công hay thất bại)
External Testing – thực hiện User Acceptance Test (UAT) với khách hng 13 13
2.1. Các hoạt ộng Phát triển Phần mềm
2.1.5 Deploy –L m những việc để hệthốngsẵn s ng đượcsửdụng
• Build solution từ môi trường Dev lên môi trường Production.
• Migrate data: là chuyển toàn bộ data hiện tại của khách hàng từ hệ
thống cũ sang hệ thống mới.
• Thiết lập người dùng như: phân quyền, cập nhật tài khoản, thông tin cá nhân…
Hướng dẫn người dùng sử dụng hệ thống (User Manual)
- c thể ở nhiều dạng: tệp pdf, video, …
2.1.6 Maintain –Bảo tr • Sửa lỗi phÆt sinh • N ng cấp hệ thống lOMoAR cPSD| 58933639 8/12/2022
2.1. Các hoạt ộng Phát triển Phần mềm 14 14 lOMoAR cPSD| 58933639 8/12/2022
2.2. Một số mô hình PTPM thông dụng
 Có nhiều mô hình PTPM ◼ Mô hình thác nước
◼ Mô hình phát triển ứng dụng linh hoạt Scrum/ Agile ◼ Mô hình nguyên mẫu ◼ Mô hình chữ V ◼ Mô hình tiến hóa ◼ Mô hình xoắn ốc ◼ Mô hình hợp nhất 15 15
Mô hình thác nước (Waterfall model) Phntch tnh khả thi Phntchv ặc tả yŒu cầu Thiết kế Mªhav kiểmthử Ci ặt v bảo tr 16 16 lOMoAR cPSD| 58933639 8/12/2022
Mô hình nguyên mẫu (prototyping model) PhntchyŒu cầu Thiết kế nhanh Xy dựng nguyŒn mẫu Đánh giÆ Thiết kế 17 17 Mô hình chữ V Đặc tả yŒu cầu Kiểmthử hệ thống Thiết kế kiến trœc Kiểmthử tch hợp Thiết kế chi tiết Kiểmthửơn vị Mªha 18 18 lOMoAR cPSD| 58933639 8/12/2022
MH tiến hóa (evolutionary model) PhiŒn bản ầu tiŒn Đặc tả PhÆt triển PhiŒn bản trunggian Hợpthức ha PhiŒn bản cuối cøng 19 19 M h nh Scrum/ Agile
Chia nhỏ yêu cầu ra thành các User Story, gom vào từng Sprint
Backlog để làm dần dần.
Quy trình sẽ không đi từ đầu tới cuối 1 lần duy nhất, mà đi nhiều lần từ analysis
-> deploy, tạo thành nhiều sprint, nhiều vòng lặp. Mỗi vòng lặp sẽ làm một số
tính năng nhất định, thời gian sẽ được rút ngắn còn khoảng từ 2-4 tuần/ sprint.
Kết quả khÆch h ng thấy ngay được sản phẩm của mình thành hình dần dần,
từ đó góp ý để cải thiện sản phẩm ngày một phù hợp hơn với nhu cầu của họ. 20 20 lOMoAR cPSD| 58933639 8/12/2022
MH xoắn ốc (spiral model) 21 21  Đặt vấn ề Giải quyết vấn ề Thực hiện Vấn ề Giải phÆp Khởi ầu Soạnthảo Xy dựng Chuyển giao Inception
Elaboration Construction Transition Thời gian 22 22 lOMoAR cPSD| 58933639 8/12/2022
MH hợp nhất (unified model)  Góc nhìn kỹ thuật Bước lặp Kết quả Bướclặpchuẩn bị Mẫuthử ( maquette) Bướclặpkiến trœc NguyŒn mẫukiến trœc Bướclặpkiến trœc NguyŒn mẫukiến trœc Bướclặp phÆt triển NguyŒn mẫu phÆt triển Bướclặp phÆt triển NguyŒn mẫu phÆt triển Bướclặp phÆt triển PhiŒn bản Bướclặpchuyển giao PhiŒn bản Bướclặpchuyển giao PhiŒn bản chnh thức 23 23
MH hợp nhất (unified model)  Kết hợp 2 góc nhìn Bước lặp Kết quả Bướclặpchuẩn bị Mẫuthử maq ( uette) Khởiầu Bướclặpkiến trœc NguyŒn mẫukiến trœc Soạnthảo Bướclặpkiến trœc NguyŒn mẫukiến trœc Bướclặp phÆt triển NguyŒn mẫu phÆt triển Xy Bướclặp dựng phÆt triển NguyŒn mẫu phÆt triển Bướclặp phÆt triển PhiŒn bản Bướclặpchuyển giao PhiŒn bản Chuyển giao Bướclặpchuyển giao PhiŒn bản chnh thức 24 24 lOMoAR cPSD| 58933639 8/12/2022 MH hợp nhất và UML 25 25 3. Tiến trình RUP
RUP (Rational Unified Process) là một tiến trình
phát triển ứng dụng kết hợp MHH với UML,
không phải là một chuẩn. Nội dung đề cập:
3.1. Các nguyên tắc cơ bản
3.2. Các pha và công đoạn 3.3. Tiến trình 10 bước 26 lOMoAR cPSD| 58933639 8/12/2022 26
3.1. Các nguyên tắc cơ bản  Lặp và tăng trưởng
◼ Dự án được chia thành những vòng lặp hoặc giai
đoạn ngắn để dễ dàng kiểm soát. Cuối mỗi vòng lặp,
phần thi hành được của HT được sản sinh theo cách thêm vào dần dần.
 Tập trung vào kiến trúc
◼ HT phức tạp được chia thành các modul để dễ dàng
triển khai và bảo trì. Kiến trúc này được tr nh b y theo 5 g c nh n khÆc nhau. 27 27
3.1. Các nguyên tắc cơ bản
 Dẫn dắt theo các ca sử dụng (Usecase)
◼ Nhu cầu người dùng thể hiện bởi các ca sử dụng. Các ca sử
dụng ảnh hưởng xuyên suốt cho mọi giai đoạn phát triển HT, là
cơ sở xác định vòng lặp và tăng trưởng, là căn cứ để phân chia công việc trong nhóm.
 Nắm bắt nhu cầu => phát hiện các ca sử dụng.
 Phân tích => đi sâu vào các ca sử dụng.
 Thiết kế và cài đặt => xây dựng HT theo các ca sử dụng.
 Kiểm định và nghiệm thu HT => thực hiện theo các ca sử dụng.
 Khống chế bởi các nguy cơ
◼ Phát hiện sớm và loại bỏ các nguy cơ đ/v dự án. 28 28 lOMoAR cPSD| 58933639 8/12/2022
3.2. Các pha và công đoạn của RUP  29 29
3.2. Các pha và công đoạn của RUP
 Pha khởi đầu (inception)
◼ Cho một cái nhìn tổng quát về HT (chức năng, hiệu
năng, công nghệ,…) và về dự án sẽ triển khai (phạm
vi, mục tiêu, tính khả thi,…) => đưa ra kết luận nên
phát triển dự án hay loại bỏ?
 Pha triển khai (elaboration)
◼ Phân tích chi tiết hơn về HT (chức năng và cấu trúc tĩnh)
◼ Đề xuất một kiến trúc HT (nguyên mẫu) 30 30 lOMoAR cPSD| 58933639 8/12/2022
3.2. Các pha và công đoạn của RUP
 Pha xây dựng (construction)
◼ Tập trung vào thiết kế và cài đặt HT.
◼ Kiến trúc HT được chi tiết hóa, chỉnh sửa.
◼ Kết thúc khi đã cho ra được 1 HT hoàn chỉnh với tài liệu đi kèm.
◼ Là pha tiêu tốn nhiều thời gian, công sức nhất.
 Pha chuyển giao (transition)
◼ Chuyển HT tới tay người dùng cuối: chuyển đổi dữ
liệu, lắp đặt, kiểm tra, đào tạo,… 31 lOMoAR cPSD| 58933639 8/12/2022
3.3. Tiến trình 10 bước dựa trên RUP 1.Nghiên cứu sơ bộ
◼ Đưa ra cái nhìn khái quát về HT và dự án.
◼ Đưa ra kết luận nên/không nên triển khai dự án.
2.Nhận định và đặc tả các ca sử dụng
◼ Nắm bắt yêu cầu của người dùng, phát hiện các ca sử dụng
◼ Mỗi ca sử dụng phải được đặc tả dưới dạng kịch bản và/hoặc một biểu đồ trình tự
3.MHH lĩnh vực ứng dụng
◼ Đưa ra 1 MH (biểu đồ lớp) phản ánh mọi khái niệm, nghiệp vụ.
◼ Các lớp ở đây là các lớp lĩnh vực. 33 33
3.3. Tiến trình 10 bước dựa trên RUP
4. Xác định các đối tượng/lớp tham gia ca sử dụng
◼ Với mỗi ca sử dụng, phát hiện các lớp lĩnh vực,lớp điều khiển, lớp biên.
5. MHH tương tác trong các ca sử dụng
◼ Các đối tượng tương tác bằng cách trao đổi thông điệp.
◼ Tạo kịch bản của ca sử dụng: biểu đồ trình tự, biểu đồ giao tiếp. 6. MHH ứng xử
◼ Các đối tượng điều khiển có khả năng ứng xử đ/v các sự kiện đến từ
bên ngoài để điều khiển.
◼ Sử dụng biểu đồ máy trạng thái để mô tả hành vi ứng xử của các đối tượng điều khiển. 34 34