App/소프트웨어공학

[소프트웨어공학] 04 요구분석

건망망고 2024. 4. 21. 11:58

04 요구분석

01 요구사항

사용자와 개발자가 합의한 범위 내에서 사용자가 필요로 하는 기능, 시스템이 제공하는 기능요구와 품질과 같은 비기능 요구

요구사항이 정확히 무엇인지 파악하는 작업 - 요구분석 단계에서 이루어짐

 

02 요구분석의 이해

  1. 요구분석의 정의와 목적
  2. 요구분석 - 소프트 웨어 개발의 생명주기의 첫 단계로 현재 상태를 파악하고 사용자가 잠재적 또는 명시적으로 원하는 요구를 파악한 후 소프트웨어에 반영할 사용자 요구를 결정하는 것
  3. 요구분석의 어려움
    1. 문제 영역에 대한 분석가의 이해력 부족
    2. 사용자와 분석가의 의사소통 문제
    3. 사용자의 계속되는 요구사항 추가
    4. 사용자의 모호한 요구사항
    5. 다양한 사용자의 다양한 요구
  4. 요구사항 수집
    1. 자료수집
    2. 인터뷰 : 먼저 자료 수집한 이후 인터뷰
    3. 설문조사

03 요구분석 절차와 요구사항 종류

  1. 요구분석 절차와 요구사항 분류
  2. 자료 수집 → 요구사항 도출 → 문서화 → 검증
  3. 기능 요구사항 : 사용자가 원하는 기능(소프트웨어)
  4. 비기능 요구사항 : 수행 가능한 환경, 품질, 제약 사항
    1. 제약사항 : 개발 소프트웨어가 수행될 환경에 의한 조건
    2. 품질 : 소프트웨어 품질
      • 신뢰성 : 소프트웨어를 믿고 사용할 수 있는 것
      • 소프트웨어를 고장 없이 사용할 수 있는 것
      • 가용성 : 총 운용시간 동안 얼마나 고장 없이 가동되었는지

04 요구사항의 표현

  1. 표현과 모델의 이해
  2. 모델의 정의와 필요성
    • 소프트웨어 개발 모델단점) 과도한 문서 작업으로 일정 지연, 형식적인 산출물로 전락할 가능성
    • 장점) 이해도 향상, 유지보수 용이
  3. 모델링 : 앞서 설명한 모델을 제작하는 과정 또는 작업
    • 자연어를 사용한 표현
    • 형식언어를 사용한 표현
    • UML 다이어그램을 사용한 표현
  4. 모델링언어
  5. 구조적 방법의 표현 도구 : DFD
    1. 자료흐름도 : 들어온 자료를 처리한 후 결과를 내보내는 과정핵심은 처리 부분, 처리가 기능이고 기능을 먼저 생각하는 것이 구조적 분석 방법
    2. 처리 표현 → 입력과 출력 자료 표현 → 자료 저장소 표현 → 자료 출원지의 목적지 표현
    3. 데이터가 어떻게 흘러가는 지!
    4. 자료 사전 : 자료 흐름도에 존재하는 데이터에 대한 설명을 기록
    5. 소단위명세서
  6. 정보공학방법의 표현 도구 : E-R 다이어그램
  7. 객체지향 방법의 표현 도구 : 유스케이스 다이어그램
    1. 유스케이스 다이어그램 작성하기 : 각자 필요한 기능 나열
      1. 후보 유스케이스 도출
      2. 후보 유스케이스 검토홀로 존재하는 유스케이스는 없음
      3. 기능을 묶어서 굳이 모두 접근 가능하게 만들필요 없다
      4. 유스케이스 정련
    2. 유스케이스 명세서 작성하기
      • 개요 : 제공하는 기능 무엇
      • 관련 액터 : 누가 사용
      • 우선순위 : 개발할때 순서 상중하
      • 선행조건 : 미리 만족해야하는 상태
      • 후행조건 : 수행 후 만족해야하는 상태
      • 이벤트 흐름
      • 비기능 요구사항 : 기능 외의 요구사항

05 요구사항의 문서화

  1. 요구분석명세서의 이해
  2. 요구분석명세서 작성 시 주의사항
    • 사용자가 쉽게 읽고 이해할 수 있도록 작성
    • 개발자가 설계와 코딩에 효과적으로 사용할 수 있도록 작성
    • 테스트 기준으로 사용할 수 있도록 정량적으로 작성
    • 품질에 대한 우선순위 명시
  3. 잘 만든 요구분석명세서의 특성
    • 완전성 : 빠진 부분없이 모두 잇다. 기능 요구사항 뿐 아니라 성눙, 제약 사항 등 의 비기능 요구사항이 빠지지않고 모두 서술되어야 완전
    • 일관성 : 모순 없게
    • 명확성 : 명확하게
    • 추적 가능성 : 어디에서 발생했는 지 추적 가능하게
    • 변경 용이성 : 요구사항 변경하기 쉽게 작성
    • 검증 가능성 :요구사항을 만족하는 지를 체계적으로 검사할 수 있게 요구분석명세서 작성
  4. 요구 명세 기법
    1. 비정형 명세 기법 : 자연서 기반 서술 or 작업 흐름도 같은 거 이용
    2. 정형 명세 기법 : 수학적 원리와 표기법으로 사용
  5. 요구사항 검증 : 여러방법을 통해 추출하고 정리한 사용자의 요구분석명세서가 정확하고 완전하게 서술되었는지 검토하는 활동