Tải bản đầy đủ (.pptx) (35 trang)

TIẾN TRÌNH VÀ MÔ HÌNH TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (759.88 KB, 35 trang )

CHÀO MỪNG CÔ VÀ CÁC BẠN ĐẾN
VỚI BÀI HỌC HÔM NAY
Giảng Viên: Nguyễn Minh Hiền
Nhóm SV thực hiện: Nhóm 3
- Nguyễn Quốc Huy
- Nguyễn Thị Thu (8/9)
- Nguyễn Thị Thu (12/11)
- Trần Thị Thùy Linh
- Nguyễn Thị Như Quỳnh
- Đoàn Châu An


Nhóm 3
CHƯƠNG 2:
TIẾN TRÌNH VÀ MƠ HÌNH TIẾN
TRÌNH PHÁT TRIỂN PHẦN MỀM

2


1. Tiến trình phát triển phần
mềm
 Là một tập các hoạt động có cấu trúc nhằm
phát triển và tiến hố một phần mềm.
 Các hoạt động chung nhất:
 Đặc tả: Xác định đầy đủ và chi tiết các chức
năng của hệ thống và những ràng buộc khi
vận hành hệ thống.
 Thiết kế và cài đặt: Phần mềm được xây
dựng nhằm thỏa mãn đặc tả của nó.
 Đánh giá: Kiểm định xem phần mềm có đáp


ứng được yêu cầu của khách hàng không?
 Cải tiến: Điều chỉnh phù hợp với những thay
đổi về yêu cầu hệ thống.
3


1.1 Đặc tả
 Xác định đầy đủ và chi tiết các chức năng của
hệ thống và những ràng buộc khi vận hành hệ
thống.
- Phân tích hệ thống: Vai trị của phần mềm
cần phát triển trong hệ thống.
- Lập kế hoạch: Ước lượng công việc, lập
lịch biểu, phân công công việc
- Phân tích yêu cầu: Xác định yêu cầu chi
tiết (chức năng, ràng buộc), đặc tả yêu cầu
4


1.2 Thiết kế và Cài đặt
Phần mềm được xây dựng nhằm thỏa
mãn đặc tả của nó:
- Thiết kế (design): Dịch các yêu cầu
thành bản thiết kế (kiến trúc, giao diện,
thành phần, cấu trúc dữ liệu, thủ tục xử lý,
thuật toán,)
- Mã hố (coding): Chuyển thiết kế
thành chương trình máy tính ( trong một
ngơn ngữ lập trình)


5


1.3 Đánh giá

Phát hiện và sửa lỗi chương trình (lỗi lập
trình, lỗi thiết kế). Hay phần mềm phải
được đánh giá để chắc chắn rằng nó làm
những gi mà khách hàng muốn.

6


1.4 Cải tiến
Hoàn thiện hệ thống sau khi đưa vào sử
dụng
- Sửa lỗi: Sửa lỗi phần mềm.
- Thích nghi: Sửa đổi để thích nghi với
mơi trường thay đổi.
- Nâng cao: Thêm các chức năng mới.

7


2. Quy trình Cơng nghệ Phần
mềm
1

u cầu phần mềm
4

2

3

Phân tích

Phân tích
Thiết kế
Lập trình

Thiết kế
Thiết kế

Lập trình

Lập trình
Lập trình
Kiểm tra
Phần mềm

8


2. Quy trình Cơng nghệ Phần
mềm

 Phân tích: Mơ tả mức phác thảo các thành phần phần
mềm
 Thiết kế: Mô tả mức chi tiết các thành phần của phần
mềm

 Lập trình: Thực hiện các thành phần của phần mềm
 Kiểm tra: Kiểm chứng các thành phần của phần mềm

9


2.1 Các mơ hình tiến trình phần
mềm
Mơ hình thác nước
Mơ hình bản mẫu
Mơ hình xoắn ốc
Một số mơ hình khác

10


