728x90

애자일 방법론

개념 : 소프트웨어 개발방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법

애자일 방법론 구성도

애자일 방법론 등장 배경 : 기존 개발방법론의 한계를 극복하기 위해 등장

특징 

- 프로젝트의 요구사항은 기능 중심으로 정의한다

- 절차와 도구보다 개인과 소통을 중요하게 생각한다

- 작업 계획을 짧게 세워 요구 변화에 유연하고 신속하게 대응할 수 있다

- 소프트웨어가 잘 실행되는데 가치를 둔다.

- 고객과의 피드백을 중요하게 생각한다

 

XP

개념 : 의사소통 개선즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론

특징

- 1 ~ 3주의 반복(Iteration) 개발 주기

- 5가지 가치12개의 실천 항목이 존재

XP 5가지 가치

- 용단의 피존 - 용기 / 단순성 / 의사소통 / 피드백 / 존중

XP 12가지 기본원리

  • 짝 프로그래밍 : 개발자 둘이서 짝으로 코딩하는 원리
  • 공동 코드 소유 : 시스템에 있는 코드는 누구든지 언제라도 수정 가능하다는 원리
  • 지속적인 통합(CI) : 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리
  • 계획 세우기 : 고객이 요구하는 비즈니스 가치를 정의하고, 개발자가 필요한 것은 무엇이며 어떤 부분에서 지연될 수 있는지를 알려주어야 한다는 원리
  • 작은 릴리즈 : 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트한다는 원리
  • 메타포어 : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리
  • 간단한 디자인 : 현재의 요구사항에 적합한 가장 단순한 시스템을 설계한다는 원리
  • 테스트 기반 개발(TDD) : 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리
  • 리팩토링 : 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템 재구성한다는 원리
  • 40시간 작업 : 개발자가 피곤으로 인해 실수하지 않도록 일주일에 40시간 이상을 일하지 말아야 한다는 원리
  • 고객 상주 : 개발자들의 질문에 즉각 대답해 줄 수 있는 고객을 프로젝트에 풀타임으로 상주시켜야 한다는 원리
  • 코드 표준 : 효과적인 공동 작업을 위해서는 모든 코드에 대한 코딩 표준을 정의해야 한다는 원리

 

스크럼

개념 : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론

주요 요소 : 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스트런트 회고, 번다운 차트

린 개념 : 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론

 

비교 대상 애자일 방법론 전통적 방법론
계획 수립 유동적 범위 설정 확정적 범위 설정
업무수행 팀 중심 업무 수행 관리자 주도적 명령과 통제
개인 단위로 업무수행
개발/검증 반복 주기 단위로 소프트웨어를 개발/검증 분석/설계/구현/테스트를 순차적으로 수행
팀 관리 업무 몰입, 팀 평가 경쟁, 개별 평가
문서화 문서화보다는 코드를 강조 상세한 문서화를 강조
성공 요소 고객 가치 전달 계획/일정 준수
유형 XP, 스크럼, 린 폭포수, 프로토타입, 나선형

 

객체지향 분석 방법론

- 객체지향 분석(OOA, Object Oriented Analysis)은 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의하여 모델링하는 기법

 

객제지향 분석 방법론 종류

OOSE
(Object-Oriented SW Engineering),
(야콥슨)
- 유스케이스에 의한 접근 방법으로 유스케이스 모든 모델의 근간으로 활용되는 방법론
- 분석, 설계, 구현 단계로 구성
- 기능적 요구사항 중심의 시스템
OMT
(Object Modeling Technology),
(럼바우)
- 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링하는 방법론
- 분석 절차는 객체 모델링 > 동적 모델링 > 기능 모델링 순서로 진행
OOD
(Object-Oriented Design),
(부치)
- 설계 문서화를 강조하여 다이어그램 중심으로 개발하는 방법론
- 분석과 설계의 분리가 불가능
- 분석하는데 이용된 객체 모델의 설계 시 적용

 

OMT 모델링

(객동기) - 객체, 동적, 기능

객체 모델링
(Object Modeling)
- 정보 모델링(Information Modeling)이라고도 함
- 시스템에서 요구하는 객체를 찾고 객체들 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링
- 객체 다이어그램을 활용하여 표현
동적 모델링
(Dynamic Modeling)
- 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링
- 상태 다이어그램을 활용하여 표현
기능 모델링
(Functional Modeling)
- 프로세스들의 자료 흐름을 중심으로 처리 과정 표현하는 모델링
- 자료 흐름도(DFD)를 활용하여 표현
728x90

+ Recent posts