Xem mẫu
- Quy Trình Phát Triển Phần Mềm
Với SDLC
GV:ThS. Nguyễn Công Hoan
Thành Viên Nhóm:
Nguyễn Trọng Văn 11520686
Nguyễn Hiếu Trung 11520669
3/12/14 1
- Nội dung
1 Quy trình phát triển phần mềm (SDLC).
2 Mô hình phát triển ứng dụng nhanh RAD.
3 Mô hình thác nước.
3/12/14 2
- Phát triển phần mềm
•
Một bài toán phức tạp.
•
Cần có khả năng thích ứng và mở rộng.
•
Trước đây: lập trình ngay dù có hoặc không có kiến
thức đầy đủ về hệ thống sẽ phát triển.
•
Ngày nay: luôn có kế hoạch phát triển hệ thống từ
đầu đến cuối. 3/12/14 3
- SDLC (Software Development Life
Cycle) là gì?
•
SDLC là một chuỗi các hoạt động để phát triển và
thực hiện một hệ thống thông tin.
•
SDLC rất hữu ích khi xây dựng một hệ thống phức
tạp.
3/12/14 4
- Chuỗi hoạt động SDLC
•
Nhà phân tích(Analyst): nghiên cứu yêu cầu của
khách hàng.
•
Nhà thiết kế (Designer): Thiết kế hệ thống – quyết
định các yêu cầu về phần cứng và phần mềm.
•
Chuyên gia lĩnh vực (Domain Experts): hiểu thực
chất vấn đề cùng tất cả những sự phức tạp của hệ
thống cần tin học hóa.
•
Lập trình viên (Programmer): dựa trên phân tích và
thiết kế để viết chương trình.
•
Người dùng (User): sử dụng hệ thống được phát
triển. 3/12/14 5
- Tại sao cần hiểu về SDLC?
•
Không có những quy trình và phương pháp phù hợp
thì rất dễ làm chậm trễ dự án và mất nhiều kinh phí
hơn.
•
Dễ dàng hơn trong việc bảo trì nâng cấp và mở
rộng phần mềm
•
Cải thiện chất lượng công việc và cải thiện hiệu
năng làm việc.
3/12/14 6
- Điều gì xảy ra với SDLC?
•
Phát triển phần mềm ngày nay không còn là công
việc mà bạn có thể làm một mình.
•
Nhiều nhóm các nhà thiết kế, phát triển, kiểm tra
lập thành 1 nhóm cùng làm việc.
•
Hệ thống phần mềm hiện nay đôi khi có thể mất
nhiều năm trước khi chúng được sử dụng
3/12/14 7
- Các giai đoạn chính trong SDLC
•
Phân tích tính khả thi (Feasibility analysis):
•
Phân tích yêu cầu và đặc tính kỹ thuật
(Requirement analysis and specification)
•
Thiết kế (Design).
•
Mã hóa (Coding).
•
Kiểm thử (Testing).
•
Bảo trì (Maintenance).
3/12/14 8
- Mô hình RAD (Rapid Application
Development)
•
Mô hình này đưa ra bởi IBM vào những năm 1980, qua
sách của James Martin
•
Là mô hình phát triển phần mềm gia tăng, tăng dần
từng bước với mỗi chu trình phát triển rất ngắn (60-90
ngày)
•
Xây dựng dựa trên hướng thành phần với khả năng tái
sử dụng và sử dụng các ứng dụng tạo mã tự động
3/12/14 9
- Mô hình RAD (Rapid Application
Development)
•
Gồm một số nhóm
(teams), mỗi nhóm
làm 1 RAD theo các
pha:
3/12/14 10
- RAD: Mô hình nghiệp vụ
•
Luồng thông tin được mô hình hóa để trả lời các
câu hỏi:
-Thông tin nào điều khiển xử lý nghiệp vụ?
- Thông tin gì được sinh ra?
- Ai sinh ra nó?
- Thông tin đi đến đâu?
- Ai xử lý chúng?
3/12/14 11
- RAD: Mô hình tiến trình và dữ liệu
•
Data modeling: Các đối tượng dữ liệu cần để hỗ
trợ nghiệp vụ (business). Định nghĩa các thuộc tính
của từng đối tượng và xác lập quan hệ giữa các đối
tượng
•
Process modeling: Các đối tượng dữ liệu được
chuyển sang luồng thông tin thực hiện chức năng
nghiệp vụ. Tạo mô tả xử lý để cập nhật (thêm, sửa,
xóa, khôi phục) từng đối tượng dữ liệu
3/12/14 12
- RAD: Tự sinh ứng dụng và kiểm thử
•
Application Generation: Dùng các kỹ thuật thế hệ
thứ 4 để tạo phần mềm từ các thành phần có sẵn
hoặc tạo ra các thành phần có thế tái sử dụng sau
này. Dùng các công cụ tự động để xây dựng phần
mềm
•
Testing and Turnover: Kiểm thử các thành phần mới
và kiểm chứng mọi giao diện (các thành phần cũ đã
được dùng thử và dùng lại)
3/12/14 13
- Điểm mạnh của RAD là gì?
•
Thời gian phát triển giảm nhờ dùng công cụ
•
Nhanh chóng cho phép hình dung ra sản phẩm
•
Dùng hiệu quả các framework và công cụ đóng gói
(off-the-shelf tools and frameworks)
•
Giảm rủi ro nhờ có sự tham gia của khách hàng
3/12/14 14
- RAD: Điểm yếu
•
Người phát triển phải có kỹ năng và được huấn luyện
tốt cho việc sử dụng công cụ và thời gian phát triển
nhanh
•
Rủi ro không thể hoàn thành được dự án
•
Không tốt với những ứng dụng không thể môđun hóa
hoặc đòi hỏi tính năng cao
•
Khó sử dụng lại các hệ thống cũ
•
Người phát triển và khách hàng phải nỗ lực
•
Quản lý phức tạp
•
Người quản lý phải làm việc tận tụy với nhóm phát triển
và khách hàng để nhanh chóng đạt được 3/12/14 ỏa thuận15
các th
- Khi nào sử dụng RAD?
•
Hệ thống dễ dàng phân chia module và có thể mở rộng
•
Hệ thống mà những yêu cầu được biết rõ và hợp lý
•
Người dùng có thể tham gia tốt qua toàn bộ chu kỳ
sống (life cycle)
•
Dự án có thời gian phát triển ngắn
•
Những thành phần sử dụng lại có sẵn trong kho phần
mềm
•
Những hệ thống nhỏ, những hệ thống không có tính
nghiêm ngặt (critical)…. 3/12/14 16
- MÔ HÌNH THÁC NƯỚC ( WATERFALL)
3/12/14 17
- q
Như một dòng chảy tuần tự, tuyến tính
q
Một giai đoạn được bắt đầu khi hoàn tất giai đoạn
trước nó.
q
Sang giai đoan mới không thể quay lại giai đoạn trước
nó.
3/12/14 18
- Khảo sát hiện trạng
q
Hiện trạng bài toán:
ü
Mô hình tổ chức
ü
Nghiệp vụ
ü
Tin học của khách hàng mà phần
mềm nhắm tới.
q
Mục tiêu:
ü
Hiểu rõ quy trình nghiệp vụ khách
hàng.
ü
Có bao nhiêu quá trình nghiệp vụ.
ü
Họ làm gì với những nghiệp vụ đó.
3/12/14 19
- Xác định yêu cầu
q
Trả lời được câu hỏi:
ü
Xây dựng làm gì?
ü
Ứng dụng vào lĩnh vực nào .
q
Đáp ứng yêu cầu, nhu cầu người
dùng:
ü
Chức năng: Mô tả hệ thống phải
làm gì, khả năng thực hiện những
công việc gì…
ü
Phi chức năng: độ tin cậy, thời
gian đáp ứng, lưu trữ, tương thích
giữa phần cứng và phần mềm…
3/12/14 20
nguon tai.lieu . vn