2009-06-29 73 views
7

Tôi đã tự hỏi liệu có ai có kinh nghiệm về số liệu được sử dụng để đo lường chất lượng phần mềm hay không. Tôi biết có số liệu phức tạp mã nhưng tôi tự hỏi nếu có một cách cụ thể để đo lường như thế nào nó thực sự thực hiện trong suốt cuộc đời của nó. Tôi không có nghĩa là hiệu suất thời gian chạy, mà là một thước đo về chất lượng. Bất kỳ công cụ được đề xuất nào có thể giúp thu thập chúng đều được hoan nghênh.Chỉ số chất lượng phần mềm

Có đo để trả lời những câu hỏi sau:

  • Làm thế nào dễ dàng là nó để thay đổi/nâng cao các phần mềm, vững mạnh
  • Nếu nó là một/mảnh đủ chung chung của phần mềm, làm thế nào tái sử dụng là nó
  • bao nhiêu khiếm khuyết đã được liên kết với mã
  • đã này cần phải được thiết kế lại/recoded
  • bao lâu đã mã này được khoảng
  • Nhà phát triển có thích cách mã được thiết kế và triển khai không

Có vẻ như hầu hết điều này cần phải được gắn chặt với công cụ báo cáo lỗi và CM.

+2

wiki cộng đồng ... –

Trả lời

0

Có một số tốt thread từ nhóm Joel cũ về thảo luận phần mềm về việc này.

0

Tôi biết rằng một số chương trình stat SVN cung cấp tổng quan về các dòng thay đổi cho mỗi lần gửi. Nếu bạn có một hệ thống bugtracking và những người sửa lỗi thêm các tính năng vv là ghi rõ số cam kết của họ khi lỗi được sửa, sau đó bạn có thể tính toán số dòng bị ảnh hưởng bởi mỗi yêu cầu tính năng lỗi/mới. Điều này có thể cung cấp cho bạn một phép đo thay đổi.

Điều tiếp theo chỉ đơn giản là đếm số lỗi tìm thấy và đặt chúng theo tỷ lệ với số dòng mã. Có một số giá trị có bao nhiêu lỗi một phần mềm chất lượng cao nên có trên mỗi dòng mã.

0

Bạn có thể thực hiện theo số cách cách kinh tế hoặc theo cách của nhà lập trình.

Trong trường hợp cách kinh tế, bạn mesaure chi phí cải thiện mã, sửa lỗi, thêm tính năng mới, v.v. Nếu bạn chọn cách thứ hai, bạn có thể muốn đo lường số lượng nhân viên làm việc với chương trình của bạn và dễ dàng như thế nào, nói, tìm và sửa lỗi trung bình trong giờ làm việc của con người. Chắc chắn họ không hoàn hảo, bởi vì chi phí phụ thuộc vào tình hình thị trường và giờ của con người phụ thuộc vào con người thực tế và kỹ năng của họ, vì vậy tốt hơn là kết hợp cả hai phương pháp.

Bằng cách này, bạn sẽ nhận được một số công cụ để đo lường chất lượng mã của bạn. Tất nhiên bạn nên tính đến quy mô dự án của bạn và các yếu tố khác, nhưng tôi hy vọng ý tưởng chính là rõ ràng.

1

Nếu đo lường chất lượng mã theo các thuật ngữ bạn đặt nó sẽ là một công việc đơn giản và các số liệu chính xác, có thể sẽ không cần quản lý dự án nữa. Hơn nữa, sự khác biệt giữa các nhà quản lý tốt và người nghèo sẽ rất nhỏ. Bởi vì nó không phải là, mà chỉ cho thấy rằng nhận được một ý tưởng chính xác về chất lượng của phần mềm của bạn, không phải là công việc dễ dàng.

Câu hỏi của bạn mở rộng đến nhiều khu vực được định lượng khác nhau hoặc rất chủ quan để định lượng, vì vậy bạn nên nhóm chúng thành các danh mục tương ứng với các mục tiêu chung. Sau đó, bạn có thể chỉ định yếu tố "tầm quan trọng" cho từng danh mục và lấy được một số chỉ số từ đó.

Ví dụ: bạn có thể sử dụng static code analysis tools để đo lường chất lượng cú pháp của mã và lấy một số chỉ số từ đó.

Bạn cũng có thể lấy được số liệu từ lỗi/dòng mã sử dụng công cụ theo dõi lỗi được tích hợp với hệ thống kiểm soát phiên bản.

