Software metrics là gì?
23/09/2024
Chào mọi người, hôm nay chúng ta sẽ tìm hiểu về software metrics (số liệu phần mềm)!
Trước tiên, chúng ta hãy xem qua định nghĩa của nó từ wikipedia! “Trong kỹ thuật và phát triển phần mềm, software metrics là tiêu chuẩn đo lường mức độ. Vì các phép đo định lượng là thiết yếu trong tất cả các ngành khoa học, các nhà khoa học máy tính và các nhà lý thuyết đã không ngừng nỗ lực để mang lại những cách tiếp cận tương tự cho sự phát triển phần mềm. Mục tiêu là thu được các phép đo khách quan, có thể lặp lại và định lượng được, có thể có nhiều ứng dụng có giá trị trong việc lập kế hoạch ngân sách và lịch trình, ước tính chi phí, đảm bảo chất lượng, kiểm tra, gỡ lỗi phần mềm, tối ưu hóa hiệu suất phần mềm và phân công nhiệm vụ nhân sự tối ưu”.
Ở 1 định nghĩa khác, chúng ta có. Số liệu phần mềm là thước đo đặc tính của phần mềm có thể định lượng, có thể đếm được. Nó quan trọng vì nhiều lý do, bao gồm đo hiệu suất phần mềm, lập kế hoạch các hạng mục công việc, đo lường năng suất và nhiều mục đích sử dụng khác.
Trong quá trình phát triển phần mềm, có nhiều số liệu liên quan đến nhau. Các thước đo phần mềm liên quan đến bốn chức năng của quản lý: Lập kế hoạch, Tổ chức, Kiểm soát hoặc Cải tiến.
Lợi ích của software metrics:
Mục tiêu việc theo dõi, phân tích số liệu là xác định chất lượng sản phẩm, quy trình hiện tại. Nó cải thiện và dự đoán chất lượng sau khi dự án phát triển phần mềm hoàn thành. Ở cấp độ chi tiết hơn, các nhà quản lý phát triển phần mềm đang cố gắng:
- Tăng lợi tức đầu tư (ROI) Phát triển phần mềm
- Xác định các lĩnh vực cần cải thiện
- Quản lý khối lượng công việc
- Giảm thời gian làm thêm
- Giảm chi phí
Những mục tiêu này có thể đạt được bằng cách cung cấp thông tin, sự rõ ràng trong tổ chức về các dự án phát triển phần mềm phức tạp. Các chỉ số là một thành phần quan trọng của đảm bảo chất lượng, quản lý, gỡ lỗi, hiệu suất và ước tính chi phí. Chúng có giá trị đối với cả nhà phát triển và trưởng nhóm phát triển.
Ví dụ:
- Người quản lý có thể sử dụng các thước đo phần mềm để xác định, ưu tiên, theo dõi và giao tiếp bất kỳ vấn đề nào nhằm thúc đẩy năng suất nhóm tốt hơn. Điều này cho phép quản lý hiệu quả, đánh giá, ưu tiên các vấn đề trong các dự án. Nhà quản lý phát hiện sự cố càng sớm thì quá trình khắc phục càng dễ dàng, ít tốn kém.
- Các nhóm phát triển có thể sử dụng các số liệu phần mềm để thông báo trạng thái của các dự án phát triển.
- Họ xác định và giải quyết các vấn đề, đồng thời theo dõi, cải tiến và quản lý tốt hơn quy trình làm việc của họ.
Các thước đo phần mềm đưa ra đánh giá về tác động của các quyết định được đưa ra trong các dự án phát triển phần mềm. Điều này giúp nhà quản lý đánh giá và sắp xếp thứ tự ưu tiên các mục tiêu và hiệu suất.
Vài thiếu sót của software metrics:
Các thuật ngữ được sử dụng thường có nhiều định nghĩa, nhiều cách để đếm, đo lường các đặc tính. Ví dụ, các dòng mã (LOC) là một thước đo phổ biến để phát triển phần mềm. Nhưng có hai cách để đếm từng dòng mã:
- Một là đếm từng dòng vật lý kết thúc bằng một kết quả trả về. Nhưng một số không chấp nhận vì nó có thể bao gồm các dòng “mã chết” hoặc nhận xét.
- Để giải quyết những thiếu sót đó, mỗi câu lệnh logic có thể được coi là một dòng mã.
Do đó, một gói phần mềm đơn lẻ có thể có hai số LOC rất khác nhau. Nó tùy thuộc vào phương pháp đếm nào được sử dụng. Điều đó gây khó khăn khi so sánh phần mềm bằng các dòng mã, hay số liệu khác mà không có định nghĩa tiêu chuẩn. Việc thiết lập một phương pháp đo lường, các đơn vị đo lường của dự án là rất quan trọng.
Ngoài ra,
Còn có một vấn đề với cách sử dụng các chỉ số phần mềm. Một tổ chức sử dụng các thước đo năng suất nhấn mạnh khối lượng mã và lỗi. Khi đó, các nhà phát triển có thể tránh giải quyết các vấn đề phức tạp để duy trì LOC. Các nhà phát triển phần mềm viết một lượng lớn mã đơn giản có thể có năng suất cao. Ngoài ra, không nên theo dõi các chỉ số phần mềm chỉ vì chúng dễ lấy và hiển thị. Những số liệu làm tăng giá trị cho dự án và quy trình mới được theo dõi.
@ Long – Cựu học viên Onschool Bootcamp
Các chia sẻ của cựu học viên Onschool Bootcamp?
Danh mục bài viết
- Kiến thức lập trình
- Cộng đồng học viên
- Chia sẻ học viên