패스트캠퍼스 강의 정리

사이드 프로젝트 강의 정리 3일차

diary owner 2022. 12. 9. 20:46

소프트웨어 개발 주기

  • 소프트웨어를 개발하고 관리하는 데에 있어 가장 근간이 되는 프로세스이자 프레임워크
  • 실무에서도 소프트웨어 개발 주기를 기반으로 프로젝트를 진행
  • 사이드 프로젝트도 이 개발 주기를 기반으로 진행해야 체계적으로 진행하고 더 좋은 품질의 제품을 개발할 수 있다

SDLC (Software Development Life Cycle)

계획 => 분석 => 디자인 => 구현 => 테스팅 및 배포 => 유지 보수

1. 기획

  • 요구사항을 수집하고 프로젝트를 기획하는 단계
    • 사용자 설문, 마케팅 요구사항 등 다양한 채널을 통해 데이터를 모으는 과정으로 가장 중요하면서도 기초가 되는 단계
  • QA (Quality Assurance)를 위한 요구사항과 프로젝트가 가질 수 있는 리스크 판단

2. 분석

  • 제품의 요구사항을 정의하는 단계
  • SRS (Software Requirement Specification)에 기록

3. 디자인

  • 시스템을 디자인하고 설계하는 단계

4. 구현

  • 디자인을 기반으로 개발자가 코드로 기능을 구현하는 단계

5. 테스팅 및 배포

  • 구현 내용이 요구 사항을 충족 하는지 검증하는 단계
  • 프로젝트/비지니스 성격에 따라 베타 오픈, 특정 시간에 오픈 하기도 함

6. 유지 보수

  • 제품을 마켓에 배포하고 서비스를 모니터링 하면서 유지보수 하는 단계

 

SDLC 방법론

소프트웨어 개발에는 여러 접근 방식이 있으며, 기업에서 하나의 접근 방식으로 요구 사항을 충족할 수 있을 만큼 접근 방식마다 차이가 있습니다.

Waterfall

Waterfall 모델이 선형 방식으로 이동하는 것처럼 Waterfall SDLC는 소프트웨어 개발 초기부터 시작하여 각 프로세스 단계를 진행하는 선형 모델이지만, 이전 단계가 완전히 끝날 때까지는 다음 단계를 시작할 수 없습니다. Waterfall SDLC는 기업이 프로세스 각 단계에 대한 연속성과 실행 가능성을 분석하는 데 도움이 되어 병목 현상이나 사일로를 제거하는 데 유용합니다.

Agile

Agile 방법론은 사용자 입력과 경험을 핵심적으로 강조하므로 이전에 사용하기 더 번거로웠던 애플리케이션에서 발생하는 많은 문제를 해결할 수 있습니다. 소프트웨어는 Agile 프로세스를 거치면서 피드백에 매우 민감하게 반응하며, 급변하는 시장에 적응하기 위해 더 빠른 주기로 소프트웨어가 출시되도록 운용합니다.

반복

소프트웨어 개발자는 소프트웨어의 초기 버전을 신속하게 구축한 후 간단한 반복 과정을 거쳐 개선합니다. 이는 애플리케이션을 시작하고 실행할 수 있는 대규모 애플리케이션에서 일반적으로 사용되는 접근 방식으로, 비즈니스 요구를 보다 빠르게 충족합니다.

DevOps

Agile과 매우 유사한 DevOps는 설계 및 구현 단계에서 소프트웨어 사용자로부터 피드백을 수집하여 개발된 애플리케이션의 사용성과 관련성을 개선하면서, 구성된 팀원 간의 적극적인 공동 작업 및 커뮤니케이션을 활용하여 제품에 관한 모든 측면을 다룹니다. 이러한 팀에는 개발, 테스트 및 보안은 물론 정보 기술 운영 역할을 맡는 담당자가 참여합니다.

Spiral

Spiral 모델은 Waterfall에서와 같이 순차 프로세스와 함께 다른 모델의 반복 접근 방식을 사용합니다. 따라서 개발 과정에서 프로세스의 각 단계를 반복적으로 거치면서 Spiral 단계마다 점진적으로 출시하고 개선할 수 있습니다.

V 모델

검증 및 확인 모델이라고도 하는 V 모델은 순차적으로 단계에 접근하지만 "v"자 형태로 단일 단계에서의 테스트가 아닌 각 개발 단계와 직접 연결된 테스트를 포함하는 Waterfall 접근 방식으로 확장합니다.

빅뱅

빅뱅 모델에는 계획 사안이 거의 없으며 프로세스도 없는 경우가 대부분입니다. 이 프로세스는 필요한 자금과 리소스로 시작한 후 고객 요구 사항을 따르는 소프트웨어를 출력합니다. 이 모델은 일반적으로 정형화된 구조와 프로세스가 많이 필요하지 않은 소규모 팀이 추진하는 매우 간단한 프로젝트에 사용됩니다.

 

출처 : https://www.servicenow.com/kr/products/devops/what-is-sdlc.html

지금 듣고 있는 강의 : https://fastcampus.co.kr/dev_online_spdutch

 

사이드 프로젝트 : 10개 기술스택으로 구현하는 풀스택 서버리스 프로젝트 with React | 패스트캠퍼

언어와 프레임워크만 배운다고, 완성된 프로젝트만 따라한다고 내가 원하는 서비스를 개발할 수 있을까요? 서비스 구현 외에도 기획과 유지 보수, 적정 기술을 선택하여 문제를 해결하는 방법

fastcampus.co.kr