- 첫 번째, 업무가 하고 있는 또는 해야하는 것을 기록하는 업무 기능에 대한 프로세스 관점의 모델
- 두 번째, 업무가 필요로 하는 것을 기술하거나 필요로 하는 것 간의 관계를 기술하는 데이터 관점의 모델
- 세 번째, 프로세스 관점으로 업무가 하는 방법과 데이터관점으로 업무가 필요로 하는 것이 어떻게 영향을 주는가에 대한 영향 분석 관점의 상관 모델
4.1 업무 기능 분해
업무 기능 분해
1) 업무기능 분해의 목적
- 정보화 시스템을 구축하는 가장 최저 단위의 단위 프로세스를 도출하기 위함
- 전체 업무의 체계를 프로세스를 중심으로 도식화하여 업무에 대한 기능을 파악하는 것
- 즉, 단위 프로세스 도출과 업무 기능을 명확하게 하는 것임
2) 업무기능 분해의 개념
- 업무기능 분해를 정의하려면 업무기능과 업무 프로세스에 대한 명확한 구분이 필요
- 업무 기능이란 기업의 임무를 한층 더 멀리 조명하여 하나로 표현하는 완벽한 단위 업무기능의 그룹. 일반적으로 서브젝트 에어리어가 최상위 업무 기준의 기능 분해의 예가 됨(영업, 회계, 제조등)
- 업무 기능이 무엇인지 또 왜 하는지에 대한 설명이 필요(누가 언제 어디서와 같은 다른 부분에 대해서는 서술해서는 안됨. 이것은 업무를 추진하면서 나오는 파생적인 특징이기 때문)
h6.3) 업무 프로세스의 개념
- 프로세스: 입력과 출력이 존재하는 업무기능으로 프로세스를 실행함으로써 데이터의 입력과 출력이 수행됨
- 프로세스 임을 판단하는 근거. 아래를 만족하면 프로세스에해당
- ① 해당 업무 기능이 실행 단위인지 관리 단위인지 판단
- ② 업무기능에 입력과 출력의 행위가 이루어지는지를 확인
4) 업무기능 분해도에서 프로세스의 적용
- 프로세스에 대한 기술: 항상 엔티티타입의 이름이나 속성의 명사형 이름에 동사를 더하여 구성. 엔티티타입과 속성을 생성하는 근거가 될수 있음
- (EX. "주문한다" "송장을 만든다." "계약을 종료한다." "계약일자를 공고한다.")
- 프로세스 정의 시 확인할 사항으로 그 프로세스가 단위 프로세스 인지 확인하는 것이다. 단위 프로세스는 더 이상 자식을 가질 수 없음
- "직원을 채용한다." 라는 프로세스의 계층도
5) 업무 기능 분해 방법
- 업무 기능 분해 순서
- ① 해당 업무에서 단일 업무기능으로 정의하고자 하는 큰 구분, 즉 뿌리 기능을 지정(ex. 기본 인사 관리, 근태 관리, 급여 관리)
- ② 단일 기능으로 정의해 놓은 업무기능을 더 세부적으로 쪼개어 나감(ex. 인사 기본 관리 \-> 기본 사항 접수, 자격증, 해외 여행, 상벌 사항등)
- ③ 기능들을 업무 발생 순서대로 업무기능 분해도에 배치
- ④단위 프로세스가 도출될 때까지 모든 업무기능에 대해 위 작업들을 반복적으로 수행. 업무 기능을 분해하는 궁극적인 목표는 단위업무 프로세스를 도출하는데 있기 때문임
업무 기능 분해 자료
- ① 해당 업무를 구체화하여 업무기능을 분해하는 방법은 보통 분해(DECOMPOSITION) 작업의 첫 번째 단계에서 이용된다.
- ② 업무기능의 생명 주기(LIKE CYCLE)를 분석하여 업무기능을 분해한다.
- ③ 엔티티의 상태를 이용하여 업무기능을 분해한다.
- ⑤ 업무이벤트에 따라 기능을 분리한다.
- 고객이 보험금을 신청한다.
- --> 보험근 신청을 접수한다.
- --> 자격여부를 판단한다.
- --> 보험금을 지급한다.
= ⑥ 데이터의 구조에 따라 기능을 분리한다.
4.2 단위 프로세스의 도출
단위 프로세스 검증 방법
- (1) 단위 프로세스가 실행될 때는 완전하고 의미 있는 결과를 가져와야 한다.
- 각각의 실행은 업무데이터를 변형하는 데 모두 필요하고 모든 데이터의 무결성 규칙을 보장하는 변함없는 상태를 유지하는 역할을 함
- 만약 무결성 규칙을 어긴 프로세스는 지나치게 많이 분해 된 것임.
- (2) 프로세스는 서로 밀접하게 관련이 있는 형제 프로세스와 동시에 데이터 집합에 작용한다.
- 업무무결성을 보장하면서 비슷한 프로세스 여러 개가 동시에 동일한 데이터 영역에 대해 작용할 수 있음
- (3) 각각의 프로세스는 적어도 하나의 이벤트에 대해 응답이 존재해야 한다.
- (4) 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서서는 안된다.*
- 예를 들면, 화면 컨트롤에 관련된 로직이 단위 프로세스에 도출되어서는 안된다.
예제
- 고객 주문 프로세스에 대한 업무기능 분해도 초기 모습
평가
- 1) "주문을 접수한다." 프로세스의 하위인 "주문의 기본 내용을 기록한다." , "주문 목록을 기록한다." 의 두 프로세스는 단독으로 수행되어서는 안되므로 잘못된 프로세스 도출임
- 주문을 접수한다는 말의 의미는 두 프로세스가 동시에 발생할 시에만 의미가 있음
- 2) "주문을 수정한다" 프로세스의 하위인 "주문의 기본 내용을 수정한다", "주문 목록을 수정한다"의 두 프로세스의 경우 단독으로 수행될 수 있으므로 잘못된 설계가 아님
수정된 업무기능 분해도
4.3 단위 프로세스와 데이터
- 업무 프로세스와 데이터 모델에 대해 상호 검증하는 단계가 필요. 이로인해 새로운 프로세스가 도출될 수도 있으며, 새로운 엔티티타입이 존재할 수도 있음
*상관관계표로써 기대효과를 정의하여 프로세스가 실행할 때 데이터에 영향을 주는 효과를 도식화 할 수 있음