chuong7 linh

38
Chương 7: Quy trình phát triển phần mềm thống nhất (RUP)

Upload: ao-ao

Post on 10-Aug-2015

69 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Chuong7 linh

Chương 7: Quy trình phát triển phần mềm thống nhất (RUP)

Page 2: Chuong7 linh

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

Nội dung

Page 3: Chuong7 linh

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.

Tiến trình thống nhất(Rational Unified Process – RUP)

Page 4: Chuong7 linh

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

Tiến trình thống nhất(Rational Unified Process – RUP)

Page 5: Chuong7 linh

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

Tiến trình thống nhất(Rational Unified Process – RUP)

Page 6: Chuong7 linh

Tiến trình thống nhất(Rational Unified Process – RUP)

Sơ đồ tổng quan về RUP

Page 7: Chuong7 linh

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)

Tiến trình thống nhất(Rational Unified Process – RUP)

Page 8: Chuong7 linh

Đặc trưng cơ bản:1. Điều khiển bởi ca sử dụng2. Lấy kiến trúc làm trung tâm3. 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.

Tiến trình thống nhất(Rational Unified Process – RUP)

Page 9: Chuong7 linh

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.

1. Điều khiển bởi ca sử dụng

Page 10: Chuong7 linh

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

1. Điều khiển bởi ca sử dụng

Page 11: Chuong7 linh

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.

1. Điều khiển bởi ca sử dụng

Page 12: Chuong7 linh

Chế tác đầu tiên của quá trình phát triển:

1. Điều khiển bởi ca sử dụng

Page 13: Chuong7 linh

Đầu vào cho luồng công việc mỗi bước lặp:

1. Điều khiển bởi ca sử dụng

Page 14: Chuong7 linh

Quy định chi phối mỗi hoạt động phát triển:

1. Điều khiển bởi ca sử dụng

Page 15: Chuong7 linh

Kiểm tra và thẩm định kiến trúc hệ thống

1. Điều khiển bởi ca sử dụng

Page 16: Chuong7 linh

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)

2. Lấy kiến trúc làm trung tâm

Page 17: Chuong7 linh

Kiến trúc biểu diễn cách nhìn khác nhau về hệ thống:

2. Lấy kiến trúc làm trung tâm

Page 18: Chuong7 linh

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

2. Lấy kiến trúc làm trung tâm

Page 19: Chuong7 linh

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

2. Lấy kiến trúc làm trung tâm

Page 20: Chuong7 linh

3. Lặp và tăng dần

Page 21: Chuong7 linh

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.

3. Lặp và tăng dần

Page 22: Chuong7 linh

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 ro2. Đặc tả phân tích thực hiện ca sử dụng3. 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ần5. Kiểm tra sự thỏa mãn ca sử dụng của

thành phần6. Kiểm tra và chuẩn bị cho bước sau nếu

mục tiêu đáp ứng.

Bước lặp của tiến trình

Page 23: Chuong7 linh

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.

Bước lặp của tiến trình

Page 24: Chuong7 linh

Các mô hình trong bước lặp

Page 25: Chuong7 linh

So sánh rup và mô hình xoắn ốc

Page 26: Chuong7 linh

So sánh rup và mô hình xoắn ốc

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

Page 27: Chuong7 linh

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)?

Nội dung xác định tiến trình

Luồng tiến trình

Mô hình phương pháp

Triển khai cụ thể

Page 28: Chuong7 linh

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.

Các khái niệm mô tả tiến trình

Page 29: Chuong7 linh

CÁC KÝ PHÁP MÔ TẢ TiẾN TRÌNH

Page 30: Chuong7 linh

Nguồn lực dùng cho dự án

Page 31: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc mô hình hóa nghiệp vụ

Page 32: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc xác định yêu cầu

Page 33: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc phân tích thiết kế

Page 34: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc triển khai và lập mã

Page 35: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc kiểm thử

Page 36: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc quản lý dự án

Page 37: Chuong7 linh

Các luồng tiến trình trong rup

Luồng công việc quản lý cấu hình và các thay đổi

Page 38: Chuong7 linh

Luồng tiến trình – Công cụ trợ giúp