Tải bản đầy đủ - 0 (trang)
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT

CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT

Tải bản đầy đủ - 0trang

6



Tìm hiểu quy trình phát triển phần mềm RUP



Sau khi mục tiêu được hồn thành thì được đổi tên thành Rational Unified Process, phiên

bản đầu tiên là 5.0 được phát hành năm 1998, kiến trúc sư trưởng là Philippe Kruchten.

Phiên bản cuối cùng là RUP 7.0 được phát hành là một phần của IBM Rational

Method Composer vào tháng 11-2005.

1.2. RUP LÀ QUY TRÌNH TẬP TRUNG VÀO KIẾN TRÚC

1.2.1. Tầm quan trọng của kiến trúc

Ngày nay, tất cả các hệ thống đơn giản đang xây dựng và việc quản lý các hệ thống

lớn phức tạp đã trở thành mối quan tâm hang đầu của các tổ chức phát triển phần mềm.

Họ muốn hệ thống của họ chạy nhanh hơn, có tính tái sử dụng ở phạm vi lớn và nó được

xây dựng ở những thành phần đã sẵn có. Phần mềm trở thành một thứ của cải quan trọng

và các tổ chức cần có cơng cụ để quản lý chúng.

“Kiến trúc” được sử dụng ở khắp nơi, phản ánh sự quan tâm và sử dụng ngày càng

lớn, nhưng một khái niệm rõ về nó thực sự khơng cần thiết vì sự đa dạng ngữ cảnh sử

dụng của nó.

Ba điểm chính được yêu cầu để một tổ chức tiếp nhận một kiến trúc:

• Hiểu rõ mục đích: Tại sao kiến trúc quan trọng? Lợi ích đem lại từ nó? Khai thác

nó như thế nào

• Bản mơ tả kiến trúc: Cách tốt nhất để đưa ra khái niệm rõ rang về kiến trúc là đạt

được sự nhất trí về sự thể hiển của nó, để nó trở thành một vật cụ thể có thể giao tiếp, xem

xét, phê bình và cải tiến một cách có hệ thống

• Một quy trình kiến trúc: tạo ra và xác nhận kiến trúc như thể nào để đáp ứng các

như cầu của dự án? Ai tạo ra nó? Cái gì là sưu liệu và tính chất luồng cơng việc.

Quy trình RUP chứa một số câu trả lời cho ba điểm trên. Nhưng chúng ta hãy bắt

đầu bằng cách định nghĩa rõ ràng hơn về kiến trúc phần mềm.

1.2.2. Định nghĩa kiến trúc phần mềm

Kiến trúc phần mềm chứa các giải pháp quan trọng về:

• Tổ chức của một hệ thống phần mềm.

• Sự lựa chọn các thành phần cấu tạo thành hệ thống và giao diện cảu chúng, cùng

với hành vi của chúng, được xác định trong sự cộng tác cảu các thành phần này.

• Sự kết hợp của những thành phần trở thành hệ thống lớn.

• Loại kiến trúc biểu diễn một tổ chức, những thành phần và giao diện của chúng,

sự cộng tác và sự kết hợp giữa chúng.



Vũ Thành – Lê Hoa



7



Tìm hiểu quy trình phát triển phần mềm RUP



Kiến trúc phần mềm khơng chỉ liên quan đến cấu trúc và hành vi mà còn liên quan

đến ngữ cảnh: cách sử dụng, chức năng, tốc độ, tái sử dụng, khả năng toàn diện, những

rằng buộc, cân bằng về kinh tế, kỹ thuật va mỹ thuật. Kiến trúc là một phần của thiết kế,

quyết định cách thức hệ thống được xây dựng.

Để giúp các thành viên của hệ thống có thể giao tiếp, bàn bạc và tranh luận về kiến

trúc, cần có sự trình bày theo cách hiểu của họ. Từ đó đưa ra khung nhìn về kiến trúc

(architectural view) - Đó là mơ tả hệ thống được đơn giản hóa từ một góc nhìn cụ thể,

trình bày những thứ cụ thể có thể liên quan và bỏ đi những thực thể khơng thích hợp từ

góc độ này.

Cần phân biệt khung nhìn kiến trúc và mơ hình: Mơ hình là sự chình bày hồn

chỉnh về hệ thống, còn khung nhìn chỉ tập trung vào những gì có ý nghĩa về mặt cấu trúc,

tức là những gì có tác động lớn đến cấu trúc hệ thống và tốc độ, sự hồn thiện và tính tiến

hóa của nó.

Quy trình RUP đề nghị 5 khung nhìn sau:



Hình 1: 5 khung nhìn trong RUP

• Khung nhìn logic (Logical View): Mô tả các yêu cầu chức năng của hệ thống, tức là

những gì mà hệ thống nên làm cho người dùng cuối. Đó là sự trừu tượng của mơ hình

thiết kế và xác định các gói thiết kế chính, các hệ thống con và lớp chính.

• Khung nhìn thực hiện (Implementation View): mô tả tổ chức của các module (đơn thể)

phần mềm tĩnh (như mã nguồn, tập tin dữ liệu, thành phần, tập tin thực thi, và các sưu liệu

đồng hành khác) trong mooi trường phát triển.

• Khung nhìn quy trình (Process View): mơ tả khía cạnh xảy ra đồng thời của hệ thống

thời gian thực (run-time) (task, thread, process cũng như sự tương tác giữa chúng).

Vũ Thành – Lê Hoa



8



Tìm hiểu quy trình phát triển phần mềm RUP



• Khung nhìn triển khai (Development View): cho thấy các tập tin thực thi và các thành

phần khác nhau được trineer khai trên hệ thống như thế nào. Nó giải quyết vấn đề triển

khai cài đặt và tốc độ

• Khung nhìn chức năng hệ thống (Use Case View) đóng vai trò đặc biệt đối với kiến trúc.

Nó chứa một vài kịch bản hay chức năng hệ thống chủ yếu. Ban đầu chúng được dùng để

khám phá và thiết kế kiến trúc trong pha bắt đầu và pha chuẩn bị, nhưng sau đó chúng

được dùng để xác nhận các khung nhìn khác nhau.

1.2.3. Mục đích của kiến trúc

• Cho phép kiểm sốt dự án một cách thông minh, quản lý độ phức tạp của nó và duy trì

tính tồn vẹn của hệ thống

• Cung cấp cơ sở có hiệu quả để có thể tái sử dụng trên quy mơ lớn

• Cung cấp nền tảng để quản lý dự án

1.2.4. Rup là quy trình tập trung vào kiến trúc phần mềm



Hình 2: RUP tập trung vào kiến trúc phần mềm

Quy trình RUP định nghĩa 2 sưu liệu chủ yếu có liên quan đến kiến trúc:

• Mơ tả kiến trúc phần mềm (Software Architecture Description-SAD) mơ tả khung

nhìn kiến trúc thích hợp đối với dự án.

• Kiểu mẫu kiến trúc (Architecture Template): dùng để xác nhận kiến trúc và làm

cơ sở cho các thành phần còn lại của cơng việc phát triển.

• Hai sưu liệu chủ chốt này làm nền tảng cho 3 sưu liệu khác

• Những nguyên tắc thiết kế

• Cấu trúc sản phẩm trong mơi trường phát triển được dựa trên Physical View

• Cấu trúc nhóm làm việc (team structure)

Vũ Thành – Lê Hoa



9



Tìm hiểu quy trình phát triển phần mềm RUP



Quy trình RUP định nghĩa: Kiến trúc sư (Architect) chịu trách nhiệm về cấu trúc.

Tuy nhiên không chỉ kiến trúc sư là những người có liên quan đến kiến trúc, mà hầu hết

cácthành viên trong nhóm đều có liên quan đến việc định nghĩa và thực hiện kiến trúc,

đặc biệt là trong pha chuẩn bị.

