logo

Bài giảng môn Công nghệ phần mềm


CHƯƠNG 1: LƯỢC SỬ VÀ MỤC TIÊU CỦA CÔNG NGHỆ PHẦN MỀM 1 01/15/10 Bài giảng môn CNPM I. Mục tiêu – Kiến thức: Giúp sinh viên – Kỹ năng:  Kỹ năng tìm tòi, nghiên cứu tài liệu. – Thái độ:  Nghiêm túc trong công việc, ham học hỏi, tự học để nâng cao trình độ. 2 01/15/10 Bài giảng môn CNPM II. Chuẩn bị – Giáo viên:  Giáo án, máy tính, projector. – Sinh viên:  Tài liệu, vở, viết. III. Phương pháp  Phương pháp thuyết trình  Phương pháp đặt vấn đề. 3 01/15/10 Bài giảng môn CNPM Chương 1. LƯỢC SỬ VÀ MỤC TIÊU CỦA CÔNG NGHỆ PHẦN MỀM 1.1. Kỹ thuật lập trình giai đoạn thế hệ thứ nhất của máy tính điện tử. 1.2. Cuộc khủng hoảng lập trình những năm 60. 1.3. Công nghệ phần mềm là gì? 1.4. Những nội dung cơ bản của Công nghệ phần mềm. 4 01/15/10 Bài giảng môn CNPM 1.1. Kỹ thuật lập trình giai đoạn thế hệ thứ nhất của máy tính điện tử  Năng suất làm các sản phẩm phần mềm là thấp nhất so với các hoạt động trí tuệ khác.  Việc kiểm tra, tìm lỗi và hoàn thiện sản phẩm mất rất nhiều thời gian.  Trước những năm 60 người ta coi lập trình như là hoạt động nghệ thuật nhuốm màu sắc tài nghệ cá nhân hơn là khoa học. 5 01/15/10 Bài giảng môn CNPM 1.2. Cuộc khủng hoảng lập trình những năm 60  Chi phí cho tin học quá lớn, trong đó chi phí cho phần mềm chiếm tỷ lệ cao và ngày càng tăng so với chi phí kỹ thuật tin học (phần cứng).  Rất nhiều đề án lớn nhằm ứng dụng tin học bị thất bại liên tiếp. Nguyên nhân thất bại chủ yếu là do phần đảm bảo chương trình. 6 01/15/10 Bài giảng môn CNPM 1.3. Công nghệ phần mềm là gì?  Khi tìm hiểu về công nghệ phần mềm, chúng ta thường đặt ra một số câu hỏi sau: – Phần mềm là gì? – Công nghệ phần mềm là gì? – Sự khác biệt giữa công nghệ phần mềm và khoa học máy tính? – Sự khác biệt giữa công nghệ phần mềm và công nghệ hệ thống? – Quy trình phần mềm là gì? – Mô hình quy trình phát triển phần mềm là gì? – Chi phí của công nghệ phần mềm bao gồm những gì? – Các phương pháp công nghệ phần mềm là gì? – CASE (Computer-Aided Software Engineering) là gì? – Thế nào là một phần mềm tốt? 7 01/15/10 Bài giảng môn CNPM 1.3. Công nghệ phần mềm là gì? (2) 1.3.1. Định nghĩa 1.3.2. Triển khai phần mềm theo sắc thái công nghệ. 1.3.3. Đảm bảo sự thông hiểu lẫn nhau. 1.3.4. Tận dụng quỹ thuật toán và chương trình. 1.3.5. Phần mềm cho công nghệ phần mềm. 8 01/15/10 Bài giảng môn CNPM 1.3.1. Định nghĩa  Khái niệm về công nghệ phần mềm được đưa ra lần đầu tiên vào năm 1968 tại hội nghị thảo luận về khủng hoảng phần mềm.  Công nghệ phần mềm đề cập tới các lý thuyết, phương thức và công cụ để xây dựng phần mềm chuyên nghiệp, mang lại lợi nhuận cao. 9 01/15/10 Bài giảng môn CNPM 1.3.1. Định nghĩa (2)  Công nghệ phần mềm (Software Engineering) là lĩnh vực nghiên cứu của Tin học nhằm đề xuất các nguyên lý, phương pháp, công cụ, cách tiếp cận và phương tiện phục vụ cho việc thiết kế và cài đặt các sản phẩm phần mềm nhằm đạt được các chỉ tiêu cơ bản sau đây một cách tốt nhất: – Tính đúng đắn, – Tính khoa học, – Tính dễ học và dễ sửa đổi, cải tiến, – Tính dễ sử dụng, – Tính phổ dụng, 10 – Tính độc lập với thiết bị. 01/15/10 Bài giảng môn CNPM 1.3.2. Triển khai PM theo sắc thái công nghệ  Công nghệ sản xuất một mặt hàng nào đó thường gồm các giai đoạn sau: 1. Tìm hiểu nhu cầu của khách hàng. 2. Xác định các chức năng cần có của sản phẩm. 3. Chia các chức năng thành những nhóm độc lập tương đối với nhau. Mỗi nhóm ứng với một bộ phận hợp thành sản phẩm. 4. Giao việc thiết kế và sản xuất từng bộ phận cho từng người hoặc nhóm người. 5. Các nhóm triển khai công việc: Thực hiện các bước thiết kế, sản xuất, thử nghiệm. 11 01/15/10 Bài giảng môn CNPM 1.3.2. Triển khai PM theo sắc thái công nghệ (2)  Công nghệ sản xuất một mặt hàng nào đó thường gồm các giai đoạn sau: 6. Ghép nối các bộ phận, chi tiết thành sản phẩm. 7. Thử nghiệm sản phẩm, sửa nếu cần. 8. Bán hoặc giao lô sản phẩm đầu tiên cho khách hàng. 9. Thu thập thông tin phản hồi từ phía người sử dụng. Quyết định sửa lại sản phẩm, cải tiến hoặc hủy bỏ việc sản xuất sản phẩm 12 này. 01/15/10 Bài giảng môn CNPM 1.3.3. Đảm bảo sự thông hiểu lẫn nhau  Là một trong những yếu tố quan trọng hàng đầu.  Phương tiện giao tiếp trong nhóm chính là ngôn ngữ đặc tả.  Các nguyên tắc hành động đảm bảo trong sáng, dễ hiểu: triển khai chương trình theo cấu trúc, từ trên xuống và tinh chế dần. 13 01/15/10 Bài giảng môn CNPM Cách tiếp cận từ trên xuống (top-down approach) Trừu tượng hóa mức cao: Thế giới bên ngoài Thế giới bên ngoài,  trạng thái chưa rõ ràng Chi tiết 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ả  từng những định nghĩa yêu cầu bước 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 đó 14 01/15/10 Bài giảng môn CNPM 1.3.4. Tận dụng quỹ thuật toán và chương trình  Tìm và sử dụng lại những module, thủ tục hoặc thuật toán đã có sẵn.  Hãy làm việc theo nguyên tắc “mình vì mọi người, mọi người vì mình”. 15 01/15/10 Bài giảng môn CNPM 1.3.5. Phần mềm cho công nghệ phần mềm  CASE (Computer-Aided Software Engineering) là những hệ chương trình được sử dụng để hỗ trợ các hoạt động trong quy trình xây dựng phần mềm.  CASE trợ giúp các nhóm làm phần mềm trong tất cả các giai đoạn. Có 2 loại CASE: – Upper-CASE: công cụ để hỗ trợ các hoạt động đầu tiên như đặc tả yêu cầu và thiết kế. – Lower-CASE: công cụ để hỗ trợ các hoạt động sau như lập trình, gỡ lỗi và kiểm thử. 16 01/15/10 Bài giảng môn CNPM 1.4. Những nội dung cơ bản của CNPM 1.4.1. Tìm hiểu và phân tích yêu cầu 1.4.2. Đặc tả chương trình 1.4.3. Lập trình cấu trúc 1.4.4. Kiểm thử 1.4.5. Chứng minh tính đúng đắn của chương trình. 1.4.6. Xem xét chất lượng chương trình. 1.4.7. Quản lý thiết kế, cài đặt, lập hồ sơ. 1.4.8. Đảm bảo việc cung cấp các phần mềm trợ giúp cho hoạt động của nhóm thiết kế. 17 01/15/10 Bài giảng môn CNPM MỘT CÁCH NHÌN TỔNG QUAN VỀ QUY TRINH PHAT ̀ ́ ̉ ̀ ̀ TRIÊN PHÂN MÊM Gồm 3 giai đoạn lớn: – Giai đoạn định nghĩa: Phân tích hệ thống, Hoạch định đề tài, Phân tích yêu cầu. – Giai đoạn phát triển: Thiết kế phần mềm, Sinh mã, Kiểm tra phần mềm. – Giai đoạn bảo trì. 18 01/15/10 Bài giảng môn CNPM 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 tìm số có giá trị bằng K (nhập từ ngoài vào) và in ra vị trí của nó?  Giải từng bước từ khái niệm đến chi tiết hóa từng câu lệnh bởi ngôn ngữ lập trình nào đó.  Chọn giải thuật tìm kiếm nhị phân (pp nhị phân) 19 01/15/10 Bài giảng môn CNPM Cụ thể hóa thủ tục qua các chức năng Bài toán đã cho Nhập giá trị K Nhận giá trị nhóm N số Tìm kiếm giá trị (pp nhị phân) In ra vị trí (nếu có) 20 01/15/10 Bài giảng môn CNPM
DMCA.com Protection Status Copyright by webtailieu.net