프로그램 개발 방법의 생각
개발 과정은 집짓는 건축과정과 비슷하다
클라이언트의 요구사항
설계도
설계대로 지어지는지 검토
확인후 확정
테스트
유지보수
폭포수 개발방법의 기본원칙
1. 앞 단계가 되어야 다음 단계 이동 가능
2. 단계 완료후 해당 문서가 나와야 한다.
요구분석 (Requirements)
문제의 해결을 위해 시스템이 갖추어야 하는 조건과 능력
요구사항 명세서, 계약서에 명시
분석(Analysis)
요구사항을 만족하려면 어떻게 설계해야하는가
분석하고 가늠을 잡는 단계
설계(Design)
설계도를 그리는 단계
요구 명세에 따라 소프트웨어의 전체 구조와 구조간의 관계, 상세 알고리즘을 설계 하는데
전체 구조를 설계 하는 것은 "기본설계" 상세 알고리즘을 설계하는 것을 "상세 설계"
구현(Implementation)
설계한대로 구현
코딩하는 단계이다.
검증(QA) Verification(Testing)
유지보수(Maintenance)
폭포수 방법론의 장점
폭포수 방법론의 단점
재미로 보고가기
애자일 방법론이란?
애자일 방법론은 앞서 잠시 설명한 '폭포수형 모델'에 반대되는 개념으로 탄생한 방법론이다. 즉 폭포수 모델은 소프트웨어 개발 계획을 정해두고 각각의 단계별로 개발을 진행하는 형태의 개발 방법론이다. 때문에 중간에 문제가 생긴다면 처음부터 다시 각각의 단계를 진행해야 한다.
애자일 방법론은 앞서 잠시 설명한 '폭포수형 모델'에 반대되는 개념으로 탄생한 방법론이다. 즉 폭포수 모델은 소프트웨어 개발 계획을 정해두고 각각의 단계별로 개발을 진행하는 형태의 개발 방법론이다. 때문에 중간에 문제가 생긴다면 처음부터 다시 각각의 단계를 진행해야 한다.
위사진을 보면 폭포수 방법론의 구조랑 크게 다르지 않다.
하지만..
단위를 쪼개서
여러번 수행되는 모습을 볼수 있습니다.
Agile은 주로 소프트웨어 개발에 사용되는 프로젝트 관리 방법론으로, 전체 작업을 여러 개의 작은 작업으로 나누고이를 스프린트라고하는 짧고 점진적인 작업 단계와 함께 첨부합니다.
애자일의 가치
Development + Operation
개발담당자와 운영담당자가 연계하여 협력하는 개발 방법론
데브옵스
Agile software development
애자일 개발 프로세스
익스트림 프로그래밍, 스크럼, 크리스털 패밀리, 익스트림 모델링
계획과 문서를 기반으로 개발 모형이나 모델에 따라 앞을 예측하며 개발하는 것이 아니라, 실질적인 코딩을 기반으로 일정한 주기에 따라 계속적으로 프로토타입을 형성하고 필요한 요구사항을 파악하며 이에 따라 즉시 수정사항을 적용하여 결과적으로 하나의 큰 소프트웨어를 개발하는 적응형 개발 방법
여기 애자일에서
자동화 빌드, 테스트, 등 동적으로 자동화 시스템을 적용한 것이
데브옵스라고 보면 됩니다.
데브옵스 DevOps는 쉽게 말해 개발부서와 운영부서 간의 원활한 소통을 기반으로 합니다.
개발 부서에서 웹사이트 개발, 앱 개발, 그리고 알고리즘 개발을 한다면 운영 부서에서는 개발된 아이템이 고객에게 잘 전달되도록 하는 부서입니다. 운영팀에서 고객의 수요에 맞춰 서버와 데이터베이스를 관리하는 일을 통해 서비스가 제대로 돌아갈 수 있는 환경을 개발팀에게 제공할 수 있는 것입니다.
애자일 도구 리스트
https://ko.myservername.com/top-10-best-agile-project-management-tools-2021#5_Wrike