개주 훈련일지/📚 코살대 교본 학습

요구 모델링

lshfood2 2026. 1. 8. 22:29

요구 분석이 끝나면 명세서가 남는다

소프트웨어 엔지니어링에서 요구 분석은 구축될 시스템의

요구 사항에 대한 명세서를 작성하는 작업으로 완료된다.


일반적으로 요구 분석은 다음 내용을

명세로 작성하는 프로세스를 말한다.

  1. 개발 대상 시스템과 관련하여
    고객의 요구를 만족시키기 위한 설명
  2. 시스템을 구축하기에 충분한 정보를 제공하는 설명

요구 분석은 비즈니스 프로세스 모델링,

유스케이스 모델링, 클래스 또는 데이터 모델링 등과 같은

정형화된 모델링 기법과 표기법을 사용하는 경우가 많다.

 

하지만 이러한 상세한 요구 분석 결과를

고객에게 직접 제공하기는 어렵다.


일반적으로 사용자는 자신의 응용 영역에는 전문가이지만,

자세한 모델링 표기법을 이해하기 어렵기 때문이다.


요구 모델링은 같은 의미로 이해되는 명세에 중점을 둔다

요구 모델링은 위 두 가지 내용을 만족하는

시스템 명세를 작성한다는 점에서 요구 분석과 유사하다.


하지만 요구 모델링은 다음 속성에 더 중점을 둔다.

 

작업 결과인 명세는 고객과 개발자가

같은 의미로 이해되어야 한다.

(고객=시스템을 구축하고 비용을 지불하기를 원하는 사용자)

(개발자=실제로 시스템을 구축해야 하는 책임자)

 

즉, 요구 모델링과 요구 분석은 목적이 다르다.

  • 요구 모델링
    : 고객과 개발자가 무엇을 개발할 것인지 같이 이해하고
      동의하는 요구 명세를 생성하는 것이 목적
  • 요구 분석
    : 구축 중인 시스템에 대하여 정형적 또는 준정형적
      설명을 제공하는 것이 주요 목표

문제 영역과 솔루션 영역, 그리고 “요구 명세”의 위치

요구 분석 작업은 문제 영역에 있는 것 중에서

대상 시스템에 구현할 것들만 골라

요구 사항으로 정의하는 작업이다.


반면 요구 모델링은 개발자가 이해하는

솔루션 영역의 관점으로 요구를 표현하는 작업이다.

 

요구 모델링 결과는 문제 영역과 솔루션 영역이 만나는

인터페이스에 해당하며, 이것이 요구 명세다.


즉 요구를 만족하기 위해 대상 시스템이 가져야 할

동작이나 구조를 나타내는 것이 모델링이다.


모델링이란 무엇인가?

모델링은 아직 존재하지 않는 대상 시스템을

여러 가지 관점에서 요약하여 표현한 것이다.

  • 비즈니스 관점
    : 업무나 서비스의 흐름을 모델링
  • 정적 관점
    : 시스템 내부를 구성하는 단위(패키지/클래스)의 구조
  • 동적 관점
    : 내부 요소들이 어떻게 서로 협력하여 동작하는지

모델링과 도메인 지식

소프트웨어 엔지니어는

다양한 응용 분야의 프로젝트에 참여한다.

 

이때 새로운 응용 분야를 빠르게

이해하게 하는 도구가 모델링이다.


시스템이 복잡해질수록 모델링 과정이

얼마나 중요한지 깨닫게 된다.

 

정형화 작업에는 관찰, 분류, 추상화, 일반화 개념이 적용된다.
소프트웨어는 개념적 제품이기 때문에 이런 과정이 중요하다.

 

예를 들어 은행 시스템을 구축한다고 하면, 개발자는
저축 상품, 계좌, 예금, 출금, 이체, 이자 등 여러 개념을 이해하고
이들이 어떻게 관련되는지, 속성과 상태는 무엇인지 파악해야 한다.

 

이를 위해 도메인 정보를 수집하고 분석하며,

기본적인 이해를 나타내기 위해 모델링 작업이 필요하다.


도메인 지식이 풍부할수록 모델링 품질이 높아지는 이유

도메인 지식은 모델링의 품질에 중요한 영향을 준다.

  • 요구사항 분석 및 정의의 정확성 향상
  • 적합한 데이터 구조와 설계 패턴 선택에 도움
  • 업무 프로세스와의 연계성 강화
  • 예외 상황 처리 및 오류 감소
  • 유지보수 및 확장성 개선

마무리

요구 모델링은 “요구를 표현하는 방식”의 문제가 아니라,
고객과 개발자가 같은 요구를 같은 의미로 이해하도록 만드는

“합의 가능한 명세”를 만드는 작업이다.

'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글

모델링  (0) 2026.01.10
SQL) TCL (Transaction Control Language)  (0) 2026.01.09
SQL) DML (Data Manipulation Language)  (0) 2026.01.05
요구 검증  (0) 2026.01.04
요구 명세  (0) 2026.01.03