Tải bản đầy đủ - 0 (trang)
CHƯƠNG 2: 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

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

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



14



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



a. Quy trình RUP

- Trục hồnh: là chiều biểu diễn thời gian và vòng đời của quy trình: thể hiện mặt

động của chu kì (cycles), được biểu diễn dưới dạng các giai đoạn (phase), các vòng lặp

(interations) và các cột mốc thời gian (milestones).

- Trục tung: là chiều biểu diễn các tiến trình của quy trình, là các cơng việc được

nhóm lại một cách logic theo bản chất của chúng, thể hiện mặt tĩnh dưới dạng các thành

phần của chu trình như các tiến trình, các kết quả sinh ra (artifacts_WHAT), cá nhân hay

một nhóm thực hiện (worker_WHO), giai đoạn cơng việc hoạt động liên quan với nhau

(workflows_WHEN) và các đơn vị cơng việc (activities_HOW).

- Luồng cơng việc chính:

Business modeling (Mơ hình kinh doanh)

Requirement (u cầu)

Analysis & Design (Phân tích & Thiết kế)

Implemention (Thực hiện)

Test (Kiểm Tra)

Deployment (Triển khai)

- Luồng công việc hỗ trợ:

Project Management (Quản lý dự án)

Configguration and Change Management (Cấu hình và Quản lý Thay đổi)



2.3. CẤU TRÚC TĨNH CỦA QUY TRÌNH

a) Mơ hình của quy trình

Quy trình mơ tả ai đang làm gì và bằng cách nào, và khi nào. Quy trình RUP được

biểu diễn thơng qua việc sử dụng bốn thành phần mơ hình hóa chủ yếu : Worker (WHOai), Activiy–hoạt động (HOW-bằng cách nào), Artifact – Sưu liệu (WHAT-cái gì),

Workflow-luồng cơng việc (WHEN-khi nào)

**Worker

Worker định nghĩa công việc và các trách nhiệm của môt cá nhân hay một tập thể.

Trong chu trình RUP, Worker là các vai trò chỉ ra cách thức để cá nhân làm việc. Một

worker có thể thực hiện một hoặc nhiều vai trò và sở hữu một bộ các sưu liệu (Artifact).

Các ví dụ về worker: Phân tích viên hệ thống, thiết kế viên, kiến trúc sư, kiểm thử viên,

….

Vũ Thành – Lê Hoa



15



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



Lưu ý rằng các worker không phải là cá nhân, mà thay vào đó là các worker mơ tả

cách thức các cá nhân làm việc và trách nhiệm mỗi cá nhân.

**Activity (Hoạt động)

Hoạt động là một đơn vị công việc mà một cá nhân được yêu cầu thực hiện,và tạo

ra một kết quả có ý nghĩa trong ngữ cảnh của dự án. Mỗi hoạt động có một mục đích rõ

ràng và được phân công cho một thừa tác viên cụ thể.

Ví dụ:

- Tìm các chức năng hệ thống (use case) và tác nhân hệ thống (actor): được thực hiện bởi

worker : Phân tích viên hệ thống

- Xem xét các bản thiết kế được thực hiện bởi worker: Nhân viên xem xét thiết kế

Trong thuật ngữ hướng đối tượng, worker là một đối tượng và các hoạt động mà

các worker thực hiện là các thao tác được thực thi bởi các đối tượng đó.

Trong quy trình RUP, hoạt động được ký hiệu bằng cách thêm đầu ngữ Hoạt động

Ví dụ: Hoạt động tìm các chức năng hệ thống và tác nhân hệ thống.

Hoạt động được chia làm nhiều bước thuộc 3 loại chính sau:

- Các bước khảo sát: các worker phải hiểu bản chất của công việc, thu thập và xem xét các

dữ liệu đầu vào và định dạng kết quả.

- Các bước thực hiện: worker tạo mới hay cập nhật một vài sưu liệu.

- Các bước kiểm tra: worker kiểm tra lại các kết quả theo một số tiêu chí nào đó.

Ví dụ: Hoạt động tìm các chức năng hệ thống và tác nhân hệ thống được chia

thành 7 bước sau:

• Tìm các tác nhân hệ thống.

• Tìm các chức năng hệ thống.

• Mơ tả cách thức các tác nhân hệ thống và các chức năng hệ thống tương tác với nhau

• Đóng gói các chức năng hệ thống và các tác nhân hệ thống.

• Trình bày mơ hình chức năng hệ thống (mơ hình use-case) bằng lược đồ chức năng hệ

thống (lược đồ use-case).

• Phát triển mơ hình chức năng hệ thống tổng quát.

• Đánh giá kết quả

Vũ Thành – Lê Hoa



16



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



Trong đó: Bước 1 đến bước 3 là các bước khảo sát, bước 2 đến bước 6 là các bước thực