Để đo độ mạnh, sử dụng lại và hiệu quả của quy trình mã hóa, bạn có thể đánh giá việc sử dụng các mẫu thiết kế cho mỗi tính năng được phát triển (tất nhiên là ở đâu có ý nghĩa). Không có công cụ nào giúp bạn đạt được điều này, nhưng nếu bạn theo dõi phần mềm của mình ngày càng lớn hơn và đặt con số lên, nó có thể cho bạn một ý tưởng hay về cách bạn dự án phát triển và nếu nó đi đúng hướng. Giới thiệu quy trình xem xét mã có thể giúp bạn theo dõi những quy trình này dễ dàng hơn và có thể giải quyết chúng sớm trong quá trình phát triển. Một số để đặt trên các số này có thể là phần trăm các tính năng được triển khai bằng cách sử dụng các mẫu thiết kế phù hợp.

Mặc dù số liệu có thể khá trừu tượng và chủ quan, nếu bạn dành thời gian cho nó và luôn cố gắng cải thiện chúng, nó có thể cung cấp cho bạn thông tin hữu ích.

Một số điều cần lưu ý về số liệu trong quá trình phần mềm mặc dù:

  1. Trừ khi bạn thực hiện chúng tốt, số liệu có thể chứng minh được tác hại nhiều hơn lợi.
  2. Số liệu khó thực hiện tốt.
  3. Bạn nên thận trọng khi sử dụng các chỉ số để xếp hạng hiệu suất riêng lẻ hoặc cung cấp các chương trình tiền thưởng. Một khi bạn làm điều này tất cả mọi người sẽ cố gắng để lừa hệ thống và các số liệu của bạn sẽ chứng minh vô giá trị.
1

Nếu bạn đang sử dụng Ruby, có một số công cụ để giúp bạn ra ngoài với số liệu khác nhau, từ Locs/Phương pháp và phương pháp/lớp Saikuros Cyclomatic phức tạp.

Ông chủ của tôi thực sự đã tổ chức một buổi trình bày về phần mềm số liệu chúng tôi sử dụng tại một cuộc họp ruby ​​năm ngoái, these are the slides.

Một công cụ thú vị đó sẽ đem lại cho bạn rất nhiều số liệu cùng một lúc là metric_fu. Nó kiểm tra rất nhiều khía cạnh thú vị của mã của bạn. Những thứ rất giống nhau, thay đổi rất nhiều, có rất nhiều nhánh. Tất cả các dấu hiệu mã của bạn có thể tốt hơn :)

Tôi tưởng tượng có nhiều công cụ hơn như thế này cho các ngôn ngữ khác nữa.

0

Một số liệu tập trung vào khách hàng sẽ là thời gian trung bình để nhà cung cấp phần mềm sửa lỗi và triển khai các tính năng mới.

Rất dễ tính toán, dựa trên ngày của phần mềm theo dõi lỗi được tạo và thông tin đóng.

Nếu thời gian thực hiện sửa lỗi/tính năng trung bình của bạn rất cao, đây cũng có thể là chỉ báo về chất lượng phần mềm kém.

0

Bạn có thể muốn kiểm tra page mô tả các khía cạnh khác nhau về chất lượng phần mềm bao gồm các ô mẫu. Một số đặc tính chất lượng mà bạn yêu cầu để đo lường có thể được bắt nguồn bằng công cụ như Sonar.Điều rất quan trọng là tìm ra cách bạn muốn mô hình hóa một số khía cạnh sau:

  1. Duy trì: Bạn đã đề cập đến việc thay đổi/kiểm tra mã hoặc sử dụng lại mã dễ dàng như thế nào. Chúng có liên quan đến khả năng kiểm tra và khả năng tái sử dụng của tính bảo trì được coi là đặc tính chất lượng phần mềm quan trọng. Vì vậy, bạn có thể đo lường khả năng bảo trì như là một chức năng của testability (đơn vị kiểm tra bảo hiểm) và tái sử dụng (chỉ số cohesiveness của mã).
  2. Khuyết tật: Các lỗi chỉ có thể là một biện pháp tốt để đo lường. Tuy nhiên, nếu bạn có thể mô hình mật độ khiếm khuyết, nó có thể cung cấp cho bạn một hình ảnh tốt.
Các vấn đề liên quan