Kỹ thuật phần mềm là gì? Định nghĩa, Khái niệm cơ bản, Đặc điểm

Mục lục:

Anonim

Kỹ thuật phần mềm là gì?

Kỹ thuật phần mềm được định nghĩa là một quá trình phân tích các yêu cầu của người dùng và sau đó thiết kế, xây dựng và thử nghiệm ứng dụng phần mềm đáp ứng các yêu cầu đó.

Hãy xem xét các định nghĩa khác nhau của kỹ thuật phần mềm:

  • IEEE, trong tiêu chuẩn 610.12-1990, định nghĩa kỹ thuật phần mềm là việc áp dụng một phương pháp có hệ thống, có kỷ luật, là một cách tiếp cận có thể tính toán được để phát triển, vận hành và bảo trì phần mềm.
  • Fritz Bauer định nghĩa nó là 'việc thiết lập và sử dụng các nguyên tắc kỹ thuật tiêu chuẩn. Nó giúp bạn có được, về mặt kinh tế, phần mềm đáng tin cậy và hoạt động hiệu quả trên các máy thực '.
  • Boehm định nghĩa kỹ thuật phần mềm, liên quan đến, 'ứng dụng thực tế của kiến ​​thức khoa học vào việc thiết kế sáng tạo và xây dựng các chương trình máy tính. Nó cũng bao gồm các tài liệu liên quan cần thiết để phát triển, vận hành và duy trì chúng. '

Trong hướng dẫn kỹ thuật phần mềm này, bạn sẽ học:

  • Kỹ thuật phần mềm là gì?
  • Tại sao lại là Kỹ thuật phần mềm? Khủng hoảng phần mềm & Giải pháp của nó
  • Tại sao Kỹ thuật phần mềm lại phổ biến?
  • Mối quan hệ của Kỹ thuật phần mềm với các ngành khác
  • Những thách thức của Kỹ thuật phần mềm
  • Thuộc tính cho Sản phẩm phần mềm
  • Đặc điểm của phần mềm tốt

Tại sao lại là Kỹ thuật phần mềm? Khủng hoảng phần mềm & Giải pháp của nó:

Khủng hoảng phần mềm là gì?

  • Đó là vào cuối những năm 1960 khi nhiều dự án phần mềm thất bại.
  • Nhiều phần mềm trở nên vượt quá ngân sách. Đầu ra là một phần mềm không đáng tin cậy và tốn kém để duy trì.
  • Phần mềm lớn hơn rất khó và khá tốn kém để bảo trì.
  • Rất nhiều phần mềm không thể đáp ứng các yêu cầu ngày càng tăng của khách hàng.
  • Sự phức tạp của các dự án phần mềm tăng lên bất cứ khi nào khả năng phần cứng của nó tăng lên.
  • Nhu cầu về phần mềm mới tăng nhanh hơn so với khả năng tạo ra phần mềm mới.

Tất cả các vấn đề trên đều dẫn đến 'Khủng hoảng phần mềm.'

Giải pháp

Giải pháp cho vấn đề là chuyển nỗ lực viết mã không có tổ chức thành một ngành kỹ thuật phần mềm. Các mô hình kỹ thuật này đã giúp các công ty hợp lý hóa hoạt động và cung cấp phần mềm đáp ứng các yêu cầu của khách hàng.

  • Cuối những năm 1970 chứng kiến ​​việc sử dụng rộng rãi các nguyên tắc kỹ thuật phần mềm.
  • Trong những năm 1980 chứng kiến ​​sự tự động hóa của quy trình kỹ thuật phần mềm và sự phát triển của (CASE) Kỹ thuật phần mềm hỗ trợ máy tính.
  • Những năm 1990 đã chứng kiến ​​sự chú trọng ngày càng nhiều vào các khía cạnh 'quản lý' của tiêu chuẩn chất lượng và quy trình dự án giống như ISO 9001

Tại sao Kỹ thuật phần mềm lại phổ biến?

