Bài giảng nhập môn công nghệ phần mềm (introduction to software engineering) chương 1 nguyễn nhất hải

7 2 0
Bài giảng nhập môn công nghệ phần mềm (introduction to software engineering) chương 1   nguyễn nhất hải

Đang tải... (xem toàn văn)

Thông tin tài liệu

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (INTRODUCTION TO SOFTWARE ENGINEERING) 1 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ại phần mềm II Công nghệ phầ[.]

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 co ng c om NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (INTRODUCTION TO SOFTWARE ENGINEERING) an Định nghĩa phần mềm Các đặc tính SW HW du o I Phần mềm ng th 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 cu u – 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 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 3 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt SW đối nghĩa với HW Định nghĩa • Phần mềm • Vai trò SW ngày thể trội • Máy tính hộp khơng có SW – 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 c om • 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 co ng • IEEE: Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system an SW theo nghĩa rộng du o Định nghĩa ng th • 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 cu u • 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 7 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt Đặc tính chung phần mềm Đặ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 c om • 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 co ng • 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 • 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 an 10 ng th 10 3.1 Các tiêu Hiệu suất xử lý cu Yếu tố khái niệm phần mềm tốt u du o Thế phần mềm tốt ? Tính dễ hiểu • Phản ánh u cầu người dùng (tính hiệu - effectiveness) • Chứa lỗi tiềm tàng Đặc trưng gần • Giá thành không vượt giá ước lượng ban đầu • Dễ vận hành, sử dụng Các tiêu • Tính an tồn độ tin cậy cao 11 11 12 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.2 Hiệu suất xử lý cao 3.3 Dễ hiểu • Hiệu suất thời gian tốt (efficiency): • Kiến trúc cấu trúc thiết kế dễ hiểu • Dễ kiểm tra, kiểm thử, kiểm chứng – Độ phức tạp tính tốn thấp (Time complexity) – Thời gian quay vòng ngắn (Turn Around Time: TAT) – Thời gian hồi đáp nhanh (Response time) c om • Dễ bảo trì • Có tài liệu (mơ tả u cầu, điều kiện kiểm thử, vận hành, bảo trì, FAQ, ) với chất lượng cao ng • Sử dụng tài nguyên hữu hiệu: CPU, RAM, HDD, Internet resources, co Tính dễ hiểu: tiêu ngày quan trọng an 13 14 • • • • Phần mềm Phần mềm hệ thống (System SW) Phần mềm thời gian thực (Real-time SW) Phần mềm nghiệp vụ (Business SW) Phần mềm tính tốn KH&KT (Engineering & Science SW) 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) u Phần mềm hệ thống cu • • • • Phân loại phần mềm du o Phân loại phần mềm ng th 13 14 Hệ điều hành 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 nghiệp vụ Chương trình dịch Phần mềm đặt hàng 15 15 Phần mềm ứng dụng 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt 16 II Công nghệ phần mềm (Software Engineering) Câu hỏi: Phân biệt khái niệm sau Định nghĩa • Hệ thống, phần mềm, ứng dụng • Lập trình, phát triển phần mềm – Bauer [1969]: CNPM việc thiết lập sử dụng nguyên tắc công nghệ học đắn dùng để thu phần mềm cách kinh tế vừa tin cậy vừa làm việc hiệu máy thực – Parnas [1987]: CNPM việc xây dựng phần mềm nhiều phiên nhiều người – Ghezzi [1991]: CNPM lĩnh vực khoa học máy tính, liên quan đến xây dựng hệ thống phần mềm vừa lớn vừa phức tạp hay số nhóm kỹ sư co ng c om • Lập trình viên kỹ sư phần mềm an 17 18 • IEEE [1993]: CNPM Định nghĩa du o Định nghĩa ng th 17 18 • Sommerville [1995]: CNPM lĩnh vực liên quan đến lý thuyết, phương pháp công cụ dùng cho phát triển phần mềm • K Kawamura [1995]: CNPM lĩnh vực học vấn kỹ thuật, phương pháp luận công nghệ học (lý luận kỹ thuật thực hóa nguyên tắc, nguyên lý đó) tồn quy trình phát triển phần mềm nhằm nâng cao chất lượng sản xuất phần mềm cu u – (1) việc áp dụng phương pháp tiếp cận có hệ thống, lượng hóa phát triển, vận hành bảo trì phần mềm; – (2) nghiên cứu phương pháp tiếp cận dùng (1) • Pressman [1995]: CNPM mơn tích hợp quy trình, phương pháp, công cụ để phát triển phần mềm máy tính 19 19 20 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt Cơng nghệ học CNPM • Cơng nghệ phần mềm lĩnh vực khoa học phương pháp luận, kỹ thuật cơng cụ tích hợp quy trình sản xuất vận hành phần mềm nhằm tạo phần mềm với chất lượng mong muốn [Software Engineering is a scientific field to deal with methodologies, techniques and tools integrated in software production-maintenance process to obtain software with desired qualities] • Như ngành cơng nghệ học khác, CNPM lấy phương pháp khoa học làm sở • Các kỹ thuật thiết kế, chế tạo, kiểm thử bảo trì phần mềm hệ thống hóa thành phương pháp luận hình thành nên CNPM • Tồn quy trình quản lý phát triển phần mềm gắn với khái niệm vòng đời phần mềm, mơ hình hóa với kỹ thuật phương pháp luận trở thành chủ đề khác CNPM co ng c om Định nghĩa an 21 22 ng th 21 22 Các mục tiêu du o Cơng nghệ học CNPM • Trong vịng đời phần mềm khơng có chế tạo mà bao gồm thiết kế, vận hành bảo dưỡng (tính quan trọng thiết kế bảo dưỡng) • Trong khái niệm phần mềm, khơng có chương trình mà tư liệu phần mềm • Cách tiếp cận cơng nghệ (khái niệm cơng nghiệp hóa) thể chỗ nhằm nâng cao suất (tính suất) độ tin cậy phần mềm, đồng thời giảm chi phí giá thành cu u – – – – – – – 23 23 Tăng suất chất lượng phần mềm Quản lý lập lịch hiệu Giảm chi phí phát triển phần mềm Đáp ứng yêu cầu nhu cầu khách hàng Tăng cường quy trình kỹ nghệ phần mềm Tăng cường thực hành kỹ thuật phần mềm Hỗ trợ hiệu có hệ thống hoạt động kĩ sư phát triển 24/46 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt What is SE? What is SE? • Quy trình - Process Gắn kết lớp với Nền tảng cho kỹ thuật phần mềm Đảm bảo thời gian phát triển Tạo sở cho việc kiểm soát, quản lý dự án phần mềm Thiết lập bối cảnh mà phương pháp kỹ thuật sử dụng Tạo sản phẩm Thiết lập cột mốc Đảm bảo chất lượng Quản lý thay đổi c om – – – – – – – – – co ng • SE cơng nghệ phân lớp – Quy trình (Process) – Các phương pháp (Methods) – Các cơng cụ (Tools) an 25 26 • Công cụ - Tools – Tự động bán tự động hỗ trợ cho quy trình phương pháp u • Các phương pháp - Methods What is SE? du o What is SE? ng th 25 26/46 cu – Cung cấp kỹ thuật cho xây dựng phần mềm – Các tác vụ: giao tiếp, phân tích yêu cầu, mơ hình thiết kế, xây dựng chương trình, kiểm thử hỗ trợ – Dựa nguyên tắc • Hướng đến chất lượng - A quality focus – Nền tảng – Bất kỳ cách tiếp cận kỹ thuật phải dựa cam kết chất lượng – Thúc đẩy liên tục việc cải tiến quy trình • Để chi phối lĩnh vực cơng nghệ • Bao gồm hoạt động mơ hình hóa 27/46 28/46 27 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... viện Phần mềm web Phần mềm nghiệp vụ Chương trình dịch Phần mềm đặt hàng 15 15 Phần mềm ứng dụng 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt 16 II Công nghệ phần mềm (Software Engineering). .. loại phần mềm ng th 13 14 Hệ điều hành 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. .. trọng an 13 14 • • • • Phần mềm Phần mềm hệ thống (System SW) Phần mềm thời gian thực (Real-time SW) Phần mềm nghiệp vụ (Business SW) Phần mềm tính tốn KH&KT (Engineering & Science SW) Phần mềm nhúng

Ngày đăng: 27/02/2023, 07:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan