Công nghệ phần mềm

Công nghệ phần mềm (tiếng Anh: software engineering) là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm.[1] Ngành học kỹ sư phần mềm bao trùm kiến thức, các công cụ, và các phương pháp cho việc định nghĩa yêu cầu phần mềm, và thực hiện các tác vụ thiết kế, xây dựng, kiểm thử (software testing), và bảo trì phần mềm.[2] Kỹ sư phần mềm còn sử dụng kiến thức của các lĩnh vực như kỹ thuật máy tính, khoa học máy tính, quản lý, toán học, quản lý dự án, quản lý chất lượng, công thái học phần mềm (software ergonomics), và kỹ sư hệ thống (systems engineering).[2]

Lịch sử

[sửa | sửa mã nguồn]

Nghề nghiệp

[sửa | sửa mã nguồn]

Các ngành chuyên sâu

[sửa | sửa mã nguồn]

Kĩ nghệ phần mềm có thể được chia thành 10 ngành chuyên sâu, đó là:[3]

  1. Yêu cầu phần mềm: Phân tách, phân tích, đặc tả và phê chuẩn các yêu cầu đối với phần mềm.
  2. Thiết kế phần mềm: Việc thiết kế phần mềm thường được hoàn thành bằng các công cụ Computer-Aided Software Engineering (CASE) và sử dụng các tiêu chuẩn định dạng, như Unified Modeling Language (UML).
  3. Phát triển phần mềm: Xây dựng phần mềm thông qua việc dùng các ngôn ngữ lập trình.
  4. Kiểm thử phần mềm: Kiểm thử phần mềm là quá trình thực thi 1 chương trình với mục đích tìm ra lỗi. Kiểm thử phần mềm mục đích để đảm bảo sản phẩm phần mềm đáp ứng chính xác, đầy đủ và đúng theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra.
  5. Bảo trì phần mềm: Các hệ thống phần mềm thường có nhiều vấn đề và cần được cải tiến trong một thời gian dài sau khi đã được hoàn tất vào lần đầu tiên. Lĩnh vực con này xem xét các vấn đề đó.
  6. Quản lý cấu hình phần mềm: Bởi vì các hệ thống phần mềm rất phức tạp, cấu hình của chúng (ví dụ như kiểm soát phiên bảnmã nguồn) phải được quản lý bằng các phương pháp chuẩn và có cấu trúc.
  7. Quản lý kĩ nghệ phần mềm: Quản lý hệ thống phần mềm vay mượn rất nhiều khái niệm từ quản lý dự án, nhưng có nhiều khác biệt nhỏ gặp trong phần mềm mà không gặp trong các ngành quản lý khác.
  8. Quy trình phát triển phần mềm: Quy trình xây dựng phần mềm là điều tranh cãi giữa các nhà thực hành; một số quy trình nổi tiếng là Mô hình Thác nước, Mô hình Xoắn ốc, Phát triển Tăng tiến và Lặp, và Phát triển Linh hoạt.
  9. Các công cụ kĩ thuật phần mềm, xem bài Computer Aided Software Engineering
  10. Chất lượng phần mềm

Các ngành liên quan

[sửa | sửa mã nguồn]

Kĩ nghệ phần mềm liên quan đến các ngành khoa học máy tính, khoa học quản lý, và kĩ nghệ hệ thống.[4][5]

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ "IEEE Standard Glossary of Software Engineering Terminology," IEEE std 610.12-1990, 1990.
  2. ^ a b “Guide to the Software Engineering Body of Knowledge”. 6 tháng 2 năm 2004. Truy cập ngày 13 tháng 2 năm 2007.
  3. ^ SWEBOK executive editors, Alain Abran, James W. Moore; editors, Pierre Bourque, Robert Dupuis. (2004). Pierre Bourque and Robert Dupuis (biên tập). Guide to the Software Engineering Body of Knowledge - 2004 Version. IEEE Computer Society. tr. 1–1. ISBN 0-7695-2330-7.Quản lý CS1: nhiều tên: danh sách tác giả (liên kết)
  4. ^ Ian Sommerville (2004). Software Engineering. 7th edition. Chapter 1. Bezien 20 Okt 2008.
  5. ^ Table 2 in Chapter 1,“Guide to the Software Engineering Body of Knowledge”. ngày 6 tháng 2 năm 2004. Lưu trữ bản gốc ngày 18 tháng 1 năm 2008. Truy cập ngày 21 tháng 2 năm 2008.

Đọc thêm

[sửa | sửa mã nguồn]

Liên kết ngoài

[sửa | sửa mã nguồn]