Chương 2. Các quy trình phần mềm
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Trang 1
Mục tiêu
●
●
●
●
●
Bùi Th H ng
Giới thiệu các mô hình qui trình phần mềm
Mô tả ba mô hình qui trình phần mềm cơ bản
và khi nào thì chúng được sử dụng
Mô tả phác thảo các mô hình qui trình công
nghệ xác định yêu cầu, phát triển phần mềm,
kiểm thử và chỉnh sửa, nâng cấp
Giải thích mô hình RUP
Giới thiệu công nghệ CASE hỗ trợ các hoạt
động qui trình phần mềm
Ch
ng 2. Các qui trình ph n m m
Trang 2
Qui trình phần mềm
●
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
•
•
•
•
●
Bùi Th H ng
Đặc tả;
Thiết kế;
Kiểm chứng;
Cải tiến.
Một mô hình qui trình phần mềm là một biểu diễn trừu
tượng của một qui trình. Nó trình bày mô tả của một
qui trình bằng một công cụ đồ hoạ nào đó.
Ch
ng 2. Các qui trình ph n m m
Trang 3
Các mô hình qui trình phần mềm tổng quát
●
Mô hình thác nước
•
●
Phát triển tiến hoá
•
●
Bùi Th H ng
Đặc tả, phát triển và kiểm chứng được thực hiện xen
kẽ và lặp đi lặp lại.
CNPM dựa trên các bộ phận hợp thành
•
●
Tách rời và biệt lập các giai đoạn của quá trình đặc tả
và phát triển.
Hệ thống được lắp ráp từ những bộ phận hợp thành
đã có.
Tồn tại nhiều biến thể của các loại mô hình này.
Ch
ng 2. Các qui trình ph n m m
Trang 4
Mô hình thác nước
Requirements
definition
System and
software design
Implementa
tion
and unit testing
Integration and
system testing
Operation and
maintenance
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Trang 5
Các pha của mô hình thác nước
●
●
●
●
●
●
Bùi Th H ng
Phân tích và xác định yêu cầu
Thiết kế hệ thống và phần mềm
Thực hiện và kiểm thử đơn vị
Tích hợp và kiểm thử hệ thống
Vận hành và bảo hành
Hạn chế chính của mô hình thác nước là
không được phép quay lui. Pha trước phải
hoàn thành thì mới được chuyển sang pha
sau.
Ch
ng 2. Các qui trình ph n m m
Trang 6
Các vấn đề của mô hình thác nước
●
●
●
●
Bùi Th H ng
Sự phân hoạch không mềm dẻo dự án thành các giai
đoạn phân biệt sẽ khó đáp ứng được những thay đổi
về yêu cầu của người sử dụng.
Mô hình này chỉ thích hợp khi các yêu cầu đã được
hiểu rõ và những thay đổi chỉ hạn chế trong quá trình
thiết kế.
Rất ít những hệ thống tác nghiệp có các yêu cầu ổn
định.
Mô hình thác nước hầu như chỉ sử dụng cho những
dự án công nghệ hệ thống lớn được phát triển ở một
vài địa điểm.
Ch
ng 2. Các qui trình ph n m m
Trang 7
Phát triển tiến hoá
●
Phát triển có tính thử nghiệm
•
●
Làm các bản mẫu thử
•
Bùi Th H ng
Mục đích là để làm việc với các khách hàng và để
tạo ra một hệ thống cuối cùng từ một đặc tả sơ bộ
ban đầu. Nên bắt đầu với các yêu cầu đã được
hiểu rõ và thêm vào các đặc trưng mới do người
sử dụng đề nghị.
Mục đích là để hiểu các yêu cầu hệ thống. Nên
bắt đầu từ những yêu cầu còn chưa được xác
định rõ để hình thành một cách rõ nét cái gì thực
sự là cần thiết.
Ch
ng 2. Các qui trình ph n m m
Trang 8
Phát triển tiến hoá
Con cu rren t
act iv i t i es
Specifi cati on
Ou tlin e
descript ion
Developm en t
Vali dati on
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
In i t i al
versi on
In t er
m edi at e
version s
Fin al
versi on
Trang 9
Phát triển tiến hoá
●
Các vấn đề
•
•
•
●
Khả năng áp dụng
•
•
•
Bùi Th H ng
Thiếu tầm nhìn về qui trình;
Các hệ thống thường được cấu trúc kém;
Cần phải có những kỹ năng đặc biệt (ví dụ như
các ngôn ngữ để làm bản mẫu nhanh).
Cho các hệ thống tương tác cỡ nhỏ và vừa;
Cho các bộ phận của các hệ thống lớn (ví dụ như
giao diện người sử dụng);
Cho các hệ thống có vòng đời ngắn.
Ch
ng 2. Các qui trình ph n m m
Trang 10
CNPM dựa trên các bộ phận hợp thành
●
●
Dựa trên việc sử dụng lại có tính hệ thống bằng cách
tích hợp các bộ phận hợp thành của những hệ thống
đã có.
Các giai đoạn của qui trình
•
•
•
•
●
Bùi Th H ng
Phân tích các bộ phận hợp thành;
Cải biên các yêu cầu;
Thiết kế hệ thống bằng cách dùng lại các bộ phận đã
có;
Phát triển và tích hợp.
Cách tiếp cận này đang được sử dụng nhiều lên khi
các chuẩn về bộ phận hợp thành được đưa vào áp
dụng.
Ch
ng 2. Các qui trình ph n m m
Trang 11
Phát triển bằng cách sử dụng lại
Requ irem en t s
specifi cat ion
Com pon en t
an alysis
Requ irem en t s
m odifi cat i on
Syst em design
wit h reu se
Developm en t
an d in t eg
rat ion
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Syst em
validat ion
Trang 12
Phát triển lặp
●
●
●
Các yêu cầu hệ thống thường xuyên được
phát sinh trong suốt quá trình của một dự án.
Vì vậy khi một yêu cầu phát sinh trong một
giai đoạn nào đó thì cần phải làm lại giai đoạn
trước đó.
Phát triển theo kiểu lặp có thể được áp dụng
cho mọi mô hình qui trình tổng quát.
Hai cách tiếp cận có liên quan
•
•
Bùi Th H ng
Chuyển giao tăng dần;
Phát triển xoáy ốc.
Ch
ng 2. Các qui trình ph n m m
Trang 13
Chuyển giao tăng dần
●
●
●
Không chuyển giao hệ thống một lần mà tách việc
phát triển thành nhiều phần và chuyển giao thành
nhiều giai đoạn.
Các yêu cầu của người sử dụng được phân cấp ưu
tiên và những yêu cầu có thứ tự ưu tiên cao hơn sẽ
được đáp ứng trước.
Một khi việc phát triển theo kiểu tăng dần được bắt
đầu, các yêu cầu sẽ được đóng băng lại và sẽ được
làm tan băng dần dần trong quá trình phát triển.
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Trang 14
Phát triển tăng dần
Assign requ irem en t s
t o in crem en t s
Defi n e ou t lin e
requ irem en t s
Develop syst em
in crem en t
Validate
in crem en t
Design syst em
arch it ect u
er
In t eg
rat e
in crem en t
Valida
te
syst em
Fin al
syst em
Syst em in com plet e
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Trang 15
Các ưu điểm của phát triển tăng dần
●
●
●
●
Bùi Th H ng
Khách hàng có thể tham gia vào từng giai
đoạn phát triển chức năng của hệ thống.
Các giai đoạn ban đầu có thể tạo ra một bản
thử giúp cho việc xác định các yêu cầu ở giai
đoạn sau.
Rủi ro thất bại toàn bộ dự án sẽ thấp.
Các dịch vụ ưu tiên của hệ thống có thể được
thử thách nhiều hơn.
Ch
ng 2. Các qui trình ph n m m
Trang 16
Phát triển xoắn ốc
●
●
●
●
Bùi Th H ng
Qui trình được biểu diễn như một đường xoắn ốc khác
hẳn với kiểu một dãy các hoạt động có thể quay lui.
Mỗi vòng lặp trong đường xớan ốc biểu diễn một giai
đoạn trong qui trình.
Không có các pha cố định như đặc tả hoặc thiết kế các vòng lặp trong đường xoắn được lựa chọn tuỳ
thuộc vào yêu cầu nào cần phải thực hiện.
Các rủi ro có thể được nhận rõ và được giải quyết
trong suốt qui trình.
Ch
ng 2. Các qui trình ph n m m
Trang 17
Mô hình xoắn ốc của qui trình phần mềm
Xác nh các m c tiêu,
ph ng án thay th và
các ràng bu c
ánh giá các ph ng
án thay th ; nh n d ng
và kh c ph c r i ro
Risk
analysis
Risk
analysis
Risk
analysis
REVIEW
Requirements plan
Life-cycle plan
L p k ho ch cho pha
ti p theo
Bùi Th H ng
Prototype 2
Risk
analysis Prototype 1
Simulations, models, benchmarks
Concept of
Operation
S/W
requirements
Development
plan
Requirement
validation
Integration
and test plan
Design
V&V
Acceptance
test
Service
Ch
Operational
protoype
Prototype 3
ng 2. Các qui trình ph n m m
Product
design
Detailed
design
Code
Unit test
Integration
test
Phát tri n, ki m ch ng
s n ph m m c ti p theo
Trang 18
Các mảng của mô hình xoắn ốc
●
Đặt mục tiêu
•
●
Đánh giá rủi ro và giảm nhẹ
•
●
Một mô hình phát triển cho hệ thống được chọn trong
số các mô hình tổng quát.
Lập kế hoạch
•
Bùi Th H ng
Các rủi ro được đánh giá và các hoạt động cần thực
hiện để giảm nhẹ các rủi ro chính.
Phát triển và phê duyệt
•
●
Nhận dạng các mục tiêu đặc trưng trong pha.
Dự án được xem xét và pha tiếp theo của đường xoắn
ốc được lập kế hoạch.
Ch
ng 2. Các qui trình ph n m m
Trang 19
Các hoạt động trong qui trình
●
●
●
●
Bùi Th H ng
Đặc tả phần mềm
Thiết kế và xây dựng phần mềm
Phê duyệt phần mềm
Điều chỉnh/mở rộng phần mềm
Ch
ng 2. Các qui trình ph n m m
Trang 20
Đặc tả phần mềm
●
●
Qui trình xác lập những dịch vụ nào là cần
thiết và những ràng buộc về hoạt động của hệ
thống và phát triển.
Qui trình công nghệ xác định yêu cầu
•
•
•
•
Bùi Th H ng
Nghiên cứu khả thi;
Phát hiện và phân tích yêu cầu;
Đặc tả yêu cầu;
Phê duyệt yêu cầu.
Ch
ng 2. Các qui trình ph n m m
Trang 21
Qui trình công nghệ xác định yêu cầu
Requ irem en ts
eli ci t at ion an d
an alysi s
Feasibi li t y
st u d
y
Requ irem en ts
specifi cat ion
Requ irem en t s
validat ion
Feasi bilit y
report
Syst em
m odel s
U ser an d syst em
requ i rem en ts
Requ irem en t s
docu m en t
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Trang 22
Thiết kế và xây dựng phần mềm
●
●
Qui trình chuyển đặc tả hệ thống thành hệ
thống có thể thực hiện được.
Thiết kế phần mềm
•
●
Xây dựng
•
●
Bùi Th H ng
Thiết kế cấu trúc phần mềm theo đúng đặc tả;
Phiên dịch cấu trúc phần mềm thành chương trình
có thể thực hiện được;
Các hoạt động thiết kế và thực hiện liên quan
chặt chẽ với nhau và có thể được làm xen kẽ.
Ch
ng 2. Các qui trình ph n m m
Trang 23
Các hoạt động qui trình thiết kế
●
●
●
●
●
●
Bùi Th H ng
Thiết kế kiến trúc
Đặc tả trừu tượng
Thiết kế giao diện
Thiết kế các bộ phận hợp thành
Thiết kế cấu trúc dữ liệu
Thiết kế thuật toán
Ch
ng 2. Các qui trình ph n m m
Trang 24
Qui trình thiết kế phần mềm
Requ ir
em en t s
specifi ca
t ion
Desi gn act
vi ti ies
Arch it ectal
ur
design
Abstact
r
speci fi ca
t ion
In t er
face
design
Com pon en t
design
Dat a
st ru cteu r
design
Al gorit h m
desi gn
Syst em
arch it ectu
er
Soft ware
speci fi ca
t ion
In t er
face
specifi ca
t ion
Com pon en t
specifi ca
t ion
Dat a
st ru cteu r
specifi ca
t ion
Al gorit h m
specifi ca
t ion
Desi gn odu
pr ct s
Bùi Th H ng
Ch
ng 2. Các qui trình ph n m m
Trang 25