-
소프트웨어의 품질 개념
-
소프트웨어의 특징
-
논리적 대규모 집합체
- 장점 : 물리적 화학적 영향을 받지 않고 마모나 부식 같은 변화가 없음
- 단점 : 정확하게 조립하는 기술을 아직 충분히 확립하지 못하고 있음
-
눈에 보이지 않는 물체
소프트웨어 자체를 어떻게 하면 좋은지, 품질을 어떻게 평가할 것인지 등의 많은 문제와 품질 보증 측면에서 소프트웨어 개발 프로세스가 비가시적이 점도 커다란 문제로 부각됨
-
소프트웨어 개발 상의 문제
-
다양한 요구
사용자 요구를 얼마만큼 정확하게 파악하여 사양화할 것인가는 소프트웨어 공학과 품질 보증의 최대 과제이며 또한 요구 사항의 취합이 어려움
-
개인 의존도
생산성이나 품질은 개인의 능력차에 의해 수배 차이가 나며, 개발 지원 도구, 개발 기법 도입 등으로 개선된다 하더라도 품질 보증의 큰 걸림돌이 되고 있음
-
품질의 정의
- ISO 8402 : 제품 또는 서비스가 명시적 또는 묵시적인 요구를 만족시킬 수 있는 능력으로 가지고 있는 특징 및 특성의 전체
- 필립 크로스비 : 요구 사항은 분명히 명기되어 오해가 없어야 하고, 이후에 업무에 대한 요구 사항들이 일치되었는가를 끊임없이 측정해야 하며, 요구 사항에 일치하지 않는 것은 품질 제품이 아니므로 품질은 요구 사항에 대한 적합성이다. 라고 정의
- 제럴드 M. 와인버그 : 크로스비의 정의는 요구 사항이 올바르다는 전제이며 우수하나, 소프트웨어의 요구 사항은 정확도와는 거리가 멀어지게 되므로, 소프트웨어 개발에서의 품질 정의를 일반화하면 품질은 누군가에 있어서의 가치
- 제임스 마틴 : 시스템을 본격적으로 가동할 때 얼마만큼 실제 업무 사용자의 요구 사항에 맞게 되어 있는지에 따라 정의
-
소프트웨어 품질 특성
- 품질은 상대적 개념 : 정량적 측정이 어려우며, 상대에 따라 다름
- 품질은 여러 자원에 종속적 : 비용, 시간, 인력, 도구 등
- 품질은 적정선에서 타협하는 것
- 품질 요소들은 서로 연관성을 가짐
-
소프트웨어의 개발 프로세스와 품질
-
설계 품질과 프로그램 품질
- 소프트웨어의 경우 하드웨어의 제품 규격에 상응하는 것이 사양서
- 소프트웨어 관한 요구를 만족하기 위해서는 2가지 조건이 필요
필요조건 |
품질 |
사양서 |
설계 사양이 사용자 요구 사항에 적합할 것 |
설계 품질 |
외부 사양 : 요구사항과 일치하는 사용자 측면에서 본 사양(Spec) |
프로그램이 설계 사양대로 바르게 작동할 것 |
프로그램 품질 |
내부 사양 : 외부 사양을 실현하기 위해 개발자 측면에서 본 사양 |
-
모델화한 개발 프로세스와 품질
- 소프트웨어 개발의 목적은 사용자의 요구 사항에 적합한 소프트웨어 제품을 실현하는 것으로 이를 달성하기 위해선 소프트웨어 개발 프로세스의 본질에 대한 바른 이해와 품질 및 프로세스의 관계에 대한 정확한 파악이 필요
-
소프트웨어 개발 프로세스의 구성