요구사항 분석
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 품질특성에, 호환성, 보안성을 강화한 개정된 품질 평가 표준지침
'소프트웨어' 카테고리의 다른 글
[소프트웨어] 모듈의 독립성 평가, 코드 종류 (1) | 2024.01.15 |
---|---|
[소프트웨어] 객체 지향의 개요, 객체지향 방법론의 종류 (1) | 2024.01.15 |
[소프트웨어] 소프트웨어 아키텍처, 아키텍처 패턴 (0) | 2024.01.15 |
[소프트웨어] UI의 특징, UI 설계 도구, UI 요구사항 확인 (0) | 2024.01.15 |
[소프트웨어] UML관계, UML다이어그램 (1) | 2024.01.15 |