MƠ HÌNH THÁC NƯỚC ( WATERFALL
MODEL)
1. Khái niệm:
Mơ hình thác nước (tiếng Anh: waterfall
model) là một mơ hình của quy trình phát
triển phần mềm, trong đó quy trình phát
triển trơng giống như một dịng chảy, với
các pha được thực hiện theo trật tự nghiêm
ngặt và khơng có sự quay lui hay nhảy vượt
pha.
2. Các pha của mơ hình thác nước bao gồm:
-

Phân tích và xác định các yêu cầu

Thiết kế hệ thống và phần mềm
Cài đặt và kiểm thử đơn vị
Tích hợp và kiểm thử hệ thống
Vận hành và bảo trì.

11


Mơ hình thác nước


Mơ hình thác nước
Định nghĩa u cầu:
- Có 2 loại yêu cầu: yêu cầu chức năng và yêu cầu phi chức năng.
- Trong giai đoạn này là giai đoạn sống cịn, vì u cầu là rất khó
biết. Vì vậy, việc xác định yêu cầu đúng là rất quan trọng trong
suốt quá trình làm phần mềm.
- Mục tiêu của giai đoạn thu thập yêu cầu là xác định phần mềm
sẽ làm được những gì dựa trên các nhu cầu của khách hàng.

Thiết kế:
Giai đoạn này chúng ta sẽ thiết kế các thuật tốn, và thiết kế mơ
hình dữ liệu, cho ra một mơ hình lớp và dữ liệu ở mức chi tiết.


Mơ hình thác nước
Cài đặt và kiểm thử đơn vị:
Sau khi pha thiết kế hồn tất, lập trình viên sẽ triển khai
thực hiện (mã hóa, viết mã) đồ án họ nhận được. Sau đó
thực hiện hoạt động kiểm thử đơn vị để phát hiện các khiếm

khuyết, sửa các khiếm khuyết này và chỉ ra rằng chúng đã
được cài đặt theo đúng tài liệu yêu cầu.

Tích hợp và kiểm thử hệ thống:
Các đơn vị chương trình được tích hợp lại với nhau tạo
thành hệ thống hồn chỉnh.
Sau đó tiến hành hoạt động kiểm thử hệ thống nhằm kiểm
tra sự ăn khớp giữa các thành phần này và chỉ ra rằng phần
mềm đã đáp ứng được yêu cầu người dùng và được xây
dựng theo đúng yêu cầu đặt ra.


Mơ hình thác nước
Vận hành và bảo trì:
Đưa phần mềm vào sử dụng trong thực tế và tiến hành các
sửa đổi cần thiết nếu người dùng phát hiện ra khiếm khuyết.

3. Ưu điểm
 Có thể dễ dàng phân chia quá trình xây dựng phần mềm thành
những giai đoạn hồn tồn độc lập nhau.
 Thay đổi yêu cầu được giảm tới độ tối thiểu khi dự án bắt đầu.
 Chuỗi các hoạt động được thực hiện theo quy trình rõ ràng.
 Dễ quản lý, uớc lượng thời gian và chi phí rất chính xác.
 Thấy được trình tự kỹ nghệ từ đầu đến cuối sản phẩm.


Mơ hình thác nước
4. Nhược điểm
Hệ thống phải kết thúc ở từng giai đoạn (có khi dài) do đó
nó khó có thể thực hiện đầy đủ các yêu cầu của khách hàng.

Mối quan hệ giữa các giai đoạn không được thể hiện.
Khơng thấy được sự tiến hóa của sản phẩm.
Rủi ro cao, khơng thể quay lại.
Rất khó khăn trong việc thay đổi các pha đã được thực hiện.
Đòi hỏi khách hàng đưa ra yêu cầu chính xác ngay từ đầu.
Sai sót phát hiện muộn có thể là hiểm họa.


Mơ hình thác nước
5. Ứng dụng :
• u cầu được định nghĩa rất rõ ràng, chi tiết và hầu như không
thay đổi, thường xuất phát từ sản phẩm đã đạt mức ổn định.
• Yêu cầu mới bổ sung ( nếu có) cũng sớm được xác định rõ
ràng, đầy đủ từ đầu dự án.
• Đội ngũ thực hiện quen thuộc và hiểu rõ tất cả yêu cầu của dự
án, có nhiều kinh nghiệm với các công nghệ được dùng để phát
triển sản phẩm.
• Dự án được xác định hầu như khơng có rủi ro.


