Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương

ppt 32 trang phuongnguyen 2690
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_1_mo_dau_pham_m.ppt

Nội dung text: Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương

  1. NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Chương 1 Mở đầu 1
  2. Mục tiêu • Cung cấp các khái niệm cơ bản nhất trong lĩnh vực công nghệ phần mềm. • Hai khái niệm quan trọng nhất sẽ được tập trung trình bày là: •Phần mềm •Công nghệ phần mềm 2
  3. Nội dung 1. Một số khái niệm cơ bản 2. Kiến trúc các thành phần của PM 3. Quy trình Công nghệ phần mềm 3
  4. 1. Một số khái niệm cơ bản • Phần mềm là gì? – Là công cụ hỗ trợ nhà chuyên môn thực hiện tốt công việc trên máy tính. Lĩnh vực Nhà chuyên Công việc Phần mềm môn Giáo vụ Xếp lớp, thời khoá biểu Quản Giáo Theo dõi kết quả học tập Giáo viên Đăng ký giảng dạy lý dục Xem thời khoá biểu đào Sinh viên Đăng ký học phần Xem điểm tạo 4
  5. Phần mềm: ưu và khuyết • Ưu và khuyết điểm của việc sử dụng phần mềm để giải quyết công việc thay vì làm thủ công? • Tình huống: Nhân viên thuyết phục khách hàng sử dụng phần mềm để thực hiện công việc. Ưu điểm Khuyết điểm Chi phí ??? ??? Thời gian Nhân lực Rủi ro 5
  6. Yêu cầu phần mềm • Các công việc, các nghiệp vụ được hỗ trợ thực hiện trên máy tính bằng phần mềm. • Ví dụ: Xét phần mềm quản lý thư viện. – Lập thẻ độc giả – Tiếp nhận sách mới – Tra cứu sách – Cho mượn sách – Nhận trả sách – Lập báo cáo – 6
  7. Yêu cầu phần mềm (tt) Thế giới thực Bên trong máy tính (Nghiệp vụ) (Yêu cầu phần mềm) Ghi chép Lưu trữ Tìm kiếm Tra cứu Tính toán Xử lý Lập báo cáo, thống kê Lập báo biểu 7
  8. Phân loại Yêu cầu PM • Phần mềm hệ thống: – Phục vụ cho các phần mềm khác. Ví dụ: HDH, trình biên dịch, • Phần mềm dòng sản phẩm: – Cung cấp chức năng đặc biệt được dùng bởi cộng đồng lớn như PM xử lý văn bản, bảng tính, đồ họa, multimedia, giải trí, • Phần mềm nhúng (Embedded): – Cài đặt cứng trong sản phẩm. 8
  9. Phân loại Yêu cầu PM • Phần mềm mã nguồn mở: – Là PM có mã nguồn được cung cấp miễn phí. Việc sử dụng phải tuân theo giấy phép sử dụng kèm theo mã nguồn. • Phần mềm thế giới thực: – Giám sát, phân tích, điều khiển các biến cố ở thế giới thực khi chúng vừa xảy ra. Ví dụ: tòa nhà thông minh, cửa tự động, • Ứng dụng web: – Các PM chạy trên mạng. • 9
  10. Phân loại Yêu cầu PM • Phân loại theo lĩnh vực ứng dụng – Phần mềm Giảng Dạy – Phần mềm Quản Lý – Phần mềm Hệ Thống – Phần mềm Điều Khiển – Phần mềm Giải Trí – . 10
  11. Phân loại Yêu cầu PM • Phân loại theo mục đích tạo lập Phần mềm Diễn giải Theo hợp đồng Có khách hàng cụ thể Có yêu cầu cụ thể Có thời hạn và chi phí cụ thể Có trách nhiệm bảo trì Khung Không có khách hàng cụ thể Không có các yêu cầu cụ thể Là khung cho phép XD nhanh 1 PM theo HĐ. Đóng gói Không có khách hàng cụ thể Không có các yêu cầu cụ thể Được bán rộng rãi Không bảo trì - Chỉ nâng cấp phiên bản. Ngành CNPM chú trọng PM khung, PM đóng gói. 11
  12. Lớp phần mềm STT Lớp phần mềm Các phần mềm 1 Hỗ trợ giải bài tập Phân số, Tam thức, Số phức, 2 Trò chơi Cờ caro, Cờ gánh, Tetris, 3 Xếp lịch biểu Hội nghị, Hội đồng, TKB dạy, 4 Xét tuyển Lớp 10, Nhân sự, Bài báo, 5 Bình chọn Sản phẩm, Bài hát, Cầu thủ, 6 Quản lý học sinh Mầm non, Trung học, Trung tâm, 7 Nhân sự tiền lương Hành chánh, Sản xuất, Quân đội, 8 Bán hàng Thuốc tây, Vật liệu, Máy tính, 9 Thuê bao Điện, Điện thoại, Nước, 10 Cho mượn Sách, Truyện, 12
  13. Lớp phần mềm • Là hệ thống các phần mềm cùng lĩnh vực hoạt động nên chúng có cấu trúc và chức năng tương tự nhau. 13
  14. 2. Kiến trúc các thành phần của PM Người dùng Người dùng Giao diện Phần mềm Xử lý Dữ liệu Phần cứng Phần cứng 14
  15. Chức năng các thành phần của PM Thành phần Mô tả chức năng Giao diện Tiếp nhận các yêu cầu của người sử dụng Trình bày các kết quả của việc thực hiện các yêu cầu cho NSD Là hệ thống các hàm chuyên nhập xuất dữ liệu Xử lý Kiểm tra tính hợp lệ các dữ liệu được cung cấp từ NSD Xử lý cho ra kết quả Là hệ thống các hàm chuyên về xử lý tính toán Dữ liệu Lưu trữ lại các kết quả đã xử lý Truy xuất lại các dữ liệu đã lưu trữ Là hệ thống các hàm chuyên về đọc ghi dữ liệu 15
  16. Bảng tóm tắt các hàm và ý nghĩa STT Thành Hàm Ý nghĩa Ghi chú phần 1 Giao diện Nhập Nhập yêu cầu dữ liệu Cần xác định hình thức nguồn nhập/xuất và tổ chức Xuất Xuất kết quả đã xử lý dữ liệu tương ứng 2 Xử lý Kiểm tra Kiểm tra tính hợp lệ dữ Sử dụng hàm Nhập, liệu Đọc Xử lý Xử lý tính toán phát Sử dụng hàm Nhập, sinh, biến đổi trên dữ Xuất, Đọc, Ghi liệu 3 Dữ liệu Đọc Đọc dữ liệu từ bộ nhớ Cần xác định cách thức phụ vào bộ nhớ chính tổ chức lưu trữ dữ liệu Ghi Ghi dữ liệu từ bộ nhớ chính vào bộ nhớ phụ 16
  17. Chất lượng phần mềm • Như thế nào là phần mềm chất lượng? – Phần mềm có chất lượng là phần mềm thỏa các tính sau: 1. Tính đúng đắn 2. Tính tiện dụng 3. Tính hiệu quả 4. Tính tiến hóa 5. Tính tương thích 6. Tính bảo mật 7. Tính an toàn • Ghi chú: – Phần mềm không nhất thiết phải thoả mãn hết các tính chất trên. – Tuỳ vào loại phần mềm và yêu cầu của người dùng một số tính chất sẽ được chú trọng một số có thể bỏ qua. 17
  18. Chất lượng phần mềm • Đối với người phát triển: “Như thế nào là phần mềm chất lượng?” • Đối với người phát triển thì phần mềm có chất lượng là phần mềm thỏa các tính chất: 1. Tính dùng lại (tái sử dụng) 2. Dễ bảo trì 3. Dễ mang chuyển 4. Dễ mở rộng 18
  19. Chất lượng phần mềm • Phần mềm chất lượng là phần mềm thỏa các tính sau: Khách hàng Công ty SXPM Tính đúng đắn Tính dùng lại. Tính tiện dụng Tính dễ bảo trì. Tính hiệu quả Tính dễ mang chuyển Tính tiến hóa Tính dễ mở rộng. Tính tương thích Tính bảo mật Tính an toàn 19
  20. Chất lượng phần mềm • Tính đúng đắn: – Phần mềm thực hiện đầy đủ và chính xác các yêu cầu của người dùng. • Tính tiện dụng: – Dễ học, dễ sử dụng, có giao diện trực quan tự nhiên, thân thiện gần gũi với người sử dụng. • Tính hiệu quả: – Sử dụng tối ưu các tài nguyên máy tính (CPU- tốc độ, bộ nhớ - dung lượng lưu trữ, ) • Tính tương thích: – Dễ dàng trao đổi dữ liệu hay phối hợp với các phần mềm khác. Ví dụ : • Nhập danh mục sách từ tập tin Excel • Gởi báo cáo tổng kết năm học đến phần mềm WinFax, 20
  21. Chất lượng phần mềm • Tính tiến hóa: – Phần mềm dễ sửa đổi theo những yêu cầu mới, ngữ cảnh mới. – Sự sửa đổi lý tưởng nhất là do người dùng cuối lựa chọn. Ví dụ: Cho phép người dùng có thể khai báo các thay đổi trong thế giới thực liên quan như • Thay đổi về số sách mượn tối đa • Thay đổi công thức tính tiền phạt, • Tính bảo mật: – Phân quyền người dùng, mã hoá thông tin, mã hoá password, tránh các xâm nhập bất hợp pháp. • Tính an toàn: – Có cơ chế sao lưu và phục hồi dữ liệu, xác nhận trước khi xoá, không cho phép các thao tác xoá không hợp lệ 21
  22. Chất lượng phần mềm • Tính dùng lại (tái sử dụng) – Phần mềm viết theo hướng đối tượng (bao gồm các thành phần độc lập) dễ dàng sử dụng lại cho phần mềm khác, dự án khác. • Dễ bảo trì – Khi cần bảo trì dễ dàng biết được thành phần nào bảo trì và việc bảo trì không ảnh hưởng đến các thành phần khác. • Dễ mang chuyển – Dễ dàng cài đặt, chuyển đổi từ máy này sang mái khác, • Dễ mở rộng – Khi cần thêm tính năng, thuộc tính mới không phải phân tích, thiết kế lại từ đầu, 22
  23. 3. Qui trình Công nghệ phần mềm • Qui trình công nghệ phần mềm là tổ hợp các bước, các giai đoạn phải trải qua khi thực hiện việc sản xuất phần mềm. • Vấn đề: Các yêu cầu PM Phần mềm 23
  24. Mô hình thác nước cổ điển Xác định yêu cầu Qui trình 2 giai đoạn Phân tích 3 giai đoạn 4 giai đoạn Thiết kế 5 giai đoạn Cài đặt Kiểm chứng 24
  25. Mô hình thác nước cổ điển Bước Mục tiêu Kết quả nhận Kết quả chuyển giao Xác định Xác định chính xác Thông tin về các hoạt động Danh sách các YC công yêu cầu YC đặt ra cho PM của thế giới thực việc + các thông tin chi sẽ xây dựng tiết về các YC. Phân tích Mô tả lại thế giới Danh sách các YC + thông Mô hình xử lý thực thông qua tin liên quan Mô hình dữ liệu các mô hình Các mô hình khác Thiết kế Mô tả các thành Mô hình thế giới thực Mô tả thành phần giao phần của PM diên Mô tả thành phần xử lý Mô tả thành phần dữ liệu Cài đặt Tạo lập PM theo YC Mô hình PM Chương trình nguồn của PM Kiểm Tăng độ tin cậy của Danh sách YC PM với độ tin cậy cao (đã chứng PM Mô hình PM sửa lỗi). Phần mềm 25
  26. Mô hình thác nước cổ điển • Đặc trưng – Tuyến tính và tuần tự – Không thể quay lui – Yêu cầu phải được xác định trước. • Ưu điểm – Các cột mốc xác định rõ ràng – Chỉ một hoạt động (pha) tại một thời điểm – Dễ dàng đánh giá tiến độ – Tiếp cận dễ hiểu 26
  27. Mô hình thác nước cổ điển • Khuyết điểm – Khó có thể xác định hết yêu cầu tại thời điểm bắt đầu dự án, khách hàng chỉ làm việc trong Pha đầu ➔ rủi ro cao. – Yêu cầu có thể thay đổi • Thị trường thay đổi • Kỹ thuật thay đổi • Nhu cầu của người dùng thay đổi – Sản phẩm được hình thành ở giai đoạn cuối của tiến trình 27
  28. Mô hình thác nước cải tiến Xác định yêu cầu Cho phép quay lui khi phát hiện lỗi Phân tích trong giai đoạn phía trước Thiết kế Cài đặt Kiểm chứng 28
  29. Mô hình phần mềm mẫu (prototype) Bắt đầu Kết thúc Thu thập yêu cầu Xây dựng Thiết kế Sản phẩm Nhanh Tinh chế Prototype Xây dựng Prototype Khách hàng Đánh giá 29
  30. Mô hình phần mềm mẫu (prototype) • Tương tự như thác nước, bổ sung vào giai đoạn thực hiện PM mẫu (prototype) ngay sau khi xác định YC nhằm mục tiêu phát hiện nhanh các sai sót về yêu cầu. 30
  31. Tổng kết • Mỗi mô hình đều có ưu và khuyết điểm riêng. • Lựa chọn mô hình thích hợp dựa trên: – Phạm vi của tổ chức – Trình độ quản lý – Kỹ năng của đội ngũ nhân viên – Loại sản phẩm thực hiện • Có thể kết hợp sử dụng nhiều mô hình cùng lúc. 31
  32. Hỏi & Đáp 32