learn/methodology 5

객체 지향 프로그래밍 (Object-Oriented Programming : OOP)

소프트웨어 개발 패러다임 중 하나로, 현실 세계의 개념을 소프트웨어로 모델링하는 방법 클래스(Class): 클래스는 객체를 만들기 위한 설계도로써 클래스는 속성(데이터)과 메서드(동작)를 포함 public class Car { // 속성(데이터) String brand; int year; // 메서드(동작) void start() { System.out.println("Car started!"); } } 객체(Object): 클래스를 기반으로 실제로 생성된 것로써 클래스의 인스턴스임 public class Main { public static void main(String[] args) { // Car 클래스의 객체 생성 Car myCar = new Car(); // 객체의 속성 설정 myCar.bran..

learn/methodology 2023.09.26

테스트 주도 개발 (Test Driven Development : TDD)

코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 접근 방식 테스트 작성 (Test): 개발자는 먼저 개발할 기능 또는 모듈에 대한 테스트 케이스를 작성합니다. 이 테스트 케이스는 해당 기능이나 모듈이 어떻게 동작해야 하는지를 정의합니다. 테스트 실행 (Run): 작성한 테스트 케이스를 실행합니다. 이때, 아직 개발되지 않은 코드이므로 테스트는 실패할 것입니다. 코드 작성 (Code): 테스트를 통과하기 위한 코드를 작성합니다. 목표는 테스트를 통과하는 코드를 작성하는 것입니다. 테스트 재실행 (Run): 코드를 작성한 후에는 다시 테스트를 실행하여 테스트 케이스가 통과하는지 확인합니다. 통과하지 않으면 코드를 수정하여 다시 시도합니다. 리팩토링 (Refactor): 테스트가 통과되면 코드를 리팩토링하..

learn/methodology 2023.09.21

스크럼 (Scrum)

애자일 방법론 중 하나로, 효율적인 협업과 고객 중심의 접근을 강조하는 프레임워크 스프린트(Sprint): Scrum은 작은 주기를 반복하는 방식으로 작업을 진행. 이 작은 주기를 "스프린트"라고 하며, 스프린트 기간 동안 일정 목표를 달성하기 위한 작업을 수행. 일반적으로 2주에서 4주 사이의 기간으로 설정. 제품 백로그(Product Backlog): 개발할 기능, 작업 항목, 요구사항 등을 모아놓은 목록을 제품 백로그라고 함. 이 목록은 우선순위를 가지고 있어 가장 중요한 항목이 먼저 처리됨. 스크럼 팀(Scrum Team): 스프린트를 수행하는 작은 자기 조직된 팀을 형성. 이 팀은 개발자, 제품 책임자(Product Owner), 스크럼 마스터(Scrum Master)로 구성되며, 각각 역할과 ..

learn/methodology 2023.09.21

폭포수(Waterfall)

요구사항 분석 → 설계 → 개발(구현) → 테스트(검증) → 배포(유지보수) 소프트웨어 개발 및 프로젝트 관리를 위한 전통적인 방법론. 개발 단계가 순차적이고 선형적으로 진행되는 고전적인 방식으로, 각 단계가 이전 단계의 완료를 기다리는 특징을 가짐 Waterfall 방법론은 변경에 취약하며 요구사항이나 환경이 변할 경우 유연하게 대처하기 어렵다는 단점 One Big SDLC

learn/methodology 2023.09.21