본문 바로가기
소프트웨어

[소프트웨어] 요구사항 분석, UI 프로토타입

by 정공자씨 2024. 1. 15.

 

 


요구사항 분석


1. 요구 사항 분석이란?

  • 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법을 의미

 

 

2. 요구 사항 분석 작업

 

 

1) 개념 모델링(Conceptual modeling)

  • 요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현하는 모델을 만드는 과정
  • 개념 모델은 문제의 주체인 개체(entity)들과 그들 간의 관계 및 종속성을 반영
  • 모델링 표기는 UML을 사용
  • 종류
    • 유스케이스 다이어그램
    • DFD(데이터 흐름도)
    • 상태모델, 목표기반 모델, 객체 모델, 데이터 모델 등등

 

 

2) 요구사항 할당(Requirement Allocation)

  • 개념 모델링을 통해 식별된 구성 요소들 간에 어떻게 작용하는지 분석하는 과정

 

 

3) 요구사항 협상 (Requirement Negotiation)

  • 요구사항이 서로 충돌할 경우 이를 적절히 해결하는 과정

 

 

4) 정형 분석 (formal Analysis) 

  • 구문(syntax)과 의미(semantics)를 갖는 정형화된 언어를 이용하여
  • 요구사항을 수학적 기호로 표현한 후 이를 분석하는 과정

 

[ 요구사항 분석 ] 
요구사항 수집 → 요구사항 분석(타당성 검토)   요구사항 명세   요구사항 검토

 

 

 

 


UI 프로토타입


 

1. UI 프로토타입이란?

 

[ 의미 ] 

  • 프로토타입은 사용자의 요구사항을 개발자가 맞게 해석했는지 검증하기 위한 것으로 최대한 간단하게 만들어야 함
  • 프로토타입은 일부 핵심적인 기능만을 제공하지만
    • 최종 제품의 작동 방식을 이해시키는데 필요한 기능은 반드시 포함될 것
  • 사용자의 요구사항이 모두 반영될 때 까지 프로토타입을 계속하여 개선하고 보완해야 함
  • 프로토타이핑 및 테스트를 거치지 않고는 실제 사용자와 제품 간의 상호 작용 방식을 예측하기 어렵기 때문에
    • 실제 사용자를 대상으로 테스트하는 것이 좋음

[ 장점 ]

  • UI 프로토타입은 사용자를 설득하고 이해시키기 쉬우며,
  • 요구사항과 기능의 불일치 등으로 인한 혼선을 예방할 수 있어서 개발시간을 단축 시킬 수 있음

[ 단점 ] 

  • 프로토타입에 사용자의 모든 요구사항을 반영하기 위한 반복적인 개선 및 보완 작업 때문에
    • 작업 시간을 증가 시킬 수 있고, 필요 이상으로 자원을 소모할 수 있음
  • 부분적으로 프로토타이핑을 진행하다보면 중요한 작업이 생략될 수 있음

 

 

 

2. 프로토타입의 종류

페이퍼 프로토타입
  • 아날로그적 방법으로 스케치, 그림,글 등을 이용하여 손으로 직접 작성하는 방법
  • 제작기간 짧고
  • 제작 비용 저렴
  • 업무 협의 빠를 때 유리
디지털 프로토타입
  • 파워포인트, 아크로벳,비지오등과 같은 프로그램을 사용하여 작성하는 방법
  • 재사용이 필요한 경우
  • 산출물과 비슷한 효과를 원하는 경우
  • 숙련된 전문가가 있을 경우 사용

 

 

 

3. UI 프로토타입 제작 단계

 

 

1)  사용자의 요구 사항을 분석

2)  요구사항을 충족하는 프로토타입(시제품)을 개발

3)  작성된 프로토타입이 요구사항을 잘 수행하고 있는지, 사용자가 직접 확인

4)  작성된 프로토타입을 기반으로, 수정과 합의  → [ 수정 시 ] 3단계로 돌아가서 다시 반복

 

 

 

 

 


품질 요구사항 표준지침 - ISO/IEC 9126


소프트웨어의 품질

  • 소프트웨어의 기능,성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어 특성

ISO/IEC9126

  • 소프트웨어 품질에 대한 요구사항을 기술하거나 개발중이거나 또는 개발이 완료된 소프트웨어의 품질 평가에 사용

 

 

1. ISO/IEC 9126 소프트웨어 품질 특성

기능성
  • 소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부
  • 요구사항에 맞는 기능을 제공하는지
 신뢰성
  • 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도
사용성
  • 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대해 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도
  • 이해하고 사용하기 쉬운 정도
효율성
  • 사용자가 요구하는 기능을 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 나타내는 정도
유지보수성
  • 환경의 변화 또는 새로운 요구사항이 발생했을 때 소프트웨어를 개선하거나 확장할 수 있는 정도
  • 소프트웨어를 쉽게 변경
이식성
  • 소프트웨어가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지 정도를 나타냄

 

 

 

참 고 

< ISO/IEC 25010 >

존 ISO/IEC 9126 품질특성에, 호환성, 보안성을 강화한 개정된 품질 평가 표준지침