SDLC(Software Development Lifecycle) vs Secure SDLC(SSDLC)
늘어나는 보안 위협에 소프트웨어 개발 수명주기상에서 안전을 보장하는 것은 더 이상 미뤄도 되는 일이 아니게 됐습니다. 디지털 신뢰의 중심을 세우는 과정에서도 소프트웨어가 어떻게 설계되었는지 이해시키는 것은 이해관계자들에게도 중요한 일입니다. 따라서 SDLC와 SSDLC의 차이 및 장단점을 자세히 알아보겠습니다.
SDLC란?
소프트웨어 개발 수명주기(SDLC)는 아이디어를 기능적이고 유지 관리 가능한 소프트웨어 제품으로 변환하기 위한 로드맵을 제공합니다. 이는 소프트웨어 제작의 모든 측면이 제 기능을 할 수 있도록 보장하는 단계별 가이드 역할을 합니다.
일반적으로 6개 단계로 설명됩니다.
1. 요구 사항 분석
소프트웨어의 목적, 이용자 등 정확한 요구 사항과 기대 사항을 개발자, 이해 관계자, 최종 사용자가 논의하고 정리합니다.
2. 디자인
소프트웨어의 형태, 제공할 경험, 이에 따른 기술 사양과 아키텍처를 결정합니다. 그리고 최종 사용자 경험을 시각화하는 아키텍처 청사진과 사용자 인터페이스 모형 및 프로토 타임을 만듧니다.
3. 구현
설계를 바탕으로 모든 기능과 인터페이스를 구체화합니다. 대상 플랫폼의 프로그래밍 언어를 선택하고 반복적인 피드백, 지속적인 통합을 통해 각 개발 단위 병합시에 발생하는 문제를 테스트하며 코딩 표준을 준수합니다.
4. 테스트 및 배포
코드상의 버그, 비효율성을 검사하고 소프트웨어가 의도된 기능에서 뛰어난 성능을 발휘하는지 확인하여 설정된 표준을 충족하면 사용자 대상의 환경에 소프트웨어를 배포합니다.
5. 유지관리
시간이 지남에 따라 사용자의 요구사항이 변화고 새로운 과제가 등장하며 개선이 필요해집니다. 이러한 변화를 받아들일 수 있도록 소프트웨어를 고치면서 기존의 기능을 유지합니다.
SDLC의 이점
체계적인 단계별 진행을 통해 개발 프로세스의 모든 참가자는 항상 후속 단계에 대한 정보를 받아 예측 가능한 진행을 보장받습니다. 또한 명확한 이정표를 제시함과 동시에 명확한 역할 분담을 가능케 합니다. 각 단계에서의 목표에 따른 구성원의 책임을 꼼꼼하게 정의할 수 있습니다.
참고자료
https://www.cobalt.io/blog/evolution-of-software-development-from-sdlc-to-ssdlc
'정보처리기사' 카테고리의 다른 글
OSI 7계층의 네트워킹 장비 및 주요 프로토콜 (0) | 2024.09.26 |
---|---|
보안 공격 기법 (3) | 2024.09.24 |
병행 수행 및 병행 제어 (0) | 2024.09.24 |
해시충돌 해결법과 예제 (0) | 2024.09.24 |