본문 바로가기
소프트웨어 공학

요구분석

by iskull 2021. 5. 3.
728x90

SW개발의 목적

  -개발된 SW의 고객 만족

    -고객 만족을 위한 특성

       -적시성: 빠른 출시를 통한 시장의 점유

       -유연성: 다양한 환경에서의 적응성

       -통합: 기존 시스템과의 쉬운 통합

    -고객만족의 개발 조건

       -고품질의 제품 개발

       -정해진 기간 내에 개발

       -주어진 예산내의 개발

요구사항

  -사용자와 개발자 간에 합의(요구분석 명세)한 개발 범위에서 시스템이 제공해야 하는 기능

요구 분석 명세서

  -개발 초기에 사용자의 요구사항(비기능 요구사항 포함)을 추출해 정리한 문서

요구분석 과정

  사용자요구 파앆 -> 목표 수립 -> 모델링 -> 요구분석 명세서

요구분석

  -SW요주 사항 정의를 위해 사용자의 요구 사항을 조사하고 확인하는 과정

  -SW개발 생명주기의 첫 단계

  -SW 개발 성패의 열쇠

    현 상태 파악 -> 사용자 요구 파악 -> 사용자 요구 결정

요구분석의 어려움

  -문제 영역에 대한 이해 필요

  -의사 소통의 문제

  -지속적으로 변하는 요구사항

  -변경 요구에 대한 대처 방안

  -애매한 요구사항

  -사용자와 개발자의 마찰

 

요구사항 수집 방법

  -자료 수집

    1. 문서수집

    2. 현행 시스템 분석

  - 인터뷰: 수집된 자료 분석 -> 인터뷰 -> 요구 삭제 및 추가 -> 수정된 요구 확인

  -설문 조사: 설문을 통한 또 한번의 요구사항 추출

  -도메인 분석

     -도메인이란 AW를 사용할 것으로 예상되는 고객이 일하는 분야의 비즈니스나 기술

     -도메인 전문가는 응용 분야에 깊이 있는 지식을 가진 사람

요구 분석 절차

  1. 자료수집: 현행 시스템 파악, 실무 담당자와 인터뷰, 현재 사용하는 서류 검토

  2. 요구 사항 도출: 수집한 자료 정리, 분류 -> 개발에 반영할 요구 사항 도출

  3. 문서화: 요구 분석 명세서 작성

  4. 검증: 요구 분석 명세서 검토 -> 모순 사항, 빠뜨린 사항 등 점검

요구사항 분류

비기능적 요구 사항: 수행 가능한 환경, 품질(신뢰성, 성능, 보안성, 안전성, 사용성), 제약 사항

   -품질

      -신뢰성:

           1. SW를 믿고 사용할 수 있는 것. 사용자가 주어진 시간과 환경에서 고장 없이 사용할 수 있어야 하는 것

           2. 신뢰도: 장애 없이 동작하는 시간의 비율

           3. 신뢰도 측정: 고장 간 평균 시간(MTBF)과 이용 가능성(가용성)을 척도로 사용

           4. 이용 가능성(availability): 주어진 시점에서 프로그램 요구에 따라 작동되고 있을 가능성

              MTBF(Mean Time Between Failure): 고장 간 평균 시간->고장에서 다음 고장까지 평균 시간

              MTTF(Mean Time To Failure): 평균 실패 시간->수리후 다음 고장까지의 시간

              MTTR(Mean Time To Repiar): 평균 수리 시간->고장 발생 시점에서 수리 까지 평균 시간

  -성능

     -사용자가 시스템에 어떤 요구를 했을 때 해당 기능을 정상적으로 수행하는 것은 물론, 사용자가 원하는 조건(응답시간, 데이터의 처리량          등)을 만족시키는 것

  -보안성

     -인증을 받지 않은 사람이 시스템에 접근하는 것을 처음부터 막아 시스템과 데이터를 보호

  -안전성

     -작동하는 모든 시스템이 SW오류로 인해 인명 피해가 발생하지 않도록 하는 것

  -사용성

     -SW를 사용할 때 혼란스러워하거나 사용하는 순간에 고민하지 않게 하는 편의성

사용자 요구사항

  -사용자 요구 분석 명세서

    -사용자 요구 사항을 정리하여 작성한 문서

    -목정: 사용자와 대화 시 거부감을 줄이고 충분히 이해할 수 있도록 쉽게 작성

    -방법: 사용자가 이해할 수 있도록 전문 용어보다는 쉬운 용어 사용

    -도구: 다이어그램 사용

    -사용자와 분석가가 서로 충분한 대화를 나누며 함께 작성

  -사용자 요구 분석 명세서 작성 방법

    -유사한 프로젝트 경험을 가진 분석가 선정

    -표준 양식 사용

    -수집한 요구 사항에 대한 근거(출처) 마련

시스템 요구 사항

  -시스템 분석 명에서

    -시스템 요구 사항을 설계하는데 도움이 되도록 기술적 용어나 전문적 표현 사용하여 작성

    -설계를 위해 사용되므로 완전하고 일관성 있게 작성

  -사용 도구

    -구조적 방법론: 구조적 언어

    -객체지향 방법론: 유스케이스 다이어그램

    -정형화된 수학적 명세 언어: 검증에 강한 Z명세 등

'소프트웨어 공학' 카테고리의 다른 글

요구 분석 - 유스케이스 다이어그램  (0) 2021.05.03
요구분석 - 요구사항의 표현  (0) 2021.05.03
디자인패턴  (0) 2021.04.30
소프트웨어 아키텍쳐  (0) 2021.04.27
상위 설계  (0) 2021.04.27