



















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