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