요구사항 명세서 작성
- IEEE 830-1998으로 요구사항 명세서(SRS, Software Requirement Specification)의 표준이 있음
- 기본적으로 작성해야하는 내용들
- Introduction에는 문서의 목적, 범위, 용어 정의(정의, 두문자, 약어), 참조 등의 개요등을 작성
- Overall description에는 제품 관점에서 동작이나 기능, 사용자 특성, 소프트웨어의 가정 및 제약사항, 의존성 등을 작성
- Specific Requirement에는 소프트웨어의 모든 세부적인 요구사항을 작성해야 함
요구되는 세부 사항들은 다음 사진과 같음
요구사항 명세서가 갖춰야 할 조건
- IEEE 1012로 표준화 된 소프트웨어 검증과 확인 절차 문서에서 제시하고 있는 요구사항 평가 항목에 따라 요구사항 명세서를 평가할 수 있음
- IEEE 830-1998에서 제시하고 있는 좋은 소프트웨어 요구사항 명세서가 갖춰야 할 특징을 알 수 있음
요구사항 분석 기법은 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법
설계 명세서 작성
- IEEE 1016-2009에 설계 명세서(SDD, Software Design Description)의 표준이 있음
- 설계 명세서의 내용에 들어갈 내용들은 사진과 같음
- 명세서에 작성해야하는 자세한 내용들은 링크
소프트웨어 개발 표준
- ISO/IEC 12207
- CMMI(Capability Maturity Model Integration)
- SPICE(Software Process Impovement and Capability dEtermination)
기본 생명 주기 프로세스: 획득, 공급, 개발, 운영, 유지보수
지원 생명 주기 프로세스: 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결
조직 생명 주기 프로세스: 관리, 기반 구조, 훈련, 개선
CMMI의 소프트웨어 프로세스 성숙도
- 초기(Initial)
- 관리(Management)
- 정의(Defined)
- 정량적 관리(Quantitatively Managed)
- 최적화(Optimizing)
SPICE의 프로세스 수행 능력
1. 불완전
2. 수행
3. 관리
4. 확립
5. 예측
6. 최적화
SPICE의 프로세스 범주
1. 고객-공급자 프로세스
2. 공학 프로세스
3. 지원 프로세스
4. 관리 프로세스
5. 조직 프로세스
소프트웨어 테스팅
- ISO/IEC/IEEE 29119는 소프트웨어 테스트를 위한 5가지 국제 표준
유지보수의 종류
- 수리 유지보수: 최종 사용자가 보고한 버그 수정
- 적응 유지보수: 환경변화에 따라 신규 환경에 소프트웨어를 맞추는 작업
- 완전지향 유지보수: 새로운, 변경된 사용자 요구사항을 반영하여 소프트웨어 업데이트
- 예방 유지보수: 문서 업데이트, 코멘트 추가, 시스템 모듈 구조 개선, 코드 최적화 같은 시스템 유지보수성 개선