hiện, liên quan đến việc thu thập kết quả trong mơ hình chức năng hệ thống; bước 7

làbước kiểm tra, yêu cầu các worker phải đánh giá chất lượng của các kết quả theo một

vài tiêu chí nào đó.

**Artifact

Artifac là những thông tin được tạo ra, thay đổi hay sử dụng được bởi một quy trình.

Đólà sản phẩm hữu hình của dự án. Các sưu liệu được các worker sử dụng làm đầu vào để

thực hiện một hoạt động, và chúng cũng là kết quả hay đầu ra của những hoạt động đó.

Artifac có thể có những hoạt động sau đây:

-



Mơ hình, như mơ hình chức năng của hệ thống hay mơ hình thiết kế

Các thành phần của mơ hình, như lớp, chức năng hệ thống, hay hệ thống con

(subsystem)

Tài liệu như tài liệu của chức năng nghiệp vụ (business use case)

Mã nguồn



Các Artifac có thể chứa các sưu liệu khác (Ví dụ: mơ hình thiết kế chứa nhiều lớp)

Các Artifac chỉ thuộc trách nhiệm của một worker. Tuy mỗi người có thể sở hữu một

sưuliệu, nhưng nhiều người cũng có thể sử dụng sưu liệu này, thậm chí có thể điều chỉnh

nếu người đó cho phép.

Tương tự như Worker và Activity, trong quy trinh RUP, sưu liệu cũng được ký hiệu

bằngcách thêm đầu ngữ Sưu liệu. Ví dụ: Sưu liệu Đặc tả chức năng hệ thống.

Các sưu liệu của quy trình RUP được tổ chức thành 5 nhóm:

-



Nhóm quản lý: Bao gồm các sưu liệu liên quan nghiệp vụ phần mềm và quản lý dự

án

Nhóm các yêu cầu: Bao gồm các sưu liệu định nghĩa hệ thống phần mềm được

phát triển

Nhóm thiết kế: chứa mơ tả hệ thống được xây dựng

Nhóm cài đặt: Bao gồm mã nguồn,tập thực thi và các tập tin khác có liên quan.

Nhóm triển khai: Bao gồm các tài liệu cài đặt hướng dẫn sử dụng và tài liệu huấn

luyện



**Workflow (Luồng công việc)

Luồng công việc mơ tả một chuỗi các hành động theo một trình tự để có thể tạo ra

một kết quả có thể quan sát được. trong thuật ngữ UML, một luồng công việc có thể được

diễn tả bằng lược đồ trình tự (lược đồ sequence), lược đồ cộng tác (lược đồ collaboration)

hay lược đồ hoạt động (lược đồ activity).



Vũ Thành – Lê Hoa



17



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



Trong quy trình RUP ta tổ chức tập hợp các hoạt động trong các luồng công việc

bằngcách dùng: các luồng công việc, chi tiết các luồng công việc và các kế hoạch lặp.

Có 9 luồng cơng việc trong quy trình RUP,bao gồm 6 luồng cơng việc chính và 3

luồngcơng việc phụ. Các luồng cơng việc chính bao gồm :

-



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

Luồng cơng việc hóa các u cầu

Luồng cơng viêc phân tích và thiết kế

Luồng cơng việc thực hiện (implementation)

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

Luồng công việc triển khai (development)



Các luồng công việc phụ bao gồm:

-



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

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

Luồng công việc môi trường



Mặc dù các luồng công việc chính trơng giống các pha tuần tự trong quy trình thác

nước truyền thống, nhưng các pha của một quy trình lặp thì hồn tồn khác và các luồng

cơngviệc được xem xét trong chu trình sống. Thực tế, luồng cơng việc chính của một dự

án bao gồm 9 luồng cơng việc này và chúng lặp lại với những mục đích và mức độ khác

nhau tại mỗi lần lặp.

Chi tiết các luồng cơng việc: Quy trình RUP sử dụng chi tiết các luồng cơng việc

để diễn tả một nhóm các hoạt động cụ thể có liên quan mật thiết với nhau. Chi tiết các

luồng công việc cho thấy các luồng thông tin (các sưu liệu đầu vào và ra từ các hoạt động)

mô tả cách thức các hoạt động tương tác với nhau thông qua các sưu liệu khác nhau.

Các kế hoạch lặp: Các kế hoạch lặp dùng để mô tả quy trình từ góc độ xem xét

những gì xảy ra trong một vòng lặp thơng thường (giống với những gì mà luồng cơng việc

chính phải xử lý)

b) Những thành phần bổ xung của quy trình

- Các Worker, Activity, Artifact là những thành phần cơ bản trong cấu trúc tĩnh của

quy trình RUP. Tuy nhiên một số thành phần khác được bổ xung vào các hoạt động và sưu

liệu nhằm làm cho quy trình dễ hiểu và dễ sử dụng hơn, đồng thời cung cấp sự hướng dẫn

