You are on page 1of 3

Phát triển phần mềm nguồn mở - Qui trình phát triển phần mềm nguồn mở

Quy trình phát triển phần mềm RUP


Trong những năm qua, việc xây dựng và triển khai các chương trình phần mềm trong đã góp phần phục vụ ngày càng
tốt hơn cho công tác quản lý và điều hành của nhiều doanh nghiệp. Tuy nhiên, cũng không thể tránh khỏi những sai
sót làm ảnh hưởng không nhỏ đến hiệu quả công việc của cán bộ quản lý, ảnh hưởng đến tiến độ phát triển, triển
khai và bảo trì chương trình của cán bộ Tin học, trong đó một nguyên nhân nổi bật đáng chú ý là chưa thực sự áp
dụng một phương pháp luận, một quy trình chuẩn được công nhận trong quá trình phân tích thiết kế, phát triển, thử
nghiệm, triển khai chương trình dẫn tới chất lượng của chương trình tại thời điểm tung ra triển khai thử nghiệm là
hết sức thấp; nhiều lỗi không được phát hiện sớm; cách tiếp cận phát triển ứng dụng không dựa theo công nghệ
hướng đối tượng nên khi có sự thay đổi chính sách nghiệp vụ dẫn tới ứng dụng phải đắp thêm các chức năng mới
nhưng hết sức chắp vá…. Trong khi đó, trên thế giới đã từng có những bài học kinh nghiệm quý báu mà chúng ta
hoàn toàn có thể học tập được.Xin giới thiệu một cách tổng quan nhất quy trình phân tích, thiết kế, phát triển, thử
nghiệm và triển khai một hệ thống phần mềm do hãng Rational xây dựng và đã được hầu hết các hãng phần mềm trên
thế giới áp dụng thành công trong các dự án của mình.

Những bài học của Rational

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ừ quá trình
thành công cũng như thất bại của các dự án, đó là:

1. 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ất bạ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 khi có 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ên tục, cho phép tập trung triển khai từng phần
hệ thống.
2. 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ác vấ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.
3. Sử dụng kiến thứ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ó quan hệ 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
1
Phát triển phần mềm nguồn mở - Qui trình phát triển phần mềm nguồn mở
ở 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ác thà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.
4. 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 toà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ác thà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.
5. 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.
6. 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.

Cách vận dụng


Để vận dụng được sáu bài học nói trên Rational đưa ra quy trình phát triển hợp nhất (Rational Unified Process –
RUP) gồm các pha (phase) và các giai đoạn công việc (workflow) mà đội thực hiện dự án cần tuân theo. Các pha của
RUP bao gồm:

Khởi động (inception)


Trong pha khởi động cần đưa ra tình huống về mặt nghiệp vụ có thể có đối với hệ thống và xác định phạm vi của dự
án. Các tình huống nghiệp vụ gồm: tiêu thức đánh giá sự thành công, đánh giá rủi ro, xác định các nguồn lực cần thiết
cho dự án và một bản kế hoạch tóm tắt chỉ ra lịch trình của các điểm mốc chủ yếu của dự án. Cuối pha này cần kiểm
tra các mục tiêu của quá trình phát triển của dự án và quyết định có tiếp tục quá trình phát triển hay không.
Phác thảo (Elaboration)
Mục tiêu của pha này là phân tích các vấn đề nghiệp vụ, xác định kiến trúc hợp lý, xây dựng kế hoạch cho dự án, giới
hạn các yếu tố rủi ro cao nhất. Những quyết định về mặt kiến trúc cần được đưa ra cho toàn bộ hệ thống, đồng thời
cần mô tả hầu hết các yêu cầu của hệ thống. Cuối pha này cần kiểm tra các mục tiêu và phạm vi chi tiết của hệ thống,
sự lựa chọn về kiến trúc và cách xử lý các rủi ro có thể đồng thời quyết định có tiếp tục chuyển sang pha xây dựng
hay không.
2
Phát triển phần mềm nguồn mở - Qui trình phát triển phần mềm nguồn mở
Xây dựng (Contruction)
Trong pha này bạn phát triển một cách tái lập và tăng dần toàn bộ sản phẩm đầy đủ, sẵn sàng chuyển giao tới cộng
đồng người sử dụng. Pha này bao gồm việc mô tả các yêu cầu còn lại chưa được xác định, xác định các “tiêu thức
chấp nhận”, làm mịn thiết kế và hoàn thành việc lập trình ứng dụng. Cuối pha này cần xác định liệu hệ thống phần
mềm, các điểm triển khai và người dùng đã sẵn sàng đi vào hoạt động chưa.

