Quality

소프트웨어 공학의 목표 재검토


소프트웨어 품질 정의

소프트웨어 품질에 대한 통찰

소프트웨어 품질이 다른 품질과 다른 이유

품질 요소


품질 분류


제품 품질과 프로세스 품질


대표적인 품질 특성


정확성, 신뢰성, 견고성


신뢰성


견고성


성능


사용자 친화성


검증 가능성


Maintainability(유지가능성)


Repairability(수정 가능성)

진화성(Evolvability)

재사용성(Reusability)

Portability(이식성)

UnderStandability(이해성)

Interoperability(상호 운용성)

Productivity(생산성)

Timeliness(적시성)

철저하고 정확한 계획을 세워도 변경을 발생할 수 밖에 없음

계획을 완수하지 못할 것 같으면 일부분 포기하고 마켓에 내놓는게 나을 수 있음

Visibility(가시성)

투명성

제품이 visible하다(프로젝트 진행 관점)

Q: 왜 가시성이 중요한가?

Security(보안성)

Safety(안전성)

소프트웨어 안전성 (Software Safety)

소프트웨어 위협 (Software Hazard)

사고 (Accident)

소프트웨어 자체로는 발생하지 않고 소프트웨어가 하드웨어에게 영향을 끼치면서 발생

소프트웨어 안전성을 측정하는 방법

특정 응용 분야에서의 품질 요구사항

정보 시스템 (Information Systems):

실시간 시스템 (Real-time Systems):

분산 시스템 (Distributed Systems):

임베디드 시스템 (Embedded Systems):

AI/ML 시스템의 품질 요소


소프트웨어 품질에 대한 표준

ISO 9126: 여섯 가지 품질 특성


ISO 9126의 여섯 가지 품질 특성과 하위 특성


ISO 25010: 여덟 가지 품질 특성


ISO/IEC 25010 품질 특성과 사용 품질 모델


요약 및 토론