toàn diện cho người thực hành. Những thành phần bổ xung là:

-



Các nguyên tắc (guidelines): là những nguyên tắc, chỉ dẫn, …để hỗ trợ các hoạt động và

các bước. Đó còn là các kỹ thuật để tạo ra các sưu liệu nhất định, hay các cách biến đổi

một sưu liệu này thành một sưu liệu khác…. Những nguyên tắc nàycòn được sử dụng để

xem xét các hoạt động và đánh giá chất lượng các sưu liệu.

Vũ Thành – Lê Hoa



18



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



-



Các khuôn mẫu (templates): là những mô hình hay kiểu mẫu (prototype) của các sưu liệu,

được kết hợp với các mô tả sưu liệu để tạo ra các sưu liệu tương ứng.

Các chỉ dẫn sử dụng công cụ (tool mentors): Là những phương tiện hướng dẫn, bổ xung

nhằm để bàn cách thức thực hiện, các bước để sử dụng một công cụ phần mềm cụ thể.

- Một số khái niệm chủ chốt: như vòng lặp, sưu liệu, pha, rủi ro…

2.4. CẤU TRÚC ĐỘNG CỦA QUY TRÌNH

a. Quy trình tuần tự

Lúc đầu quy trình tuần tự được xem như là một phương pháp hợp lý nhất để phát

triển hệ thống. Tuy nhiên trải qua nhiều thập niên, đã cho thấy các dự án sử dụng quy

trình tuần tự thường ít thành cơng bởi những ngun nhân sau:

-



Sự giả định ban đầu có sai sót

Thất bại trong việc kết hợp các nhân tố con người

Chúng ta vẫn còn đang trong giai đoạn thăm dò của cơng nghệ phần mềm, và

khơng có nhiều khinh nghiệm. Đây là lý do chính.



b. Quy trình lặp

Cách tiếp cận tuần tự hay thác nước chỉ thích hợp và thành cơng đối với những dự

án nhỏ và ít rủi ro. Như vậy, câu hỏi đặt ra là tại sao ta không chia nhỏ một chu trình sống

của một dự án thành những thác nước nhỏ nối tiếp nhau? Bằng cách này ta có thể giải

quyết một số yêu cầu và rủi ro, thiết kế một ít, thực hiện một ít, kiểm tra một ít rồi lại lấy

thêm các yêu cầu, thiết kế thêm, xây dựng thêm…cho đến khi hoàn tất. Đây gọi là

phương pháp lặp (hay còn gọi là phát triển lặp).

- Phát triển lặp là gi?

• Một dự án sử dụng quy trình phát triển lặp lại có một vòng đời chứa các quy trình

lặp. Một quá trình lặp là sự kết hợp chặt chẽ một chuỗi các hoạt động: mơ hình nghiệp vụ,

tiếp nhận yêu cầu, phân tích và thiết kế, thực thi, kiểm lỗi và triển khai với mức độ lặp

không giống nhau, tùy theo vị trí cụ thể của vòng phát triển.

• Quản lý, tiếp nhận yêu cầu và thiết kế là các hoạt động trọng điểm trong giai

đoạn khởi tạo và phân tích chi tiết dự án; các hoạt động thiết kế, thực thi và kiểm lỗi đóng

vai trò chủ chốt trong giai đoạn xây dựng; và các hoạt động kiểm lỗi, triển khai đóng vai

trò chủ đạo trong giai đoạn chuyển giao dự án.

• Q trình lặp được quản lý bởi timeboxed (thuật ngữ của RUP) được các nhóm

phát triển họp bàn và thiết lập.

- Tại sao phải phát triển lặp lại ?



Vũ Thành – Lê Hoa



19



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



• Một thiết kế ban đầu chỉ là một sản phẩm chưa hoàn thiện, dựa trên các yêu cầu

căn bản, về sau quá trình thiết kế càng phát hiện ra thêm nhiều nhược điểm đó là kết quả

trả giá từ việc chạy thử và trong một số trường hợp dự án phải hủy bỏ.

• Tất cả các dự án đều có một tập các rủi ro phức tạp. Lúc ban đầu bạn có thể xác

định để ngăn ngừa một vài rủi ro theo đúng như kế hoạch của mình. Tuy nhiên có rất

nhiều rủi ro mà bạn không thể phát hiện ra một các đơn giản, trơn tru cho đến khi bạn cố

gắng tích hợp hệ thống. Bạn sẽ khơng bao giờ có thể dự đốn trước được tất cả các rủi ro

khi khơng quan tâm đến kinh nghiệm của nhóm phát triển.

- Lợi ích của phát triển lặp lại

• Hạn chế được nhiều rủi ro do các phần tử được tích hợp, xây dựng dần dần

