Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Bài giảng: CÔNG NGHỆ PHẦN MỀM Giảng viên: Nguyễn Quang Vũ Khoa Khoa học máy tính PowerPoint Presentation
Download Presentation
Bài giảng: CÔNG NGHỆ PHẦN MỀM Giảng viên: Nguyễn Quang Vũ Khoa Khoa học máy tính

Bài giảng: CÔNG NGHỆ PHẦN MỀM Giảng viên: Nguyễn Quang Vũ Khoa Khoa học máy tính

205 Views Download Presentation
Download Presentation

Bài giảng: CÔNG NGHỆ PHẦN MỀM Giảng viên: Nguyễn Quang Vũ Khoa Khoa học máy tính

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Bài giảng: CÔNG NGHỆ PHẦN MỀM Giảng viên: Nguyễn Quang Vũ Khoa Khoa học máy tính

  2. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! HỘI GIẢNG NĂM 2009 Nội dung bài giảng:

  3. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Chương 1: TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM

  4. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản - Phần mềm (software): là một tập hợp các câu lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình (được gọi là các chương trình), nhằm tự động thực hiện một số các chức năng giải quyết một bài toán.

  5. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) - Công nghệ (engineering): là cách sử dụng các công cụ, các kỹ thuật trong cách giải quyết một vấn đề.

  6. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) - Công nghệ phần mềm (software engineering): là việc áp dụng các công nghệ một cách hệ thống trong việc phát triển các ứng dụng dựa trên máy tính.

  7. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Công cụ Phương pháp Quy trình CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) - Mô hình 3 tầng của CNPM

  8. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) - Nói một cách khác, công nghệ phần mềm bao trùm kiến thức, các công cụ, và các phương pháp để: . định nghĩa yêu cầu phần mềm . thiết kế phần mềm . xây dựng phần mềm . kiểm thử phần mềm . bảo trì phần mềm

  9. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) - Công nghệ phần mềm còn sử dụng kiến thức của các lĩnh vực khác: . kỹ thuật máy tính . khoa học máy tính . quản lý . toán học . quản lý dự án . quản lý chất lượng . công nghệ hệ thống (systems engineering).

  10. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) “Khi máy tính chưa xuất hiện, thì việc lập trình chưa có khó khăn gì cả. Khi mới xuất hiện một vài chiếc máy tính chức năng kém thì việc lập trình bắt đầu gặp một vài khó khăn nho nhỏ. Giờ đây khi chúng ta có những chiếc máy tính khổng lồ thì những khó khăn ấy trở nên vô cùng lớn. Như vậy ngành công nghiệp điện tử không giải quyết khó khăn nào cả mà họ chỉ tạo thêm ra những khó khăn mới. Khó khăn mà họ tạo nên chính là việc sử dụng sản phẩm của họ.” (Edsger Dijkstra)

  11. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.1 Các khái niệm cơ bản (tt) - Và nhiều khái niệm khác …. 1.2 Lịch sử công nghệ phần mềm

  12. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.3 Tiêu chuẩn của một sản phẩm phần mềm - Tính đúng - Tính khoa học - Tính tin cậy - Tính kiểm thử được - Tính hữu hiệu - Tính sáng tạo - Tính an toàn - Tính toàn vẹn

  13. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.3 Tiêu chuẩn của một sản phẩm phần mềm (tt) - Tính đối xứng và đầy đủ chức năng - Tính tiêu chuẩn và tính chuẩn - Tính độc lập - Tính dễ phát triển, hoàn thiện - Ngoài ra: phổ dụng, đơn giản, liên tác, súc tính, thứ lỗi, modul hóa, đầy đủ hồ sơ, theo dõi được, vận hành dễ,…

  14. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.4 Hồ sơ của một sản phẩm phần mềm • Đặc tả hệ thống. • Kế hoạch dự án phần mềm. . Đặc tả yêu cầu phần mềm. . Bản mẫu thực hiện được hay "trên giấy". • Tài liệu người dùng sơ bộ

  15. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.4 Hồ sơ của một sản phẩm phần mềm (tt) • Đặc tả thiết kế. . Mô tả thiết kế dữ liệu. . Mô tả thiết kế kiến trúc. . Mô tả thiết kế module. . Mô tả thiết kế giao diện. . Mô tả sự vật (nếu kỹ thuật hướng sự vật được dùng).

  16. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.4 Hồ sơ của một sản phẩm phần mềm (tt) • Chương trình gốc . Chương trình nguồn. . Bản in chương trình nguồn (listing). . Bản mô tả thuật toán tương ứng với chương trình nguồn. . Kế hoạch và thủ tục kiểm thử. . Các trường hợp kiểm thử và kết quả ghi lại.

  17. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.4 Hồ sơ của một sản phẩm phần mềm (tt) • Tài liệu vận hành và cài đặt. . Bản liệt kê các lỗi và cách xử lý. . Bản liệt kê các thông số đặc trưng của hệ thống. • Mô tả cơ sở dữ liệu. . Diagram và tự điển dữ liệu. . Dữ liệu ban đầu

  18. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 1. TỔNG QUAN VỀ CNPM 1.4 Hồ sơ của một sản phẩm phần mềm (tt) • Tài liệu người sử dụng đã xây dựng. . Bản hướng dẫn sử dụng chi tiết. . Bản tóm tắt hướng dẫn sử dụng. . Các chương trình trợ giúp có liên quan. • Tài liệu bảo trì. . Báo cáo vấn đề còn tồn tại. . Yêu cầu bảo trì. . Trình tự thay đổi công nghệ. • Các chuẩn và thủ tục cho kỹ thuật phần mềm . • Các tư liệu khác: hợp đồng, phiên bản, tài liệu pháp lý,...

  19. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Chương 2: CÁC HOẠT ĐỘNG TRONG TIẾN TRÌNH PHẦN MỀM

  20. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 2. CÁC HOẠT ĐỘNG … 2.1 Tiến trình phần mềm - Là một tập hợp các hành động mà mục đích của nó là xây dựng và phát triển phần mềm - Bao gồm các hoạt động: . Đặc tả . Phát triển: Thiết kế và cài đặt . Kiểm thử . Mở rộng: Bảo trì, cải tiến

  21. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 2. CÁC HOẠT ĐỘNG … 2.2 Đặc tả - Còn gọi là kỹ thuật xác định yêu cầu • Là quy trình tìm hiểu và định nghĩa những dịch vụ nào được yêu cầu và các ràng buộc trong quá trình vận hành và xây dựng hệ thống. • Gồm 4 pha chính . Nghiên cứu khả thi . Phân tích và rút ra các yêu cầu . Đặc tả yêu cầu . Đánh giá yêu cầu

  22. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 2. CÁC HOẠT ĐỘNG … 2.3 Thiết kế - Là quá trình thiết kế cấu trúc phần mềm dựa trên những tài liệu đặc tả • Gồm các công việc chính . Thiết kế kiến trúc . Đặc tả trừu tượng . Thiết kế giao diện . Thiết kế thành phần . Thiết kế cấu trúc dữ liệu . Thiết kế thuật toán

  23. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 2. CÁC HOẠT ĐỘNG … 2.4 Cài đặt • Là quá trình chuyển đổi từ tài liệu đặc tả hệ thống thành một hệ thống thực, có thể vận hành được và phải loại bỏ các lỗi của chương trình • Hoạt động cá nhân • Không có quy trình chung

  24. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 2. CÁC HOẠT ĐỘNG … 2.5 Kiểm thử 2.5.1 Xác minh và thẩm định • V&V – Verification and Validation • Là từ chung cho các quá trình kiểm thử để đảm bảo rằng phần mềm thỏa mãn các yêu cầu của chúng và các yêu cầu đó thỏa mãn các nhu cầu của người sử dụng • Có hai mục tiêu: . Phát hiện các khuyết tật trong hệ thống. . Đánh giá xem hệ thống liệu có dùng được hay không?

  25. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! CHƯƠNG 2. CÁC HOẠT ĐỘNG … 2.5 Kiểm thử 2.5.1 Xác minh và thẩm định (tt) • Verification: Are we building the product righ? • Validation: Are we buiding the right product ?

  26. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! 2.5.2 Kiểm thử phần mềm (KTPM) KTPM là quá trình thực hiện một chương trình phần mềm với mục đích là tìm ra LỖI, nếu có. KIỂM THỬ PHẦN MỀM

  27. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Công nghệ hệ thống Quản lý và đảm bảo chất lượng Đảm bảo chất lượng phần mềm Công nghệ phần mềm Xác minh và thẩm định phần mềm Xác minh và thẩm định phần mềm Kiểm thử phần mềm Kiểm thử phần mềm (a) Ngữ cảnh quy trình (b) Ngữ cảnh chất lượng Kiểm thử phần mềm trong một số ngữ cảnh 2.5.2 Kiểm thử phần mềm (KTPM)

  28. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! 2.5.2 Kiểm thử phần mềm (KTPM) • Việc kiểm thử của đội dự án được gọi là kiểm thử phát triển (Development test). • Các kiểm thử bởi các cơ quan bên ngoài được gọi là đảm bảo chất lượng (Quality assurance-QA) và kiểm thử chấp nhận (Acceptance test).

  29. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! 2.5.2 Kiểm thử phần mềm (KTPM) Quy trình kiểm thử: - Lập kế hoạch kiểm thử - Bố trí nhân viên kiểm thử. - Thiết kế các trường hợp kiểm thử. - Xử lý đo lường kiểm thử bằng cách thu thập dữ liệu. - Đánh giá sản phẩm phần mềm.

  30. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! 2.5.2 Kiểm thử phần mềm (KTPM) Mô hình chung

  31. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! 2.5.2 KTPM (tt) LỖI !!! 1 + 1 = 3 ??? Dù LỖI nhỏ hay lớn, tớ vẫn sẽ tìm ra ! Alo, LỖI !! Tôi có yêu cầu thế đâu ! LỖI !!! Không dùng được !

  32. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! 2.5.2 KTPM (tt) - Theo quan điểm của người dùng: Đảm bảo phần mềm đủ khả năng làm việc trong môi trường thực. - Sản phẩm của KTPM: Bảng đánh giá về quá trình xây dựng phần mềm. - Vai trò của KTPM: Công cụ tối quan trọng, quyết định đến việc đánh giá chất lượng phần mềm.

  33. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! - Kiểm thử viên: . Giỏi chuyên môn nghiệp vụ . Sáng tạo . Tâm

  34. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Các nguyên tắc cơ bản của KTPM - Nguyên tắc khách quan - Nguyên tắc ngẫu nhiên - Nguyên tắc “Người sử dụng kém” - Nguyên tắc “Kẻ phá hoại”

  35. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Các mức kiểm thử ?

  36. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử đơn vị ( Unit test) - Thế nào là một đơn vị phần mềm ? - Kiểm thử đơn vị: . Riêng biệt từng đơn vị phần mềm . Số lượng nhiều nhưng đơn giản . Xuyên suốt thời gian lập trình và cả chu kỳ phần mềm - Lập kế hoạch ngay khi lập trình

  37. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! - Thợ A: Bức tường phía trước

  38. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! - Thợ B: Bức tường phía sau

  39. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! - Thợ C: Bức tường bên trái

  40. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! - Thợ C: Bức tường bên phải

  41. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! ?

  42. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử tích hợp ( Intergration test) - Tích hợp dần các đơn vị phần mềm - Phát hiện lỗi giao tiếp và sự không tương thích - Tại mỗi thời điểm, chỉ tích hợp thêm 1 đơn vị phần mềm

  43. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử tích hợp (tt) (1) (2) (3) (4) (9) (8) (7) (6) (5)

  44. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử tích hợp ( tt) - Có 4 loại kiểm thử cơ bản trong kiểm thử tích hợp . Kiểm thử cấu trúc . Kiểm thử chức năng . Kiểm thử hiệu năng . Kiểm thử khả năng chịu tải - Lập kế hoạch khi thiết kế chi tiết

  45. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! - Nắng nóng ? - Mưa bão ? - Thông gió ? - Điện 220V ? - PCCC ? . . .

  46. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử hệ thống (System test) • Toàn bộ hệ thống . Chức năng phần mềm . Giao tiếp với phần mềm/phần cứng bên ngoài . Các yêu cầu về chất lượng • Hệ thống phải được tích hợp thành công trước đó • Lập kế hoạch khi thiết kế kiến trúc (thiết kế cấp cao)

  47. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử hệ thống ( tt)

  48. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Nói chuyện với hàng xóm được không ? Xe ô-tô để ở đâu nhỉ ? Nhảy dây trên sàn có làm ồn không nhỉ ? Đá bóng ?

  49. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Kiểm thử chấp nhận (Acceptance test) • Khách hàng thực hiện • Tương tự như System Test nhưng khác nhau về bản chất • Có hai loại kiểm thử là Alpha Test và Beta Test • Kèm theo một nhóm những dịch vụ và tài liệu đi kèm như hướng dẫn cài đặt, sử dụng,… • Lập kế hoạch khi nhận yêu cầu khách hàng

  50. Nguyễn Quang Vũ . VIETHANIT – MỘT ĐIỂM TỰA ! Tôi muốn sửa lại phòng khách lớn hơn ? Vấn đề này …!!! ?