새소식

대학생활/소프트웨어공학

소프트웨어 공학 이론 정리 -4장- <Prescriptive Process Models>

  • -

Prescriptive Process Models

: 예부터 많이 사용된 단계별로 쪼개어 진행하는 소프트웨어 엔지니어링 모델

: 2가지 메인 질문

-      구조나 순서에 집중해 구성하는 모델, 소프트웨어를 기획에 변화가 많이 생길 때 적합한가?

-      기존 프로세스 모델을 부정하고 새로운 구조모델을 사용한다면, 소프트웨어를 개발하는 사람들 간의 조화와 결집을 이룰 수 있는가?

Waterfall Process Model

-      장점

  • 프로세스에 대한 이해가 쉽고 계획하기 쉽다.
  • 복잡하지 않은 작은 프로젝트에 유용하다.
  • 분석과 테스트가 직관적으로 이해하기 쉽다.

-      단점

  • 변화에 적합하지 않다.
  • 테스팅 과정이 프로세스 내 너무 늦게 존재한다.
  • Customer의 평가가 마지막이 되어서야 확인 가능하다.

Prototyping Process Model

순환적이고 순차적인 과정이다.

-      장점

  • 요구사항 변화의 영향을 줄일 수 있다.
  • Customer의 의견 수렴이 빠르고 빈번하게 개입된다.
  • 작은 프로젝트 모델에 적합하다.
  • 프로젝트 빠꾸 위험을 줄일 수 있다.

-      단점

  • Customer와의 소통으로 인해 딜레이가 발생한다.
  • 플랜을 짜고 관리하는데 어려움이 있다.

Spiral Process Model

중앙에서부터 가장 중요한 것들을 원을 돌며 개발한다.

-      장점

  • Customer의 지속적인 관여와 피드백
  • 개발 리스크가 관리된다.
  • 크고 복잡한 프로젝트에 알맞다.
  • 확장 가능성을 품은 상품에 용이하다.

-      단점

  • 리스크 분석 실패가 프로젝트 붕괴를 초래할 수 있다.
  • 프로젝트 관리가 어려워질 가능성이 있다.
  • 전문 개발인원으로 꾸려진 팀이 필요하다.

 

 

Unified Process Model

Inception, Elaboration, Construction, Transition이 존재한다. [보조단계의 추가]

-      장점

  • 문서 작업의 퀄리티가 높아진다. [보조단계가 이 역할을 한다.]
  • Customer가 지속적으로 관여할 수 있다. [Prototype + 보조단계]
  • 요구사항 변화에 적절한 대응이 가능하다.

-      단점

  • Phase[보조단계] 내 같은 기능의 중복이 문제를 야기할 수 있다.
  • 전문적인 개발 팀이 필요하다.

 

 

Agility and Process

-      What is Agility

  • 효과적인[rapid and adaptive] 요구사항 반영
  • Stakeholder 간 효과적인 커뮤니케이션
  • Customer또한 팀으로 넣는다.
  • 팀을 구성하는 일도 작업 효율에 영향을 미친다.
  • 빠르게 소프트웨어의 프로토 버전을 만들어 customer에게 전달하고 이를 반영한다.

What is an Agile Process

-      소프트웨어 제작 프로세스에 대한 시나리오가 존재하고, 이에 customer description이 중요한 영향을 미친다.

-      Customer의 피드백이 빈번히 즉시 작용한다.’

-      하나의 Plan의 수명이 길지 않다.[Customer Feedback에 의해 변할 수 있다.]

-      Construction activities에 의존해 반복적으로 소프트웨어를 버전 업 해간다.

-      실행가능한 개선된 반제품을 만들어 customer에게 제공한다

-      프로젝트와 기술적 변화에 잘 적응하는 특징을 갖는다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.