Chuyển giao (Deployment)


Trong pha này, cần đưa hệ thống phần mềm tới cộng đồng người sử dụng. Khi hệ thống đã tới tay người sử dụng thì
các vấn đề thường phát sinh đòi hỏi những bước tiếp theo là căn chỉnh hệ thống, xác định các vấn đề chưa được phát
hiện trước đó hay hoàn thiện các chức năng trước đó bị trì hoãn. Pha này thường bắt đầu với việc tung ra phiên bản
Beta và sau đó là thay thế bởi bản chương trình đầy đủ.
Các giai đoạn công việc của RUP bao gồm:
- Mô hình hóa nghiệp vụ (business modeling): mô tả cấu trúc và quy trình nghiệp vụ.
- Xác định yêu cầu (requirement): mô tả nghiệp vụ bằng phương pháp “tình huống sử dụng” (use case base method)
- Phân tích và thiết kế (analysis & design): mô tả kiến trúc hệ thống thông qua các sơ đồ phân tích thiết kế.
- Lập trình: thực hiện các việc xây dựng chương trình bằng ngôn ngữ lập trình.
- Thử nghiệm: mô tả các tình huống và kịch bản thử nghiệm, tiến hành thử nghiệm hệ thống phần mềm.
- Triển khai: đưa hệ thống phần mềm vào sử dụng.
- Quản trị cấu hình và quản trị thay đổi: kiểm soát các thay đổi và duy trì sự hợp nhất của các thành phần dự án.
- Quản trị dự án: quản lý toàn bộ quá trình làm việc của dự án.
- Môi trường: đảm bảo các hạ tầng cần thiết để có thể phát triển được hệ thống.

Quá trình thực hiện qua toàn bộ các pha được gọi là chu trình phát triển; Kết quả của quá trình phát triển các RUP
được gọi là các Artifact, bao gồm các mô hình và các bộ tài liệu, đó là:
- Mô hình nghiệp vụ: là sự trừu tượng hóa tổ chức nghiệp vụ của hệ thống cần xây dựng.
- Mô hình tình huống sử dụng: các yêu cầu mang tính chức năng của hệ thống phần mềm.
- Mô hình phân tích và thiết kế: mô hình tổ chức các đối tượng của hệ thống phần mềm để giải quyết vấn đề của bài
toán.
- Mô hình triển khai: mô hình kiến trúc phần cứng và phần mề hệ thống cần thiết để triển khai.
- Mô hình thử nghiệm: xác định các bước mà hệ thống sẽ được kiểm tra.
- Bộ tài liệu về xác định yêu cầu hệ thống: mô tả những gì hệ thống cần lầm.
- Bộ tài liệu thiết kế: mô tả hệ thống sẽ được xây dựng như thế nào.
- Bộ tài liệu lập trình: mô tả các thành phần ứng dụng được phát triển như thế nào.
- Bộ tài liệu triển khai: mô tả cấu trúc triển khai hệ thống.
Để áp dụng được quy trình phát triển hệ thống phần mềm của Rational thì yêu cầu không thể thiếu là hệ thống các
phần mềm công cụ hỗ trợ. Hãng Rational đã xây dựng một hệ thống công cụ như vậy, mà tiêu biểu và thường dùng
nhất cho hệ thống tài chính ngân hàng là:
- Phần mềm Rational Requisite Pro: cho phép phân tích các yêu cầu, xây dựng kế hoạch thực hiện, xác định các tác
nhân của hệ thống cùng những tình huống sử dụng.
- Phần mềm Rational Rose: cho phép xây dựng các mô hình phân tích, thiết kế, triển khai.
- Phần mềm Rational XDE: cho phép vừa xây dựng các mô hình vừa kết sinh mà nguồn chương trình song song
vớinhau.
- Phần mềm Rational Clear Case: quản trị dự án phân tích thiết kế, cho phép làm việc theo nhóm.

Như vậy, việc áp dụng quy trình chuẩn để xây dựng hệ thống phần mềm đã trở thành một tất yếu đối với bất kỳ tổ
chức, đơn vị nào muốn nâng cao và đảm bảo cho chất lượng của hệ thống phần mềm của mình

Cùng với việc triển khai áp dụng quy trình Rational, cần nâng tầm hiểu biết và vận dụng quy trình của cán bộ tin học
đồng thời thay đổi thói quen và suy nghĩ phát triển ứng dụng chỉ là lập trình.

You might also like