컴퓨터(Computer Science)/소프트웨어공학(Software engineering)

프로젝트 계획(6-2) - 도메인 분석(Domain Analysis) [소프트웨어공학]

게임이 더 좋아 2020. 4. 19. 18:16
반응형
728x170

요구분석을 살짝 맛봤다

근데 항상 중요한게 문제도 중요하지만 문제가 생기게 된 배경을 아는 것도 중요하다

 


그래서 도메인에 대해서 알아보려고 한다.

 

도메인이란 간단히 말해서 요구의 배경을 말한다.

소프트웨어를 구축할 때 문제 자체도 중요하지만 문제가 어디에 놓여있는가도 중요하다.

즉 문제의 배경을 말한다.

 

도메인을 분석하는 이유는 설계 모델링에 필요한 여러 개념과 비즈니스 파악을 위함이다.

이러한 사항을 깊이 이해하지 않고서는 제대로 된 설계를 할 수 없다.

 

도메인 분석에서는 응용 분야에 존재하는 개념을 잘 정의하고 분석해서

시스템에 존재하는 개념으로 정립하는 단계

 

 

 

다시 말해서 도메인 분석이란 요구의 배경을 이해해서 개발될 시스템을 설명하는 개념을 발견하는 과정이다.

 

그래서 앞서 문제의 범위를 정했듯이 여기서도 배경의 범위를 정해야한다.

 


 

 

도메인을 정의하는 것이 바로 배경의 범위를 정하는 것이 된다.

 

업무 작업 영역을 파악하고 범위를 규정해서 정보시스템을 구축하는데 필요한 개념적인 프레임워크를 제공하는 것이다.

 

** 정보 시스템은 주로 비즈니스 도메인과 관련 있다.


도메인을 정의함으로써 정보 시스템에서는 서브 시스템 개념이 되는 프레임 워크를 제공한다.

 

다시 말해서 넓은 범위의 개념을 더 좁은 범위의 지식들로 체계화 하는 작업이다.

 

예를 들면 이렇다.

 

위는 도메인을 여러가지로 나누었는데 공통된 작업, 규정, 개념 + 이해당사자에 따라 분리하는 것이 좋다.

 


그렇다면 도메인 배경을 알아보기 위해서는 어떻게 해야할까?

 

일반적으로 세 가지 단계의 작업이 필요하다

 

1. 도매인 개념 찾기

2. 도메인 사전 작성

3. 비즈니스 규칙 정리

 

 

1. 도메인 개념

도메인 개념이란 도메인의 목적, 구조, 동작을 구성하는 객체, 프로세스, 사람, 룰 같은 것들이다.

 

초기에 정확한 개념을 세우기 위해 용어를 바르게 정의해야한다.

+제품 출시 후 용어를 바로잡는데에 어려움이 생긴다.

 

비즈니스에서는 하나의 도메인의 개념이 넘쳐나기 때문에 여러가지를 유념해야한다.

4가지 정도가 있다.

 

 요구의 핵심을 발견해야 함  // 쓸 데 없는 것 말고
 요구가 해결될 것 같은 문제를 발견 
 문제의 요소를 발견 //문제를 구성하는 요소는 중요하다고 볼 수 있다.
 관련된 도메인의 개념을 발견 // 도움된다.

 

 

2. 도메인 사전

 

도메인 개념을 조직화한 결과물이다. 

** 개념을 검증해야하는 이해당사자와 개념을 이용하는 개발자와 같은 의미로 통할 수 있게하는 다리 역할

 

요구, 인터부, 메뉴얼로부터 정보를 얻는다. 

 

도메인 정의에서 표현된 문장, 어절, 제목에 초점을 두고 개념 추출
 
예를 들면

의료 정보 시스템에서 도메인 개념 추출


진료와 검사 의료 서비스의 성격에 따라 의사, 간호사, 검사원이 환자에게 적절한 예약된 의료 서비스를 제공한다.


도메인 개념: 의료 서비스, 의사, 간호사, 검사원, 환자, 예약

 

사전 양식은 표로 구성되어 있으며 세 가지 항목을 포함해야한다.

 

1. 명칭 2. 타입 3. 설명

 

이렇게

  

 

 

3. 비즈니스 규칙

 

비즈니스 규칙은 업무에서 지키기로 한 규정이다. 

기업이 운영되는 자세한 정책이나 규정, 절차, 가이드라인, 표준의 집합으로 비즈니스 규칙은

이들 중에 포함된 하나의 문장 또는 항목이라 할 수 있다.

 

사용자에게 요구해도 준비된 목록처럼 잘 정리된 비즈니스 규칙을 받기는 어렵다

>> 하나씩 조사하는 작업이 필요하다는 뜻

 

비즈니스 규칙은 5가지로 나눌 수 있다.

 

1. 사실(fact) – 개념이 무엇인지 설명  ex) 결제 >> 현금, 카드, 포인트
2. 추론(inference) – 다른 사실로 부터 얻은 사실 ex) "20세 이하는 담배를 살수 없다" 는 추론
3. 액션 구동자(action enabler) – 조건이 일치되면 액션이 수행 // ~하면 ~한다 형식 
4. 제약(constraints) – 시스템이나 외부 요소가 수행할 또는 수행하지 않을 제약을 가하는 규칙

// ~만 ~할 수 있다 
5. 계산(computation) – 공식이나 알고리즘 // 계산

 

 

 


 

728x90
반응형
그리드형