보안(security)은 ‘안전, 안심’을 의미한다. 사용자가 애플리케이션을 안심하고 사용할 수 있도록 개발자는 애플리케이션의 보안을 보장할 수 있어야 한다.
취약성(vulnerability)은 ‘상처 입기 쉬운 상태’를 말한다. 컴퓨터에서 취약성이란 부정한 방법으로 접근하거나 정보를 훔칠 수 있는 상태가 되는 보안상의 버그를 의미한다.
시스템 사용의 주목적이 되지 않는 요건을 비기능 요건이라고 한다.
표 1-1 비기능 요건 등급
요건 | 의미 |
---|---|
가용성 | 서비스를 멈추지 않게 하거나 서비스가 멈췄을 때 영향 범위를 최소화해 시스템의 가동 품질을 보장한다. |
성능/확장성 | 일정 시간 내 처리가 완료되도록 한다. |
사용자 또는 데이터의 양이 갑자기 폭증해도 CPU와 메모리 등의 부족 문제가 발생하지 않도록 한다. | |
운용/보수성 | 시스템의 운용과 관리 작업 수단을 결정한다. |
이행성 | 시셑ㅁ과 데이터 이행에 필요한 항목과 이행 계획이 세워져 있고 확실한 실행이 가능하다. |
보안 | 사회적, 경제적 손실을 가져올 수 있는 위협에 대한 대책이 적절히 세워져 있다. |
시스템 환경/생태계 | 전원, 온도, 재해, 보안 등 시스템의 이용 환경과 설치 장소가 고려되어 있다. |
폐기 처리 방법, 에너지 소비 효율 등 환경적인 문제도 다룬다. |