Tuy nhiên, cũng không thể tránh khỏi những sai sót làm ảnh hưởng khôngnhỏ đế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ểnkhai và bảo trì chương trình c
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 4
I GIỚI THIỆU QUY TRÌNH RUP (Rational Unified Process) 5
II LỊCH SỬ PHÁT TRIỂN CỦA RUP 6
III RUP LÀ QUY TRÌNH TẬP TRUNG VÀO KIẾN TRÚC 7
1 Tầm quan trọng của kiến trúc 7
3 Mục đích của kiến trúc 10
4 Rup là quy trình tập trung vào kiến trúc phần mềm 10
5 RUP là quy trình hướng chức năng 11
IV QUY TRÌNH PHÁT TRIỂN PHẦN MỀM RUP 15
1 Những bài học của Rational Unified Process 15
3 Cấu trúc tĩnh của quy trình 19
4 Cấu trúc động của quy trình 25
V CÁC PHA CỦA QUY TRÌNH RUP 29
1 Vòng đời 29
2 Các giai đoạn (Phase) 29
3 Các luồng công việc (workflow) 41
THAY LỜI KẾT 42
LỜI NÓI ĐẦU
Trang 2Trong 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ềudoanh 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ôngnhỏ đế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ểnkhai 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 đángchú ý 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ôngnhậ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ìnhdẫ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ứcthấ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ựatheo 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 ứngdụ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ầuhế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 RUP
là một quy trình vòng lặp phát triển phần mềm được tạo ra bởi công ty Rational Software,một bộ phận của IBM từ năm 2002 (IBM Rational)
Hy vọng bài tìm hiểu sẽ cung cấp được những kiến thức cơ bản về quy trình pháttriển phần mềm RUP như lịch sử phát triển, quy trình phát triển phần mềm RUP, cấu trúcquy trình…Do đây là lần đầu tiên đi sâu tìm hiểu về vấn đề này nên không tránh khỏi cónhững thiếu sót Nhóm rất mong nhận được những ý kiến góp ý của thầy và các bạn Xin chân thành cảm ơn!
I GIỚI THIỆU QUY TRÌNH RUP (Rational Unified Process)
Trang 3Trong phát triển phần mềm, có những sai sót làm ảnh hưởng không nhỏ đến chất lượngsản phẩm Các sai sót này có thể phát sinh từ nhiều nguồn khác nhau trong quá trình xâydựng hệ thống, chẳng hạn như không quản lý được các yêu cầu, không phát hiện lỗi kịpthời, không quản lý được các thay đổi của dự án.
- RUP là một quy trình vòng lặp phát triển phần mềm được tạo ra bởi công tyRational Software, một bộ phận của IBM từ năm 2002 (IBM Rational)
- RUP không phải là một quy trình bó hẹp cụ thể đơn nhất nhưng là một nền tảngquy trình thích ứng với sự phát triển các tổ chức và các nhóm dự án phần mềm, tất cả sẽchọn các yếu tố cần thiết của quy trình để phù hợp với nhu cầu, quy mô của công ty, dự
án và sản phẩm
- RUP là một liên kết các kiến thức cơ bản với các Artifact và mô tả chi tiết với cácloại activity khác nhau RUP được chứa bên trong sản phẩm IBM Rational MethodComposer (RMC) cho phép tối ưu tiến trình
- Unified Process được thiết kế từ đặc điểm chung, quy trình phạm vi rộng lớn vàRUP là một mô tả chi tiết cụ thể
- RUP hỗ trợ các hoạt động giữa các nhóm, phân chia công việc cho từng thành viêntrong nhóm, trong từng giai đoạn khác nhau của quá trình phát triển phần mềm
- RUP sử dụng hệ thống ký hiệu trực quan của UML và RUP được phát triển songsong với UML
- RUP là kết quả của nhiều “best pratcices”, được hỗ trợ nhiều công cụ phát triểnphần mềm
- RUP là một sản phẩm tiến trình có thể tùy biến
LỊCH SỬ PHÁT TRIỂN CỦA RUP
Trang 4Bắt nguồn từ mô hình xoắn ốc (spiral model) của Barry Boehm Rational Approachđược phát triển tại Rational Software trong những năm 1980 và 1990
Trong năm 1995 Rational Software mua lại công ty Objectory AB RUP là kết quảcủa việc trộn Rational Approach và quy trình Objectory được phát triển bởi nhà sáng lậpObjectory AB là Ivar Jacobson, Objectory là một hệ phương pháp luận hướng đối tượngđược mở rộng từ Ericsson Approach một ngôn ngữ mô hình hoá được phát triển bởiEricsson
Các kết quả đầu tiên của sự kết hợp trên được biết tới là Rational Objectory Process,RUP được thiết kế theo quy trình Objectory nhưng phù hợp với công cụ Rational Rose.Sau khi mục tiêu được hoàn thành thì được đổi tên thành Rational Unified Process, phiênbả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 RationalMethod Composer vào tháng 11-2005
II RUP LÀ QUY TRÌNH TẬP TRUNG VÀO KIẾN TRÚC
1 Tầm quan trọng của kiến trúc
Trang 5Ngà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ốnglớ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ó đượcxâ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ànglớ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ể giaotiế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ácnhư 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ệcQuy trinh 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 đầubằng cách định nghĩa rõ ràng hơn về kiến trúc phần mềm
Trang 6Để 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ếntrú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 hoà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ự hoàn thiện và tínhtiế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
Trang 7 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ừutượ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ốngcon 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 tinthự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ácgiữa chúng)
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ảiquyế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ớikiế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 đầuchúng được dùng để khám phá và thiết kế kiến trúc trong pha bắt đầu và phachuẩn bị, nhưng sau đó chúng được dùng để xác nhận các khung nhìn khácnhau
Trang 8Hình 2: RUP tập trung vào kiến trúc phần mềmQuy 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)
Quy trình RUP định nghĩa: Kiến trúc sư (Architect) chịu trách nhiệm về cấu trúc Tuynhiê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, đặcbiệ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ặtkiến trúc, hơn là tập trung vào chi tiết các lớp
Trang 9 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
5.RUP là quy trình hướng chức năng
Hình 3: RUP là quy trình hướng chức nănga) 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à địnhhì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ìnhhó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ể
Trang 10 Tác nhân hệ thống: là người hay một thứ nào đó nằm ngoài hệ thống và tương tác
hệ thống
Ngoà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ộtchứ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ợpcá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 cụthể
Một luồng sự kiện mô tả chuỗi các hành động giữa các tác nhân hệ thống và hệ thống Nóđược ghi bằng ngôn ngữ tự nhiên, theo một lối hành văn đơn giản, nhất quán và sử dụngchính xác thuật ngữ chuyên 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 địnhnghĩ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ácvớ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ó cungcấ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ốngCá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ộttá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
Trang 11Chú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 trungvà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 (packageuse 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ầnquan sát kỹ các sự kiện
e) Các chức năng hệ thống trong chương trìnhRUP 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 toà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 yê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 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ứcnăng hệ thống
Trong suốt quá trình thực hiện, mô hình thiết kế là bản đặc tả thực thi (ImplementationSpecification) Bởi các chức năng hệ thống là cơ sở của mô hình thiết kế, chúng đượcthự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 thiết kế được sử dụng để hiểu những khía cạnh động của hệ thống và xác địnhnhững gì cần tối ưu hóa tốc độ
Trang 12Trong quá trình kiểm thử, cá chức năng hệ thống cấu tạo thành nền tảng để xác định cácchứ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ácvòng lặp
Trong quá 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ạchcho 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ăngnhư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
III QUY TRÌNH PHÁT TRIỂN PHẦN MỀM RUP
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ừ quá 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)
Trang 13 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ọnphá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 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ồicủ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ácchứ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ó 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ácyê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ãngtrên thế giới xây dựng từ đó có thể đẩy nhanh quá trình phát triển ứng dụng
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
Trang 14thà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ấuhì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 Kiến trúc tổng quan của quy trình RUP
Hình 1: Thể hiện cấu trúc của quy trình RUP Nó gồm 2 phần:
Hình 4 : Quy trình RUP
Trang 15- Trục hoà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)
Hình 5:
- 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 đượcnhó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ànhphầ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 haymộ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:
Trang 16 Configuration and Change Management
Enviroment
3 Cấu trúc tĩnh của quy trình
a) Mô hình của quy trìnhQuy trình mô tả ai đang làm gì và bằng cách nào, và khi nào Quy trình RUP đượcbiể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 (WHO-ai), 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ộtworker 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,
Trang 17- 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ếtkế
Trong thuật ngữ hướng đối tượng, worker là một đối tượng và các hoạt động mà cácworker 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 7bướ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ớinhau
Đó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ứcnă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ả
Trang 18Trong đó: 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ựchiệ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àitiê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ưu
liệ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ếungườ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
Trang 19 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 đượcphá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ấnluyện
Hình 6: Worker-Activities-Artifact
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ộtkết quả có thể quan sát được trong thuật ngữ UML, một luồng công việc có thể đượcdiễ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)
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 :