반응형
정의
- 좋은 소프트웨어는 ‘사용자의 요구사항을 만족’하고 ‘정확하게 동작’하며 ‘쉬운 사용방법’과 ‘좋은 코드’로 개발된 소프트웨어
메커니즘
기술요소
정확성(Correctness)
- 기능적으로 맞게 동작하는가, 표준에 적합한가?
- 요구 분석서의 기능과 일치하는지 점검
신뢰성(Reliability)
- 소프트웨어가 주어진 기간 동안 바르게 작동할 확률
- 오류 발생 확률에 반비례
- 정확성 제공하기 위한 필요조건
강인성(Robustness)
- 요구 명세에 표시하지 않은 상황(오류 입력)에서도 제대로 작동하는 성질
성능(Performance)
- 수행 속도, 데이터/트랜잭션 처리량
- 알고리즘의 시간 복잡도
- 시뮬레이션, 스트레스 테스트
사용 용이성(Usability)
- 시스템을 친근하게 느낄 수 있는 성질
- 사용 대상에 따라 달라질 수 있음
- 사용자 인터페이스, Human factor
유지보수성(Maintainability)
- 보수성: 정해진 기간에 소프트웨어 결함을 해결할 수 있는 성질
- 진화성: 잠재적 발전 가능성 (추가 요구사항에 따라 기능이 진화할 수 있어야 함)
재사용성(Reusability)
- 소프트웨어 부품(라이브러리, 클래스 등)의 성질
- 확장 가능성(openness)
- 적응성(adaptability)
- 이용 용이성(closeness)
요인들
- 프로젝트 관리, 성격
- 의사소통, 프로그래머의 역량
반응형
'Professional Engineer > SE' 카테고리의 다른 글
프로토타입 모델 (0) | 2024.09.24 |
---|---|
폭포수 모델(애자일 비교) (0) | 2024.09.24 |
소프트웨어 공학 정의 및 발전 원리 (0) | 2024.09.24 |
정보 은닉(Information Hiding) (0) | 2024.08.02 |
형상관리(Conflguration Management) (0) | 2024.08.02 |
댓글