본문 바로가기

컴퓨터 | IT31

스크럼(Scrum) 스크럼(Scrum) 스크럼(Scrum) 스크럼(Scrum)은 팀 기반 개발 환경 내에서 작업을 관리하는 방법에 특히 집중하는 애자일(Agile) 개발 방법이다. 기본적으로 스크럼은 럭비 경기 중에 발생하는 활동에서 파생되었다. 스크럼(Scrum)은 개발 팀의 역량을 강화하고 소규모 팀에서 선호된다. 세 가지 역할로 구성되며, 그 책임은 다음과 같다. ¤ Scrum Master 마스터는 팀 구성, 스프린트 미팅 및 진행에 방해되는 것을 제거할 책임이 있다. ¤ Product owner 프로덕트 오너는 제품 백로그를 생성하고 백로그의 우선 순위를 지정하며 각 반복에서 기능 제공을 담당한다. ※ 제품 백로그 - 출시하려는 제품에 필요하다고 알려진 모든 요구사항에 대한 수선 순위 목록 ¤ Scrum Team 팀.. 2021. 2. 8.
애자일 방법론(Agile) 애자일 방법론(Agile) 애자일(Agile) 애자일 소프트웨어 개발 방법론은 비즈니스 요구에 대한 비전을 소프트웨어 솔루션으로 전환하는 가장 간단하고 효과적인 프로세스 중 하나이다. 애자일 프로세스 모델은 고객의 요구사항을 바로 반영하고 상황에 따라 주어지는 문제를 풀어나가는 방법론이다. 주로 요구사항에 대처하기 어려운 폭포수 모델과 비교할 수 있다. 애자일(Agile)은 네 가지 핵심 가치를 가지고 있다. 1. 프로세스 및 툴에 대한 개별 및 팀 상호 작용 2. 포괄적인 설명서를 통한 소프트웨어 작동 3. 계약 협상을 통한 고객 협업 4. 계획에 따른 변경 대응 애자일과 폭포수 모델 애자일 폭포수 모델 점진적이고 반복적인 접근방식 순차적 진행 고객이 초기에 제품을 보고 프로젝트 결정 및 변경 프로젝트.. 2021. 2. 7.
XP(Extreme Programming) XP(Extreme Programming) XP(Extreme Programming) 익스트림 프로그래밍(Extreme Programming, XP)은 변화하는 고객 요구사항에 대한 소프트웨어 품질과 대응성을 향상시키기 위한 소프트웨어 개발 방법론이다. Value 익스트림 프로그래밍은 처음에 커뮤니케이션, 단순성, 피드백, 용기라는 네 가지 가치를 인식했다. 존중이라는 새로운 가치가 Extreme Programming Descripted의 두 번째 판에 추가되었다. 1. 소통(Communication) 소프트웨어 시스템을 구축하려면 시스템 개발자에게 시스템 요구사항을 전달해야한다. 공식 소프트웨어 개발 방법론에서 이 작업은 문서를 통해 수행된다. 목표는 모든 개발자에게 시스템 사용자가 보유한 보기와 일치.. 2021. 2. 6.
시스템 개발 수명 주기(System Development Life Cycle : SDLC) 시스템 개발 수명 주기(System Development Life Cycle : SDLC) SDLC(System Development Life Cycle) SDLC(System Development Life Cycle)는 시스템 엔지니어링, 정보 시스템 및 소프트웨어 엔지니어링에서 애플리케이션 개발 수명 주기라고도 하며 정보 시스템을 계획, 생성, 테스트 및 배포하는 프로세스이다. 시스템 개발 수명주기 개념은 시스템이 하드웨어, 소프트웨어 또는 둘 모두의 조합으로 구성될 수 있기 때문에 다양한 하드웨어 및 소프트웨어 구성에 적용된다. 이 주기에는 일반적으로 요구사항 분석, 설계, 개발 및 시험, 구현, 문서화 및 평가의 단계가 있다. 이 파일은 Creative Commons Attribution-Shar.. 2021. 2. 5.
객체 지향 프로그래밍 객체 지향 프로그래밍 객체 지향 프로그래밍 객체 지향 프로그래밍(OPP)은 필드 형태의 데이터와 코드(속성 또는 속성), 프로시저 형태의 코드를 포함할 수 있는 객체(objects)의 개념에 기반한 프로그래밍 패러다임이다. 객체의 특징은 객체 자체의 절차가 자주 자신의 데이터 필드에 접근하고 수정할 수 있다는 것이다. 객체 지향 프로그래밍에서 컴퓨터 프로그램은 서로 상호작용하는 개체로 만들어 설계된다. 언어는 다양하지만, 가장 인기 있는 언어는 클래스 기반이며, 개체가 클래스 인스턴스이며, 클래스 유형도 결정한다. 중요한 객체 지향 언어에는 Java, C++, C#, Python, R, PHP, Visual Basic.NET, JavaScript, Ruby, Perl, Object Pascal, Obje.. 2021. 2. 4.
소프트웨어 개발 모델 : 나선 모델(Spiral model) 나선 모델(Spiral model) 나선 모델 하향식 및 상향식 개념의 장점을 결합하기 위해 폭포 모델의 일부 핵심 측면과 빠른 프로토타이핑 방법론을 결합한 공식 소프트웨어 시스템이 "나선 모델"이다. 특히 대규모 복잡한 시스템에 적합한 의도적인 반복 위험 분석으로 인해 많은 사람들이 무시했었던 주요 영역에 중점을 두었다. 나선 모델에서는 설계, 프로그래밍 및 테스트로 구성된 일련의 프로세스가 시스템의 각 하위 단위에 대해 반복되며, 개발은 반복적이고 곱게 이루어진다. 기본 원리 프로젝트를 더 작은 세그먼트로 나누고 개발 프로세스 동안 보다 쉽게 변경할 수 있는 기회를 제공함으로써 위험 평가와 프로젝트 위험 최소화에 초점을 맞추고 있으며, 라이프사이클 전체에 걸쳐 리스크를 평가하고 프로젝트 지속에 대한 .. 2021. 2. 3.
소프트웨어 개발 모델 : 프로토타입 모델(Prototype model) 프로토타입 모델(Prototype model) 프로토타입 모델 폭포수 모델은 다음과 같은 문제들을 수반한다. -폭포모형에서는 시스템 기본계획 단계에서 사용자의 요구 사항을 파악하기가 매우 어렵습니다. 때로는 고객조차도 그러한 요구 사항을 알지 못한다. - 설계 다이어그램 및 구두 설명이 불충분한 경우가 있다. 이러한 문제를 해결하기 위해, 프로토타입 모델이 고안되었다. 프로토타입 모델을 사용하여, 구성될 시스템은 고객의 이해를 돕기 위해 SQL(Structured Query Languag)과 같은 단순화된 프로그래밍 언어로 대략 모델링된다. 그런 다음 의도된 개발 작업을 주시한다. 프로토타입 모델 분류 - "투기형": 시험편은 목적 달성 후 폐기된다. - "기밀형" : 이후 시험편에 세부사항이 추가되어 .. 2021. 2. 2.
소프트웨어 개발 모델 : Waterfall model(폭포수 모델) Waterfall model(폭포수 모델) 폭포수 모델 모델에서, 작업은 여러 단계로 나뉘며, 각 단계에 대해 관리를 수행한다. '폭포수'라는 이름으로 알 수 있듯이, 모델의 작업은 상류(기본 계획)에서 하류(下流)로 진행되며, 절대 역류하지 않는다. 폭포수 모델은 소프트웨어 엔지니어링에 적용되는 전통적인 엔지니어링 접근 방식이다. 접근방식이 이전단계를 다시 수정할 수 없도록 되어 있기 때문에 보다 유연한 모델로 대체되었다. 소프트웨어 요구사항 분석 → 소프트웨어 디자인 → 수행 → 검증 → 유지보수 이 파일은 Creative Commons Attribution 3.0 Unported 라이선스에 따라 사용이 허가되었습니다 . 폭포수 모델의 단점 - 폭포모형에서는 시스템 기본계획 단계에서 사용자의 요구 사.. 2021. 2. 1.
소프트웨어 개발 소프트웨어 개발 프로세스 소프트웨어 개발 소프트웨어 개발은 응용 프로그램, 프레임 워크 또는 기타 소프트ㅜ에어 구성 요소를 만들고 유지 관리하는 데 관련된, 구상, 지정, 설계, 프로그래밍, 문서화, 테스트 및 버그 수정 과정이다. 소프트웨어는 다양한 목적으로 개발될 수 있으며, 세 가지 가장 일반적인 용도는 특정 클라이언트 / 비즈니스의 특정 요구(맞춤형 소프트웨어의 경우), 일부 잠재적 사용자의 인식된 요구(상업 및 오픈 소스 소프트웨어의 경우), 개인적인 사용을 위해 개발될 수 있다. 일상적인 임베디드 소프트웨어 개발, 즉 소비자 제품을 통제하기 위해 사용되는 것과 같은 임베디드 소프트웨어의 개발은 통제된 물리적 제품의 개발과 통합되어야 한다. 시스템 소프트웨어는 애플리케이션과 프로그래밍 프로세스 .. 2021. 1. 31.
플랫폼이란 플랫폼 플랫폼 정의 컴퓨팅 플랫폼 또는 디지털 플랫폼은 소프트웨어가 실행되는 환경이다. 프로그램 코드가 실행되면 하드웨어 또는 운영 체제(OS), 심지어 웹 브라우저 및 관련 애플리케이션 프로그래밍 인터페이스 또는 기타 기본 소프트웨어일 수도 있다. 컴퓨팅 플랫폼은 컴퓨터 프로그램을 실행할 수 있는 단계이다. 플랫폼은 소프트웨어 개발 프로세스의 제약으로 볼 수 있으며, 서로 다른 플랫폼은 서로 다른 기능과 제한 사항을 제공하며, 개발 프로세스의 보조 도구로서 저수준의 기능성을 기성품으로 제공한다는 점에서 둘 다로 볼 수 있다. 예를 들어 OS는 하드웨어의 근본적인 차이를 추상화하고 파일을 저장하거나 네트워크에 액세스하는 일반적인 명령을 제공하는 플랫폼일 수 있다. 구성 ¤ 소규모 임베디드 시스템의 경우 .. 2021. 1. 30.