• Các thiết kế viên (designer): tập trung vào các lớp và các cơ cấu có ý nghĩa về

mặt kiến trúc, hơn là tập trung vào chi tiết các lớp.

• Các nhà tích hợp (integrator): tích hợp các thành phần chính của phần mềm, để

kiểm tra giao diện (interface). Họ tập trung chủ yếu vào việc loại bỏ những rủi ro về tích

hợp có liên quan đến các thành phần chính.

• Các kiểm thử viên (Tester): kiểm tra kiểu mẫu kiến trúc về kiểu mẫu và tốc độ

hoàn thiện.

1.2.5. RUP là quy trình hướng chức năng

Xác Định yêu

cầu



Phân tích



Thiết kế



Cài đặt



Kiểm Chứng



Các Use case liên kết các Workflow này với nhau



Hình 3: RUP là quy trình hướng chức năng

a) Khái niệm

Phần lớn quy trình RUP tập trung vào mơ hình hóa. Các mơ hình giúp ta hiểu và

định hình vấn đề cần giải quyết cúng như đưa ra giải pháp cho vấn đề đó. Quy trình RUP

cungcấp một phương pháp hiệu quả để hiểu và mơ hình hóa vấn đề: đó là kỹ thuật mơ

hình hóa chức năng hệ thống. Các chức năng hệ thống cung cấp một phương tiện để mô tả

vấn đề theo một cách mà đa số các thành viên hệ thống (người sử dụng, các nhà phát triển

và khách hàng) có thể hiểu được.

Để xây dựng một mơ hình chức năng hệ thống, RUP định nghĩa 2 khái niệm chính:

• Chức năng hệ thống: là một chuỗi các hành động tuần tự mà hệ thống thực hiện

và tạo ra một kết quả có thể quan sát được đối với một tác nhân hệ thống cụ thể.

• Tác nhân hệ thống: là người hay một thứ nào đó nằm ngồi hệ thống và tương tác

hệ thống.

Ngồi ra, mơ tả chức năng hệ thống là mơ tả nhưng gì mà hệ thống phải làm khi

một chức năng hệ thống được thực hiện. Chức năng của hệ thống được định nghĩa bởi tập

hợp các chức năng hệ thống, mà mỗi chức năng hệ thống trình bày một luồng các sự kiện

Vũ Thành – Lê Hoa



10



Tìm hiểu quy trình phát triển phần mềm RUP



cụ thểđược ghi bằng ngơn ngữ tự nhiên, theo một lối hành văn đơn giản, nhất qn và sử

dụng chính xác thuật ngữ chun mơn.

Chúng ta không cần phải mô tả luồng thay thế bằng chức năng hệ thống riêng biệt.

Thay vào đó, ta sẽ nhóm chúng với các luồng sự kiện khác có liên quan. Nhóm này định

nghĩa một lớp chức năng của hệ thống. Thể hiện (instance) của một lớp chức năng hệ

thống là một luồng cụ thể các sự kiện và nó được gọi là một kịch bản (scenairo).

Mơ hình chức năng hệ thống bao gồm tập hợp tất cả các chức năng hệ thống là một

hệthống hay một phần của hệ thống, cùng với tập hợp tất cả các tác nhân hệ thống tương

tác với những chức năng hệ thống này, do đó nó mơ tả đầy đủ chức năng hệ thống. Nó

cung cấp một mơ hình các chức năng dự định và mơi trường của hệ thống, đồng thời cũng

có thể xem như là một hợp đồng giữa khách hang và nhà phát triển. Quy trình RUP sử

dụnglược dồ chức năng hệ thống và lược đồ hoạt động để mô tả trực quan mơ hình trúc

năng hệ thống, bao gồm các mối quan hệ có thể có của các chức năng hệ thống.

b) Xác định chức năng hệ thống

Các chức năng được tìm thấy khi ta xem xét các kết quả mà hệ thống cung cấp cho

một tác nhân hệ thống và khi ta gom chuỗi các hành động mà hệ thống phải thực hiện để

