소프트웨어 메트릭
Software metric시리즈의 일부 |
소프트웨어 개발 |
---|
소프트웨어 메트릭은 소프트웨어 시스템 또는 프로세스가 일부 [1][2]속성을 소유하는 정도를 측정하는 표준입니다.측정값이 측정값이 아닌 경우에도(측정값이 함수인 반면 측정값이 측정값을 적용하여 얻은 숫자), 종종 두 용어가 동의어로 사용됩니다.정량적 측정은 모든 과학에서 필수적이기 때문에 컴퓨터 과학 실무자와 이론가들이 소프트웨어 개발에 유사한 접근법을 도입하기 위해 지속적으로 노력하고 있습니다.목표는 일정 및 예산 계획, 비용 견적, 품질 보증, 테스트, 소프트웨어 디버깅, 소프트웨어 성능 최적화 및 최적의 인력 작업 할당에서 수많은 귀중한 애플리케이션을 보유할 수 있는 객관적이고 재현 가능하며 수량화할 수 있는 측정값을 얻는 것입니다.
일반적인 소프트웨어 측정
일반적인 소프트웨어 측정은 다음과 같습니다.
- ABC 소프트웨어 메트릭
- 균형 잡힌 스코어 카드
- 코드 한 줄당 버그 수
- 코드 커버리지
- 응집력
- 코멘트[3] 농도
- 접속 소프트웨어 컴포넌트
- 건설적인 비용 모델
- 커플링
- 사이클로매틱 복잡성(McCabe의 복잡성)
- 사이클로매틱 복잡도[4][5] 밀도
- 결점 밀도 - 성분에서 발견된 결점
- 결점 잠재력 - 특정 성분의 예상되는 결점 수
- 불량제거율
- DSQI(설계구조품질지수)
- 객체 관리 그룹[6] 표준인 기능 포인트 및 자동 기능 포인트
- Halstead의 복잡성
- 명령 경로 길이
- 보수성 지수
- 코드 줄 수
- 프로그램 실행 시간
- 프로그램 로드 시간
- 프로그램 크기(2진수)
- 가중치 마이크로 기능 포인트
- CISQ 자동 품질 특성 측정
- 사이클 타임(소프트웨어)
- 초승수율
- 수정[7] 커밋 확률
제한 사항
소프트웨어 개발은 방법론과 목표 모두에 큰 차이가 있는 복잡한 프로세스이기 때문에 소프트웨어의 품질과 수량을 정의하거나 측정하거나, 특히 상세 설계 전에 이러한 예측을 할 때 유효한 동시 측정 메트릭을 결정하는 것은 어렵습니다.또 다른 어려움과 논쟁의 원인은 어떤 지표가 중요한지,[8][9] 그리고 그것이 의미하는 바를 결정하는 것입니다.따라서 소프트웨어 측정의 실용적 효용은 다음 영역으로 제한되었습니다.
특정 측정은 예를 들어 팀의 동기 부여 또는 프로젝트 성과 지표로서 상기 중 하나 또는 여러 측면 또는 그 사이의 균형을 목표로 할 수 있습니다.
또한 측정 기준은 정적 프로그램 [10][11]코드와 동적 프로그램 코드 및 객체 지향 소프트웨어(시스템)에 따라 달라집니다.
수용과 여론
일부 소프트웨어 개발 실무자들은 단순한 측정이 [12]득보다 실이 많을 수 있다고 지적합니다.다른 사람들은 지표가 소프트웨어 개발 [8]프로세스의 필수적인 부분이 되었다고 지적했습니다.측정이 프로그래머 심리에 미치는 영향은 스트레스, 퍼포먼스 불안, 측정기준 부정 시도로 인해 퍼포먼스에 미치는 악영향에 대한 우려를 낳는 한편, 개발자가 자신의 작업에 대해 가치를 부여하고 저평가되는 것을 막는다는 견해도 있다.일부에서는 많은 측정 방법론의 정의가 부정확하기 때문에 계산 도구가 특정 [13]결과에 도달하는 방법이 불분명한 경우가 종종 있는 반면, 다른 이들은 불완전한 정량화가 없는 것보다 낫다고 주장한다("[14]측정할 수 없는 것을 제어할 수 없다.").정부기관, 미군, NASA,[15] IT컨설턴트, 학술기관,[16] 상업 및 학술개발 평가 소프트웨어가 소프트웨어 메트릭을 광범위하게 사용하고 있음을 알 수 있습니다.
추가 정보
- J. Smith, 선형 프로그래밍 입문, Acme Press, 2010.도입부 텍스트
- 레이조 M.Savola, Quality of Security Metrics and Measures, Computers & Security, Volume 37, 2013년 9월,[17] 78-90페이지.
「 」를 참조해 주세요.
레퍼런스
- ^ Fenton, Norman E. (2014). Software metrics : a rigorous and practical approach. James Bieman (3rd ed.). Boca Raton, FL. ISBN 978-1-4398-3823-5. OCLC 834978252.
- ^ Timóteo, Aline Lopes; Álvaro, Re; Almeida, Eduardo Santana De; De, Silvio Romero; Meira, Lemos. Software Metrics: A Survey. CiteSeerX 10.1.1.544.2164.
- ^ "Descriptive Information (DI) Metric Thresholds". Land Software Engineering Centre. Archived from the original on 6 July 2011. Retrieved 19 October 2010.
- ^ Gill, G. K.; Kemerer, C. F. (December 1991). "Cyclomatic complexity density and software maintenance productivity". IEEE Transactions on Software Engineering. 17 (12): 1284–1288. doi:10.1109/32.106988. ISSN 1939-3520.
- ^ "maintainability - Does it make sense to compute cyclomatic complexity/lines of code ratio?". Software Engineering Stack Exchange. Retrieved 2021-03-01.
- ^ "OMG Adopts Automated Function Point Specification". Omg.org. 2013-01-17. Retrieved 2013-05-19.
- ^ Amit, Idan; Feitelson, Dror G. (2020-07-21). "The Corrective Commit Probability Code Quality Metric". arXiv:2007.10912 [cs.SE].
- ^ a b Binstock, Andrew (March 2010). "Integration Watch: Using metrics effectively". SD Times. BZ Media. Retrieved 19 October 2010.
- ^ Kolawa, Adam (7 August 2008). "When, Why, and How: Code Analysis". The Code Project. Retrieved 14 February 2021.
- ^ Gosain, Anjana; Sharma, Ganga (2015). Mandal, J. K.; Satapathy, Suresh Chandra; Kumar Sanyal, Manas; Sarkar, Partha Pratim; Mukhopadhyay, Anirban (eds.). "Dynamic Software Metrics for Object Oriented Software: A Review". Information Systems Design and Intelligent Applications. Advances in Intelligent Systems and Computing. New Delhi: Springer India. 340: 579–589. doi:10.1007/978-81-322-2247-7_59. ISBN 978-81-322-2247-7.
- ^ S, Parvinder Singh; Singh, Gurdev. Dynamic Metrics for Polymorphism in Object Oriented Systems. CiteSeerX 10.1.1.193.4307.
- ^ Kaner, Dr. Cem (2004), Software Engineer Metrics: What do they measure and how do we know?, CiteSeerX 10.1.1.1.2542
- ^ Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), "Comparing software metrics tools" (PDF), International Symposium on Software Testing and Analysis 2008, pp. 131–142
- ^ DeMarco, Tom (1982). Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1.
- ^ "NASA Metrics Planning and Reporting Working Group (MPARWG)". Earthdata.nasa.gov. Archived from the original on 2011-10-22. Retrieved 2013-05-19.
- ^ "USC Center for Systems and Software Engineering". Sunset.usc.edu. Retrieved 2013-05-19.
- ^ Savola, Reijo M. (2013-09-01). "Quality of security metrics and measurements". Computers & Security. 37: 78–90. doi:10.1016/j.cose.2013.05.002. ISSN 0167-4048.
외부 링크
- 소프트웨어 메트릭스(SQA.net)
- 소프트웨어 엔지니어링 메트릭:무엇을 측정하고 어떻게 알 수 있는가?
- NASA 표준 NASA-STD-8739.8(소프트웨어 보증 및 소프트웨어 안전 표준)
- HIS 소스 코드 메트릭스(오래되었지만 참조, 관련 "AUTOSAR" 참조)
- HIS 소스 코드 메트릭스 버전 1.3.1 01.04.2008(구식이지만 참조, 관련 "AUTOSAR" 참조)
- 소스 코드 메트릭스 프레임워크
- NASA.gov
- SonarQube 메트릭 정의
- 객체 지향 소프트웨어의 지표(2010)