Xem mẫu

  1. TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM MÔN HỌC CÔNG NGHỆ PHẦN MỀM Chương 1 Tổng quan CNPM/NN 1
  2. Nội dung 1. Phần mềm 2. Công nghệ Phần mềm. 3. Những thách thức trong Công nghệ phần mềm. 4. Một số thuật ngữ công nghệ phần mềm. 5. Nghề nghiệp. 6. Các nhận thức sai lầm. CNPM/NN 2
  3. 1. Phần mềm (Software)?  Sản phẩm phần mềm là những chương trình điều khiển máy tính để thực hiện các chức năng hữu ích, nó thường bao gồm các tài liệu hướng dẫn.  Trong sản xuất phần mềm, các tài liệu đi theo với phần mềm là hết sức cần thiết. Các tài liệu đó là: tài liệu phân tích, tài liệu về kiến trúc phần mềm, các dữ liệu kiểm thử (testing), các tài liệu về các thành phần sử dụng lại, tài liệu theo dõi các phiên bản…  Ngoài việc cung cấp phần mềm, đơn vị sản xuất thường kèm theo các công việc như: cài đặt, bảo trì, nâng cấp, huấn luyện… CNPM/NN 3
  4. Phần mềm dùng làm gì?  Phần mềm là một sản phẩm  Dùng cho tính toán  Tạo, quản lý, thu nhận, biến đổi, thể hiện hay là truyền thông tin  Phần mềm là một phương tiện tạo sản phẩm  Hỗ trợ hay cung cấp trực tiếp các chức năng cho hệ thống  Điều khiển những chương trình khác (HĐH)  Thực hiện truyền thông (PM Mạng)  Giúp cho việc tạo các chương trình khác (Tool, Framework) CNPM/NN 4
  5. Phần mềm gồm những gì? Phần mềm là tập hợp những mục hay là đối tượng mà hình thành một cấu hình bao gồm: • Chương trình • Tài liệu • Dữ liệu… CNPM/NN 5
  6. Phần mềm gồm những gì? source documents codes reports manuals object plans codes data test suites test results prototypes CNPM/NN 6
  7. Đặc điểm của phần mềm?  Phần mềm phải được tạo bằng cách phát triển (develop or engineer) chứ không phải đơn thuần là sản xuất (manufacture)  Phần mềm không hao mòn  Phần mềm thì phức tạp, chi phí cho những thay đổi (change) ở những giai đoạn sau rất cao  Hầu hết phần mềm vẫn phải xây dựng bằng cách tùy biến CNPM/NN 7
  8. Lỗi theo thời gian CNPM/NN 8
  9. Bản chất của phần mềm)... Phần mềm  Phần mềm không sờ thấy được.  Phần mềm dễ dàng nhân bản.  Phần mềm khó đánh giá về chất lượng.  Phần mềm dễ dàng thay đổi.  Phần mềm không hao mòn. Nhận xét  Nhiều phần mềm thiết kế nghèo nàn đang gây lỗi.  Nhu cầu phần mềm không ngừng gia tăng.  Chúng ta đang ở trong tình trạng khủng hoảng khôngngừng (‘SW crisis’)  Chúng ta phải học để phát triển phần mềm(nhận xét) CNPM/NN 9
  10. Hai loại sản phẩm phần mềm  Các sản phẩm phần mềm được chia thành 2 nhóm:  Sản phẩm đại trà (Generic Product)  Sản phẩm theo đơn đặt hàng (Bespoke Product hoặc Customised Product)  Một phần mềm mới có thể được tạo ra bằng cách phát triển các chương trình mới, thay đổi và điều chỉnh các hệ thống phần mềm đại trà hoặc tái sử dụng lại các phần mềm đã tồn tại… CNPM/NN 10
  11. Những loại phần mềm  Phần mềm hệ thống  Phần mềm ứng dụng  Phần mềm khoa học kỹ thuật  Phần mềm nhúng  Phần mềm máy tính cá nhân  Ứng dụng Web  Phần mềm AI (Artificial Intelligence)… CNPM/NN 11
  12. 1.12 CNPM/NN 12
  13. 2. Công nghệ phần mềm?  Công nghệ phần mềm là sự thiết lập và sử dụng những nguyên lý công nghệ đúng đắn nhằm đạt được phần mềm có tính kinh tế tức là phần mềm có tính tin cậy và làm việc hiệu quả trên những máy móc thực  Công Nghệ Phần Mềm (software engineering): là sự áp dụng những phương pháp có tính hệ thống, có kỷ luật và có thể định lượng được nhằm phát triển, vận hành và bảo trì phần mềm, tức là áp dụng những kiến thức công nghệ vào phần mềm (theo IEEE) CNPM/NN 13
  14. Công nghệ phần mềm? Kỹ sư Phần mềm Phát triển sản phẩm phần mềm Công nghệ phần mềm Nguyên tắc công nghệ: 1. Tập trung vào vào việc phát triển hệ thống phần mềm chất lượng cao với chi phí hiệu quả 2. Tập trung vào tất cả các khía cạnh của sản phẩm phần mềm • Từ: Đặc tả • Tới: Phát hành và sử dụng 14
  15. Tại sao phải kỹ nghệ phần mềm?  Nền kinh tế của tất cả các quốc gia phát triển phụ thuộc vào phần mềm  Ngày càng nhiều hệ thống được phần mềm điều khiển  Chi tiêu cho phần mềm chiếm tỷ lệ đáng kể trong những quốc gia phát triển CNPM/NN 15
  16. Công nghệ học trong CNPM ?  Như các ngành công nghệ học khác, CNPM cũng lấy các phương pháp khoa học làm cơ sở  Các kỹ thuật về thiết kế, chế tạo, kiểm thử và bảo trì phần mềm đã được hệ thống hóa thành phương pháp luận và hình thành nên CNPM  Toàn bộ qui trình phát triển phần mềm gắn liền với khái niệm chu kỳ sống phát triểncủa phần mềm (Software development Life Cycle) CNPM/NN 16
  17. 3. Những thách thức đối với CNPM  Cứ 6 đề án triển khai thì có 2 bị huỷ bỏ  Trung bình thời gian thực hiện thực tế bị kéo dài 50% (cá biệt 200-300%)  Các đề án lớn dễ thất bại  3/4 các hệ thống lớn có lỗi khi thực thi  Quá trình phân tích yêu cầu (5% công sức): để lại 55% lỗi, có 18% phát hiện được  Quá trình thiết kế (25% công sức): để lại 30% lỗi, có 10% phát hiện được  Quá trình mã hoá, kiểm tra và bảo trì: để lại 15% lỗi, có 72% phát hiện được CNPM/NN 17
  18. The Standish Group
  19. Những thách thức đối với CNPM  Nguyên nhân  Phát triển phần mềm giống như một nghệ thuật, chưa được xem như một ngành khoa học  Quá trình phát triển phần mềm chưa được thống nhất  Phải viết lại s/w mỗi khi có sự thay đổi về ngôn ngữ, h/w hoặc o/s  Chưa đạt được 1 chuẩn cho việc đo lường hiệu suất và sản phẩm  Độ phức tạp của phần mềm quá cao đối với 1 “kiến trúc sư”  Kỹ thuật đặc tả để lại sự nhập nhằng trong các yêu cầu phần mềm  Làm việc nhóm không đúng kỷ luật gây ra các lỗi CNPM/NN 19
  20. Các rắc rối về phần mềm?  Vấn đề thời gian.  Vấn đề chi phí.  Vấn đề phát hiện lỗi trước khi chuyển giao.  Vấn đề đo lường. CNPM/NN 20
nguon tai.lieu . vn