요구분석[Software Engeerning]

SnowCat·2023년 1월 30일
0

CS - Software Engeerning

목록 보기
4/9
post-thumbnail

요구사항과 요구분석

  • 공장에서 생산하는 물건과 동일하게 소프트웨어 개발에서도 고객을 만족시키는 소프트웨어를 제작해야함
  • 이를 위해서는 사용자의 요구사항을 만족시켜야 함
  • 소프트웨어 개발에서 요구사항은 사용자와 개발자가 합의한 범위 내에서 사용자가 필요로 하는 기능으로, 시스템이 제공하는 기능 요구와 품질과 같은 비기능 요구를 의미함
  • 요구사항을 정의하기 위해 사용자 요구사항을 조사하고 확인하는 과정을 요구분석이라고 함
  • 요구분석에 있어서 다음과 같은 어려움이 생길 수 있음
    • 문제 영역에 대한 전문지식이 부족해 사용자의 요구사항을 잘못 이해할 수 있음
    • 사용자와 분석가 간의 의사소통의 문제가 생길 수 있음
    • 사용자가 계속해서 요구사항을 추가할 수 있고, 모호한 요구사항을 제시할 수 있음
  • 요구분석의 절차는 아래 그림과 같음

요구사항의 종류

기능 요구사항

  • 사용자가 원하는 기능
  • 분석가는 사용자의 요구를 빠짐없이 도출해 요구분석 명세서, 시스템에 전부 반영해야함

비기능 요구사항

  • 수행 가능한 환경, 품질, 제약 사항 등의 기능 외적인 요구사항
  • 보안을 위한 인증과 같이 비기능 요구사항이더라도 다른 기능과 함께 개발되어 기능 요구사항으로 볼 수 있는 경우도 있음

제약 사항

  • 소프트웨어가 수행될 환경에 의한 조건
  • 윈도우와 맥 양쪽에서 실행될 것, 자바 언어를 이용할 것 등이 제약 사항의 예시가 될 수 있음

품질 요구사항

  • 소프트웨어의 안정성에 관한 조건
  • 소프트웨어가 버그 없이 실행되는 것에 관계된 신뢰성, 총 운용시간 동안 어느 정도 고장 없이 가동되었는지를 표현하는 가용성 등이 이에 해당됨

요구사항의 표현

  • 요구사항을 효율적인 방법을 통해 표현을 해야 의미를 충분히 전달할 수 있음
  • 이를 위해 적절한 모델을 채용한 모델링이 필요함
  • 모델링을 위한 언어로는 구조적 방법을 사용한 DFD(자료 흐름도), 정보공학 방법을 사용한 E-R 다이어그램, 객체지향 방법을 사용한 유스케이스 다이어그램 등이 있음

Data Flow Diagram

  • 들어온 자료를 처리한 후 결과를 내보내는 과정을 나타낸 것
  • 자료 흐름도를 그릴 때 우선 필요한 기능을 찾아내 원 내부에 동사형 명사로 표현함
  • 그 다음 기능에 필요한 입출력 자료를 찾아 화살표 위에 표현함
  • 자료가 많아 데이터베이스에 저장되어 있으면 두줄 직선의 data store로 나타냄
  • 마지막으로 자료의 출원지와 목적지인 terminator를 DFD에 표현해야함
  • DFD의 대한 자세한 설명은 Data Dictionary(자료 사전)에 표현하며 기호는 다음과 같음
  • DFD의 기능에 대한 자세한 설명은 소단위 명세서에 알고리즘 형태로 작성함

요구분석 명세서

  • 요구사항을 문서화 할 때 요구분석 명세서를 사용함
  • 요구분석명세서를 작성 시에는 다음과 같은 사항을 주의해야함
    1. 사용자가 쉽게 읽고 이해할 수 있도록 작성해야함
    2. 개발자가 설계와 프로그래밍에 효과적으로 사용할 수 있도록 작성해야함
    3. 비기능적인 요구도 명확히 작성해야함
    4. 요구분석명세서는 테스트 기준으로도 사용될 수 있음
    5. 품질 특성이 충돌하는 경우 어느쪽에 우선순위를 두는지 명시해야함
  • 잘 만든 요구분석명세서는 다음과 같은 특성을 가지며, 요구사항 검증시에 아래의 특성을 만족하는지 확인해야 함
    | 특성 | 설명 |
    | - | - |
    | 완전성 | 사용자의 요구사항을 빠짐없이 반영 |
    | 일관성 | 요구사항간에 모순되거나 충돌되는 점이 없음|
    | 명확성 | 명세서의 내용이 모호하지 않고 분명히 이해가능함 |
    | 기능성 | 명세서의 내용이 무엇을 할 것인지에 관점을 둠 |
    | 검증 가능성 | 시스템이 요구사항을 만족하는지 체계적으로 검증이 가능 |
    | 추적 가능성 | 오류 발생시 요구분석명세서를 통해 추적이 가능 |
    | 변경 용이성 | 요구사항간 의존관계가 적어 변경으로 인해 미치는 영향이 적음 |
  • 요구 명세는 자연어나 그림을 사용한 비정형 명세 기법, 수학적 원리와 표기법을 사용한 정형 명세 기법을 활용해 가능함
    정형 명세 기법이 요구를 간결하고 명확하게 표현 가능하지만, 비정형 명세 기법이 요구사항 작성이 쉽고 사용자의 참여를 이끌어내기 쉬움

출처:
쉽게 배우는 소프트웨어 공학 2판, 김치수, 한빛아카데미

profile
냐아아아아아아아아앙

0개의 댓글