Dưới đây là những lý do quan trọng đằng sau sự phổ biến của kỹ thuật phần mềm:

  • Phần mềm lớn - Trong cuộc sống thực của chúng ta, việc xây một bức tường khá thoải mái hơn một ngôi nhà hoặc tòa nhà. Tương tự như vậy, khi kích thước của phần mềm trở nên lớn, kỹ thuật phần mềm sẽ giúp bạn xây dựng phần mềm.
  • Khả năng mở rộng - Nếu quy trình phát triển phần mềm dựa trên các khái niệm khoa học và kỹ thuật, thì việc tạo lại phần mềm mới để mở rộng quy mô hiện có sẽ dễ dàng hơn.
  • Khả năng thích ứng : Bất cứ khi nào quy trình phần mềm dựa trên cơ sở khoa học và kỹ thuật, thì việc tạo lại phần mềm mới với sự trợ giúp của kỹ thuật phần mềm rất dễ dàng.
  • Chi phí- Ngành công nghiệp phần cứng đã thể hiện kỹ năng của mình và việc sản xuất quy mô lớn đã làm giảm giá thành của phần cứng máy tính và điện tử.
  • Bản chất năng động - Bản chất luôn phát triển và thích nghi của phần mềm. Nó phụ thuộc vào môi trường mà người dùng làm việc.
  • Quản lý chất lượng : Đưa ra phương pháp phát triển phần mềm tốt hơn để cung cấp các sản phẩm phần mềm chất lượng.

Mối quan hệ của Kỹ thuật phần mềm với các ngành khác

Đây, cách kỹ thuật phần mềm liên quan đến các ngành khác:

  • Khoa học máy tính: Cung cấp nền tảng khoa học cho phần mềm vì kỹ thuật điện chủ yếu phụ thuộc vào vật lý.
  • Khoa học Quản lý: Kỹ thuật phần mềm là công việc sử dụng nhiều lao động, đòi hỏi sự kiểm soát cả về kỹ thuật và quản lý. Vì vậy, nó được sử dụng rộng rãi trong khoa học quản lý.
  • Kinh tế: Trong lĩnh vực này, kỹ thuật phần mềm giúp bạn ước tính nguồn lực và kiểm soát chi phí. Hệ thống máy tính phải được phát triển và dữ liệu phải được duy trì thường xuyên trong một ngân sách nhất định.
  • Kỹ thuật Hệ thống: Hầu hết phần mềm là một thành phần của một hệ thống lớn hơn nhiều. Ví dụ: phần mềm trong hệ thống giám sát ngành hoặc phần mềm bay trên máy bay. Các phương pháp kỹ thuật phần mềm nên được áp dụng để nghiên cứu loại hệ thống này.

Những thách thức của Kỹ thuật phần mềm

Dưới đây là một số thách thức quan trọng mà các kỹ sư phần mềm phải đối mặt:

  • Trong các lĩnh vực quan trọng về an toàn như vũ trụ, hàng không, nhà máy điện hạt nhân, v.v., chi phí cho lỗi phần mềm có thể rất lớn vì tính mạng bị đe dọa.
  • Nhu cầu thị trường ngày càng tăng về thời gian quay vòng nhanh.
  • Đối phó với sự phức tạp ngày càng tăng của nhu cầu phần mềm cho các ứng dụng mới.
  • Sự đa dạng của các hệ thống phần mềm nên được giao tiếp với nhau.

Thuộc tính cho Sản phẩm phần mềm

Các đặc tính của bất kỳ sản phẩm phần mềm nào bao gồm các tính năng được hiển thị bởi sản phẩm khi nó được cài đặt và sử dụng.

Chúng không phải là các dịch vụ được cung cấp bởi sản phẩm. Thay vào đó, chúng liên quan đến hành vi động của sản phẩm và việc sử dụng sản phẩm.

Ví dụ về các thuộc tính này là:

Efficiency, reliability, robustness, maintainability, etc.

