Phương pháp phát triển phần mềm: Truyền thống và Agile
Chuong7 linh
1.
2. Sự ra đời của RUP
RUP và các đặc trưng
Nội dung một bước lặp của RUP
Các mô hình sử dụng RUP
Các luồng tiến trình trong RUP
Các công cụ trợ giúp
3. Mở đầu:
- Xu hướng: phần mềm lớn hơn, phức tạp hơn
do:
+ Máy tính mạnh hơn, người dùng mong chờ ở
nó nhiều hơn
+ Sự phát triển của internet tăng cả về quy mô
và loại hình thông tin
Yêu cầu:
- Phần mềm lớn, đa năng, tinh tế hơn
- Đưa ra thị trường nhanh hơn, giá chấp nhận
được.
4. Thực tế: phát triển phần mềm sử dụng các
phương pháp đã có từ hơn 20 năm trước.
Đòi hỏi: Một quá trình phát triển tích hợp
- Cung cấp trình tự hợp lý các hoạt động
- Cho đúng các sản phẩm yêu cầu
- Cho phép quản lý tốt quá trình phát triển
- Có các chuẩn giám sát và đo lường các sản
phẩm và các hoạt động
5. Tiến trình thống nhất là gì?
- Quá trình phát triển phầm mềm hướng đối tượng
- Một tập các hoạt động để chuyển yêu cầu người
dùng thành một hệ thống phần mềm
- Một khung làm việc chung nhiều người tham gia
- Dựa trên thành phần và kết nối qua giao diện
- Sử dụng công cụ UML
7. Tiến trình RUP chia làm 4 pha:
- Khởi tạo (inception)
- Chi tiết(elaboration)
- Xây dựng (construction)
- Chuyển giao( transition)
Phân biệt giữa pha là các cột mốc (milestons)
Ở mỗi giai đoạn lại chia thành các bước lặp. Kết
thúc một bước lặp tạo ra một sản phẩm có thể
vận hành được (trừ một số bước đầu)
8. Đặc trưng cơ bản:
1. Điều khiển bởi ca sử dụng
2. Lấy kiến trúc làm trung tâm
3. Lặp và tăng dần
Đáp ứng các đòi hỏi của một quá trình phát triển
phần mềm tích hợp nhiều mặt, nhiều kinh
nghiệm đã có và các tiến bộ mới.
9. Tác nhân (actor) là gì?
- Người, hệ thống khác tương tác với hệ thống
phát triển.
Ca sử dụng (use case) là gì?
- Đặc tả các yêu cầu chức năng của hệ thống
- Phần chức năng của hệ thống cung cấp giá trị
kết quả thấy được cho tác nhân tương tác với
nó.
- Trả lời câu hỏi: hệ thống làm gì cho mỗi tác
nhân.
10. Mô hình ca sử dụng (use case model)
- Là tất cả các ca sử dụng kết hợp lại mô tả đầy
đủ các chức năng của hệ thống (thay mô hình
đặc tả chức năng truyền thống)
- Use case: công cụ đặc tả yêu cầu hệ thống
- Mô hình use case đặc tả chức năng của hệ
thống
11. Ca sử dụng điều khiển quá trình phát triển
- Chế tác đầu tiên của quá trình phát triển
- Đầu vào cho luồng công việc ở mỗi bước lặp:
phân tích, thiết kế, triển khai, kiểm thử
- Quy định và chi phối mọi hoạt động phát triển
- Kiểm tra và thẩm định kiến trúc hệ thống.
16. Kiến trúc hệ thống là gì?
- Là những chế tác quan trọng nhất để quản lý cách
nhìn nhận và phát triển lặp tăng dần của hệ thống
- Kiến trúc chỉ một cấu trúc tổng thể của hệ thống, qua
đó cung cấp một sự tích hợp về mặt khái niệm của hệ
thống.
- Kiến trúc hệ thống biểu diễn ở 5 cách nhìn:
- + Quan điểm thiết kế (cấu trúc phần tử hệ thống)
- + Quan điểm triển khai (tổ chức thành phần hệ
thống)
- + Quan điểm quá trình (quản lý tiến trình phát triển)
- + Quan điểm cài đặt (tổ chức trong môi trường)
- + Quan điểm hành vi(quan hệ động hệ thống)
17. Kiến trúc biểu diễn cách nhìn khác nhau về hệ thống:
18. Kiến trúc là phần cốt lõi của sản phẩm theo
một cách nhìn (chiếm 5-10% use case)
Xây dựng kiến trúc:
- Phác thảo kiến trúc (độc lập với ca sử dụng)
- Lựa chọn tập con ca sử dụng cơ bản, sắp thứ
tự
- Phát triển hệ con với ca sử dụng lựa chọn
- Mở rộng kiến trúc để mở rộng ca sử dụng
- Tiếp tục lặp lại cho đến khi kiến trúc ổn địnhs
19. Củng cố kiến trúc qua mỗi bước phát triển
- Kiến trúc đầu tiên với mô hình ca sử dụng: sắp
xếp ưu tiên ca sử dụng, phân tầng, xác định
các gói, các ca sử dụng cốt lõi
- Kiến trúc với mô hình phân tích khái niệm: gói
các lớp khái niệm để hình thành các gói nhằm
củng cố kiến trúc
- Kiến trúc với mô hình thiết kế: tìm kiếm các
mẫu thay thế cho các thiết kế lớp có được
20.
21. Lý do tổ chức lặp tăng dần:
- Khả năng thực thi luôn có hạn(chia để trị)
- Cần quản lý rủi ro(nhỏ, dễ nhận biết, có thể
khắc phục ngay)
- Quản lý tốt tiến trình, chất lượng(từ đầu)
Cơ sở:
- Hệ thống xây dựng trên cơ sở thành phần
- Mỗi bước lặp là một phần hoàn thiện thực thi
được
- Có kiến trúc trung tâm để mở rộng dần phần
hệ thống thực thi được.
22. Trình tự tiến hành một bước lặp:
1. Chọn ca sử dụng theo thứ tự ưu tiên,
đảm bảo đồng bộ, ít rủi ro
2. Đặc tả phân tích thực hiện ca sử dụng
3. Tạo thiết kế sử dụng kiến trúc và các
hướng dẫn thiết kế
4. Triển khai thiết kế vào các thành phần
5. Kiểm tra sự thỏa mãn ca sử dụng của
thành phần
6. Kiểm tra và chuẩn bị cho bước sau nếu
mục tiêu đáp ứng.
23. Chế tác của một bước lặp:
- Mô hình ca sử dụng (ca sử dụng, tác nhân và quan hệ giữa
chúng)
- Mô hình phân tích(thực hiện ca sử dụng bằng triển khai các
lớp khái niệm & định vị hành vi hệ thống vào mô hình lớp
khái niệm)
- Mô hình thiết kế (hệ con, lớp, giao diện và thực hiện ca sử
dụng bằng sự cộng tác của chúng)
- Mô hình triển khai(các thành phần và các lớp ánh xạ vào
trong nó).
- Mô hình cài đặt (các nút vật lý và ánh xạ các thành phần
vào chúng)
- Mô hình kiểm thử (mô tả việc kiểm thử đáp ứng yêu cầu của
mỗi ca sử dụng )
- Biểu diễn của kiến trúc.
24.
25.
26. RUP là sự phát triển và hoàn thiện mô hình xoắn ốc và
làm thích nghi với phương pháp hướng đối tượng
27. Xác định tiến trình cần trả lời:
1. Làm gì? (công việc )?
2. Theo thứ tự nào (tiến trình )?
3. Ai làm (vai trò)?
4. Làm như thế nào(phương pháp)?
5. Làm bằng cái gì?(công cụ)?
6. Khi nào làm?(tiến độ)?
7. Ở đâu(vị trí)?
8. Với điều kiện gì(môi trường)?
Luồng tiến trình
Mô hình phương pháp
Triển khai cụ thể
28. Hoạt động (activity): là một đơn vị công việc
yêu cầu thực hiện
Luồng tiến trình (process workflow): là một
nhóm các hoạt động được liên kết với nhau
theo một trình tự. Mỗi luồng tiến trình được
thực hiện trong một bước lặp và cho kết quả
là một mô hình được hình thành dần qua
từng hoạt động.
Chế tác(artifact): là một phần thông tin được
tạo ra sau mỗi hành động của tiến trình.
Bước lặp (interation): là một chuỗi công việc
được lập kế hoạch, có tiêu chuẩn lượng giá
cho kết quả là một xuất phẩm.