Rational Unified Process (RUP)

Một phần của tài liệu Sử dụng hiệu quả ngôn ngữ đặc tả UML trong phát triển phần mềm (Trang 27)

RUP là một trƣờng hợp đƣợc biết đến nhiều nhất của cơ cấu chu kỳ lặp tăng dần hiện đang đƣợc sử dụng. RUP đƣợc phát triển bởi cùng tác giả đã phát triển UML bởi vậy nó là thành phần bổ sung cho UML. RUP là một cách thức để sử dụng hiệu quả ngôn ngữ UML.

RUP là một quy trình có thể cấu hình tùy biến vì không một quy trình đơn lẻ nào tƣơng thích với mọi dự án phát triển phần mềm. RUP thích hợp với đội phát triển nhỏ cũng nhƣ tổ chức phát triển lớn, nó có thể biến đổi để phù hợp với nhiều tình huống khác nhau.

RUP chứa đựng nhiều kinh nghiệm trong phát triển phần mềm hiện đại, thích thích hợp với nhiều mô hình dự án và tổ chức. Nhờ tích hợp những kinh nghiệm này mà khi sử dụng RUP, đội phát triển sẽ tận dụng đƣợc nhiều lợi thế. Sau đây là sáu kinh nghiệm của RUP trong phát triển phần mềm:

 Phát triển phần mềm theo chu kỳ lặp

 Quản lý các yêu cầu

 Sử dụng các kiến trúc dựa trên thành phần (component-based)

 Mô hình hóa phần mềm bằng hình tƣợng

 Xác nhận chất lƣợng phần mềm

 Kiểm soát thay đổi của phần mềm

Một dự án tuân theo quy trình RUP tổ chức công việc và các chu trình lặp qua bốn pha chính nhƣ sau:

1. Inception(Khởi đầu): Nhận thức khái quát, tình huống công việc (business case), phạm vi, các đánh giá sơ bộ

2. Elaboration(Sửa soạn): vi chỉnh nhận thức, thực hiện triển khai các kiến trúc cơ bản, giải quyết các vấn đề mạo hiểm cao, xác định hầu hết các yêu cầu và phạm vi theo chu kỳ lặp, đánh giá chính xác hơn

3. Construction(Xây dựng): Xây dựng các phần tử dễ và ít mạo hiểm hơn theo chu kỳ lặp, chuẩn bị cho việc triển khai áp dụng

4. Transition(Chuyển đổi): Kiểm thử bê ta, triển khai áp dụng

Quy trình RUP mô tả các hoạt động công việc(Vd: viết use case) trong các discipline

(Hồi đầu gọi là workflow), một cách không chính thức thì discipline là tập hợp các hoạt động(Và các artifact liên quan) trong một khu vực nào đó, chẳng hạn các hoạt động trong phân tích yêu cầu. Trong RUP thì artifact là từ để chỉ các sản phẩm công việc nhƣ: mã nguồn, đồ họa web, csdl, tài liệu, sơ đồ, mô hình.v.v.

Có rất nhiều Discipline trong RUP nhƣng chúng ta sẽ tập trung vào các artifact trong ba Discipline sau đây:

1. Business Modeling: Mô hình hóa các đối tƣợng nghiệp vụ

2. Requirements: phân tích yêu cầu cho ứng dụng, chẳng hạn viết use case và xác định các yêu cầu phi chức năng

3. Design: Mọi khía cạnh của thiết kế, bao gồm kiến trúc tổng thể, các đối tƣợng, csdl, mạng và các vấn đề khác

Hình 4.9 Các discipline trong RUP

Chú ý rằng mặc dù một chu kỳ lặp bao gồm công việc của hầu hết tất cả các discipline nhƣng mức độ và khối lƣợng là khác nhau qua các chu kỳ lặp.

Chúng ta sẽ tập trung nghiên cứu pha Inception và Elaboration, đông thời tập trung vào các Artifact trong các discipline: Business Modeling, Requirement và Design vì đây là chỗ mà phân tích yêu cầu, thiết kế hƣớng đối tƣợng, pattern(khuôn mẫu), và UML đƣợc áp dụng.

Chương 5: Áp dụng UML

Chúng ta sẽ nghiên cứu việc áp dụng UML vào phân tích thiết kế phần mềm trong các pha phát triển nhƣ sau:

1. Pha Khởi đầu(Inception): Giới thiệu các vấn đề căn bản của phân tích yêu cầu 2. Pha Chuẩn bị - Vòng lặp 1: Giới thiệu phân tích thiết kế hƣớng đối tƣợng căn

bản và làm thế nào gán trách nhiệm cho các đối tƣợng

3. Pha Chuẩn bị - Vòng lặp 2: tập trung vào thiết kế đối tƣợng, đặc biệt giới thiệu những khuôn mẫu thiết kế hay dùng(Design patterns)

4. Pha Chuẩn bị - Vòng lặp 3: Giới thiệu nhiều chủ đề nhƣ phân tích kiến trúc và thiết kế cơ cấu khung

Một hệ thống thông tin hƣớng đối tƣợng tiêu biểu đƣợc thiết kế theo nhiều lớp kiến trúc hoặc hệ thống con. Ví dụ các lớp sau đây:

- Giao diện người dùng: Giao diện đồ họa, cửa sổ. (adsbygoogle = window.adsbygoogle || []).push({});

- Logic ứng dụng và các đối tượng nghiệp vụ(domain objects): Các đối tƣợng

phần mềm biểu diễn các khái niệm nghiệp vụ mà đáp ứng các yêu cầu ứng dụng.

- Các dịch vụ kỹ thuật: Các đối tƣợng và hệ thống con đáp ứng mục đích chung,

cung cấp các dịch vụ kỹ thuật hỗ trợ nhƣ giao tiếp với cơ sở dữ liệu hoặc ghi nhớ lỗi. Các dịch vụ này thƣờng là độc lập với ứng dụng và có thể sử dụng lại qua nhiều hệ thống.

Phân tích thiết kế hƣớng đối tƣợng thƣờng thích hợp nhất cho mô hình hóa các lớp logic ứng dụng và dịch vụ kỹ thuật.

Một phần của tài liệu Sử dụng hiệu quả ngôn ngữ đặc tả UML trong phát triển phần mềm (Trang 27)