tạo ra các kết quả đó. Nói cách khác, chức năng hệ thống đáp ứng một mục đích cụ thể

củamột tác nhân hệ thống và được thực hiện bởi hệ thống.

c) Cải tiến các chức năng hệ thống

Chúng ta nên bắt đầu bằng cách phác thảo các chức năng hệ thống, trước khi tập

trung vào chi tiết của nó. Ở vòng lặp ban đầu trong suốt pha chuẩn bị, chỉ có một ít các

chứcnăng hệ thống có ý nghĩa về mặt kiến trúc được mơ tả chi tiết. Mơ hình thường chứa

cácchức năng hệ thống đơn giản đến mức không cần một mô tả chi tiết luồng sự kiện mà

chỉcần một phác thảo là đủ

d) Tổ chức các chức năng hệ thống

Tổ chức các chức năng hệ thống bằng cách sử dụng các gói chức năng hệ thống

(package use case), tức là gom nhóm các chức năng hệ thống liên quan đến nhau. Ta cũng

có thể khai thác các mối quan hệ giữa các chức năng hệ thống này. Để làm được điều này

cần quan sát kỹ các sự kiện

e) Các chức năng hệ thống trong chương trình

RUP là một quy trình hướng chức năng. Do đó các chức năng hệ thống định nghĩa

là cơ sở nền tản cho tồn bộ quy trình phát triển.

Mơ hình chức năng hệ thống là kết quả của các luồng cơng việc, các u cầu.

Trong đó, các chức năng hệ thống được dùng để nắm bắt những gì mà hệ thống phải thực

Vũ Thành – Lê Hoa



11



Tìm hiểu quy trình phát triển phần mềm RUP



hiện từgóc nhìn người dùng. Do đó các chức năng hệ thống hoạt động như là một ngôn

ngữ chung để khách hàng/người sử dụng và các nhà phát triển giao triếp với nhau.

Trong phân tích và thiết kế, các chức năng hệ thống là cầu nối để kết hợp các yêu

cầu vàcác hoạt động thiết kế. Chúng phục vụ làm nền tảng cho việc thực hiện hóa các

chức năng hệ thống.

Trong suốt q trình thực hiện, mơ hình thiết kế là bản đặc tả thực thi

(Implementation Specification). Bởi các chức năng hệ thống là cơ sở của mơ hình thiết

kế, chúng được thực hiện dưới dạng các lớp thiết kế. Việc hiện thực hóa chức năng hệ

thống trong mơ hình cần làm rõ được chức năng và quy trình kiểm chứng. Nói cách khác

mỗi chức năng hệ thống thực hiện để kiểm chứng hệ thống.

Trong quá trình dự án, các chức năng hệ thống được dùng để định nghĩa nội dung

các vòng lặp.

Trong q trình triển khai, các gói chức năng hệ thống có thể phục vụ để lập kế

hoạch cho việc triển khai theo giai đoạn hay định nghĩa các biểu thể của hệ thống.

Trong mơ hình hóa nghiệp vụ (Business Modeling) cũng sử dụng khái niệm chức

năng nhưng ở mức độ nghiệp vụ. Các mơ hình chức năng nghiệp vụ mơ tả các quy trình

nghiệp vụ ở mức cao, đồng thời cung cấp ngữ cảnh và luồng thơng tin có thể mơ tả chức

năng hệ thống của hệ thống.



Vũ Thành – Lê Hoa



12



Tìm hiểu quy trình phát triển phần mềm RUP



CHƯƠNG 2: QUY TRÌNH PHÁT TRIỂN PHẦN MỀM RUP

2.1. NHỮNG BÀI HỌC CỦA RATIONAL UNIFIED PROCESS

Quy trình phát triển hệ thống phần mềm của hãng Rational dựa trên cơ sở 6 bài học

thực tế rút ra được từ q trình thành cơng cũng như thất bại của các dự án, đó là:

• Phát triển tái lập (Develop software iteratively)

• Quản trị yêu cầu (Manager requirements)

