The Unified Process is a specific methodology that maps out when and how to use the various UML techniques for objectoriented analysis and design The Unified Process is not simply a process, but rather an extensible framework which should be customized for specific organizations or projects: Rational Unified Process Agile Unified Process Open Unifed Process Enterprise Unified Process Oracle Unfied Process The Unified Process is use-case driven, architecture centric, and iterative and incremental 3
User Case Driven: Use Case sẽ là công cụ chính dùng để mô hình hóa hành vi, chức năng của hệ thống Use Case sẽ được dùng để làm cầu nối giữa yêu cầu của khách hàng với nhóm phát triển phần mềm Architecture Centric: Tập trung vào kiến trúc hệ thống Có 3 lược đồ kiến trúc chính: functional, static (structure), dynamic (behavior) Iterative and Incremental: Quá trình phân tích, thiết kế, hiện thực lặp đi lặp lại. Mỗi lần kết thúc vòng lặp lại có sự gia tăng về chất lượng và số lượng 4
5
Phase: là giai đoạn nào đó của quá trình phát triển phần mềm Workflow: là công việc nào đó của quá trình phát triển phần mềm 6
Inception: giai đoạn này liên quan rất nhiều đến các công việc business modeling, requirement, analysis. Một số trường hợp cũng cần đến công việc design, implement, test. Kết quả của giai đoạn này gồm có: Tài liệu về yêu cầu cơ bản vê hệ thống, project plan, feasible, risk Những yêu cầu về môi trường làm việc của nhóm phát triển Elaboration: công việc chính là analysis & design. Hoàn thiện tài liệu business model, đánh giá risk, hoàn thành project plan ở mức độ chi tiết, thu thập yêu cầu, xây dựng mô hình UML ở dạng structural và behavior. Kết quả của giai đoạn này gồm có: Tài liệu UML Executable baseline version 7
Construction: giai đoạn này tập trung vào công việc lập trình (implementation). Những vấn đề còn tồn đọng ở công việc requirement, analysis và design sẽ được giải quyết rõ ràng tại đây. Công việc configuration & change management rất quan trọng giúp quản lý các version. Kết quả giai đoạn này là: beta version Transition: giai đoạn này tập trung vào công việc testing và deployment, tập huấn người dùng. Thông qua quá trình testing, một số công việc design, analysis có thể thực hiện để cải thiện, tối ưu hệ thống. 8
Có 2 nhóm chính: engineering workflow và supporting workflow Engineering Workflow: Business Modeling Workflow: nhằm mục đích hiểu rõ phạm vi của project, giúp người dùng và nhà phát triển hiểu rõ vai trò của project trong quá trình xử lý nghiệp vụ. Tương tự như công việc planning của SDLC, tuy nhiên có thêm công việc thu thập yêu cầu, mô hình hóa nghiệp vụ ở mức cơ bản Requirement Workflow: nhằm mục đích thu thập yêu cầu (bao gồm cả yêu cầu chức năng và phi chức năng) Analysis: nhằm tạo ra analysis model. Sử dụng UML để mô tả mô hình structural & behavioral. Cần cẩn thận tránh hiện tượng analysis paralysis (analysis giống design) 9
Engineering Workflow (tt): Design Workflow: nhằm chuyển mô hình phân tích thành mô hình thiết kế. Mô hình thiết kế sẽ được sử dụng để hiện thực hệ thống. Mọi chi tiết về kĩ thuật sẽ được trình bày ở workflow này Implementation Workflow: đây là công việc lập trình. Hiện thực hệ thống từ mô hình thiết kế Testing Workflow: nhằm mục đích tăng chất lượng, độ tin cậy của hệ thống Deployment Workflow: bao gồm các công việc package, distribution, installation 10
Supporting Workflow: Project Management Workflow: đây là công việc đều có mặt ở tất cả các giai đoạn. Gồm các công việc: risk management, scope management, estimate cost, estimate time Configuration and Change Management Workflow: nhằm mục đích quản lý các version Environment Workflow: nhằm hỗ trợ các công việc, môi trường làm việc cho nhóm phát triển 11
12
13
Production phase: đây là giai đoạn sau khi hệ thống được triển khai. Các công việc bao gồm: update, maintain, operate Operation & Support Workflow: bao gồm các công việc: tạo ra kế hoạch triển khai hỗ trợ người dùng, tạo tài liệu hướng dẫn người dùng, kế hoạch backup dữ liệu, giám sát và tối ưu hệ thống Infrastructure Management Workflow: bao gồm các công việc về quản lý mô hình mối liên kết các thư viện, các chuẩn trong lập trình 14
15