• Cho phép thay đổi các yêu cầu, các phương thức cho thích hợp hơn

• Các tổ chức có thể nắm được phương pháp này và phát triển cho qui trình của họ.

• Tăng khả năng tái sử dụng

2.5. CÁC PHA CỦA RUP



Hình 5: Các Pha của RUP

Tiến trình của Rup chia thành 4 pha :





Pha khởi đầu – Inception







Pha xây dựng phác thảo - Elaboration

Vũ Thành – Lê Hoa



20



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





Pha xây dựng – Construction







Pha chuyển giao - Transition



Phân biệt giữa các pha là các cột mốc (Milestone) đánh dấu sự kết thúc của mỗi

pha. Ở mỗi giai đoạn lại chia thành các bước lặp (Iteration), kết thúc mỗi bước lặp tạo ra

một sản phẩm có thể vận hành được.

Tiến trình hợp nhất có các đặc trưng cơ bản như sau :





Điều khiển bởi ca sử dụng – Use case







Lấy kiến trúc làm trọng tâm







Lặp tăng dần



Mơ tả luồng cơng việc tại mỗi bước lặp :



Hình số 6 : Mơ tả các bước thực hiện tại mỗi bước lặp

2.5.1. Các hoạt động chính trong các pha

a. Các hoạt động trong pha khởi đầu (Inception).

Trong pha khởi đầu các cơng việc chính cần thực hiện như sau :





Mơ hình hố nghiệp vụ.







Các u cầu.







Phân tích và thiết kế.



Sau đây sẽ mơ tả chi tiết về các hoạt động này

a.1. Mơ hình hóa nghiệp vụ

Hoạt động này là việc thu thập các thông tin hoạt động cụ thể nhằm sinh ra các tài

liệu sau:

Vũ Thành – Lê Hoa



21



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



Mơ hình ca sử dụng –use case - nghiệp vụ.

Các đặc tả nghiệp vụ bổ sung.

Mơ hình nghiệp vụ.

Các trường hợp sử dụng nghiệp vụ.

Thực hiện của ca sử dụng.

Các thực thể nghiệp vụ.

Các thao tác.

Tổ chức các đơn vị .

a.2. Các yêu cầu





Yêu cầu của các bên tham gia.







Tài liệu tầm nhìn dự án.







Mơ hình các ca hợp sử dụng.







Qui ước từ vựng để sử dụng thống nhất trong tài liệu.







Các chỉ dẫn bổ sung.







Các thuộc tính u cầu.







Các ca hợp sử dụng.







Các gói (package) ca hợp sử dụng.







Các tác nhân con người (thao tác viên với hệ thống).







Các mẫu giao diện người sử dụng.







Các mơ tả trường hợp sử dụng.







Các lớp biên. Tài liệu về kiến trúc phần mềm.



b. Các hoạt động trong pha xây dựng phác thảo (Elaboration).

Các hoạt động cơ bản trong pha này là hoạt động phân tích và thiết kế. Các tài liệu

sau đây được sinh ra :

Vũ Thành – Lê Hoa



22



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





Mơ hình phân tích







Mơ hình thiết kế







Giao diện / Tín hiệu/ Sự kiện.







Giao thức.







Tài liệu kiến trúc phần mềm đã được chỉnh đổi.







Trạng thái.







Gói Thiết kế.







Tài liệu thực hiện của ca sử dụng.







Thiết kế lớp.







Phân tích các lớp.







Thiết kế các hệ thống con.







Đóng gói.







Mơ hình dữ liệu.



c. Các hoạt đơng trong pha xây dựng (Construction)

Trong pha này cần thực hiện 2 hoạt động chính bao gồm :





Thực hiện (Implementation)







Kiểm tra (Test)



Sau đây sẽ mơ tả chi tiết của 2 hoạt động này :

c.1. Thực hiện (Implementation)

Các hoạt động hệ thống ở mức thấp nhất : các thành phần và sự tích hợp giữa chúng.





Mơ hình thực hiện.







Kế hoạch tích hợp.







Thành phần (Component ).

Vũ Thành – Lê Hoa



23



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





Việc thực hiện các hệ thống con.



c.2 Kiểm tra (Test)

Các tài liệu sau đây được sử dụng trong hoạt động này.





Kế hoạch test.







Mơ hình tải cơng việc.







Kiểm tra các ca sử dụng.







Các thủ tục test







Mơ hình test.







Các chương trình test.







Test các gói và lớp.







Test các hệ thống con và các thành phần



d. Các hoạt động trong pha chuyển giao (Transition)

Các hoạt động trong pha này bao gồm :





Kế hoạch triên khai.







Các tài liệu phát hành.







Tài liệu hỗ trợ, hướng dẫn khách hàng cuối.







Tài liệu cài đặt.







Tài liệu đào tạo.



Vũ Thành – Lê Hoa



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

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

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

×