Phát triển phần mềm phân tán NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (INTRODUCTION TO SOFTWARE ENGINEERING) 1 Nội dung I Phần mềm • 1 Định nghĩa • 2 Đặc tính của phần mềm • 3 Thế nào là phần mềm tốt? • 4 Phân loạ[.]
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (INTRODUCTION TO SOFTWARE ENGINEERING) Nội dung I Phần mềm • Định nghĩa • Đặc tính phần mềm • Thế phần mềm tốt? • Phân loại phần mềm II Cơng nghệ phần mềm • Định nghĩa • Công nghệ học CNPM • Mục tiêu cơng nghệ học phần mềm • SE - cơng nghệ phân lớp • SE - pha • Những khó khăn sản xuất phần mềm I Phần mềm Định nghĩa phần mềm – Phần mềm (Software - SW) khái niệm đối nghĩa với phần cứng (Hardware - HW), nhiên, khái niệm tương đối – Từ xưa, SW thứ cho không bán kèm theo máy (HW) – Dần dần, giá thành SW ngày cao cao HW Các đặc tính SW HW Hardware • Vật “cứng” • Kim loại • Vật chất • Hữu hình • Sản xuất cơng nghiệp máy móc • Định lượng • Hỏng hóc, hao mịn Software • Vật “mềm” • Kỹ thuật sử dụng • Trừu tượng • Vơ hình • Sản xuất người • Định tính • Khơng hao mịn SW đối nghĩa với HW • Vai trị SW ngày thể trội • Máy tính hộp khơng có SW • Ngày nay, SW định chất lượng hệ thống máy tính (HTMT), chủ đề cốt lõi, trung tâm HTMT • Hệ thống máy tính gồm HW SW Định nghĩa • Phần mềm – Các lệnh (chương trình máy tính) thực cung cấp chức kết mong muốn – Các cấu trúc liệu làm cho chương trình thao tác thơng tin thích hợp – Các tư liệu mơ tả thao tác cách sử dụng chương trình • IEEE: Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system Định nghĩa • Trong hệ thống máy tính, trừ bỏ thiết bị loại phụ kiện phần cịn lại phần mềm (SW) • Nghĩa hẹp: SW dịch vụ chương trình để tăng khả xử lý phần cứng máy tính (như hệ điều hành - OS) • Nghĩa rộng: SW tất kỹ thuật ứng dụng để thực dịch vụ chức cho mục đích phần cứng SW theo nghĩa rộng • Không SW SW ứng dụng • Phải gồm khả năng, kinh nghiệm thực tiễn kỹ kỹ sư (người chế phần mềm): Kỹ kỹ sư phầm mềm (Knowhow of Software Engineer) • Là tất kỹ thuật làm cho sử dụng phần cứng máy tính đạt hiệu cao Đặc tính chung phần mềm • Là hàng hóa vơ hình, khơng nhìn thấy • Chất lượng phần mềm: khơng mịn mà có xu hướng tốt lên sau lần có lỗi (error/bug) phát sửa • Phần mềm vốn chứa lỗi tiềm tàng, theo quy mơ lớn khả chứa lỗi cao • Lỗi phần mềm dễ phát người ngồi Đặc tính chung phần mềm • Chức phần mềm thường biến hóa, thay đổi theo thời gian (theo nơi sử dụng) • Hiệu ứng sóng thay đổi phần mềm • Phần mềm vốn chứa ý tưởng sáng tạo tác giả/nhóm làm • Cần khả “tư nhị phân” xây dựng, phát triển phần mềm • Có thể chép đơn giản 10 ... hành Phần mềm ứng dụng Phần mềm mục đích chung Phần mềm xử lý văn Phần mềm nhúng Chương trình tiện ích Phần mềm mục đích đặc biệt Phần mềm tính tốn KHKT Chương trình thư viện Phần mềm web Phần mềm. .. Phần mềm nhúng (Embedded SW) Phần mềm máy cá nhân (Personal computer SW) Phần mềm Web (Web-based SW) Phần mềm trí tuệ nhân tạo (Artificial Intelligent SW) 15 Phân loại phần mềm Phần mềm Phần mềm. .. Phần mềm • Định nghĩa • Đặc tính phần mềm • Thế phần mềm tốt? • Phân loại phần mềm II Cơng nghệ phần mềm • Định nghĩa • Cơng nghệ học CNPM • Mục tiêu cơng nghệ học phần mềm • SE - cơng nghệ phân