요구사항 개요

Jeong seulho·2023년 4월 17일
0

소프트웨어 공학

목록 보기
10/25

📌요구사항 개요

📖요구사항이란

  • 소프트웨어 시스템이 제공해야하는 기능들(what)
  • 해당 시스템의 제약 사항들

📖중요성

  • 프로젝트 실패의 중요 원인은 적당하지 않은 요구사항 때문

📖요구사항을 정하는 것의 어려움

  • 요구사항 자체가 복잡
  • 고객 스스로 무엇을 원하는지 명확하지 않다
  • 이해당사자들(고객, 개발자)은 자신들만의 용어로 요구사항을 표현한다, 본인 분야의 용어를 모두 알거라고 착각한다
  • 자주 변하는 요구사항
  • 복수의 고객들간의 요구사항들 충돌

📖좋은 요구사항의 속성

  • unambiguous : 모호하지 않다
  • correct : 고객의 정말 원하는 것
  • complete : 빠지는 요구사항이 있으면 안된다
  • consistent : 요구사항간의 충돌, 상충하는 것이 있으면 안된다
  • feasible : 기술적으로 구현 가능해야한다
  • traceable : 각 요구사항들은 그에 맵핑되는 설계, 개발 코드, 테스트가 있어야한다

📖좋은 요구사항을 위해서는

  • Requirement Engineering이 필요하다

📌Requirement Engineering

  • 요구사항 공학
  • 요구사항을 찾고, 분석하고, 문서화, 최종 점검하는 프로세스

📖요구사항의 유형

  • user requirements
    • 고객, 사용자들을 위한 요구사항 문서
    • 기술적 용어 사용 금지
  • system requirements
    • 개발자를 위한 요구사항 문서
    • 기능적 요구사항(what), 비기능적 요구사항(제약사항)
    • 구체적이여야한다

📖기능적 요구사항, 비기능적 요구사항

  • 기능적 요구사항 : 소프트웨어의 서비스, 기능, 사용자의 어떤 입력에 어떤 출력을 할 것인가
  • 비기능적 요구사항
    • Quality req : 서비스의 제약사항, 처리속도가 몇 ms이하, 퍼포먼스, 보안성 등
    • system constraints : 디자인, 지원하는 OS, 설치 및 사용 방법 등
    • external constraints : 법적 규제 등

0개의 댓글