• Sử dụng kiến trúc thành phần (Use component-base architectures)

• Mơ hình hóa trực quan (Visually model software)

• Liên tục kiểm tra chất lượng (Verify software quality)

• Quản trị thay đổi (Control changes to software)

**Phát triển tái lập

Chia quá trình phát triển thành các chu kỳ khác nhau, ở những chu kỳ đầu sẽ lựa

chọn phát triển trước những chức năng mấu chốt, quyết định toàn bộ sự thành công hay

thấtbại của dự án, mỗi chu kỳ như vậy sẽ sinh ra một phiên bản thi hành được của ứng

dụng đang phát triển.

Việc phát triển tái lập như vậy có lợi điểm là: giải quyết được những rủi ro lớn

trước khicó những đầu tư cho các bước tiếp theo, cho phép sớm tiếp nhận được những

phản hồi của người sử dụng, thực hiện việc thử nghiệm và tích hợp một cách thường

xuyên liêntục, cho phép tập trung triển khai từng phần hệ thống.

**Quản trị yêu cầu:

Quản trị yêu cầu trong suốt quá trình phát triển đảm bảo giải quyết đúng vấn đề

gặp phải và xây dựng đúng hệ thống cần xây dựng, quản trị yêu cầu cho phép theo vết

được cácvấn đề đặt ra từ nhu cầu của người sử dụng hệ thống đến các đặc tính của hệ

thống, các chức năng, các vấn đề về phân tích, thiết kế và kịch bản thử nghiệm.

**Sử dụng kiến trúc thành phần:

Chia nhỏ hệ thống phần mềm ra các thành phần nhỏ tương đối độc lập nhưng lại có

quanhệ với nhau theo những nguyên tắc nhất định.

Việc sử dụng kiến trúc thành phần cho phép hệ thống xây dựng vừa đáp ứng được

các yêu cầu ở hiện tại và những mở rộng trong tương lai, nó cho phép có thể tái sử dụng

cácthành phần đã được xây dựng trước đó hoặc có thể mua các thành phần đã được các

hãng trên thế giới xây dựng từ đó có thể đẩy nhanh quá trình phát triển ứng dụng.



Vũ Thành – Lê Hoa



13



Tìm hiểu quy trình phát triển phần mềm RUP



**Mơ hình hóa trực quan:

Sử dụng ngôn ngữ chuẩn UML (Unified Modelling Language) để mơ hình hóa

tồn bộ hệthống phần mềm cần phát triển. Việc mơ hình hóa trực quan bằng ngơn ngữ

UML cho phép: thu thập được toàn bộ cấu trúc và hành vi của hệ thống, chỉ ra cách thức

để cácthành phần của hệ thống có thể kết hợp với nhau, đảm bảo sự thống nhất giữa bản

thiết kế và bản chương trình phần mềm được xây dựng, nâng cao chất lượng sự trao đổi

giữa các thành viên trong nhóm phát triển, giữa các nhóm phát triển với nhau.

**Liên tục kiểm tra chất lượng:

Việc kiểm tra thử nghiệm được thực hiên ở tất cả các chu kỳ phát triển ứng dụng

và kiểm tra trên cả 3 mặt chính: kiểm tra về mặt chức năng ứng dụng (thử nghiệm tất cả

các kịch bản tình huống sử dụng), kiểm tra tốc độ (hiệu năng) và kiểm tra độ tin cậy của

ứng dụng.

**Quản trị thay đổi:

Đảm bảo quản trị được các thay đổi về yêu cầu, các thay đổi phiên bản hay thay

đổi cấu hình trong suốt quá trình phát triển, triển khai, bảo trì và nâng cấp ứng dụng.

2.2. KIẾN TRÚC TỔNG QUAN CỦA QUY TRÌNH RUP



Hình 4: Thể hiện cấu trúc của quy trình RUP. Nó gồm 2 phần:



Vũ Thành – Lê Hoa



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT

Tải bản đầy đủ ngay(0 tr)

×