2007년 08월 18일
소프트웨어 품질의 구성요소
프로그래머라면 누구나 자신이 만든 소프트웨어의 품질이 우수하기를 바란다. 물론 우수한 소프트웨어의 특성이란 것은 사람마다 기준이 다를 것이다. 로버트 L. 글래스는 소프트웨어 품질의 특성으로 7가지 기준을 제시했다.
소프트웨어 품질이 우수하려면 다음 속성을 지녀야 한다.
- 신뢰성
- 효율성
- 인간 공학
- 이해 용이성
- 수정 용이성
- 테스트 용이성
- 이식성- 소프트웨어 컨플릭트 2.0 中 -
뻔한 말들 같긴하지만, 하나하나 생각해보면 하나같이 만족시키기 어려운 문제들이다. (Paromix군에게만 어려운 문제일 수도 있지만.)
무작정 코드를 많이 짜보는 것도 실력향상에 많은 도움이 되긴하지만, 코드를 작성해 놓고 이정도만 스스로 리뷰해봐도(그리고 그에 맞게 리팩토링하는 것까지 하면 더 좋고) 꽤 소프트웨어 품질이 높아지는 것을 느낄 수 있을 것이다. 물론 다른 사람의 코드를 리뷰할 일이 있을 때에도 염두해두고 있으면 조금더 좋은 코드가 나올 수도 있고 말이지.
추가로 <익스트림 프로그래밍>에서 나온 설계의 단순성을 평가하는 네가지 기준.
1. 대상이 되는 독자에게 적당하다 : 그 설계를 가지고 일할 사람들이 이해하지 못한다면, 그들에게는 단순하지 않은 설계다.
2. 정보전달력 : 시스템의 요소들은 미래의 독자에게 의사를 전달한다.
3. 리팩터링되어 있다 : 종복된 논리나 구조가 있으면 코드를 이해하거나 수정하기 힘들다.
4. 최소성 : 위 세가지 제약안에서, 시스템 요소의 수를 할 수 있는 한 최소로 줄여야 한다.
공부하면 할수록 어려워지는구나. :D
"Paromix"
# by | 2007/08/18 13:29 | □■ 프 로 그 램 ■□ | 트랙백 | 덧글(10)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
소프트웨어 품질특성
기능성 : 적합성, 정확성, 상호운용성, 보안성, 준수성
신뢰성 : 성숙성, 오류허용성, 복구성, 준수성
사용성 : 이해성, 습득성, 운용성, 친밀성, 준수성
효율성 : 시간반응성, 자원효율성, 준수성
유지보수성 : 해석성, 변경성, 안정성, 시험성, 준수성
이식성 : 적응성, 설치성, 공존성, 대체성, 준수성
참고로 ISO 9126을 기반으로 한 ISO 14598은 SW품질측정에 대한 실질적인 평가 절차 및 상황에 대한 표준을 제시하고 있고, ISO 12119에서는 일반적인 SW 품질 요구사항에 대한 패키지 품질평가에 대해서 다루고 있습니다.
ps : 좋은글 잘보고 갑니다~
그래도 표준인데 공개가 안되어 있진 않을것 같네요 ^^; (저도 원문? 을 본적은 없습니다.. 그냥 써치하다 보니.. 조금씩 알게된..)
위키피디아를 활용하시면 좋을듯 싶네요 ^^;
ISO 9126 : 소프트웨 품질 특성 정의 http://en.wikipedia.org/wiki/ISO_9126
ISO 12207 : 소프트웨어 SDLC 정의 , http://en.wikipedia.org/wiki/ISO_12207
ISO 15504 (SPICE) : SW품질 보증을 위해 ISO 12207의 틀을 기반으로 개발/확장된 소프트웨어 개발 프로세스 수행능력 평가모델..
ISO 12119 : SW 패키지 품질 평가
ISO 14598 : SW 품질 평가 , ISO 12207, ISO 9126과 ISO 12119를 기반으로 품질 평가 한다고 볼수 있죠,..
ps : 이쪽 분야 관심 있어 하시는거 같아서 몇자 적고 갑니다. ^^;