Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. Đ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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. Đ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
  15. 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
  16. 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
  17. MÔ HÌNH THÁC NƯỚC ( WATERFALL) 3/12/14 17
  18. 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
  19. 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
  20. 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