본문 바로가기

CS 강의/소프트웨어 공학

소프트웨어 개발 생명 주기(SDLC)

계획-분석-설계-구현-테스트-유지보수

계획:

개발할 시스템을 정의하고, 제품 또는 서비스가 시장성은 있는지, 또 사용자의 요구사항대로 구현하는데 기술적 어려움은 없는지, 개발 도구 저작권에 대한 법적인 문제는 없는지 등을 면밀히 확인하는 단계이다.

 

 

분석:

대표적으로 사용자의 Needs를 파악하기위한 요구사항 명세서(SRS)를 작성하는 단계다. 정보를 모으는 방법으로는 인터뷰, 설문조사, 자료 수집 등이 있다.

 

 

설계:

소프트웨어 설계(Design)에는 상위설계와 하위설계 두가지가 존재한다. 설계 단계에서는 분석단계에서 고려하지 않았던 상세 내용을 충분히 반영하여 구현할 수 있는 수준으로 준비해야한다. 운영체제, 미들웨어, 프레임워크 등을 결정해야 한다.

 

 

구현:

프로그래밍 언어를 활용해서 제품 또는 서비스를 구현하는 단계다. 이때 중형 이상의 SW 구현에는 표준 코딩 규칙을 적용해야 한다.

 

 

테스트:

산업 전반의 소프트웨어 의존도가 높아짐에 따라, SW오류는 심각한 인명, 경제적 피해를 유발할 수 있다. 하여 모든 상업용 SW는 신뢰도와 안전성을 요구한다. 이에 따라 SW의 결함을 최대한 찾아내어 줄이는 작업이 테스트 단계에서 이루어진다. 다만 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다.

 

 

유지보수:

소프트웨어의 유지보수는 다음과 같이 4가지로 분류해 볼 수 있다. 수정, 적응, 기능 보강, 예방 유지보수다. 수정은 잘못된 것을 바르게 고치는 것이다. 적응은 새로운 변화에 맞추는 것, 기능 보강은 기능을 추가하는것, 예방은 미리 예상되는 에러에 대해 수정하는 것이다.

'CS 강의 > 소프트웨어 공학' 카테고리의 다른 글

소프트웨어 개발 계획  (0) 2021.03.30
소프트웨어 개발 프로세스 정리  (0) 2021.03.23