데이터베이스 설계와 구축(개정판) (2009년)
프로세스 모델링 0 0 48,669

by 구루비스터디 업무기능분해 프로세스모델링 논리설계 [2009.05.17]


  • 첫 번째, 업무가 하고 있는 또는 해야하는 것을 기록하는 업무 기능에 대한 프로세스 관점의 모델
  • 두 번째, 업무가 필요로 하는 것을 기술하거나 필요로 하는 것 간의 관계를 기술하는 데이터 관점의 모델
  • 세 번째, 프로세스 관점으로 업무가 하는 방법과 데이터관점으로 업무가 필요로 하는 것이 어떻게 영향을 주는가에 대한 영향 분석 관점의 상관 모델


4.1 업무 기능 분해

업무 기능 분해

1) 업무기능 분해의 목적
  • 정보화 시스템을 구축하는 가장 최저 단위의 단위 프로세스를 도출하기 위함
  • 전체 업무의 체계를 프로세스를 중심으로 도식화하여 업무에 대한 기능을 파악하는 것
  • 즉, 단위 프로세스 도출과 업무 기능을 명확하게 하는 것임


2) 업무기능 분해의 개념
  • 업무기능 분해를 정의하려면 업무기능과 업무 프로세스에 대한 명확한 구분이 필요
  • 업무 기능이란 기업의 임무를 한층 더 멀리 조명하여 하나로 표현하는 완벽한 단위 업무기능의 그룹. 일반적으로 서브젝트 에어리어가 최상위 업무 기준의 기능 분해의 예가 됨(영업, 회계, 제조등)
  • 업무 기능이 무엇인지 또 왜 하는지에 대한 설명이 필요(누가 언제 어디서와 같은 다른 부분에 대해서는 서술해서는 안됨. 이것은 업무를 추진하면서 나오는 파생적인 특징이기 때문)


h6.3) 업무 프로세스의 개념

  • 프로세스: 입력과 출력이 존재하는 업무기능으로 프로세스를 실행함으로써 데이터의 입력과 출력이 수행됨
  • 프로세스 임을 판단하는 근거. 아래를 만족하면 프로세스에해당
  • ① 해당 업무 기능이 실행 단위인지 관리 단위인지 판단
  • ② 업무기능에 입력과 출력의 행위가 이루어지는지를 확인


4) 업무기능 분해도에서 프로세스의 적용
  • 프로세스에 대한 기술: 항상 엔티티타입의 이름이나 속성의 명사형 이름에 동사를 더하여 구성. 엔티티타입과 속성을 생성하는 근거가 될수 있음
  • (EX. "주문한다" "송장을 만든다." "계약을 종료한다." "계약일자를 공고한다.")
  • 프로세스 정의 시 확인할 사항으로 그 프로세스가 단위 프로세스 인지 확인하는 것이다. 단위 프로세스는 더 이상 자식을 가질 수 없음
  • "직원을 채용한다." 라는 프로세스의 계층도


5) 업무 기능 분해 방법
  • 업무 기능 분해 순서
  • ① 해당 업무에서 단일 업무기능으로 정의하고자 하는 큰 구분, 즉 뿌리 기능을 지정(ex. 기본 인사 관리, 근태 관리, 급여 관리)
  • ② 단일 기능으로 정의해 놓은 업무기능을 더 세부적으로 쪼개어 나감(ex. 인사 기본 관리 \-> 기본 사항 접수, 자격증, 해외 여행, 상벌 사항등)
  • ③ 기능들을 업무 발생 순서대로 업무기능 분해도에 배치
  • ④단위 프로세스가 도출될 때까지 모든 업무기능에 대해 위 작업들을 반복적으로 수행. 업무 기능을 분해하는 궁극적인 목표는 단위업무 프로세스를 도출하는데 있기 때문임


업무 기능 분해 자료
  • ① 해당 업무를 구체화하여 업무기능을 분해하는 방법은 보통 분해(DECOMPOSITION) 작업의 첫 번째 단계에서 이용된다.

  • ② 업무기능의 생명 주기(LIKE CYCLE)를 분석하여 업무기능을 분해한다.

  • ③ 엔티티의 상태를 이용하여 업무기능을 분해한다.

  • ⑤ 업무이벤트에 따라 기능을 분리한다.
    • 고객이 보험금을 신청한다.
    • --> 보험근 신청을 접수한다.
    • --> 자격여부를 판단한다.
    • --> 보험금을 지급한다.

= ⑥ 데이터의 구조에 따라 기능을 분리한다.


4.2 단위 프로세스의 도출

단위 프로세스 검증 방법

  • (1) 단위 프로세스가 실행될 때는 완전하고 의미 있는 결과를 가져와야 한다.
  • 각각의 실행은 업무데이터를 변형하는 데 모두 필요하고 모든 데이터의 무결성 규칙을 보장하는 변함없는 상태를 유지하는 역할을 함
  • 만약 무결성 규칙을 어긴 프로세스는 지나치게 많이 분해 된 것임.
  • (2) 프로세스는 서로 밀접하게 관련이 있는 형제 프로세스와 동시에 데이터 집합에 작용한다.
  • 업무무결성을 보장하면서 비슷한 프로세스 여러 개가 동시에 동일한 데이터 영역에 대해 작용할 수 있음
  • (3) 각각의 프로세스는 적어도 하나의 이벤트에 대해 응답이 존재해야 한다.
  • (4) 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서서는 안된다.*
  • 예를 들면, 화면 컨트롤에 관련된 로직이 단위 프로세스에 도출되어서는 안된다.


예제

  • 고객 주문 프로세스에 대한 업무기능 분해도 초기 모습


평가

  • 1) "주문을 접수한다." 프로세스의 하위인 "주문의 기본 내용을 기록한다." , "주문 목록을 기록한다." 의 두 프로세스는 단독으로 수행되어서는 안되므로 잘못된 프로세스 도출임
  • 주문을 접수한다는 말의 의미는 두 프로세스가 동시에 발생할 시에만 의미가 있음
  • 2) "주문을 수정한다" 프로세스의 하위인 "주문의 기본 내용을 수정한다", "주문 목록을 수정한다"의 두 프로세스의 경우 단독으로 수행될 수 있으므로 잘못된 설계가 아님


수정된 업무기능 분해도


4.3 단위 프로세스와 데이터

  • 업무 프로세스와 데이터 모델에 대해 상호 검증하는 단계가 필요. 이로인해 새로운 프로세스가 도출될 수도 있으며, 새로운 엔티티타입이 존재할 수도 있음
    *상관관계표로써 기대효과를 정의하여 프로세스가 실행할 때 데이터에 영향을 주는 효과를 도식화 할 수 있음
"구루비 데이터베이스 스터디모임" 에서 2009년에 "데이터베이스 설계와 구축(개정판)" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3755

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입