카테고리 없음

정처기 실기 - 소프트웨어 개발 방법론 ( 소프트웨어 개발 방법론)

비뀨_ 2023. 7. 9. 01:47

소프트웨어 개발 방법론 

개념

  • 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법
  • 소프트웨어를 하나의 생명체로 간주. 개발의 시작부텀 소프트웨어의 소멸까지의 과정을 형상화한 방법론

종류

  • 구조적 방법론 (Structure Development)
    • 프로세스 중심의 하향식 방법론
    • 나씨-슈나이더만 차트
      • 논리의 기술에 중점을둔 도형식 표현 방법
      • 연속, 선택 및 다중선택, 반복 등 제어 논리 구조로 표현
      • 조건이 여러개인 곳의 처리를 시각적으로 명확히 식별하는데 적합
  • 정보공학 방법론 (Infomation Engineering Development)
    • 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
    • 개발주기를 이용해 대형 프로젝트를 수행하는 체계적 방법론
  • 객체 지향 방법론(OOD : Object Oriented Development)
    • 객체라는 기본 단위로 시스템을 분석, 설계하는 방법론
    • 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론 (객체지향의 개념)
    • 객체, 클래스, 메시지 이용
  • 컴포넌트 기반 방법론 (CBD : Component Based Development)
    • 컴포넌트를 조립해 하나의 새로운 응용 프로그램을 만드는 방법론
    • 개발 기간 단축 ( 생산성 향상)
    • 새로운 기능 추가 용이 (확장성)
    • 재사용이 가능
  • 애자일 방법론 (Agile Development)
    • 아래에서 설명

 

애자일 ( 중요 )

개념

  • 경량 개발 방법론
  • 절차보다는 사람이 중심.
  • 변화에 유연하고, 신속하게 적응하면서 효율적으로 시스템 개발
  • 개발 기간이 빠르며, 폭포수 모형과 대비되는 방법론

등장 배경

  • 개발 환경의 변화 
    • 소프트웨어 개발 트렌드가 모바일로 변화
    • 시장 적시성과 잦은 배포의 중요성 부각
  • 기존 개발 방법론의 한계
    • 전통적인 것은 문서 및 절차 위주로 변화에 신속한 대응이 어려움
    • 빠르게 적용하고, 효율적으로 개발할 수 있는 방법론 필요성 증가

 

유형

XP (Extreme Programming)

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

1-3주의 반복적인 개발주기

 

XP의 가치

  • 용기(Courage)
  • 단순성(Simplicity)
  • 의사소통
  • 피드백
  • 존중

요약하면 서로 존중하면서 용기를 내 다른 사람들과 의사소통을 하는 것이라고 생각하면 쉬울 것 같다.

 

 

스크럼(Scrum)

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

  • 백로그 - 제품과 프로젝트에 대한 요구사항
  • 스프린트- 2-4주의 짧은 개발 기간 반복 수행해 개발 품질 향상
  • 스크럼, 데일리 미팅  - 매일 15분 미팅으로 To do List 수립
  • 스크럼 마스터 - 프로젝트 리더.
  • 스프린트 회고 - 규칙 준수 여부나 개선점 기록. 일정 주기로 실행
  • 번 다운 차트(Burn Down Chart) - 남은 백로그 대비 시간 (일의 진행정도)을 시각화한 차트. 수직(백로그), 수평(남은 시간)

린(Lean)

 

도요타의 린 시스템 품질기법을 개발 프로세스에 적용.

JIT (Just In Time), 칸반(Kanban)보드 사용

  • 낭비제거
  • 품질 내재화
  • 지식 창출
  • 늦은 확정
  • 빠른 인도
  • 존중
  • 전체 최적화

 

애자일 VS 전통적 방법론 비교

 

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