Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
2,08 MB
Nội dung
1 Tìm hiểu quy trình phát triển phần mềm RUP Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC SAO ĐỎ BÁO CÁO BÀI TẬP LỚN MÔN HỌC: KỸ NGHỆ PHẦN MỀM Đề tài: TÌM HIỂU QUY TRÌNH PHÁT TRIỂN PHẦN MỀM RUP Giáo viên hướng dẫn: Vũ Bảo Tạo Sinh viên thực hiện: Vũ Văn Thành Lê Thị Hoa Lớp: DK5 – CNTT Khoa: Điện tử - tin học Sao Đỏ, tháng 03 năm 2018 MỤC LỤC Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP LỜI MỞ ĐẦU Trong năm qua, việc xây dựng triển khai chương trình phần mềm góp phần phục vụ ngày tốt cho công tác quản lý điều hành nhiều doanh nghiệp Tuy nhiên, tránh khỏi sai sót làm ảnh hưởng khơng nhỏ đến hiệu cơng việc cán quản lý, ảnh hưởng đến tiến độ phát triển, triển khai bảo trì chương trình cán Tin học, nguyên nhân bật đáng ý chưa thực áp dụng phương pháp luận, quy trình chuẩn cơng nhận q trình phân tích thiết kế, phát triển, thử nghiệm, triển khai chương trình thời điểm tung triển khai thử nghiệm thấp; nhiều lỗi không phát 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 có thay đổi sách nghiệp vụ dẫn tới chất lượng chương trình thời điểm tung triển khai thử nghiệm thấp; nhiều lỗi không phát 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 có thay đổi sách nghiệp vụ dẫn tới ứng dụng phải đắp thêm chức chắp vá… Trong đó, giới có học kinh nghiệm quý báu mà hoàn tồn học tập Xin giới thiệu cách tổng quan quy trình phân tích, thiết kế, phát triển, thử nghiệm triển khai hệ thống phần mềm hãng Rational xây dựng hầu hết hãng phần mềm giới áp dụng thành cơng dự án RUP quy trình vòng lặp phát triển phần mềm tạo công ty Rational Software, phận IBM từ năm 2002 (IBM Rational) Hy vọng tìm hiểu cung cấp kiến thức quy trình phát triển phần mềm RUP lịch sử phát triển, quy trình phát triển phần mềm RUP, cấu trúc quy trình,… Em xin chân thành cảm ơn thầy Vũ Bảo Taọ người trực tiếp hưỡng dẫn chúng em hồn thành đề tài mình.Vì thời gian có hạn nên tập lớn chúng em nhiều thiếu xót, kính mong đóng góp ý kiến để đề tài chúng em hoàn thiện Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực LÊ THỊ HOA VŨ VĂN THÀNH Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP CHƯƠNG : CƠ SỞ LÝ THUYẾT Trong phát triển phần mềm, có sai sót làm ảnh hưởng khơng nhỏ đến chất lượng sản phẩm Các sai sót phát sinh từ nhiều nguồn khác trình xây dựng hệ thống, chẳng hạn khơng quản lý yêu cầu, không phát lỗi kịp thời, không quản lý thay đổi dự án - RUP quy trình vòng lặp phát triển phần mềm tạo công ty Rational Software, phận IBM từ năm 2002 (IBM Rational) - RUP khơng phải quy trình bó hẹp cụ thể đơn tảng quy trình thích ứng với phát triển tổ chức nhóm dự án phần mềm, tất chọn yếu tố cần thiết quy trình để phù hợp với nhu cầu, quy mô công ty, dự án sản phẩm - RUP liên kết kiến thức với Artifact mô tả chi tiết với cáccloại activity khác RUP chứa bên sản phẩm IBM Rational Method Composer (RMC) cho phép tối ưu tiến trình - Unified Process thiết kế từ đặc điểm chung, quy trình phạm vi rộng lớn RUP mô tả chi tiết cụ thể - RUP hỗ trợ hoạt động nhóm, phân chia cơng việc cho thành viên nhóm, giai đoạn khác trình phát triển phần mềm - RUP sử dụng hệ thống ký hiệu trực quan UML RUP phát triển song song với UML - RUP kết nhiều “best pratcices”, hỗ trợ nhiều công cụ phát triển phần mềm - RUP sản phẩm tiến trình tùy biến 1.1 LỊCH SỬ PHÁT TRIỂN CỦA RUP Bắt nguồn từ mô hình xoắn ốc ( Spiral Model) Barry Boehm Rational Approach phát triển Rational Software năm 1980 1990 Trong năm 1995 Rational Software mua lại công ty Objectory AB RUP kết việc trộn Rational Approach quy trình Objectory phát triển nhà sáng lập Objectory AB Ivar Jacobson, Objectory hệ phương pháp luận hướng đối tượng mở rộng từ Ericsson Approach ngơn ngữ mơ hình hoá phát triển Ericsson Các kết kết hợp biết tới Rational Objectory Process, RUP thiết kế theo quy trình Objectory phù hợp với công cụ Rational Rose Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP Sau mục tiêu hoàn thành đổi tên thành Rational Unified Process, phiên 5.0 phát hành năm 1998, kiến trúc sư trưởng Philippe Kruchten Phiên cuối RUP 7.0 phát hành phần 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 kiến trúc Ngày nay, tất hệ thống đơn giản xây dựng việc quản lý hệ thống lớn phức tạp trở thành mối quan tâm hang đầu tổ chức phát triển phần mềm Họ muốn hệ thống họ chạy nhanh hơn, có tính tái sử dụng phạm vi lớn xây dựng thành phần sẵn có Phần mềm trở thành thứ cải quan trọng tổ chức cần có cơng cụ để quản lý chúng “Kiến trúc” sử dụng khắp nơi, phản ánh quan tâm sử dụng ngày lớn, khái niệm rõ thực khơng cần thiết đa dạng ngữ cảnh sử dụng Ba điểm yêu cầu để tổ chức tiếp nhận kiến trúc: • Hiểu rõ mục đích: Tại kiến trúc quan trọng? Lợi ích đem lại từ nó? Khai thác • Bản mơ tả kiến trúc: Cách tốt để đưa khái niệm rõ rang kiến trúc đạt trí thể hiển nó, để trở thành vật cụ thể giao tiếp, xem xét, phê bình cải tiến cách có hệ thống • Một quy trình kiến trúc: tạo xác nhận kiến trúc thể để đáp ứng cầu dự án? Ai tạo nó? Cái sưu liệu tính chất luồng cơng việc Quy trình RUP chứa số câu trả lời cho ba điểm Nhưng bắt đầu cách định nghĩa rõ ràng 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 giải pháp quan trọng về: • Tổ chức hệ thống phần mềm • Sự lựa chọn thành phần cấu tạo thành hệ thống giao diện cảu chúng, với hành vi chúng, xác định cộng tác cảu thành phần • Sự kết hợp thành phần trở thành hệ thống lớn • Loại kiến trúc biểu diễn tổ chức, thành phần giao diện chúng, cộng tác kết hợp chúng Vũ Thành – Lê Hoa 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 liên quan đến cấu trúc hành vi mà liên quan đến ngữ cảnh: cách sử dụng, chức năng, tốc độ, tái sử dụng, khả toàn diện, buộc, cân kinh tế, kỹ thuật va mỹ thuật Kiến trúc phần thiết kế, định cách thức hệ thống xây dựng Để giúp thành viên hệ thống giao tiếp, bàn bạc tranh luận kiến trúc, cần có trình bày theo cách hiểu họ Từ đưa khung nhìn kiến trúc (architectural view) - Đó mơ tả hệ thống đơn giản hóa từ góc nhìn cụ thể, trình bày thứ cụ thể liên quan bỏ thực thể khơng thích hợp từ góc độ Cần phân biệt khung nhìn kiến trúc mơ hình: Mơ hình chình bày hồn chỉnh hệ thống, khung nhìn tập trung vào có ý nghĩa mặt cấu trúc, tức có tác động lớn đến cấu trúc hệ thống tốc độ, hồn thiện tính tiến hóa Quy trình RUP đề nghị khung nhìn sau: Hình 1: khung nhìn RUP • Khung nhìn logic (Logical View): Mơ tả u cầu chức hệ thống, tức mà hệ thống nên làm cho người dùng cuối Đó trừu tượng mơ hình thiết kế xác định gói thiết kế chính, hệ thống lớp • Khung nhìn thực (Implementation View): mô tả tổ chức module (đơn thể) phần mềm tĩnh (như mã nguồn, tập tin liệu, thành phần, tập tin thực thi, sưu liệu đồng hành khác) mooi trường phát triển • Khung nhìn quy trình (Process View): mơ tả khía cạnh xảy đồng thời hệ thống thời gian thực (run-time) (task, thread, process tương tác chúng) Vũ Thành – Lê Hoa 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 tập tin thực thi thành phần khác trineer khai hệ thống Nó giải vấn đề triển khai cài đặt tốc độ • Khung nhìn chức hệ thống (Use Case View) đóng vai trò đặc biệt kiến trúc Nó chứa vài kịch hay chức hệ thống chủ yếu Ban đầu chúng dùng để khám phá thiết kế kiến trúc pha bắt đầu pha chuẩn bị, sau chúng dùng để xác nhận khung nhìn khác 1.2.3 Mục đích kiến trúc • Cho phép kiểm sốt dự án cách thơng minh, quản lý độ phức tạp trì tính tồn vẹn hệ thống • Cung cấp sở có hiệu để tái sử dụng quy mơ lớn • Cung cấp tảng để quản lý dự án 1.2.4 Rup 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 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 dự án • Kiểu mẫu kiến trúc (Architecture Template): dùng để xác nhận kiến trúc làm sở cho thành phần lại cơng việc phát triển • Hai sưu liệu chủ chốt làm tảng cho sưu liệu khác • Những nguyên tắc thiết kế • Cấu trúc sản phẩm mơi trường phát triển dựa Physical View • Cấu trúc nhóm làm việc (team structure) Vũ Thành – Lê Hoa 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 cấu trúc Tuy nhiên không kiến trúc sư người có liên quan đến kiến trúc, mà hầu hết cácthành viên nhóm có liên quan đến việc định nghĩa thực kiến trúc, đặc biệt pha chuẩn bị • Các thiết kế viên (designer): tập trung vào lớp cấu có ý nghĩa mặt kiến trúc, tập trung vào chi tiết lớp • Các nhà tích hợp (integrator): tích hợp thành phần 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ỏ rủi ro tích hợp có liên quan đến thành phần • Các kiểm thử viên (Tester): kiểm tra kiểu mẫu kiến trúc kiểu mẫu tốc độ hồn thiện 1.2.5 RUP quy trình hướng chức 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 Workflow với Hình 3: RUP quy trình hướng chức 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 định hình vấn đề cần giải cúng đưa giải pháp cho vấn đề Quy trình RUP cungcấp phương pháp hiệu để hiểu mơ hình hóa vấn đề: kỹ thuật mơ hình hóa chức hệ thống Các chức hệ thống cung cấp phương tiện để mô tả vấn đề theo cách mà đa số thành viên hệ thống (người sử dụng, nhà phát triển khách hàng) hiểu Để xây dựng mơ hình chức hệ thống, RUP định nghĩa khái niệm chính: • Chức hệ thống: chuỗi hành động mà hệ thống thực tạo kết quan sát tác nhân hệ thống cụ thể • Tác nhân hệ thống: người hay thứ nằm ngồi hệ thống tương tác hệ thống Ngồi ra, mơ tả chức hệ thống mơ tả mà hệ thống phải làm chức hệ thống thực Chức hệ thống định nghĩa tập hợp chức hệ thống, mà chức hệ thống trình bày luồng 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 ngôn ngữ tự nhiên, theo lối hành văn đơn giản, quán sử dụng xác thuật ngữ chuyên môn Chúng ta không cần phải mô tả luồng thay chức hệ thống riêng biệt Thay vào đó, ta nhóm chúng với luồng kiện khác có liên quan Nhóm định nghĩa lớp chức hệ thống Thể (instance) lớp chức hệ thống luồng cụ thể kiện gọi kịch (scenairo) Mơ hình chức hệ thống bao gồm tập hợp tất chức hệ thống hệthống hay phần hệ thống, với tập hợp tất tác nhân hệ thống tương tác với chức hệ thống này, mơ tả đầy đủ chức hệ thống Nó cung cấp mơ hình chức dự định môi trường hệ thống, đồng thời xem hợp đồng khách hang nhà phát triển Quy trình RUP sử dụnglược dồ chức hệ thống lược đồ hoạt động để mơ tả trực quan mơ hình trúc hệ thống, bao gồm mối quan hệ có chức hệ thống b) Xác định chức hệ thống Các chức tìm thấy ta xem xét kết mà hệ thống cung cấp cho tác nhân hệ thống ta gom chuỗi hành động mà hệ thống phải thực để tạo kết Nói cách khác, chức hệ thống đáp ứng mục đích cụ thể củamột tác nhân hệ thống thực hệ thống c) Cải tiến chức hệ thống Chúng ta nên bắt đầu cách phác thảo chức hệ thống, trước tập trung vào chi tiết Ở vòng lặp ban đầu suốt pha chuẩn bị, có chứcnăng hệ thống có ý nghĩa mặt kiến trúc mơ tả chi tiết Mơ hình thường chứa cácchức hệ thống đơn giản đến mức không cần mô tả chi tiết luồng kiện mà chỉcần phác thảo đủ d) Tổ chức chức hệ thống Tổ chức chức hệ thống cách sử dụng gói chức hệ thống (package use case), tức gom nhóm chức hệ thống liên quan đến Ta khai thác mối quan hệ chức hệ thống Để làm điều cần quan sát kỹ kiện e) Các chức hệ thống chương trình RUP quy trình hướng chức Do chức hệ thống định nghĩa sở tản cho tồn quy trình phát triển Mơ hình chức hệ thống kết luồng công việc, yêu cầu Trong đó, chức hệ thống dùng để nắm bắt mà hệ thống phải thực 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 hệthống phần mềm cần phát triển Việc mơ hình hóa trực quan ngơn ngữ UML cho phép: thu thập toàn cấu trúc hành vi hệ thống, cách thức để cácthành phần hệ thống kết hợp với nhau, đảm bảo thống thiết kế chương trình phần mềm xây dựng, nâng cao chất lượng trao đổi thành viên nhóm phát triển, nhóm phát triển với **Liên tục kiểm tra chất lượng: Việc kiểm tra thử nghiệm thực hiên tất chu kỳ phát triển ứng dụng kiểm tra mặt chính: kiểm tra mặt chức ứng dụng (thử nghiệm tất kịch tình sử dụng), kiểm tra tốc độ (hiệu năng) kiểm tra độ tin cậy ứng dụng **Quản trị thay đổi: Đảm bảo quản trị thay đổi yêu cầu, thay đổi phiên hay thay đổi cấu hình suốt trình phát triển, triển khai, bảo trì 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ể cấu trúc quy trình RUP Nó gồm 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: chiều biểu diễn thời gian vòng đời quy trình: thể mặt động chu kì (cycles), biểu diễn dạng giai đoạn (phase), vòng lặp (interations) cột mốc thời gian (milestones) - Trục tung: chiều biểu diễn tiến trình quy trình, cơng việc nhóm lại cách logic theo chất chúng, thể mặt tĩnh dạng thành phần chu trình tiến trình, kết sinh (artifacts_WHAT), cá nhân hay nhóm thực (worker_WHO), giai đoạn công việc hoạt động liên quan với (workflows_WHEN) đơ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 Quản lý Thay đổi) 2.3 CẤU TRÚC TĨNH CỦA QUY TRÌNH a) Mơ hình quy trình Quy trình mơ tả làm cách nào, Quy trình RUP 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 trách nhiệm môt cá nhân hay tập thể Trong chu trình RUP, Worker vai trò cách thức để cá nhân làm việc Một worker thực nhiều vai trò sở hữu sưu liệu (Artifact) Các ví dụ 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 ý worker cá nhân, mà thay vào worker mơ tả cách thức cá nhân làm việc trách nhiệm cá nhân **Activity (Hoạt động) Hoạt động đơn vị công việc mà cá nhân yêu cầu thực hiện,và tạo kết có ý nghĩa ngữ cảnh dự án Mỗi hoạt động có mục đích rõ ràng phân cơng cho thừa tác viên cụ thể Ví dụ: - Tìm chức hệ thống (use case) tác nhân hệ thống (actor): thực worker : Phân tích viên hệ thống - Xem xét thiết kế thực worker: Nhân viên xem xét thiết kế Trong thuật ngữ hướng đối tượng, worker đối tượng hoạt động mà worker thực thao tác thực thi đối tượng Trong quy trình RUP, hoạt động ký hiệu cách thêm đầu ngữ Hoạt động Ví dụ: Hoạt động tìm chức hệ thống tác nhân hệ thống Hoạt động chia làm nhiều bước thuộc loại sau: - Các bước khảo sát: worker phải hiểu chất công việc, thu thập xem xét liệu đầu vào định dạng kết - Các bước thực hiện: worker tạo hay cập nhật vài sưu liệu - Các bước kiểm tra: worker kiểm tra lại kết theo số tiêu chí Ví dụ: Hoạt động tìm chức hệ thống tác nhân hệ thống chia thành bước sau: • Tìm tác nhân hệ thống • Tìm chức hệ thống • Mơ tả cách thức tác nhân hệ thống chức hệ thống tương tác với • Đóng gói chức hệ thống tác nhân hệ thống • Trình bày mơ hình chức hệ thống (mơ hình use-case) lược đồ chức hệ thống (lược đồ use-case) • Phát triển mơ hình chức hệ thống tổng qt • Đánh giá kết 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 đến bước bước khảo sát, bước đến bước bước thực hiện, liên quan đến việc thu thập kết mơ hình chức hệ thống; bước làbước kiểm tra, yêu cầu worker phải đánh giá chất lượng kết theo vài tiêu chí **Artifact Artifac thơng tin tạo ra, thay đổi hay sử dụng quy trình Đólà sản phẩm hữu hình dự án Các sưu liệu worker sử dụng làm đầu vào để thực hoạt động, chúng kết hay đầu hoạt động Artifac có hoạt động sau đây: - Mơ hình, mơ hình chức hệ thống hay mơ hình thiết kế Các thành phần mơ hình, lớp, chức hệ thống, hay hệ thống (subsystem) Tài liệu tài liệu chức nghiệp vụ (business use case) Mã nguồn Các Artifac chứa sưu liệu khác (Ví dụ: mơ hình thiết kế chứa nhiều lớp) Các Artifac thuộc trách nhiệm worker Tuy người sở hữu sưuliệu, nhiều người sử dụng sưu liệu này, chí điều chỉnh người cho phép Tương tự Worker Activity, quy trinh RUP, sưu liệu ký hiệu bằngcách thêm đầu ngữ Sưu liệu Ví dụ: Sưu liệu Đặc tả chức hệ thống Các sưu liệu quy trình RUP tổ chức thành nhóm: - Nhóm quản lý: Bao gồm sưu liệu liên quan nghiệp vụ phần mềm quản lý dự án Nhóm yêu cầu: Bao gồm sưu liệu định nghĩa hệ thống phần mềm phát triển Nhóm thiết kế: chứa mơ tả hệ thống xây dựng Nhóm cài đặt: Bao gồm mã nguồn,tập thực thi tập tin khác có liên quan Nhóm triển khai: Bao gồm tài liệu cài đặt hướng dẫn sử dụng tài liệu huấn luyện **Workflow (Luồng công việc) Luồng công việc mô tả chuỗi hành động theo trình tự để tạo kết quan sát thuật ngữ UML, luồng cơng việc diễn tả 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 hoạt động luồng công việc bằngcách dùng: luồng công việc, chi tiết luồng công việc kế hoạch lặp Có luồng cơng việc quy trình RUP,bao gồm luồng cơng việc luồngcơng việc phụ Các luồng cơng việc 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 u cầu Luồng cơng viêc phân tích thiết kế Luồng công việc thực (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 quản lý thay đổi Luồng công việc môi trường Mặc dù luồng cơng việc trơng giống pha quy trình thác nước truyền thống, pha quy trình lặp hồn tồn khác luồng cơngviệc xem xét chu trình sống Thực tế, luồng cơng việc dự án bao gồm luồng công việc chúng lặp lại với mục đích mức độ khác lần lặp Chi tiết luồng cơng việc: Quy trình RUP sử dụng chi tiết luồng cơng việc để diễn tả nhóm hoạt động cụ thể có liên quan mật thiết với Chi tiết luồng công việc cho thấy luồng thông tin (các sưu liệu đầu vào từ hoạt động) mô tả cách thức hoạt động tương tác với thông qua sưu liệu khác 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 xảy vòng lặp thơng thường (giống với mà luồng cơng việc phải xử lý) b) Những thành phần bổ xung quy trình - Các Worker, Activity, Artifact thành phần cấu trúc tĩnh quy trình RUP Tuy nhiên số thành phần khác bổ xung vào hoạt động sưu liệu nhằm làm cho quy trình dễ hiểu dễ sử dụng hơn, đồng thời cung cấp 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): nguyên tắc, dẫn, …để hỗ trợ hoạt động bước Đó kỹ thuật để tạo sưu liệu định, hay cách biến đổi sưu liệu thành sưu liệu khác… Những nguyên tắc nàycòn sử dụng để xem xét hoạt động đánh giá chất lượng 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): mơ hình hay kiểu mẫu (prototype) sưu liệu, kết hợp với mô tả sưu liệu để tạo sưu liệu tương ứng Các dẫn sử dụng công cụ (tool mentors): Là phương tiện hướng dẫn, bổ xung nhằm để bàn cách thức thực hiện, bước để sử dụng công cụ phần mềm cụ thể - Một số khái niệm chủ chốt: 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 Lúc đầu quy trình xem phương pháp hợp lý để phát triển hệ thống Tuy nhiên trải qua nhiều thập niên, cho thấy dự án sử dụng quy trình thường thành cơng ngun nhân sau: - Sự giả định ban đầu có sai sót Thất bại việc kết hợp nhân tố người Chúng ta giai đoạn thăm dò cơng nghệ phần mềm, khơng có nhiều khinh nghiệm Đây lý b Quy trình lặp Cách tiếp cận hay thác nước thích hợp thành công dự án nhỏ rủi ro Như vậy, câu hỏi đặt ta khơng chia nhỏ chu trình sống dự án thành thác nước nhỏ nối tiếp nhau? Bằng cách ta giải số yêu cầu rủi ro, thiết kế ít, thực ít, kiểm tra lại lấy thêm yêu cầu, thiết kế thêm, xây dựng thêm…cho đến hoàn tất Đây gọi phương pháp lặp (hay gọi phát triển lặp) - Phát triển lặp gi? • Một dự án sử dụng quy trình phát triển lặp lại có vòng đời chứa quy trình lặp Một trình lặp kết hợp chặt chẽ chuỗi hoạt động: mơ hình nghiệp vụ, tiếp nhận u cầu, phân tích thiết kế, thực thi, kiểm lỗi triển khai với mức độ lặp không giống nhau, tùy theo vị trí cụ thể vòng phát triển • Quản lý, tiếp nhận yêu cầu thiết kế hoạt động trọng điểm giai đoạn khởi tạo phân tích chi tiết dự án; hoạt động thiết kế, thực thi kiểm lỗi đóng vai trò chủ chốt giai đoạn xây dựng; hoạt động kiểm lỗi, triển khai đóng vai trò chủ đạo giai đoạn chuyển giao dự án • Q trình lặp quản lý timeboxed (thuật ngữ RUP) nhóm phát triển họp bàn thiết lập - Tại 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 sản phẩm chưa hoàn thiện, dựa yêu cầu bản, sau trình thiết kế phát thêm nhiều nhược điểm kết trả giá từ việc chạy thử số trường hợp dự án phải hủy bỏ • Tất dự án có tập rủi ro phức tạp Lúc ban đầu bạn xác định để ngăn ngừa vài rủi ro theo kế hoạch Tuy nhiên có nhiều rủi ro mà bạn phát đơn giản, trơn tru bạn cố gắng tích hợp hệ thống Bạn khơng dự đốn trước tất rủi ro không quan tâm đến kinh nghiệm nhóm phát triển - Lợi ích phát triển lặp lại • Hạn chế nhiều rủi ro phần tử tích hợp, xây dựng • Cho phép thay đổi yêu cầu, phương thức cho thích hợp • Các tổ chức nắm phương pháp phát triển cho qui trình họ • Tăng khả tái sử dụng 2.5 CÁC PHA CỦA RUP Hình 5: Các Pha RUP Tiến trình Rup chia thành 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 pha cột mốc (Milestone) đánh dấu kết thúc pha Ở giai đoạn lại chia thành bước lặp (Iteration), kết thúc bước lặp tạo sản phẩm vận hành Tiến trình hợp có đặc trưng sau : • Điều khiển 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 bước lặp : Hình số : Mô tả bước thực bước lặp 2.5.1 Các hoạt động pha a Các hoạt động pha khởi đầu (Inception) Trong pha khởi đầu cơng việc cần thực sau : • Mơ hình hố nghiệp vụ • Các yêu cầu • Phân tích thiết kế Sau mô tả chi tiết hoạt động a.1 Mơ hình hóa nghiệp vụ Hoạt động việc thu thập thông tin hoạt động cụ thể nhằm sinh 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 ca sử dụng Các thực thể nghiệp vụ Các thao tác Tổ chức đơn vị a.2 Các yêu cầu • Yêu cầu bên tham gia • Tài liệu tầm nhìn dự án • Mơ hình ca hợp sử dụng • Qui ước từ vựng để sử dụng thống tài liệu • Các 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 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 kiến trúc phần mềm b Các hoạt động pha xây dựng phác thảo (Elaboration) Các hoạt động pha hoạt động phân tích thiết kế Các tài liệu sau sinh : 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 chỉnh đổi • Trạng thái • Gói Thiết kế • Tài liệu thực ca sử dụng • Thiết kế lớp • Phân tích lớp • Thiết kế hệ thống • Đóng gói • Mơ hình liệu c Các hoạt đông pha xây dựng (Construction) Trong pha cần thực hoạt động bao gồm : • Thực (Implementation) • Kiểm tra (Test) Sau mô tả chi tiết hoạt động : c.1 Thực (Implementation) Các hoạt động hệ thống mức thấp : thành phần tích hợp chúng • Mơ hình thực • 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 hệ thống c.2 Kiểm tra (Test) Các tài liệu sau sử dụng hoạt động • Kế hoạch test • Mơ hình tải cơng việc • Kiểm tra ca sử dụng • Các thủ tục test • Mơ hình test • Các chương trình test • Test gói lớp • Test hệ thống thành phần d Các hoạt động pha chuyển giao (Transition) Các hoạt động pha 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 24 Tìm hiểu quy trình phát triển phần mềm RUP CHƯƠNG CÁC LƯU Ý VỀ RUP 3.1 NGUN TẮC CỦA RUP Mơ hình hóa nghiệp vụ (business modeling): mơ tả cấu trúc quy trình nghiệp vụ Xác định yêu cầu (requirement): mô tả nghiệp vụ phương pháp “use case” Phân tích thiết kế (analysis & design): mô tả kiến trúc hệ thống thơng qua sơ đồ phân tích thiết kế Lập trình: thực việc xây dựng chương trình ngơn ngữ lập trình Thử nghiệm: mơ tả tình kịch 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 Configuration and change mgt: Kiểm sốt thay đổi trì hợp thành phần dự án Project mgt: Quản lý tồn q trình làm việc dự án Environment: Đảm bảo hạ tầng cần thiết để phát triển hệ thống 3.2 THẾ MẠNH CỦA RUP Thích ứng với trình RUP có khả thích ứng dựa nhu cầu phát triển Cân bên cạnh tranh liên quan Bằng cách giữ cho bên liên quan tham gia hoạt động Phối hợp nhóm phát triển Giữ q trình giao tiếp mở nhóm Thể giá trị quy trình Lặp Cung cấp phần mềm làm việc sớm thường xuyên Nâng cao mức độ trừu tượng Thích nghi với cơng cụ mơ hình, tái sử dụng mã có, tập trung vào kiến trúc Vũ Thành – Lê Hoa 25 Tìm hiểu quy trình phát triển phần mềm RUP Tập trung liên tục chất lượng Điều thực cách kiểm tra tất phần dự án 3.3 ƯU NHƯỢC ĐIỂM CỦA RUP 3.3.1 Ưu điểm Thường xuyên nhận thông tin phản hồi từ bên liên quan Những người thực dự án học hỏi tích luỹ thêm nhiều kinh nghiệm qua dự án Sử dụng hiệu nguồn lực Sử dụng kiến trúc thành phần (component), có tính kế thừa mức cao, tăng khả tái sử dụng Bạn cung cấp xác khách hàng muốn Các thay đổi quản lý cách tốt Cho phép thay đổi yêu cầu, phương thức cho thích hợp Các vấn đề phát sớm dự án bạn Sản phẩm có chất lượng tốt Cải thiện khả kiểm soát Kiểm tra chất lượng phần mềm liên tục Cải thiện quản lý rủi ro Các rủi ro sớm phát giảm nhẹ tích hợp hệ thống xây dựng dần dự án 3.3.2 Nhược điểm Quá trình phức tạp để thực Phát triển khơng kiểm sốt Nó trình nặng Bạn cần chuyên gia để hồn tồn thơng qua q trình Vũ Thành – Lê Hoa 26 Tìm hiểu quy trình phát triển phần mềm RUP KẾT LUẬN 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 tất yếu tổ chức, đơn vị muốn nâng cao đảm bảo cho chất lượng hệ thống phần mềm 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ận dụng quy trình cán tin học đồng thời thay đổi thói quen suy nghĩ phát triển ứng dụng lập trình Vũ Thành – Lê Hoa 27 Tìm hiểu quy trình phát triển phần mềm RUP TÀI LIỆU THAM KHẢO Giáo trình Kỹ nghệ phần mềm – Trường Đại học Sao Đỏ Tài liệu thư viện – Trường Đại Học Sao Đỏ Trang web 123doc.vn Vũ Thành – Lê Hoa ... thành phần cấu tạo thành hệ thống giao diện cảu chúng, với hành vi chúng, xác định cộng tác cảu thành phần • Sự kết hợp thành phần trở thành hệ thống lớn • Loại kiến trúc biểu diễn tổ chức, thành. .. mong đóng góp ý kiến để đề tài chúng em hoàn thiện Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực LÊ THỊ HOA VŨ VĂN THÀNH Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP CHƯƠNG... trình Objectory phù hợp với công cụ Rational Rose Vũ Thành – Lê Hoa Tìm hiểu quy trình phát triển phần mềm RUP Sau mục tiêu hồn thành đổi tên thành Rational Unified Process, phiên 5.0 phát hành