Tuy nhiên, tầm quan trọng tương đối của các đặc điểm này khác nhau giữa các hệ thống phần mềm.

Đặc tính sản phẩm Sự miêu tả
Khả năng bảo trì Phần mềm sẽ phát triển để đáp ứng nhu cầu thay đổi của khách hàng.
Độ tin cậy Tính đáng tin cậy bao gồm nhiều đặc điểm khác nhau. Phần mềm đáng tin cậy không bao giờ được gây ra bất kỳ thiệt hại vật chất hoặc kinh tế nào tại thời điểm hệ thống bị lỗi.
Hiệu quả Ứng dụng phần mềm nên sử dụng quá mức tài nguyên hệ thống như bộ nhớ và chu trình xử lý.
Khả năng sử dụng Ứng dụng phần mềm phải có giao diện người dùng và tài liệu cụ thể.

Việc tối ưu hóa thuộc tính trên là rất khó. Ví dụ: cung cấp giao diện người dùng tốt hơn có thể làm giảm hiệu quả của hệ thống.

Đặc điểm của phần mềm tốt

Bất kỳ phần mềm nào cũng phải được đánh giá dựa trên những gì nó cung cấp và những phương pháp giúp bạn sử dụng nó.

Mọi phần mềm phải đáp ứng các thuộc tính sau:

  • Hoạt động
  • Chuyển tiếp
  • Bảo trì

Dưới đây là một số đặc điểm quan trọng của phần mềm tốt được phát triển bởi các chuyên gia phần mềm

Hoạt động

Đặc điểm này cho chúng ta biết về cách phần mềm hoạt động tốt trong các hoạt động có thể được đo lường trên:

  • Ngân sách
  • Hiệu quả
  • Khả năng sử dụng
  • Độ tin cậy
  • Tính đúng đắn
  • Chức năng
  • Sự an toàn
  • Bảo vệ

Chuyển tiếp

Đây là một khía cạnh cần thiết khi phần mềm được chuyển từ nền tảng này sang nền tảng khác:

  • Khả năng tương tác
  • Khả năng tái sử dụng
  • Tính di động
  • Khả năng thích ứng

Bảo trì

Khía cạnh này nói về việc phần mềm có khả năng tự thích ứng tốt như thế nào trong môi trường thay đổi nhanh chóng:

  • Uyển chuyển
  • Khả năng bảo trì
  • Môđun
  • Khả năng mở rộng

Tóm lược

  • Kỹ thuật phần mềm là một quá trình phân tích các yêu cầu của người dùng và sau đó thiết kế, xây dựng và thử nghiệm ứng dụng phần mềm sẽ đáp ứng các yêu cầu đó
  • Các lý do quan trọng để sử dụng kỹ thuật phần mềm là: 1) Phần mềm lớn, 2) Khả năng mở rộng 3) Khả năng thích ứng 4) Chi phí và 5) Bản chất động.
  • Vào cuối những năm 1960, nhiều phần mềm trở nên vượt quá ngân sách. Do đó, nó cung cấp phần mềm không đáng tin cậy và tốn kém để bảo trì.
  • Cuối những năm 1970 chứng kiến ​​việc sử dụng rộng rãi các nguyên tắc kỹ thuật phần mềm.
  • Khái niệm kỹ thuật phần mềm 1) Khoa học máy tính 2) Khoa học quản lý 3) Kỹ thuật hệ thống và 4) Kinh tế
  • Nhu cầu thị trường gia tăng về thời gian quay vòng nhanh là thách thức lớn nhất của lĩnh vực kỹ thuật phần mềm.
  • 1) Khả năng bảo trì, 2) Tính đáng tin cậy, 3) Hiệu quả và, 4) Khả năng sử dụng là các thuộc tính quan trọng nhất của sản phẩm phần mềm.
  • Ba đặc điểm quan trọng nhất của phần mềm tốt là 1) Hoạt động 2) Chuyển tiếp 3) Bảo trì.