Mơ hình thác nước
6. Khi nào nên sử dụng Waterfall Model
 Khi các yêu cầu phần mềm được xác định rõ ràng,
đầy đủ và cố định.
 Định nghĩa về sản phẩm (hệ thống phần mềm)
không thay đổi.
 Các công nghệ liên quan cần thiết được nắm vững.
 Các nguồn lực và kinh nghiệm của nhóm phát triển
phần mềm đủ đáp ứng.
 Thời gian thực hiện dự án ngắn (không kéo dài).



Mơ hình Bản mẫu


Ưu điểm của mơ hình bản mẫu
 Người sử dụng được tham gia tích cực vào trong
q trình phát triền phần mềm.
 Các lỗi, vấn đề có thể được phát hiện từ sớm.
 Sớm có được các phản hồi đánh giá từ người sử
dụng, giúp có được các giải pháp phát triển phần
mềm tốt hơn.
 Các chức năng còn thiếu có thể được phát hiện
sớm.
 Các chức năng khơng rõ ràng hoặc khó thao tác
có thể được phát hiện.


Nhược điểm mơ hình bản
mẫu
- Khách hàng có thể khơng nhất quán trong
việc diễn đạt các yêu cầu
- Thường được làm nhanh nên thiếu sự phân
tích đánh giá cẩn thận.
- Ngun mẫu khơng giống hồn tồn hệ thống
cuối cùng khách hàng sẽ có các phản ứng khác
nhau


Mơ hình bản mẫu thường được sử dụng khi

 Khi yêu cầu không được biết rõ, khi các yêu cầu
không ổn định, việc thông tin không được đáp
ứng tốt.
 Khi người phát triển không chắc chắn việc dùng
giải thuật hay kiến trúc nào là tối ưu. Trên những
hệ thống dựa vào kỹ thuật mới mà những yêu
cầu khó xác định rõ.
 Phù hợp với những hệ thống:
 User-interface intensive systems
 Interactive online systems
 First-of-a-kind products


Mơ hình Xoắn ốc
 Trong mơ hình xoắn ốc, quy trình phát triển phần mềm
được biểu diễn như một vịng xoắn ốc. Các pha trong mơ
hình tiến hố xoắn ốc bao gồm:
 Thiết lập mục tiêu: Xác định mục tiêu cho từng pha của dự án.
 Đánh giá và giảm thiểu rủi ro: Rủi ro được đánh giá và thực
hiện các hành động để giảm thiểu rủi ro.
 Phát triển và đánh giá: sau khi đánh giá rủi ro, một mơ hình
xây dựng hệ thống sẽ được lựa chọn từ mơ hình chung.
 Lập kế hoạch: đánh giá dự án và pha tiếp theo của mơ hình
xoắn ốc sẽ được lập kế hoạch.


Mơ hình Xoắn ốc

 Nhấn mạnh việc đánh giá các rủi ro
 Phần mềm được xây dựng theo chu kì. Mỗi

chu kì tương ứng với một sản phẩm của 1
giai đoạn phát triển:
 Xác định các mục tiêu, giải pháp, rang buộc
 Đánh giá các giải pháp, xác định các nguy cơ và
tìm cách giải quyết chúng
 Phát triển và kiểm thử của chu kì này
 Lập kế hoạch cho chu kì tiếp theo


Mơ hình Xoắn ốc

 Lập kế hoạch: Xác lập tài nguyên, thời hạn,…cho
dự án.
 Phân tích rủi ro: Xem xét các mạo hiểm có thể
xảy ra.
 Thiết kế: Phát triển một phiên bản PM.
 Giao tiếp với khách hàng: Khách hàng đánh giá
về phiên bản đã phát triển, làm mịn,sửa đổi các
yêu cầu.
 Xây dựng và xuất xưởng: xây dựng, kiểm thử, cài
đặt và cung cấp hỗ trợ người dùng (tư liệu, huấn
luyện,…


×