intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 2 (Phần 1) - ĐH Bách khoa Hà Nội

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:35

25
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 2: Các pha trong phát triển phần mềm (Phần 1). Những nội dung chính trong chương này gồm có: Đặc điểm của phần mềm, các vấn đề của phát triển phần mềm, các mô hình phát triển phần mềm, các pha trong phát triển phần mềm. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 2 (Phần 1) - ĐH Bách khoa Hà Nội

  1. Kỹ thuật phần mềm om .c ứng dụng ng co an Chương 2 th ng Các pha trong phát triển phần mềm o (Phần 1) du u Đặt vấn đề cu 9/5/2017 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Nội dung  2.1 Đặt vấn đề – 2.1.1Đặc điểm của phần mềm om – 2.1.2Các vấn đề của phát triển phần mềm .c – 2.1.3Các mô hình phát triển phần mềm ng  2.2 Các pha trong phát triển phần mềm co – 2.2.1Nghiên cứu yêu cầu (Requirements and an Specifications) th – 2.2.2Phân tích và thiết kế (System Analysis and ng Design) o – 2.2.3Triển khai (Coding and Unit Test) du – 2.2.4Thử nghiệm (Test) u – 2.2.5Cài đặt và bảo trì (Deployment and Maintenance) cu 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. 2.1.1. Đặc điểm của phần mềm  Đặc tính chung của phần mềm: om – Là hàng hóa vô hình .c – Chất lượng phần mềm không giảm đi theo thời gian ng – Phần mềm vốn chứa lỗi tiềm tàng co – Lỗi phần mềm dễ được phát hiện bởi người ngoài an – Chức năng của phần mềm thường biến hóa, thay đổi th theo thời gian ng – Hiệu ứng làn sóng trong thay đổi phần mềm o – Phần mềm vốn chứa ý tưởng và sáng tạo của tác du giả/nhóm làm ra nó u cu – Có thể sao chép rất đơn giản 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. 2.1.1. Đặc điểm của phần mềm  Phần mềm tốt om .c ng Đặc co Yếu Hiệu suất xử lý trưng tố an khái gần th niệm đây phần Tính dễ hiểu ng mềm o tốt du Các chỉ tiêu cơ bản u cu Thời gian (Phần cứng phát triển) 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. Các chỉ tiêu cơ bản để đánh giá phần mềm tốt om – Phản ánh đúng yêu cầu người dùng (tính hiệu quả) – Chứa ít lỗi tiềm tàng .c – Giá thành không vượt quá giá ước lượng ban đầu ng – Dễ vận hành, sử dụng co – Tính an toàn và độ tin cậy cao an th o ng du u cu 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. 2.1.1. Đặc điểm của phần mềm Cấu trúc phần mềm là cấu trúc phân cấp om System .c ng co Subsystem Subsystem Job unit Master files an  th ng Program Temporary Program Jobstep unit o du files  u cu Module Module Subroutine Member unit Arguments Arguments Common Module CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. Các khái niệm (Software concepts) om  Khái niệm tính môđun (modularity concept) .c  Khái niệm chi tiết hóa dần từng bước (stepwise ng co refinement concept) an th  Khái niệm trừu tượng hóa (abstraction concept): ng về thủ tục, điều khiển, dữ liệu o du  Khái niệm che giấu thông tin (information hiding u cu concept) 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  8. Tính môđun (Modularity)  Là khả năng phân chia phần mềm thành các om môđun ứng với các chức năng, đồng thời cho phép .c quản lý tổng thể ng co  Hai phương pháp phân chia môđun: an – Theo chiều sâu (depth, thẳng đứng)? th – Theo chiều rộng (width, nằm ngang)? ng  Quan hệ giữa các môđun: qua các đối số o du (arguments) u cu 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Khái niệm Che giấu thông tin om  “các môđun nên được đặc trưng bởi những quyết định .c thiết kế sao cho mỗi môđun ẩn kín đối với các môđun ng khác” [Parnas1972] co an th o ng du u cu 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Khái niệm Trừu tượng hóa  Trừu tượng hóa cho phép tập trung vấn đề ở mức om tổng quát, gạt đi những chi tiết mức thấp ít liên quan .c ng  3 mức trừu tượng co – Trừu tượng thủ tục an th – Trừu tượng dữ liệu ng o – Trừu tượng điều khiển du u cu 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Chi tiết hóa dần từng bước Cách tiếp cận từ trên xuống (top-down om approach) .c ng Trừu tượng hóa mức cao: co Thế giới bên ngoài Thế giới bên ngoài, trạng thái chưa rõ ràng an th Chi tiết ng hóa Trừu tượng hóa mức trung gian: Đặc tả yêu cầu `` Xác định yêu cầu và đặc tả o du từng những định nghĩa yêu cầu bước u cu Trừu tượng hóa mức thấp: Ngôn ngữ Từng lệnh của chương trình được chương trình viết bởi ngôn ngữ thủ tục nào đó 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Ví dụ: Trình tự giải quyết vấn đề từ mức thiết kế chương trình đến mức lập trình  Bài toán: từ một nhóm N số khác nhau tăng dần, hãy om tìm số có giá trị bằng K (nhập từ ngoài vào) và in ra .c vị trí của nó ng  Giải từng bước từ khái niệm đến chi tiết hóa từng câu co lệnh bởi ngôn ngữ lập trình nào đó an  Chọn giải thuật tìm kiếm nhị phân (pp nhị phân) th o ng du u cu 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. Cụ thể hóa thủ tục qua các chức năng om .c Bài toán đã cho Nhập giá trị K ng co an Nhận giá trị nhóm N số th o ng du Tìm kiếm giá trị (pp nhị phân) u cu In ra vị trí (nếu có) 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. Cụ thể hóa bước tiếp theo om .c Tìm kiếm giá trị Xác lập phạm vi mảng số ng (pp nhị phân) co Lặp lại xử lý tìm kiếm giá trị K trong an phạm vi tìm kiếm th o ng Lặp lại tìm kiếm K du Tìm vị trí giữa phân đôi mảng trong phạm vi tìmkiếm u So sánh K với giá trị giữa cu Đặt lại phạm vi tìm kiếm 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. 2.1.1. Đặc điểm của phần mềm  Ngày càng phức tạp. om  Yêu cầu triển khai nhanh. .c  Yêu cầu chất lượng cao ng co  Nhưng có nhiều phần mềm không được hoàn thành. Tại sao? an th o ng du u cu 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. So sánh chi phí cho Phần cứng và Phần mềm om .c % ng 100 co 80 - Phần cứng an Phát triển th 60 - ng Phần 40 mềm o - du Bảo trì 20 u - cu 0+ + + + 1955 1970 1985 2000 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. So sánh chi phí cho các pha om .c X¸c ®Þnh yªu cÇu 3% ng 8 7 7 §Æc t¶ 3% co 3 5 ThiÕt kÕ 5% an 3 LËp tr×nh 7% th KiÓm thö m«®un 8% ng KiÓm thö tÝch hîp 7% o 67 du B¶o tr× 67% u cu 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. 2.1.2. Các vấn đề của phát triển phần mềm  Hiểu sai yêu cầu của người dùng om  Không có khả năng đáp ứng tốc độ thay đổi .c nhanh chóng của yêu cầu ng  Các modules không ghép được với nhau co  Phần mềm làm ra khó bảo trì và nâng cấp an th  Phát hiện muộn các sai lầm trong dự án ng  Chất lượng phần mềm thấp o du  Các thành viên trong nhóm không cùng nỗ lực u  Quá trình xây dựng và phát hành không tin cậy cu 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. Vòng đời phần mềm (Software life-cycle)  Vòng đời phần mềm là thời kỳ tính từ khi phần mềm om được sinh (tạo) ra cho đến khi chết đi (từ lúc hình .c thành đáp ứng yêu cầu, vận hành, bảo dưỡng cho đến ng khi loại bỏ không đâu dùng) co  Quy trình phần mềm (vòng đời phần mềm) được an phân chia thành các pha chính: phân tích, thiết kế, th triển khai , kiểm thử, bảo trì. Biểu diễn các pha có ng khác nhau theo từng người o du u cu 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. Vòng đời phần mềm (Software life-cycle)  Mô hình vòng đời phần mềm của Boehm om Xác định yêu .c cầu hệ thống Kiểm chứng ng Xác định yêu cầu phần mềm co Kiểm chứng Thiết kế an căn bản th Kiểm chứng Thiết kế ng chi tiết Kiểm chứng o du Lập trình u Gỡ lỗi cu Kiểm thử Chạy thử Vận hành Bảo trì Kiểm chứng lại 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0