Xem mẫu
- CHƯƠNG 3: chu trình sống của một dự án
phần mềm
- Dự án phần mềm
•
Dự án phần mềm là một loại dự án tập trung
đặc biệt vào việc tạo ra hoặc cập nhật phần
mềm.
– Sản phẩm của dự án phần mềm có thể được thực thi,
kiểm thử và chỉnh sửa.
– Phải có tài liệu hướng dẫn cho người dùng và bảo trì.
– Thuộc tính phân biệt so với dự án kỹ thuật
•
Sản phẩm là vô hình
•
Người làm không có nhiều kinh nghiệm về lĩnh vực chuyên
môn
•
Dự án phần mềm lớn thường là sản phẩm đặt trước
•
Kỹ thuật thay đổi rất nhanh
- Quản lý dự án phần mềm
•
Quản lý dự án phần mềm: Đảm bảo dự án tạo
ra sản phẩm phần mềm được thực hiện theo
đúng kế hoạch.
– Quản lý dự án phần mềm là quá trình lập kế hoạch, tổ
chức đội dự án, giám sát, kiểm soát.
– Mỗi dự án phần mềm phải có người quản lý, nhà cung
cấp và quản lý cấp cao.
– Quản lý dự án tốt không thể đảm bảo thành công,
nhưng quản lý kém luôn luôn dẫn đến thất bại.
- Quản lý dự án phần mềm
•
Dự án phần mềm có hai hướng hoạt động:
– Phát triển phần mềm: tập trung vào việc phân tích,
thiết kế, lập trình và kiểm thử
– Hướng quản trị dự án: thực hiện các công việc lên kế
hoạch, phân phối tài nguyên, giám sát và điều chỉnh
công việc để đạt được mục tiêu, chi phí, thời gian và
chất lượng.
- Chu trình sống của dự án phần mềm
•
Chu trình sống của dự án phần mềm (Software
project life cycle): Toàn bộ khung làm việc mà
trong đó phần mềm được hình thành, phát triển
và duy trì (Software Development Life Cycle-
SDLC)
•
Chu trình sống thường liên quan đến các mô
hình và các giai đoạn phát triển phần mềm.
- Chu trình sống của dự án phần mềm
•
Chu trình sống của phần mềm gồm các giai
đoạn:
- Chu trình sống của dự án phần mềm
•
Giai đoạn phân tích yêu cầu (Requirement
phase)
– Phân tích vấn đề hoặc yêu cầu cho việc phát triển
phần mềm.
•
Giai đoạn thiết kế (Design Phase)
– Xác định cấu trúc của phần mềm.
– Thường được chia thành 2 giai đoạn con:
•
Giai đoạn thiết kế sơ bộ: Kiến trúc phần mềm ban đầu
được phát triển.
•
Giai đoạn thiết kế chi tiết: mô hình chức năng được xác
định cùng với giao diện người dùng và giao diện giữa các
moules.
- Chu trình sống của dự án phần mềm
•
Giai đoạn hiện thực (Implementation phase):
– Lập trình để thực thi việc thiết kế phần mềm.
•
Giai đoạn kiểm định (Testing phase):
– Phần mềm được kiểm định về chức năng và mức
độ thỏa mãn các yêu cầu.
– Thông thường được chia làm 3 giai đoạn:
•
Kiểm định đơn vị (Unit Testing)
•
Kiểm định kết hợp (Integration Testing)
•
Kiểm định khả năng chấp nhận (Acceptance Testing).
– Haigiai đoạn Unit testing và Integration testing có
thể là bộ phận của chu trình lặp coding và testing
- Chu trình sống của dự án phần mềm
•
Giai đoạn triển khai (Deployment Phase):
– Phần mềm được cài đặt trong hệ thống theo dự
kiến, và huấn luyện người dùng.
– Đây là giai đoạn phần mềm được phát triển và xem
xét một cách hoàn chỉnh.
•
Giai đoạn bảo trì (Maintenance Phase):
– Sửa lỗi và hiệu chỉnh hoặc cập nhật phần mềm
cung cấp thêm một số chức năng.
– Chi phí của giai đoạn này nhiều hơn so với giai
đoạn phát triển ban đầu.
- Chu trình sống của dự án phần mềm
– Giai đoạn bảo trì phần mềm cần phải xem lại mã của
phầm mềm gốc để hiểu những gì đã được làm trước
đó và tạo ra những thay đổi cho những module được
chỉ định.
- Các mô hình của chu trình sống
•
Có nhiều mô hình chu trình sống, hầu hết đều là
những sự biến đổi của ba mô hình phát triển
phần mềm cổ điển.
– Mô hình thác nước (Waterfall)
– Mô hình tăng trưởng (Incremental)
•
Mô hình tăng trưởng
•
Mô hình RAD (Rapid Application Development)
– Mô hình tiến hóa (Evolutionary Process)
•
Mô hình bản mẫu (Prototyping models)
•
Mô hình xoắn ốc (Spiral models)
- Mô hình thác nước (Waterfall)
- Mô hình thác nước (Waterfall)
•
Gồm các giai đoạn:
– Xác định yêu cầu
– Thiết kế
– Xây dựng (hay "triển khai", "mã hóa", "viết mã")
– Liên kết
– Kiểm thử và Chỉnh sửa (hay «kiểm nghiệm»)
– Cài đặt
– Bảo trì
- Mô hình thác nước (Waterfall)
•
Đây là mô hình cũ nhất nhưng ngày nay vẫn
được sử dụng rộng rãi trong việc phát triển các
ứng dụng.
•
Mô hình bao gồm một dãy các giai đoạn, mỗi
giai đoạn phải được hoàn tất trước khi bắt đầu
giai đoạn kế tiếp.
•
Những giai đoạn được xem là tuần tự, với sự
phản hồi chỉ được xác định trong thời gian
chuyển tiếp giữa các giai đoạn.
- Mô hình thác nước (Waterfall)
•
Những trở ngại hoặc những hiệu chỉnh thường
chờ đến giai đoạn bảo trì. Điều này có thể sẽ rất
tốn kém.
- Mô hình thác nước (Waterfall)
•
Thuận lợi:
– Hệ thống được ghi chép cẩn thận
– Các giai đoạn tương ứng với các giai đoạn trong quản
lý dự án.
– Chi phí và những ước lượng chương trình có thể thấp
hơn và chính xác hơn.
– Những chi tiết có thể quan tâm với nhiều nỗ lực kỹ
thuật hơn nếu phần mềm lớn hay phức tạp.
- Mô hình thác nước (Waterfall)
•
Hạn chế:
– Quá trình xây dựng phần mềm được chia thành các
pha độc lập tạo nên nhiều khó khăn khi có thay đổi về
yêu cầu từ khách hàng.
– Do chỉ tiếp xúc với khách hàng trong giai đoạn đầu
tiên nên phần mềm khó đáp ứng tất cả nhu cầu của
khách hàng.
– Mô hình chỉ thích hợp khi các yêu cầu phần mềm
được rõ ràng và không bị thay đổi (hoặc chỉ giới hạn ở
pha thiết kế)
- Mô hình thác nước (Waterfall)
– Việc quay lui để chỉnh sửa hoặc thay đổi một công
việc đã hoàn tất rất tốn thời gian và chi phí.
– Khả năng thất bại cao.
•
Ứng dụng
– Mô hình này chỉ thích hợp với những dự án đã biết rõ
yêu cầu của khách hàng.
- Mô hình tăng trưởng (Incremental model)
•
Thực chất là một loạt của những chu trình thác
nước.
- Mô hình tăng trưởng (Incremental model)
•
Một dãy các chu trình con, sau mỗi chu trình
con có thể chuyển giao cho khách hàng
nguon tai.lieu . vn