호우동의 개발일지

Today :

article thumbnail

요구공학 프로세스에 대한 나선형 뷰

나선형 뷰

  • 관련 활동들이 나선 형태의 반복 프로세스들로 구성
  • 각 활동에 소요한 시간과 노력의 양은 특성에 따라 달라짐
  1. 요구사항 도출 및 분석
    • 시스템 요구사항을 얻어내는 프로세스
      • 기존 시스템 관찰, 업무 분석, 잠재적 사용 자 및 구매자와 토의
        • 하나 이상의 시스템 모델과 프로토타입을 만들기도 함 → 명세할 시스템 이해에 도움

  2. 요구사항 명세화
    • 요구사항을 담은 문서 작성
    • 두 가지 유형의 요구사항이 포함될 수 있음
      • 사용자 요구사항 : 시스템 요구사항에 대한 추상적인 문장들(고객과 시스템 최종 사용자용)
      • 시스템 요구사항 : 제공할 기능에 대한 상세한 설명 포함

  3. 요구사항 검증
    • 요구사항에 대한 현실성, 일관성, 완전성을 검사
    • 요구사항 문서상의 오류를 발견하고 수정하여 문제를 바로잡아야 함

 


요구공학 프로세스의 특징

  • 프로세스 단계에 따라 집중분야가 다름
    • 초기 : 고수준의 비즈니스, 비기능적 요구사항, 사용자 요구사항
    • 후반 : 비기능적 요구사항, 더 상세한 시스템 요구사항

  • 환경에 따라 반복 횟수, 진행방식이 달라짐
    • 사용자 요구사항을 일부 또는 전부 도출한 후 종료
    • 요구사항 작성과 시스템 개발을 병행할 수 있음(프로토타이핑 → 애자일개발)

  • 모든 시스템에서 요구사항이 변경되는 이유
    • 관련자들이 소프트웨어가 해야 할 것들을 더 잘 이해하게 되기 때문
    • 시스템을 구매하는 조직의 변화
    • 시스템의 하드웨어, 소프트웨어와 조직환경의 변화

 

 


스토리와 시나리오

  • 특정 작업을 위해 시스템을 사용하는 방법에 대한 설명
    • 작업을 위한 프로세스를 거치면서, 사람들이 어떻게 행동하는지에 대해 시뮬레이션 및 설명
    • 시스템에 대해 논의하거나 시스템 요구사항을 더 구체적으로 작성할 때 활용

  • 설명이 구조화되는 방식과 표현을 위한 상세 수준에 따라 분류
    • 스토리 : 이야기를 하는 방식으로 시스템 사용에 대해 고수준으로 설명
    • 사니라오 : 입력과 출력 같이 수집한 특정 정보를 가지고 구조화
    • 스토리의 일부를 더 자세하게 개선시킨 후 시나리오로 표현할 수 있음

 


스토리

  • 모든 사람이 쉽게 스토리에 관여 가능
    • 인터뷰를 할 수 있는 규모보다 더 큰 집단으로부터 정보 수집할 때 유용
    • 예시) 위키에서 스토리를 작성할 수 있게 하고,
      지역에 무관하게 선생님과 학생들이 스토리에 의견을 작성할 수 있도록 초대

  • 고수준의 스토리는 시스템에 대해 상세한 정보 줄 수 없음

  • 예시
    • 민수는 초등학교 선생님이다. 민수는 학생들에게 수업 프로젝트를 내주려고 한다.
      곤충 사진을 찍어 이것을 학교 홈페이지에 올리라는 것이다.
      그런데 학생 중 몇몇 기종은 학교 홈페이지와 호환이 제대로 되지 않아 사진이 올라가지 않는다.
      그래서 민수는 고민하다가 다른 선생님에게 도움을 요청했고
      그 선생님은 ConPiC이라는 어플을 사용하면 우회해서 학교 홈페이지에 들어갈 수 있을 것이라고 하여서
      민수는 학생들에게 이 어플로 실행하면 가능할 것이라고 설명하고 프로젝트를 과제로 내줬다.

 


시나리오

  • 사용자 상호 작용이 이루어지는 일정 구간에 대한 사례 설명
    • 대화식 문장보다는 구조적인 방식으로 표현
    • 애자일 기법에서 사용하는 사용자 스토리는 대화식 시나리오에 가까움
      • 요구사항을 도출하는 데 도움을 주는 일반적 스토리와는 다름

  • 시나리오가 포함하는 내용
    1. 시나리오가 시작할 때 시스템과 사용자가 기대하는 것에 대한 설명
    2. 시나리오 상의 사건들의 정상적인 흐름에 대한 설명
    3. 잘못될 경우와 그에 대한 대처 방안에 대한 설명
    4. 동시에 진행할 수 있는 다른 활동에 대한 정보
    5. 시나리오가 종료했을 때의 시스템 상태에 대한 설명

  • 예시
    • 초기 가정:
      사용자나 그룹이 사진을 업로드해야 한다….
      일반 상황:
      ….
      잘못될 수 있는 상황:
      ….
      기타 사항:

      완료 시의 시스템 상태: