공부중 .../소프트웨어공학

[소프트웨어공학] 사용자 요구 분석

Chelsey 2022. 5. 30. 12:02
728x90

요구사항

문제 해결이나 목적 달성을 위해 사용자가 필요로 하는 조건, 능력

 

요구분석과 명세(요구 공학) : 요구사항을 찾아 분석하고 문서화

 

요구사항 명세서

시스템이 제공해야 하는 서비스, 제약 조건을 기술한 문서, 개발과 유지보수 작업의 기초, 고객과 개발자 간의 의사소통 수단 계약서

 

요구사항의 종류

1. 기능적 요구사항

  • 입출력 양식, 저장구조, 계산 능력... 기능적 요인 정의
  • ex) 사용자가 지방세 정보를 볼 수 있어야 한다.

2. 비기능적 요구사항

  • 제품의 품질, 서비스나 기능상의 제약, 법률, 표준의 준수에 대한 내용 기술
  • 사용성, 효율성, 성능, 저장소 용량, 입출력 장치의 성능, 보안, 신뢰도, 이식성 관련 요구사항 등
  • ex) 인터페이스 색상이 회사의 공식 색상과 일관성이 있어야 함

 

FURPS+

  • 요구사항 분류 모델
  • HP에서 개발
  • Functionality 기능적 요구사항
  • Usability Reliability Performamce Supportability , + 는 비기능적 요구사항
  • Usually 비기능적 요구사항이 기능적 요구사항보다 더 중요
  • FURPS

 

요구 공학 프로세스

시스템으 ㅣ목표, 기능, 제약사항을 결정하는 과정

반복적, 협력적 프로세스 강조, 결과를 문서화, 변화하는 요구사항에 대한 이해

 

 

요구사항 수집

- 고객이나 사용자와 의사소통하여 시스템이 제공해야 하는 서비스, 요구되는 시스템의 성능 및 제약사항 등을 찾아내는 것

- 분석가가 도메인에 관한 지식을 가지고 있어야 함

- 다양한 사람이 관련되어 있음, 시스템에 관심을 가지고 있으며 시스템에 직간접적으로 영향을 받는 사람을 이해관계자라 함

 

요구사항 분석

- 요구사항, 추출 후의 작업

- 요구사항의 분류 -> 요구사항들 간의 충돌 해결 -> 문서화

 

요구사항 추출고 ㅏ분석의 어려운 점

- 정확히 표현하지 못하거나 비현실적인 요구를 함

- 각자의 환경에 익숙한 표현을 사용함

- 다양한 관점에서 서로 다른 요구를 하기도 함

- 주변 상황이 바뀌면 요구사항 분석 중에 요구사항이 바뀔 수 있음

 

JAD

- 애플리케이션의 설계와 개발 과정에 고객과 사용자를 참여시킴

- 모든 관련자들이 참여하는 JAD 세션에서 요구사항을 추출

- 3~5일 정도 회의 

- 최종 JAD문서는 합의된 요구사항 명세서임

 

JAD 절차

- 조사단계: JAD 진행자가 인터뷰를 통ㅎ ㅐ프로젝트의 목적과 범위를 정함

- 준비 단계 : 고객, 관리자, 시스템 분석가, 응용 분야 전문가 등으로 구성되는 JAD team 구성

- 회의 : 회의를 통해 시나리오, 유스케이스, 사용자 인터페이스 정의

- 최종 문서 작업 : 회의 중에 합의된 내용 명세화, 최종 문서 제작, 배포하여 검토

 

  JAD 고려 사항

- 협력 작업을 통한 빠른 합의

- 개발자와 사용자 서로의 이해 증대

- JAD 진행자의 역량 중요

 

요구사항 문서화

사용자 요구사항

- 고객, 사용자 위해 작성

- 자연어, 간단한 테이블, 다이어그램 사용, 기술적 전문 용어 피함

- 고수준 추상적 요구사항

- 제안 요청서RFP 형태가 이러함

 

시스템 요구사항

- 개발자 대상으로 작성

- 서비스, 제약 조건 상세히 기술

- 시스템 모델을 사용

 

요구사항 검토

- 요구사항 명세서 = 계약서 기능

- 완전성, 일관성, 명확성, 정확성, 실현성, 검증가능성, 이해성, 추적성, 적응성

 

요구사항 관리

- 요구사항의 변화 이해, 통제 프로세스

- 요구사항 조직화 ,문서화

- 초기 요구사항 : 불완전, 불일치 -> 요구사항 변경 혹은 진화함

 

추적성 정보 활용

- 개발자 : 모든 요구사항 개발 완료 여부 확인

- 테스터 : 시스템과 요구사항 일치 여부 확인

- 요지보수자 : 변경의 파급 효과 평가

 

추적성 정보의 유형

- 소스 추적성 : 요구사항과 제안자, 제안 이유 연결

- 요구사항 추적성 : 특정 요구사항과 관련 있는 다른 요구사항들에 관한 정보 유지

- 설꼐 추적성 : 

 

요구사항 모델링

사용자 요구사항은 자연어로 작성

자연어 작성 문제 -> 모호성, 요구사항 혼합, 과도한 유연성, 모듈화 어려움

명세화하기 위해 모델을 이용

 

시스템 모델

- 가장 널리 사용

- 업무 프로세스, 해결할 문제, 시스템 자체를 그래픽으로 표현

- 다양한 관점에서 시스템 모습 표현

- 정확한 기술 방법으로 표현

- 그림이 더 이해 쉬움

- 분석과 설계 과정 다리 역할

 

객체지향 분석

  • 요구사항 분석 : 객체를 찾음 -> 객체 간 관계를 바탕으로 요구사항 구조화, 정형화 -> 시스템 모델 생성
  • 도메인 지식과 기술적 지식의 부족 및 의견 불일치로 인해 미뤄짐
  • 분석 모델 = 객체지향 분석 결과물 
  • 시스템을 사용자 관점에서 표현
  • 기능 모델=유스케이스와 시나리오, 분석과정의 입력물, 결과물
  • 결과물 = 분석 객체 모델, 동적 모델

구조적 분석

  • 분할 정복, 하향식 기능 분해 방법 
  • 요구사항 분석

 

데이터 흐름도

- 구조적 분석에서 사용되는 기능 관점의 시스템 모델

- 데이터 흐름과 변환

- 단계적으로 결과물 보여줌

- 정보 처리 시스템의 기능 명세시 사용

- 데이터 저장소에 저장되거나 프로세스 사이에서 전달되는 데이터는 데이터 사전에 정의됨

- 프로세스=데이터 변환 작업

- 최상위 수준의 흐름도(배경도 또는 0-수준 DFD) ~ 확장

- 최하위 수준의 프로세스=기능 단위

- 최하위 프로세스에 대해 프로세스 명세서 작성

 

구조적 분석과 객체지향 분석

- 구조적 분석 : 기능 관점에서 시스템 표현, 기능 분해 또는 합성에 의한 표현 방법

- 객체지향 분석 : 기능과 데이터를 함께 캡슐화한 객체로 시스템을 표현, 상속 개념도 사용

 

728x90