05_데이터 분석 방안
1) 분석 방법론
데이터 분석 시 품질확보를 위하여 단계별로 수행해야하는 활동, 작업, 산출물을 정의한다.
● 데이터 분석을 효과적으로 수행하기 위하여 이를 체계화한 절차와 방법이 정리된 데이터 분석 방법론의 수립이 필수적이다.
● 프로젝트는 한 개인의 역량이나 조직의 우연한 성공에 의해서는 안 되고 일정 품질 수준 이상의 산출물과 프로젝트의 성공 가능성을 제시해야 한다.
① 분석 방법론의 구성요건
● 상세한 절차(Procedures)
● 방법(Methods)
● 도구와 기법(Tools & Techniques)
● 템플릿과 산출물(Templates & Outputs)
● 어느 정도의 지식만 있으면 활용 가능한 수준의 난이도
② 분석 방법론의 생성과정(선순환 과정)
| 형식화 | ● 개인의 암묵지가 조직의 형식지로 발전되었다. ● 분석가의 경험을 바탕으로 정리하여 문서화한다. |
| 체계화 | ● 문서화한 최적화된 형식지로 전개됨으로써 방법론이 생성되었다. ● 문서에는 절차나 활동 및 작업, 산출물, 도구 등을 정의한다. |
| 내재화 | ● 개인에게 전파되고 활용되어 암묵지로 발전되었다. ● 전파된 방법론을 학습하고 활용하여 내재화한다. |
2) 계층적 프로세스 모델 구성
분석 방법론은 일반적으로 계층적 프로세스 모델 형태로 구성 가능하며, 단계, 태스크, 스텝 3계층으로 구성된다.
① 최상위계층 - 단계(Phase)
● 프로세스 그룹을 통하여 완성된 단계별 산출물을 생성한다.
● 각 단계는 기준선으로 설정되어 관리되어야 하며 버전관리 등을 통하여 통제한다.
② 중간 계층 ー 태스크(Task)
● 각 태스크는 단계를 구성하는 단위 활동이다.
● 물리적 또는 논리적 단위로 품질검토가 가능하다.
③ 최하위 계층 ー 스텝(Step)
● WBS(Work Breakdown Structure)의 워크 패키지(Work Package)이다.
● 입력자료, 처리 및 도구, 출력자료로 구성된 단위 프로세스이다.
3) 소프트웨어개발생명주기 활용
분석 방법론은 소프트웨어 공학의 소프트웨어개발생명주기를 활용하여 구성할 수도 있다.
● 소프트웨어개발생명주기(Software Development Life Cycle, SDLC)는 소프트웨어에 대해 요구분석과 설계, 구현과정을 거쳐 설치, 운영과 유지보수, 그리고 폐기할 때까지의 전 과정을 가시적으로 표현한 것이다.
▶ 소프트웨어개발생명주기의 구성요소
| 계획(요구명세) | ● 고객의 요구사항을 명세화한다. ● 타당성 조사 및 소프트웨어의 기능과 제약조건을 정의하는 명세서를 작성한다. ● 요구사항은 일반적으로 모호하고 물완전하며 모순되기도 한다. |
| 요구분석 | ● 대상이 되는 문제 영역과 사용자가 원하는 Task를 이해한다. |
| 설계 | ● 분석모형을 가지고 이를 세분화함으로써 구현될 수 있는 형태로 전환한다. |
| 구현 | ● 실행 가능한 코드를 생성한다. |
| 시험 | ● 발생 가능한 실행 프로그램의 오류를 발견하고 수정한다. |
| 유지보수 | ● 인수가 완료된 후 일어나는 모든 개발 활동이다. |
① 폭포수 모형(Waterfall Model)
고전적 Life Cycle Paradigm으로 분석, 설계, 개발, 구현, 시험 및 유지보수 과정을 순차적으로 접근하는 방법이다.
| ● 소프트웨어 개발을 단계적, 순차적, 체계적 접근방식으로 수행한다. ● 각 단계별로 철저히 매듭짓고 다음 단계를 진행한다. ● 개념 정립에서 구현까지 하향식 접근 방법을 사용한다. ● 전 단계의 산출물을 다음 단계의 기초가 된다. ● 결과물이 후반부에 가서야 구체화되므로 문제점이 뒤늦게 발견된다. |
② 프로토타입 모형(Prototype Model)
사용자의 요구사항을 충분히 분석할 목적으로 시스템의 일부분을 일시적으로 간략히 구현한 다음 다시 요구사항을 반영하는 과정을 반복하는 개발모형이다.
● 실험적 프로토타입: 요구분석의 어려움을 해결하기 위해 실제 개발될 소프트웨어의 일부분을 직접 개발함으로써 의사소통의 도구로 활용한다.
● 진화적 프로토타입: 프로토타입을 요구분석의 도구로만 활용하는 것이 아니라, 이미 개발된 프로토타입을 지속적으로 발전시켜 최종 소프트웨어로 발전시킨다.
| ● 요구분석의 어려움 해결을 통해 사용자의 참여를 유도한다. ● 요구사항 도출과 이해에 있어 사용자와의 커뮤니케이션 수단으로 활용 가능하다. ● 사용자 자신이 원하는 것이 무엇인지 구체적으로 잘 모르는 경우 간단한 시제품으로 개발할 수 있다. ● 개발 타당선을 검토하는 수단으로 활용할 수 있다. |
③ 나선형 모형(Spiral Model)
시스템을 개발하면서 생기는 위험을 최소화하기 위해 나선을 돌면서 점진적으로 완벽한 시스템으로 개발하는 모형이다.
④ 반복적 모형(Iterative Development Model)
사용자의 요구사항 일부분 혹은 제품의 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모형이다.
● 증분형 모형(Incremental Model): 사용자 요구사항과 제품의 일부분을 반복적으로 개발하며 대상범위를 확대해 나아가서 최종제품을 완성하는 방법이다.
| ● 첫 번째 검증은 핵심제품, 몇 사람만으로 구현 가능하다. ● 프로토타입 모형과 같이 반복적이나 각 검증이 갖는 제품 인도에 초점을 두고 있다. ● 규모가 큰 개발 조직일 경우 자원을 각 증분 개발에 충분히 할당할 수 있어 각 증분의 병행 개발로 기간을 단축시킬 수 있다. ● 증분의 수가 많고 병행개발이 빈번하게 이루어지면 관리가 어려워지고, PM은 증분 개발 활동 간 조율에 많은 노력이 필요하다. |
● 진화형 모형(Evolution Model): 시스템이 가지는 여러 구성요소의 핵심부분을 개발한 후 각 구성요소를 지속적으로 발전시켜 나가는 방법이다.
▶ 소프트웨어개발생명주기의 대표적 유형
● 폭포수모형
ー 검토 및 승인을 거쳐 순차적, 하향식으로 개발이 진행된다.
ー 장점: ● 이해하기 쉽고 관리가 용이하다.
● 다음 단계 진행 전에 결과를 검증한다.
ー 단점: ● 요구사항 도출이 어렵다.
● 설계 및 코딩과 테스트가 지연된다.
● 문제점 발견이 늦어진다.
● 프로토타입모형
ー 시스템의 핵심적인 기능을 먼저 만들어 평가한 후 구현한다.
ー 장점: ● 요구사항 도출과 시스템 이해가 용이하다.
● 의사소통을 향상시킨다.
ー 단점: ● 사용자의 오해(완제품)가 발생하기 쉽다.
● 폐기되는 프로토타입이 존재한다.
● 나선형 모형
ー 폭포수 모형과 프로토타입 모형의 장점에 위험분석을 추가하였다.
ー 구현단계-계획수립: 목표, 기능 선택, 제약조건을 설정한다.
-위험분석: 기능 선택의 우선순위 및 위험요소를 분석하고 제거한다.
-개발: 선택된 기능을 개발한다.
-고객평가: 개발 결과를 평가한다.
ー 장점: ● 점증적으로 개발 시 실패 위험을 감소시킬 수 있다.
● 테스트가 용이하고 피드백이 있다.
ー 단점: 관리가 복잡하다.
● 반복적 모형
ー 시스템을 여러 번 나누어 릴리즈하는 방법이다.
ー Incremental: 기능을 분해한 후 릴리즈별 기능을 추가 개발한다.
ー Evolution: 전체 기능을 대상으로 하되 릴리즈를 진행하면서 기능이 완벽해진다.
⑤ 소프트웨어 개발 생명주기 모형 선정 기준
● 프로젝트의 규모와 성격
● 개발에 사용되는 방법과 도구
● 개발에 소요되는 시간와 비용
● 개발과정에서의 통제수단과 소프트웨어 산출물 인도 방식
'21_빅데이터 분석기사' 카테고리의 다른 글
| 02_데이터 분석계획(9)_CRISP-DM분석 방법론 (1) | 2026.03.04 |
|---|---|
| 02_데이터 분석계획(8)_KDD분석 방법론 (3) | 2026.03.04 |
| 02_데이터 분석계획(6)_상향식 접근 방식(Bottom Up Approach) (0) | 2026.03.03 |
| 02_데이터 분석계획(4)_분석 문제 정의 (0) | 2026.03.03 |
| 02_데이터 분석계획(3)_분석 마스터 플랜과 로드맵 설정 (0) | 2026.03.02 |