CS/Software Engineering
-
[Software Engineering] AgileCS/Software Engineering 2021. 8. 8. 19:51
📝 Agile 💻 Software Development Life Cycle (SDLC) ✔ 소프트웨어 개발부터 폐기까지 전 과정을 하나의 생명주기로 정의하고 단계 별 공정을 체계화한 모델이다. 🔧 다음과 같은 생명주기 모델이 있다. 폭포수 모델 - 한 단계가 완전히 끝나야 다음 단계로 넘어간다. 프로토타입 모델 - 시제품을 만들어 최종 결과물을 예측한다. 나선형 모델 - 위험 분석 과정을 포함하며 여러번 개발 과정을 거쳐 점진적으로 누락, 추가되는 요구사항을 첨가한다. 애자일 모델 - 고객 중심적이며 고객 요구사항 변화에 유연히 대응한다. 💻 애자일 방법론 🔧 애자일 방법론의 특징 고객과 지속적으로 소통하여 변화하는 요구사항을 신속하게 수용한다. 고객의 의견을 가장 우선시 한다. 짧은 개발 주기를 반복한..
-
[Software Engineering] MSACS/Software Engineering 2021. 8. 8. 18:02
📝 MSA 💻 Monolithic ✔ MSA가 도입되기 전, 모든 기능을 하나의 어플리케이션에서 비즈니스 로직을 구성해 운영하는 Monolithic 방식으로 개발이 이루어 졌다. 🔧 Monolithic 장점 개발시 환경 설정에 있어 간단하다. 작은 사이즈의 프로젝트에서 유리하다 🔧 Monolithic 단점 빌드/테스트 시간이 증가한다 - 하나를 수정해도 시스템 전체를 빌드해야 하며 유지보수가 힘들다. 작은 문제가 시스템 전체에 영향을 미친다. 확장성에 불리하다 - 하나의 서비스 확장을 위해 전체 프로젝트를 확장해야 한다. 💻 MicroService Architecture ✔ 기능 별로 컴포넌트를 나누고 조합할 수 있도록 구축한다. 🔧 컴포넌트란? 재사용이 가능한 독립적인 단위모듈이다. 구현, 명세화, 패..