본문 바로가기
728x90
반응형

이야기들52

Extreme Programming (XP) 익스트림 프로그래밍(XP) 익스트림 프로그래밍(XP)은 애자일 모델의 가장 중요한 소프트웨어 개발 프레임워크 중 하나이다. 소프트웨어 품질과 고객 요구사항에 대한 대응성을 개선하는 데 사용된다. 익스트림 프로그래밍 모델은 프로그램 개발 프로젝트에서 과거에 잘 작동했던 모범 사례를 극단적인 수준으로 참조할 것을 권장한다. 익스트림 프로그래밍에서 모범 사례를 기반으로 실행 되어야 한다. 익스트림 프로그래밍 모델에서 인정받은모범 사례 중 일부는 다음과 같다: 코드 리뷰: 코드 리뷰는 효율적으로 오류를 검출하고 수정할 수 있다. 이를 위해 코딩하고 검토하는 작업을 한 시간마다 역할을 바꾸며 함께 수행하는 두 명의 프로그래머 쌍으로 수행되는 페어 프로그래밍을 제안한다. 테스팅: 코드 테스팅은 오류를 제거하고 신뢰.. 2023. 3. 6.
애자일 개발(Agile Software Development) 애자일 소프트웨어 개발 애자일 소프트웨어 개발은 유연성, 협업, 고객 만족도를 중요시하는 소프트웨어 개발 방법론이다. 개인과 상호 작용, 작동 소프트웨어, 고객 협업 및 변화에 대응하는 것을 우선시하는 소프트웨어 개발 원칙인 Agile 매니페스토를 기반으로 한다. 애자일 소프트웨어 개발(Agile Software Development)은 소프트웨어 개발에 대한 반복적이고 점진적인 접근 방식으로, 작동하는 제품을 신속하고 자주 제공하는 것을 중요하게 생각하는 개발 방법론이다. 개발 팀과 고객 간의 긴밀한 협업을 통해 제품이 고객의 요구와 기대에 부합하도록 보장한다. 애자일 방법론에서 개발은 다음과 같이 진행된다. 요구 사항 정의: 고객 요구 사항을 수집하고 이를 작은 작업 단위로 분해한다. 작업 단위는 스.. 2023. 3. 5.
애자일 개발 모델 (Agile Development Models) 애자일 개발 모델 (Agile Development Models) 이전에는 반복적인 폭포수 모델이 프로젝트를 완료하는 데 매우 인기가 있었다. 그러나 요즘은 소프트웨어 개발에 사용할 때 여러 가지 문제점이 발생한다. 이러한 어려움은 프로젝트 개발 중에 고객 변경 요청을 처리하고 변경 사항을 통합하는 데 필요한 높은 비용과 시간이 필요하게 된다. 이러한 폭포수 모델의 단점을 극복하기 위해, 1990년대 중반에 애자일 소프트웨어 개발 모델(Agile)이 제안되었다. Agile은 프로젝트가 빠르게 변경 요청에 대응할 수 있도록 설계되었다. 따라서 Agile의 주요 목표는 빠른 프로젝트 완료를 용이하게 하는 것이다. 이 작업을 수행하기 위해서는 민첩성이 필요합니다. 민첩성은 프로세스를 프로젝트에 맞게 조정하고,.. 2023. 3. 4.
RAD 모델과 전통적인 SDLC 비교 RAD 모델과 전통적인 SDLC 비교 RAD 모델에 대한 자세한 설명은 여기를 참조. RAD 전통적인 SDLC 단계가 잘 정의되어 있지 않다. 체계적인 방법론과 잘 정의된 단계. 접근 방식이 반복적이기 때문에 애플리케이션 개발의 다양한 단계를 검토하고 반복할 수 있다. 애플리케이션 개발을 위한 예측 가능하고 유연하지 않으며 엄격한 접근 방식을 따른다. 자동화된 RAD(빠른 애플리케이션 개발) 도구와 기술의 사용은 더 빠르고 쉬운 프로토타입을 만들어 최종 제품을 개발하는 데 사용될 수 있다. 프로토타입 어렵고 더 많은 시간과 노력이 필요할 수 있다. 모든 요구사항을 미리 알 필요는 없다. 모델의 엄격함으로 인해 프로젝트를 시작하기 전에 모든 요구사항을 알아야 한다. 변경사항을 수용하기가 더 쉽다. 모델의 .. 2023. 3. 4.
RAD(Rapid application development model) RAD(Rapid application development model) RAD는 1980년대에 IBM에 의해 처음 제안되었다. 이 모델의 중요한 특징은 강력한 개발 도구와 기술을 사용한다는 것이다. 소프트웨어 프로젝트에서 프로젝트를 소규모 모듈로 세분화하여 각 모듈을 별도의 팀에 독립적으로 할당할 수 있는 경우 이 모델을 사용하여 구현할 수 있다. 각 모듈들을 최종적으로 통합하여 완성된 시스템을 구현할 수 있다. 각 모듈의 개발은 폭포수 모델에서와 같은 다양한 기본 단계, 즉 그림과 같이 분석, 설계, 코딩 및 테스트 등을 포함한다. 이 모델의 또 다른 두드러진 특징은 짧은 시간이라는 것입니다. 예를 들어, 배포 기간(타임박스)은 일반적으로 60-90일이다. JAVA, C++, .NET, XML 등과 .. 2023. 3. 1.
증분형 프로세스 모델 증분형 프로세스 모델 증분 프로세스 모델은 연속 버전 모델이라고도 한다. 먼저, 몇 가지 기본 기능만 구현하는 간단한 작업으로 시스템을 구축한 후 고객에게 배포한다. 그런 다음 원하는 시스템이 구축될 때까지 연속적이고 반복적으로 버전을 구현하고 고객에게 배포한다. A, B 및 C는 점진적으로 개발 및 배포되는 소프트웨어의 모듈이다. 라이프사이클 활동 소프트웨어 요구사항은 먼저 점진적으로 구성하고 배포할 수 있는 여러 모듈로 나뉜다. 계획은 전체 개발 관점에서 계획이 아니라 다음 증가분만을 위해 계획한다. 따라서 고객의 필요에 따라 버전을 수정하는 것이 더 쉽다. 개발 팀은 먼저 시스템의 핵심 기능(다른 기능의 서비스가 필요하지 않음)을 개발한다. 각 증분에서 핵심 기능이 전체 개발되면 후속 버전에 새로운.. 2023. 3. 1.
나선형 모델(Spiral Model) 나선형 모델(Spiral Model) 나선형 모델은 가장 중요한 소프트웨어 개발 수명 주기 모델 중 하나로, 위험 처리를 지원한다. 도식적으로 표현하면, 나선형 모델은 많은 루프가 있는 나선형처럼 보인다. 나선형의 정확한 루프 수는 알려져 있지 않으며 프로젝트마다 다를 수 있다. 나선형의 각 루프를 소프트웨어 개발 프로세스의 단계이다. 개발에 필요한 정확한 단계 수는 프로젝트 위험에 따라 프로젝트 관리자에 따라 달라질 수 있다. 프로젝트 관리자가 단계 수를 동적으로 결정하기 때문에 프로젝트 관리자는 나선형 모델을 사용하여 제품을 개발하는 데 중요한 역할을 한다. 나선형 모델은 소프트웨어 개발에 대한 체계적이고 반복적인 접근을 제공하는 소프트웨어 개발 수명 주기(SDLC) 모델이다. 나선의 각 반복이 요구.. 2023. 3. 1.
반복적 폭포수 모델 반복적 폭포수 모델 실제 소프트웨어 개발 프로젝트에서 전통적인 폭포수 모델은 사용하기 어렵다. 따라서 반복적 폭포수 모델은 실제 소프트웨어 개발 프로젝트에서 사용할 수 있도록 전통적인 폭포수 모델에 필요한 변경 사항을 통합한 것으로 생각할 수 있다. 소프트웨어 개발의 효율성을 높이기 위해 일부 변경이 이루어진다는 점을 제외하면 전통적인 폭포수 모델과 거의 같다. 반복적 폭포수 모델은 모든 단계에서 이전 단계까지의 피드백 경로를 제공하는데, 이는 전통적인 폭포수 모델과의 주요 차이점이다. 반복적 폭포수 모델에 의해 도입된 피드백 경로는 아래 그림과 같다. 이후 단계에서 오류가 감지되면 이러한 피드백 경로를 통해 특정 단계에서 프로그래머가 저지르는 오류를 수정할 수 있다. 피드백 경로를 사용하면 오류가 커밋.. 2023. 2. 28.
전통적인 폭포수 모델 전통적인 폭포수 모델 전통적인 폭포수 모델은 기본적인 소프트웨어 개발 수명 주기 모델이다. 폭포수 모델은 매우 간단하지만 이상적이다. 이전에 이 모델은 매우 인기가 있었지만 요즘은 사용되지 않는다. 그러나 다른 모든 소프트웨어 개발 수명 주기 모델은 전통적인 폭포수 모델을 기반으로 하기 때문에 매우 중요하다. 전통적인 폭포수 모델은 수명 주기를 일련의 단계로 나눈다. 폭포수 모델은 이전 단계가 완료된 후 다음 단계를 시작할 수 있다고 간주한다. 즉, 한 단계의 산출물이 다음 단계의 입력이 된다. 따라서 개발 과정은 폭포의 순차적 흐름으로 간주될 수 있다. 여기서 각 단계는 서로 겹치지 않는다. 전통적인 폭포수 모델의 다양한 순차적 단계는 아래 그림과 같다. 각 단계는 다음과 같다. 1. 타당성 조사 이 .. 2023. 2. 26.
소프트웨어 분류 소프트웨어 분류 소프트웨어는 다음과 같은 다양한 기준에 따라 분류할 수 있다. - 목적: 소프트웨어는 시스템 소프트웨어(예: 운영 체제, 장치 드라이버) 또는 응용 소프트웨어(예: 워드 프로세서, 게임)로 분류될 수 있다. - 플랫폼: 소프트웨어는 네이티브 소프트웨어(특정 운영 체제용으로 설계) 또는 크로스 플랫폼 소프트웨어(여러 운영 체제에서 실행되도록 설계)로 분류될 수 있다. - 배포: 소프트웨어는 설치된 소프트웨어(사용자 장비에 설치) 또는 클라우드 기반 소프트웨어(원격 서버에 호스팅 되고 인터넷을 통해 액세스)로 분류할 수 있다. - 라이센스: 소프트웨어는 독점 소프트웨어(단일 엔티티가 소유) 또는 오픈 소스 소프트웨어(일반인이 접근할 수 있는 소스 코드와 함께 무료로 사용 가능)로 분류될 수 .. 2023. 2. 25.
소프트웨어 공학 소개 소프트웨어 공학 소개 소프트웨어는 원하는 기능을 제공하는 명령어를 포함하는 프로그램 또는 프로그램 집합이다. 그리고 공학은 특정한 목적에 도움이 되고 문제에 대한 비용 효율적인 해결책을 찾는 것을 설계하고 구축하는 과정이다. 소프트웨어 공학은 소프트웨어를 설계, 개발, 테스트, 유지보수하는 과정이다. 고품질, 신뢰할 수 있고 유지 관리 가능한 소프트웨어를 만드는 것을 목표로 하는 소프트웨어 개발에 대한 체계적이고 훈련된 접근 방식이다. 소프트웨어 공학은 요구사항 분석, 설계, 테스트 및 유지보수를 포함한 다양한 기술, 도구 및 방법론을 포함한다. 소프트웨어 공학의 몇 가지 주요 원칙 1. 모듈화(Modularity) - 소프트웨어를 개별적으로 개발하고 테스트할 수 있는 더 작고 재사용 가능한 구성요소로 .. 2023. 2. 25.
고층의 사각지대 이 책은 말 그대로 우연히 접하게 되었는데요. 드라마 로열페밀리를 열심히 보고 있던 중에 원작이 있다는걸 알고 검색을 통해서 [인간의 증명]이라는 것을 알게 되었죠. 그리고는 도서관으로 향했습니다. 그런데 도무지 인간의 증명이라는 책은 보이지가 않더군요. 그래서 그 작가의 다른 소설을 골라서 집에 왔죠. 그 책이 [고층의 사각지대] 였습니다. 작가인 모이무라 세이치 이 분이 일본 추리소설계 에서는 상당히 유명한 작가 이더군요. 1933년 1월 2일 일본 사이타마켄 구마타니시에서 태어났다. 1958년에 아오야마학원대학 영문과를 졸업하고 신오사카 호텔을 거쳐 호텔 뉴오타니에서 일했다. 1967년에 호텔 근무를 그만두고 '스쿨 오브 비즈니스'의 강사로 일하면서 사회소설을 쓰기 시작했다. 추리문단에는 1969년.. 2011. 5. 16.
728x90
반응형