[TIL] 25.01.21 TUE

GDORI·2025년 1월 22일
0

TIL

목록 보기
167/184
post-thumbnail

소프트웨어 공학

고품질 소프트웨어를 효율적으로 설계, 개발, 유지보수하기 위한 체계적인 접근 방법으로 이를 통해 소프트웨어 프로젝트의 비용과 시간을 절감하고 품질을 높이는 것이 목표이다

주요 요소로는 다음과 같다.

  • 요구사항 분석: 소프트웨어가 해결해야 할 문제를 명확히 정의.
  • 설계: 소프트웨어의 구조와 동작 방식을 구체화.
  • 구현: 설계된 내용을 기반으로 코드를 작성.
  • 테스트: 소프트웨어의 품질을 보장하기 위한 검증.
  • 유지보수: 소프트웨어의 성능 및 안정성을 지속적으로 개선.

역공학

기존 시스템이나 소프트웨어의 구조, 기능, 동작 원리를 분석하여 문서화하거나 복제하는 과정으로 주로 다음의 목적을 위해 사용된다.

  • 시스템 분석: 기존 소프트웨어를 이해하여 수정하거나 통합하기 위해.
  • 호환성 확보: 레거시 시스템과의 호환성을 보장하기 위해.
  • 보안 강화: 취약점을 분석하여 보완책 마련.
  • 교육 및 학습: 소프트웨어 작동 원리를 학습.

소프트웨어 개발 방법론

프로젝트 관리 및 개발 과정에서 사용할 체계적인 절차와 원칙을 정의한 것으로 주요 방법론은 폭포수, 나선형 등이 있다.

폭포수 모형

선형 순차적 모델이라고도 하며 Boehm이 제시한 고전적 생명주기 모델로 소프트웨어 개발 과정의 각 단계가 순차적으로 진행되는 모형이다.

나선형 모형

반복적인 작업을 수행하는 점증적 생명주기 모형으로 위험을 관리하고 최소화하는 것이 목적으로 나선을 따라 돌어가며 각 개발 순서를 반복하여 수행하는 점진적 방식으로 누락된 요구사항을 추가할 수 있다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글

관련 채용 정보