본문 바로가기
반응형

용어 사전103

스파이럴(Spiral)이란? 스파이럴(Spiral)이란? 스파이럴 개발 방법(Spiral Development Method)은 소프트웨어 개발 프로세스 중 하나로, 설계와 프로토 타입 만들기를 반복하며 점진적인 접근을 통해 완벽한 시스템을 개발하는 모델입니다. 이 방법은 리스크를 최소화하기 위해 사용되며 개발 프로세스에 위험 분석 단계가 포함되어 프로젝트의 위험 요소를 초기에 탐지하고 적절한 대응을 할 수 있습니다. 또한, 스파이럴 개발 방법은 고객의 요구사항을 반복적으로 수용하고 검증할 수 있는 특징을 가지고 있는데, 이는 고객의 피드백을 받아들여 시스템에 반영하고 고객의 요구사항을 충족시키기 위해 계속해서 개선하는 과정을 의미합니다. 스파이럴 개발 단계 1. 계획(Plan) 단계 계획 단계에서는 초기 요구사항 수집 및 분석을 수.. 2023. 6. 30.
스크럼(Scrum)이란? 스크럼(Scrum)이란? 스크럼(Scrum)은 소프트웨어 개발을 위한 애자일(Agile) 프로젝트 관리 방법론 중 하나로, 팀이 협업하고 목표를 달성하기 위해 필요한 관리 프레임워크입니다. 스크럼은 애자일 철학을 기반으로 개발된 프레임워크로 효율적인 팀 협업과 지속적인 발전을 목표로 합니다. 쉽게 말해 스크럼은 스포츠 팀이 큰 시합을 앞두고 대비하는 것과 비슷한 방식으로 작동합니다. 스포츠 팀이 큰 시합을 목표로 두고 주기적으로 훈련하고 전략을 계획하며 필요한 준비를 하는 것과 마찬가지로, 스크럼 팀은 일정한 주기로 회의를 진행하고 협업 도구를 사용하여 작업을 추적하고 조정합니다. 스크럼은 작은 개발 주기를 반복하는 이터레이션을 강조합니다. 이 이터레이션은 스프린트(Sprint)라고도 불리며, 보통 1주.. 2023. 6. 29.
워터폴(폭포수, Waterfall)이란? 워터폴(폭포수, Waterfall)이란? 워터폴(폭포수, Waterfall) 방식은 소프트웨어 개발 방식 중 하나로, 프로젝트를 선형적이고 순차적으로 진행하는 방법론으로 폭포수라고도 불립니다. 이 방식은 각 단계가 이전 단계의 완료를 전제로 하며, 요구사항 정의(설계), 디자인, 개발, 테스트, 배포의 과정이 순서대로 진행되어 이전 단계가 완료되지 않으면 다음 단계로 진행할 수 없습니다. 워터폴 방식은 주로 요구사항이 명확하고 고정적이며 변경 가능성이 적은 프로젝트에 적합합니다. 일반적으로 자동차, 선박, 건축 등의 산업에서 워터폴 방식을 사용하는 경우가 많습니다. 워터폴 방식의 단계별 예시 1. 요구사항 정의 (설계) 이 단계에서는 프로젝트의 목적, 범위, 기능, 비기능 요구사항 등을 클라이언트와 협의.. 2023. 6. 28.
애자일(Agile)이란? 애자일(Agile)이란? 애자일(Agile)은 소프트웨어 개발 방식 중 하나로, 작업 계획을 짧은 단위로 세우고 이를 반복하여 시제품을 만들어 나가는 방법으로 클라이언트의 요구 사항이 변화할 때 유연하고 신속하게 대응할 수 있습니다. 애자일은 단순히 방법론이 아닌 사상이나 철학에 가까우며 애자일 개발팀은 다음과 같은 원칙을 따릅니다. 1. 개인과 상호작용보다 프로세스와 도구 애자일은 개발 팀 구성원들 간의 원활한 커뮤니케이션과 협업을 강조합니다. 프로세스와 도구는 중요하지만, 사람들 간의 상호작용과 소통이 더욱 핵심적입니다. 2. 포괄적인 문서보다 동작하는 소프트웨어 애자일은 실질적인 결과물에 집중하며 완벽한 문서보다는 동작하는 소프트웨어에 더 가치를 둡니다. 작은 단위로 개발하고, 테스트 가능하며 실제.. 2023. 6. 27.
가비지 컬렉션(Garbage Collection, GC)이란? 가비지 컬렉션(Garbage Collection, GC)이란? 가비지 컬렉션(Garbage Collection)은 컴퓨터 프로그래밍에서 사용되는 메모리 관리 기법 중 하나로, 프로그램이 동적으로 할당한 메모리 중에서 더 이상 사용되지 않는 메모리를 자동으로 탐지하고 회수하는 과정을 말합니다. 이를 통해 프로그래머는 명시적으로 메모리를 해제하는 작업에 신경쓰지 않아도 되므로 메모리 누수나 잘못된 메모리 참조와 같은 일부 버그를 방지할 수 있습니다. 가비지 컬렉션은 대부분의 고급 프로그래밍 언어에서 지원되며, 자바(Java), C#(C Sharp), 파이썬(Python), 자바스크립트(JavaScript) 등 많은 언어에서 기본적으로 가비지 컬렉션을 제공합니다. 힙 영역의 구성 요소 및 동작 방식 가비지 컬.. 2023. 6. 26.
리팩터링(Refactoring)이란? 리팩터링(Refactoring)이란? 리팩터링은 소프트웨어 개발 과정에서 기존 코드를 변경하지 않고도 코드의 구조와 디자인을 개선하는 과정을 말합니다. 리팩터링은 코드의 가독성, 유지보수성, 확장성을 향상시키는 데 목적을 두며 코드를 리팩터링함으로써 버그를 줄이고 기능 개선 및 추가 작업을 쉽게 수행할 수 있습니다. 리팩터링은 코드의 품질을 향상시키기 위해 코드 스멜이라고 불리는 문제점들을 찾아 개선하는 작업이라고 할 수 있는데, 코드 스멜은 중복 코드, 긴 함수, 긴 매개변수 목록, 전역 데이터, 가변 데이터 등과 같은 요소들로 인해 코드의 가독성과 유지보수성이 저하되는 상황을 말합니다. 몇 가지 예시로는 변수 캡슐화하기, 변수 쪼개기, 함수 추출하기, 함수 인라인하기, 클래스 추출하기 등이 있습니다... 2023. 6. 25.
씩 프로비저닝(Thick provisioning)이란? 씩 프로비저닝(Thick provisioning)이란? 씩 프로비저닝은 미리 정해진 크기만큼의 스토리지 공간을 할당하는 방식을 말합니다. 스토리지는 컴퓨터가 데이터를 저장하는 장치로, 용량에는 한계가 있어 모든 데이터를 저장할 수는 없기 때문에 스토리지를 여러 호스트나 클라이언트가 공유하게 됩니다. 이때 스토리지를 어떻게 공유할지 정하는 방법이 바로 씩 프로비저닝과 씬 프로비저닝입니다. 지난 씬 프로비저닝 포스팅에 관련 내용이 자세히 설명되어 있습니다. 씬 프로비저닝(Thin provisioning)이란? 씬 프로비저닝(Thin provisioning)이란? 씬 프로비저닝(Thin provisioning)이란? 씬 프로비저닝은 스토리지 용량을 최적화하여 필요한 용량을 유연하게 사용할 수 있도록 하는 기술.. 2023. 6. 24.
반응형