1. Công cụ và môi trường phát triển phần mềm
Giới thiệu
Rational Unified Process
Giới thiệu Rational Unified Process
1
2. Mục tiêu: Rational Unified Process
w Mô tả Unified Modeling Language (UML)
w Định nghĩa qui trình phát triển phần mềm
w Mô tả Rational Unified Process (RUP)
w Trình bày về 4 phase của RUP các cột mốc của chúng
w Định nghĩa vòng lặp (iteration) và quan hệ của chúng với các
phase
w Diển tả quan hệ giữa:
§ Các model và các workflow
§ Các phase, iteration, và workflow
w Định nghĩa artifact, worker, và activity
w Nêu tầm quan trọng của sự hỗ trợ bởi các công cụ (tool) tự
động
Giới thiệu Rational Unified Process
2
3. Khi xây dựng PM, không chỉ cần ngôn ngữ
Team-Based
Development
Modeling Unified
Language Process
Giới thiệu Rational Unified Process
3
4. UML là gì?
w Unified Modeling Language (UML) là ngôn ngữ giúp
• đặc tả
• trực quan hóa
• xây dựng
• làm sưu liệu
các artifact của một hệ thống phần mềm
Giới thiệu Rational Unified Process
4
5. Lịch sử của UML
Giới thiệu Rational Unified Process
5
6. Đầu vào của UML
Booch
Rumbaugh Jacobson
Fusion
Meyer
Operation descriptions,
Before and after
Message numbering
conditions
Embley
Harel
Singleton classes,
State charts
High-level view
Gamma, et.al
Wirfs-Brock
Frameworks, patterns,
Responsibilities
notes Shlaer - Mellor Odell
Object Lifecycles Classification
Giới thiệu Rational Unified Process
6
7. UML cung cấp các lược đồ chuẩn
State
State
State
State
Diagrams
Class
Diagrams
Class
Diagrams
Use-Case
Use-Case Diagrams
Diagrams
Use-Case
Use-Case
Diagrams Diagrams State
State
Use-Case Use-Case
Diagrams
Use-Case
Diagrams State
State
Diagrams
Use-Case
Use-Case Diagrams Object
Diagrams
Object
Use-Case
Diagrams
Activity Diagrams
Diagrams Diagrams
Diagrams
Diagrams
Activity
Diagrams Diagrams
Diagrams
Diagrams
Diagrams
Diagrams
Scenario
Scenario State
State
Scenario
Scenario
Diagrams State
State
Diagrams
Sequence
Diagrams
Sequence
Diagrams State
Diagrams
State
Diagrams
Diagrams
Diagrams Models Diagrams
Diagrams
Diagrams Diagrams
Scenario
Scenario
Component
Component
Component
Scenario
Scenario
Diagrams Diagrams
Component
Component
Diagrams
Collaboration
Diagrams
Collaboration
Diagrams Deployment
Deployment Component
Diagrams
Diagrams
Diagrams
Diagrams Diagrams Diagrams
Diagrams
Diagrams Diagrams
Giới thiệu Rational Unified Process
7
8. Ví dụ một lược đồ trong UML: Use-Case
Hệ thống Đăng Ký học phần ở một Trường ĐH
Register for Courses
Student
Select Courses to Teach Course Catalog
Professor
Maintain Professor Information
Maintain Student Information
Registrar
Close Registration
Billing System
Giới thiệu Rational Unified Process
8
9. Ví dụ một lược đồ trong UML: Class
Hệ thống Đăng Ký học phần ở một Trường ĐH
<<boundary>>
<<boundary>> MaintainScheduleForm
MainForm
1 0..1
// select maintain schedule() + // open()
+ // select 4 primary and 2 alternate offerings()
1
1
<<boundary>> <<control>>
1 0..*
CourseCatalogSystem RegistrationController
// get course offerings() // add courses to schedule()
// get course offerings ()
0..1
1
<<entity>>
Schedule
// create with offerings()
Giới thiệu Rational Unified Process
9
11. Qui trình là gì?
Một qui trình xác định Ai làm Gì, Khi nào và Như thế nào để
đạt được mục đích cuối cùng. Trong Công nghệ phần mềm
đích là xây dựng một sản phẩm phần mềm hoặc nâng cấp một
sản phẩm có sẵn
Các yêu cầu Software Engineering Hệ thống
mới/thay đổi Process mới/thay đổi
Giới thiệu Rational Unified Process
11
12. Một qui trình hiệu quả ...
w Cung cấp các chỉ dẫn để phát triển một cách hiệu quả một
phần mềm có chất lượng
w Giảm thiểu rủi ro tăng khả năng tiền định
w Nắm giữ và thể hiện các kinh nghiệm tốt
§ Học từ các kinh nghiệm khác
§ Nắm vững các kiến thức nền tảng
§ Mở rộng các tài liệu huấn luyện (Extension of training
material)
w Nâng cao năng lực và tầm nhìn trong phát triển phần mềm
w Cung cấp hướng dẫn về cách dùng các công cụ ứng dụng
w Chuyển tải thông tin trực tuyến, chỉ dẫn chi tiết
Giới thiệu Rational Unified Process
12
13. RUP chuyển tải các kinh nghiệm quí
RUP mô tả cách ứng dụng hiệu quả 6 kinh nghiệm quí dành
cho quá trình phát triển phần mềm
Phát triển theo vòng lặp
Sử dụng
Quản trị kiến trúc Mô hình hóa Kiểm định
các yêu cầu trực quan chất lượng
Component
Kiểm soát các thay đổi trong hệ thống
Giới thiệu Rational Unified Process
13
14. RUP được định hướng bởi các Use-Case
Một actor là một người
hoặc một cái gì đó bên
Customer
Check Balance ngoài hệ thống tương
tác với hệ thống
Một Use-Case là một chuỗi
các hành động mà hệ
thống thực hiện mang
Withdraw Money lại một kết quả quan sát
được đối với một actor.
Các Use-Case của một Cash Machine
Giới thiệu Rational Unified Process
14
15. Use-Case chứa luồng các sự kiện
Luồng các sự kiện (Flow of events) của Use-Case rút tiền
(Withdraw Money):
1. Use-Case bắt đầu khi khách hàng đưa thẻ tín dụng vào. Hệ
thống đọc và thẩm tra thông tin của thẻ.
2. Hệ thông nhắc nhập số PIN. Hệ thống kiểm tra số PIN.
3. Hệ thống hỏi tác vụ nào khách hàng muốn thực hiện.
Khách hàng chọn “Rút tiền.”
4. Hệ thống hỏi số lượng. Khách hàng nhập số lượng.
5. Hệ thống yêu cầu nhập kiểu tài khoản. Khách hàng chọn
checking hoặc savings.
6. Hệ thống liên lạc với ATM network . . .
Giới thiệu Rational Unified Process
15
16. Lợi ích của quá trình định hướng bởi Use-Case
w Use-Case ngắn gọn, đơn giản và, dễ hiểu đối với
§ End users, developers, … hiểu các yêu cầu chức năng của
hệ thống
w Use-Case định hướng nhiều hoạt động trong qui trình:
§ Tạo và thẩm định mô hình thiết kế (design model)
§ Định nghĩa các test case và các thủ tục của test model
§ Qui hoạch các vòng lặp
§ Tạo sưu liệu cho người dùng
§ Triển khai hệ thống
w Use-Case giúp đồng bộ hóa nội dung các mô hình (model)
khác nhau
Giới thiệu Rational Unified Process
16
17. RUP là qui trình Architecture-Centric
w Kiến trúc là trọng tâm của các vòng lặp đầu tiên
§ Xây dựng, thẩm tra, và xđ giới hạn của kiến trúc tạo thành
mục tiêu chính của giai đoạn triển khai (elaboration)
w Prototype của kiến trúc xác nhận tính hợp lệ của kiến trúc và
đóng vai trò baseline cho phần còn lại của qui trình phát triển
w Sưu liệu về kiến trúc phần mềm là artifact chính mô tả kiến
trúc được chọn
w Các artifact khác kế thứa từ kiến trúc:
§ Design guidelines bao gồm cách sử dụng pattern và idiom
§ Cấu trúc sản phẩm
§ Cấu trúc của đội ngũ phát triển phần mềm
Giới thiệu Rational Unified Process
17
18. Biểu diễn kiến trúc : Mô hình 4+1 View
Logical View Implementation
View
Analysts/
End-user Programmers
Designers
Structure Functionality Software management
Use-Case
View
Process View Deployment
View
System Integrators System Engineering
Performance System topology
Scalability Delivery, installation
Throughput communication
Giới thiệu Rational Unified Process
18
19. Lợi ích của một qui trình Architecture-Centric
w Giúp đạt và giữ vững sự kiểm soát tốt dự án, quản lý độ phức
tạp của nó, và duy trì sự tích hợp của hệ thống
w Cung cấp khả năng tái sử dụng hiệu quả ở nhiều mức độ khác
nhau
w Cung cấp nền tảng cho quản lý dự án
w Giúp dễ dàng phát triển theo hướng component-based
§ Một component đảm trách một chức năng rõ ràng trong
khuôn khổ một kiến trúc được định nghĩa tốt
§ Một component thích ứng và cung cấp mọt hiện thực hóa
vật lý của một tập các giao diện (interface)
§ Các component tồn tại tương ứng với một kiến trúc cụ thể
Giới thiệu Rational Unified Process
19
20. Các Phase trong chu kỳ sống
Inception Elaboration Construction Transition
time
RUP có 4 phase:
§ Inception - Định nghĩa phạm vi của dự án
§ Elaboration - Lập kế hoạch dự án, mô tả các đặc tính, định
ranh giới kiến trúc
§ Construction – Xây dựng sản phẩm
§ Transition - Chuyển giao sản phẩm cho người dùng
Giới thiệu Rational Unified Process
20
21. Các mốc chính đặt tại ranh giới các Phase
Inception Elaboration Construction Transition
time
Lifecycle Lifecycle Initial Operational Product
Objective Architecture Capability Release
Milestone Milestone Milestone
Giới thiệu Rational Unified Process
21
22. Các Iteration và Phase
Inception Elaboration Construction Transition
Preliminary Architect. Architect. Devel. Devel. Devel. Transition Transition
Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration
Minor Milestones: Releases
Một iteration là một chuỗi các hoạt động với một kế hoạch
lập sẵn và một tiêu chuẩn lượng giá, có kết quả là một
phiên bản release (internal hay external)
Giới thiệu Rational Unified Process
22
23. Các Workflow chính tạo ra các mô hình
Business
Modeling Business Business Object
Use-Case Model Model automated by
Requirements
Use-Case realized by
Model
Analysis &
Design Design implemented by
Model
Implementation
Implementation verified by
Model
Test
Test
Model
Giới thiệu Rational Unified Process
23
24. Đặt chúng cùng với nhau: Mô hình tích hợp
Trong một
iteration, bạn
đi qua tất cả
các workflow
Các Workflow
nhóm các công
việc một cách
logic
Giới thiệu Rational Unified Process
24
25. Các ký hiệu dùng trong qui trình Một đơn vị công
việc mà worker
Một vai trò (role) do được y/c thực
một người hay một hiện
nhóm đảm trách trong
tổ chức Activity
Worker
Describe a
Use-Case Use-Case
Specifier
responsible for
Một phần thông tin
Artifact được sản sinh ra, hiệu
chỉnh, hoặc dùng bởi
một process
Use-Case Use-Case
Package
Giới thiệu Rational Unified Process
25
26. Phân công công việc
Resource Worker Activities
Paul Designer Define Operations
Mary Use-Case Specifier Detail a Use-Case
Joe System Analyst Find Actors and Use-Cases
Sylvia Implementer Perform Unit Tests
Stefan Architect Identify Design Mechanisms
Mỗi cá nhân trong
dự án được giao vai
trò của 1 hay nhiều
worker
Giới thiệu Rational Unified Process
26
27. Workflow mô hình hóa nghiệp vụ
Capture a Structure the
Common Find Business Actors Business Use-Case
Business-Process Vocabulary and Use Cases Model Business Model
Analyst Reviewer
Detail a Review the
Business Use Case Business
Use-Case Model
Business Detail a
Designer Business Worker
Find Business Workers
and Entities
Review the
Business
Detail a
Object Model
Business Entity
Giới thiệu Rational Unified Process
27
28. Workflow xác định yêu cầu đối với hệ thống PM
Develop Elicit Stakeholder
Vision Needs
Find Actors
and Use Cases
Capture a Structure the
Manage
Common Use-Case Model Requirements
Dependencies
Vocabulary Reviewer
Detail a Review
Use-Case
Specifier Use Case Requirements
User-Interface User-Interface
User-Interface Modeling Prototyping
Designer
Prioritize
Architect Use Cases
Giới thiệu Rational Unified Process
28
29. Workflow phân tích và thiết kế
Architectural
Analysis
Architectural Describe Describe Review the Architecture
Architect Design Concurrency Distribution Architecture Reviewer
Use-Case SubsystemDesign
Analysis
Use-Case Review the
Design Design Design
Designer Reviewer
Class
Design
Database
Database Design
Designer
Giới thiệu Rational Unified Process
29
30. Workflow cài đặt
Structure the
Architect Implementation Model
Plan System Integrate
System Integrator Integration System
Plan Subsystem Integrate
Integration Implement Subsystem
Classes
Implementer
Perform
Unit Test
Fix a Defect
Code Reviewer Review Code
Giới thiệu Rational Unified Process
30
31. Workflow kiểm chứng
PlanTest ImplementTest
Evaluate
Test Designer Design Test Test
Execute Integration
Integration Test
Tester
Execute System
System Tester Test
Execute Performance
Performance
Test
Tester
Design Test Classes
Designer and Packages
Implement Test Components
Implementer and Subsystems
Giới thiệu Rational Unified Process
31
32. Workflow quản trị dự án
Execute
Iteration
Develop Plan
Business
Case
Identify
Risks
Develop Evaluate
Iteration Iteration
Develop Plan
Project
Plan
Staff
Project
Project
Manager
Revisit Risk List
Giới thiệu Rational Unified Process
32
33. Workflow quản trị cấu hình & các thay đổi
Establish Product Define Status Reporting
Project Change Process & Baselining Requirements
Manager
Structure
Implementation
Architect Model
Setup Define Workspaces
Write Implementation & Build Areas
CM CM Plan Model
Report Baseline Release
Manager Defect Data the Product Subsystems
Create Private Check-In/Out Promote
Workspaces Artifacts Configuration Items
Any Worker
Create Integration Build
System workspaces Product
Integrator
Giới thiệu Rational Unified Process
33
34. Workflow quản trị môi trường
w Cấu hình quá trình PTPM
w Nâng cao chất lượng quá trình PTPM
w Chọn và thu thập các công cụ
w Tinh chỉnh, bổ sung các công cụ
w Hỗ trợ quá trình phát triển
w Huấn luyện
Giới thiệu Rational Unified Process
34
35. Khái niệm Guideline, Mentor, và Template
w Guidelines là các luật, gợi ý, và heuristics hỗ trợ cho các hoạt
động
§ Ví dụ, modeling và programming guidelines
w Tool mentors diễn tả các dùng một công cụ cụ thể để thực
hiện một hoạt động hoặc các bước trong 1 HĐ
§ Ví dụ, xây dựng 1 design model dùng Rational Rose
w Templates là các artifact định nghĩa sẵn
§ Ví dụ, một Rational SoDA template cho 1 Use-Case Report
w Guidelines, tool mentors và templates giúp dễ dàng ứng dụng
qui trình đúng đắn và nhất quán
Giới thiệu Rational Unified Process
35
36. Các tool hỗ trợ toàn bộ chu kỳ sống của PM
Process Workflows
Business Modeling Requisite Pro, Rose, SoDA
Requirements Requisite Pro, Rose, SoDA
Analysis and Design Rose, SoDA, Apex
Implementation Rose, Apex, SoDA, Purify, ...
Test SQA TeamTest, Quantify, PerformanceStudio,...
Deployment SoDA, ClearCase, ...
Supporting Workflows
Config. & Change Mgmt. ClearCase, ClearQuest
Project Management Unified Process, Microsoft® Project, ...
Environment Unified Process, Rational Tools
Giới thiệu Rational Unified Process
36
37. Thích nghi hóa một qui trình
w Việc thích nghi một qui trình bao gồm cấu hình và cài đặt
qui trình
w Khi cấu hình qui trình, process framework được làm cho
thỏa mãn các yêu cầu và ràng buộc của tổ chức tiếp
nhận
§ Kết quả được ghi nhận trong “Development Case”
w Khi cài đặt qui trình, thực tế của tổ chức được thay đổi
để dùng hiệu quả qui trình
Giới thiệu Rational Unified Process
37
38. Tổng kết: Rational Unified Process
w Unified Modeling Language (UML) là ngôn ngữ dùng để
đặc tả, trực quan hóa, xây dựng, và làm sưu liệu về các
artifact của một hệ thống phần mềm
w Một qui trình phát triển phần mềm định nghĩa Ai làm Gì,
Khi nào và Như thế nào để xây dựng một sản phẩm phần
mềm
w RUP có 4 phase: Inception, Elaboration, Construction
và Transition
w Mỗi phase chấm dứt tại các mốc chính và gồm 1 hay nhiều
iteration
w Một iteration là một chuỗi các hoạt động với một kế hoạch
lập sẵn và một tiêu chuẩn lượng giá, có kết quả là một
phiên bản release
Giới thiệu Rational Unified Process
38
39. Tổng kết (tt.): Rational Unified Process
w Một workflow nhóm các hoạt động liên quan với nhau
w Mỗi workflow được thực hiện trong 1 iteration và cho kết quả
là một model được sản sinh theo từng bước
w Một artifact là một phần thông tin được sản sinh ra, hiệu
chỉnh, hoặc dùng bởi một process
w Một worker là một vai trò do một các nhân hay 1 nhóm đảm
trách trong 1 tổ chức phát triển phần mềm.
w Một activity là một đơn vị công việc có thể được yêu cầu thực
hiện
Giới thiệu Rational Unified Process
39