Xem mẫu

  1. KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CNPM --------0O0-------- Môn học PHÁT TRIỂN VẬN HÀNH VÀ BẢO TRÌ PHẦN MỀM
  2. GIỚI THIỆU MÔN HỌC • Số ĐVHT: 3 • Các môn học trước: CNPM, Phát triển phần mềm hướng đối tương, lập trình hướng đối tượng, kiểm thử phầm mềm, đặc tả hình thức
  3. GIỚI THIỆU MÔN HỌC(tt) • Nội dung tóm tắt: – Các khái niệm liên quan đến công nghệ phần mềm – Nhấn mạnh các hoạt động trong hai giai đoạn cuối của quy trình sản xuất phần mềm theo công nghệ: Phát triển, vận hành và bảo trì sản phẩm phần mềm
  4. GIỚI THIỆU MÔN HỌC(tt) • Tài liệu tham khảo [1] Software Engineering a Practitioner's approach; Roger S.Pressman [2] Designing Object System; Steve Cook, John Danniels [3] Analyzing Requirement and Defining Solution Architechtures; Ian Lewis - Bruce Nielson [4] UML toolkit; Hans-Erick Ericsson [5] A Discipline for software engineering; Watts S.Humphrey
  5. [6] Microsotf Application Architecture Guide; 2nd Edition; Microsoft Corporation ISBN: 9780735627109; 2009 [7] With the J2EETM Platform, Second Edition; Inderjeet Singh, BethStearns, Mark Johnson, and the Enterprise Team, 2002
  6. GIỚI THIỆU MÔN HỌC (tt) • Hình thức đánh giá: »Thang điểm môn học: 10 »Thi giữa kỳ và điểm kiểm tra thường xuyên: chiếm 30% kết quả cuối cùng »Thi cuối kỳ: chiếm 70% kết quả cuối cùng
  7. NỘI DUNG Chương 1: TỔNG QUAN Chương 2: PHÁT TRIỂN PHẦN MỀM Chương 3: VẬN HÀNH PHẦN MỀM Chương 4: BẢO TRÌ PHẦN MỀM
  8. Chương 1: TỔNG QUAN Mục đích: Nhắc lại một số lý thuyết trong môn học công nghệ phần mềm để thấy được những kiến thức mà môn học sẽ đặt trọng tâm
  9. NỘI DUNG CHÍNH 1.1 Nhắc lại một số k/n liên quan đến CNPM 1.1.1 Định nghĩa CNPM 1.1.2 Tiến trình, phương pháp, công cụ 1.1.3 Một cái nhìn tổng quan về CNPM 1.2 Mô tả chu trình phát triển của một phần mềm 1.2.1 Sản xuất phần mềm – một BT phức tạp 1.2.2 Chu trình phát triển của một sản phẩm p/m 1.2.3 Các g/đoạn của chu trình phát triển p/m
  10. 1.1 Nhắc lại một số khái niệm liên quan đến CNPM 1.1.1 Định nghĩa CNPM * Định nghĩa CNPM cổ điển (Fritz Bauer) “Công nghệ phần mềm là sự thiết lập và sử dụng các nguyên tắc khoa học nhằm mục đích tạo ra các sản phầm phần mềm một cách kinh tế mà các sản phầm phần mềm lại hoạt động một cách hiệu quả và tin cậy trên các máy tính”
  11. * Định nghĩa khác về CNPM - CNPM là các quy trình đúng kỷ luật và có định lượng được áp dụng cho sự phát triển, thực thi và bảo trì các hệ thống thiên về phần mềm. - CNPM tập trung vào quy trình, sự đo lường, sản phẩm, tính đúng thời gian và chất lượng
  12. 1.1.2 Tiến trình, phương pháp, công cụ • Tiến trình (process): Định nghĩa một bộ khung các tiêu chuẩn được thiết lập để triển khai CNPM • Phương pháp (method): Chỉ ra cách thức (“how to”) thực hiện những công việc cụ thể, như: • Phân tích đặc tả yêu cầu • Thiết kế • Xây dựng chương trình • Kiểm tra • Sửa lỗi • ....
  13. • Công cụ (tools): - Cung cấp các hỗ trợ tự động hay bán tự động đối với tiến trình và phương pháp. - Các công cụ được tích hợp thành CASE (Computer Aided Software Engineering) - Một số Case Tools như: UML, Enterprise Architecture, Rasional Rose…..
  14. 1.1.3 Một cách nhìn tổng quan về công nghệ phần mềm • CNPM có thể chia làm 3 giai đoạn lớn: – Giai đoạn định nghĩa: Phân tích hệ thống (software engineering); hoạch định đề tài dự án (software project management); phân tích yêu cầu (requirement analysis) – Giai đoạn phát triển: Thiết kế phần mềm (software developtment); sinh mã (code generation); kiểm tra phần mềm (software testing) – Giai đoạn vận hành và bảo trì : Sửa lỗi (correction), thay đổi môi trường thực thi (adaptation), nâng cấp (enhancement)
  15. 1.2 MÔ TẢ CHU TRÌNH PHÁT TRIỂN P/M • 1.2.1 Sản xuất p/m – một bài toán phức tạp • 1.2.2 Chu trình phát triển p/m • 1.2.3 Các giai đoạn ↑ P/M
  16. 1.2.1 Sản xuất p/m – một bài toán phức tạp • Một số lý do thường gặp: – Developers khó hiểu đúng những gì Users cần – Yêu cầu thường thay đổi trong (t) phát triển – Yêu cầu thường được mô tả bằng văn bản, dài dòng, khó hiểu, thậm chí mâu thuẫn => k/n phát triển?
  17. Một số lý do thường gặp: – Developers khó nhận thức thấu đáo các mối quan hệ tiềm ẩn và phức tạp cần được thể hiện chính xác trong các ứng dụng lớn – Khả năng nắm bắt các dữ liệu phức tạp của con người tại một thời điểm là có hạn – Khó định lượng chính xác hiệu xuất của các thành phần và thỏa mãn chính xác sự mong chờ từ phía người dùng – Lựa chọn p/c và p/m thích hợp cho 1 solution là 1 trong những thách thức lớn đối với Designers
  18. Một số lý do thường gặp: • P/M cần phải có khả năng thích ứng và mở rộng => P/m đứng vững trước những biến đổi trong môi trường dù từ phía cộng đồng người dùng hay công nghệ
  19. => Một số khuyết điểm thường gặp: – Không hỗ trợ tốt các chức năng nghiệp vụ cần thiết (Hiểu ko đúng những gì người dùng cần) – Hệ thống ko thể thích ứng cho phù hợp với những thay đổi về yêu cầu – Các Module không khớp với nhau – Phần mềm khó bảo trì và nâng cấp, mở rộng – Phát hiện trễ các lỗ hổng của dự án
  20. Một số khuyết điểm thường gặp: – Chất lượng phần mềm kém – Hiệu năng của phần mềm thấp – Các thành viên trong nhóm không biết được ai đã thay đổi cái gì, khi nào, ở đâu, tại sao phải thay đổi.
nguon tai.lieu . vn