Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Quy trình phần mềm

!  Quy trình phần mềm(software process) là một tập

có cấu trúc các hoạt động cần thiết để phát triển

một hệ thống phần mềm.

!  Có nhiều quy trình phần mềm khác nhau. Tuy

nhiên, tất cả đều bao gồm những hoạt động:

"  Đặc tả - Định nghĩa hệ thống làm gì;

"  Thiết kế và cài đặt – Định nghĩa tổ chức của hệ thống và cài đặt hệ thống;

"  Kiểm định – Kiểm tra rằng hệ thống đáp ứng đượcmong muốn của người

dùng;

"  Cải tiến – thay đổi hệ thống để đáp ứng sự thay đổi yêu cầu người dùng.

!  Mô hình quy trình phần mềm(software process

model) là biểu diễn trừu tượng của một quy trình.

Nó biểu diễn mô tả của quy trình từ một góc nhìn

nào đó.

pdf61 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1952 | Lượt tải: 2download
Tóm tắt nội dung Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Quy trình phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 Thị Minh Tuyền Nhập môn CNPM 
Lợi ích của nguyên bản 
v Cải thiện khả năng sử dụng hệ thống. 
v Thoả mãn tốt hơn nhu cầu thực của 
người dùng. 
v Cải thiện chất lượng thiết kế. 
v Cải thiện khả năng bảo trì hệ thống. 
v Giảm bớt nỗ lực phát triển. 
37 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Quy trình phát triển nguyên bản 
Establish
prototype
objectives
Define
prototype
functionality
Develop
prototype
Evaluate
prototype
Prototyping
plan
Outline
definition
Executable
prototype
Evaluation
report
38 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Phát triển nguyên bản 
v Có thể dựa vào các công cụ và ngôn ngữ 
để phát triển nguyên bản. 
v Có thể bao gồm cả việc loại bỏ bớt tính 
năng 
§  Nguyên bản nên tập trung vào những tính năng 
chưa được hiểu rõ ràng; 
§  Kiểm tra lỗi không nằm trong nguyên bản; 
§  Tập trung vào các yêu cầu chức năng hơn là 
các yêu cầu phi chức năng. 
39 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Throw-away prototypes 
v Các nguyên bản nên bị loại bỏ sau khi 
phát triển phần mềm vì chúng không 
phải là cái cơ bản để phát triển hệ 
thống: 
§  Khó có thể điều chỉnh hệ thống để đáp ứng 
được các yêu cầu phi chức năng; 
§  Nguyên bản thường không được tài liệu hóa; 
§  Cấu trúc nguyên bản thường bị phá vỡ do bị 
thay đổi nhanh; 
§  Nguyên bản có thể không đáp ứng được những 
tiêu chuẩn chất lượng về mặt tổ chức. 
40 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Chuyển giao dần dần(incremental 
delivery) 
v Thay vì phân phối hệ thống một lần, việc 
phát triển và phân phối được chia ra thành 
từng phần nhỏ (increment). Mỗi phần giao 
cho khách hàng chứa một phần tính năng 
được yêu cầu. 
v Những yêu cầu người dùng được ưu tiên và 
những yêu cầu có độ ưu tiên cao nhất sẽ 
được đặt trong các phần đầu tiên. 
v Trong quá trình phát triển, việc phân tích 
yêu cầu cho phần tiếp theo có thể được 
tiến hành nhưng thay đổi yêu cầu cho phần 
hiện tại không được chấp nhận. 
41 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Phát triển dần dần và chuyển giao 
dần dần 
v Phát triển dần dần 
§  Phát triển từng phần hệ thống và đánh giá mỗi phần 
trước khi tiến hành phát triển phần tiếp theo; 
§  Được sử dụng trong các phương pháp linh hoạt; 
§  Đánh giá được thực hiện bởi đại diện người sử dụng/
khách hàng. 
v Chuyển giao dần dần 
§  Triển khai một phần để sử dụng cho người dùng cuối; 
§  Đánh giá thực tế hơn; 
42 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Chuyển giao dần dần 
Design system
architecture
Define outline
 requirements
Assign requirements
 to increments
System
incomplete?
Final
system
Develop system
increment
Validate
increment
Integrate
increment
Validate
system
Deploy
increment
System
complete?
43 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Ưu điểm của chuyển giao dần dần 
v Khách hàng sớm được bàn giao sản phẩm (từng 
phần). 
v Các phần đầu được xem như một nguyên bản 
để hỗ trợ cho việc làm lộ rõ những yêu cầu cho 
phần sau. 
v Nguy cơ thất bại toàn hệ thống là thấp. 
v Duy trì được ưu điểm của phát triển từng phần, 
do đó dễ thích nghi với sự thay đổi của hệ 
thống. 
v Những dịch vụ hệ thống có độ ưu tiên cao nhất 
sẽ được kiểm thử nhiều nhất 
§  Khách hàng ít gặp lỗi phần mềm ở những phần quan 
trọng của hệ thống. 
44 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Mô hình xoắn ốc Boehm 
v Quy trình được biểu diễn như một 
đường xoắn ốc hơn là một chuỗi tuần tự 
các hoạt động với các bước quay lui. 
v Mỗi vòng lặp trong đường xoắn ốc biểu 
diễn một pha của quy trình. 
v Không có những pha cố định như đặt tả 
hay thiết kế, các vòng lặp trong đường 
xoắn ốc được chọn theo nhu cầu. 
v Rủi ro được đánh giá rõ ràng và được 
giải quyết trong suốt quy trình. 
45 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Quy trình phần mềm của mô hình 
xoắn ốc Boehm 
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integration
testAcceptance
testService Develop, verify
next-level product
Evaluate alternatives,
identify, resolve risks
Determine objectives,
alternatives and
constraints
Plan next phase
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
46 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các phân khu (sector) của mô hình 
xoắn ốc 
v Thiết lập mục tiêu 
§  Xác định mục tiêu cụ thể của pha. 
v Đánh giá và giảm thiểu rủi ro 
§  Rủi ro được đánh giá và các hoạt động được tiến 
hành để giảm thiểu các rủi ro chính. 
v Phát triển và thẩm định 
§  Một mô hình phát triển cho hệ thống được chọn, 
đây có thể là một trong các mô hình tổng quát. 
v Lập kế hoạch 
§  Dự án được duyệt và pha tiếp theo trong đường 
xoắn ốc được lên kế hoạch. 
47 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Sử dụng mô hình xoắn ốc 
v Ưu điểm: 
§  Là phương pháp thực tế để phát triển các hệ thống phần mềm lớn. 
§  Giúp các kỹ sư hiểu rõ và tương tác tốt hơn với các nguy cơ tại 
mỗi mức tiến hóa. 
§  Cho phép áp dụng nguyên bản tại bất cứ giai đoạn tiến hóa nào. 
§  Giảm được các nguy cơ trước khi nó trở thành vấn đề của hệ 
thống. 
v  Nhược điểm: 
§  Không phải là “thuốc chữa bách bệnh”. 
§  Khó khăn trong việc thuyết phục khách hàng rằng phương pháp 
này có thể điều khiển được. 
§  Cần chuyên gia đánh giá về nguy cơ và dựa vào chuyên gia để 
thành công. Nếu một nguy cơ lớn không được tìm ra và quản lý 
được, các vấn đề về hệ thống sẽ xảy ra. 
48 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Nội dung 
Mô hình quy trình phần mềm 
Các hoạt động của quy trình 
Thích nghi với sự thay đổi 
Quy trình RUP 
49 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Quy trình RUP 
v The Rational Unified Process 
v Đây là một quy trình tổng quát bắt nguồn từ 
UML và Unified Software Development 
Process. 
v Kết hợp các khía cạnh của ba mô hình quy 
trình tổng quát. 
v Thường mô tả ba khía cạnh 
§  Khía cạnh động (dynamic perspective): chỉ ra các pha 
theo thời gian; 
§  Khía cạnh tĩnh (static perspective): chỉ ra các hoạt động 
của quy trình; 
§  Khía cạnh thực tiễn (practice perspective): đề xuất 
những thực tiễn tốt. 
50 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các pha của RUP 
Inception Elaboration Construction
Phase iteration
Transition
51 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các pha của RUP 
v Khởi động (Inception) 
§  Thiết lập business case cho hệ thống. 
v Phát triển (Elaboration) 
§  Nghiên cứu các vấn đề và phát triển kiến trúc hệ 
thống. 
v Xây dựng (Construction) 
§  Thiết kế hệ thống, lập trình và kiểm thử. 
v Chuyển tiếp (Transition) 
§  Triển khai hệ thống. 
52 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Vòng lặp trong RUP 
v Lặp trong từng pha (In-phase iteration) 
§  Mỗi pha được lặp lại với kết quả được phát triển 
tăng dần. 
v Lặp qua các pha (Cross-phase iteration) 
§  Việc lặp có thể được thực hiện qua toàn bộ các 
pha. 
53 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các workflow tĩnh trong RUP 
Workflow Description 
Business 
modelling 
The business processes are modelled 
using business use cases. 
Requirements Actors who interact with the system are 
identified and use cases are developed to 
model the system requirements. 
Analysis and 
design 
A design model is created and documented 
using architectural models, component 
models, object models and sequence 
models. 
Implementation The components in the system are 
implemented and structured into 
implementation sub-systems. Automatic 
code generation from design models helps 
accelerate this process. 
54 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các workflow trong RUP 
Workflow Description 
Testing Testing is an iterative process that is carried out in 
conjunction with implementation. System testing 
follows the completion of the implementation. 
Deployment A product release is created, distributed to users 
and installed in their workplace. 
Configuration and 
change 
management 
This supporting workflow managed changes to the 
system. 
Project 
management 
This supporting workflow manages the system 
development. 
Environment This workflow is concerned with making appropriate 
software tools available to the software 
development team. 
55 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 56 
Nguồn:  
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Ưu điểm của RUP 
v Phát triển phần mềm theo vòng lặp 
§  Các phần được lên kế hoạch dựa vào độ ưu tiên 
của khách hàng và phân phối những phần có độ 
ưu tiên cao nhất trước. 
v Quản lý yêu cầu 
§  Viết tài liệu một cách rõ ràng cho các yêu cầu 
khách hàng và theo dõi sự thay đổi của những 
yêu cầu này. 
v Sử dụng kiến trúc dựa vào component 
§  Tổ chức hệ thống như một tập các component 
có thể tái sử dụng. 
57 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Ưu điểm của RUP 
v Mô hình hóa phần mềm một cách trực 
quan 
§  Sử dụng các mô hình đồ họa UML để biểu diễn 
các góc nhìn tĩnh và động của phần mềm. 
v Kiểm tra chất lượng phần mềm 
§  Đảm bảo rằng phần mềm đáp ứng được các 
chuẩn chất lượng về mặt tổ chức. 
v Điều khiển các thay đổi phần mềm 
§  Quản lý những thay đổi phần mềm sử dụng 
những hệ thống quản lý thay đổi và các công cụ 
quản lý cấu hình. 
58 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Tổng kết 
v Quy trình nên có các hoạt động để đối phó với 
sự thay đổi. Có thể có pha nguyên bản để hạn 
chế những thay đổi không cần thiết trên yêu 
cầu và thiết kế. 
v Quy trình có thể được cấu trúc hóa cho phát 
triển và phân phối dần dần sao cho nhưng thay 
đổi có thể được thực hiện mà không phá vỡ 
toàn bộ hệ thống. 
v RUP là một mô hình quy trình tổng quát hiện 
đại được tổ chức thành các pha (khởi động, 
phát triển, xây dựng và chuyển tiếp). 
59 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Câu hỏi? 

File đính kèm:

  • pdfNhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Quy trình phần mềm.pdf
Tài liệu liên quan