실전 데이터모델링 & 데이터베이스 설계와 구축

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
실전 데이터모델링 & 데이터베이스 설계와 구축 (4~5. 프로세스 / 상관 모델링 ) 李春植.
컴퓨터와 인터넷.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
Windows Server 장. 사고를 대비한 데이터 백업.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
시스템 설계와 산업디자인 개발.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
KHS JDBC Programming 4 KHS
상관함수 correlation function
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
CHAP 12. 리소스와 보안.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
셍산관리시스템 작업일보 등록 ☞ ☞ 작업일보등록 - 실행화면 C B A 사용설명
어서와 C언어는 처음이지 제14장.
27장. 모듈화 프로그래밍.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
제 15 장 직무설계 15.1 노동인력관리 목적 최대의 성과 만족스러운 성과 의사결정 직무설계 충원수준 선발 훈련과 경력개발
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
USN(Ubiquitous Sensor Network)
Chapter 03. 관계 데이터베이스 설계.
P 등속 직선 운동 생각열기 – 자동차를 타고 고속도로를 달릴 때, 속력계 바늘이 일정한 눈금을 가리키며 움직이지 않을 때가 있다. 이 때 자동차의 속력은 어떠할까? ( 속력이 일정하다 .)
Database Management System
데이터 베이스 DB2 관계형 데이터 모델 권준영.
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
Teaming pms.
( Windows Service Application Debugging )
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
“웹과 모바일을 연동한 평가 간편 시스템” vol
바넘효과 [Barnum effect] 사람들이 보편적으로 가지고 있는 성격이나 심리적 특징을 자신만의 특성으로 여기는 심리적 경향. 19세기 말 곡예단에서 사람들의 성격과 특징 등을 알아 내는 일을 하던 바넘(P.T. Barnum)에서 유래하였다. 1940년대 말 심리학자인.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
충남대학교 Software Engineering Lab 김 대 엽
Chapter 1 단위, 물리량, 벡터.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
창의적 공학 설계 < 사용자 중심의 공학설계 > : Creative Engineering Design
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
Chapter 10 데이터 검색1.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
상관계수.
.Net FrameWork for Web2.0 한석수
TrustNet 전자 협조전 사용설명서 목 차 작성,수정,삭제 결재함 처리현황 발송대장,접수대장
MIS 플2 회계- 마감후이월(2007).
Installation Guide.
07. DB 설계 명지대학교 ICT 융합대학 김정호.
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
6 객체.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
Presentation transcript:

실전 데이터모델링 & 데이터베이스 설계와 구축 (4~5.프로세스/상관 모델링) 박승기

4~5. 프로세스/상관 모델링 ◆ 데이터베이스 설계의 3단계    ⇒ 모델링은 크게 개념 설계, 논리 설계, 물리 설계로 나눌 수 있다. 1. 개념 설계 ■ 개념 설계는 비즈니스 스폰서와 사용자, 관리자, 고객을 관련시킴으로써 완벽하고 정확한 요구사항들을 용이하게 한다. ■ 개념 설계를 통해 물리적인 고려 사항을 배제한 가운데 사용자 관점에서 정보에 대한 개념적인 데이터 모델을 구축한다. - 비즈니스 요구를 파악한다. - 사용자가 무슨 일을 하며 그들이 무엇을 요구하는지를 이해한다. - 업무간 연관 관계와 구체적인 업무의 시나리오를 파악한다. - 사용자의 요구사항에 시나리오를 검증하고 확인한다.

2. 논리적 데이터베이스 설계 ■ 논리적 데이터베이스 설계는 개념 설계 과정에서 생성된 데이터 모델을 데이터베이스 종류의 특성에 따른 논리적인 데이터 모델로 발전시킨다. ■ 논리 설계에서 데이터베이스 종류를 관계형 데이터베이스로 선정했다면 RDB의 개념에 부합하는 릴레이션 관계를 설정하고 정규화를 거쳐 논리 설계를 완성하게 된다. 그러나 저장의 구조나 인덱스의 설계와 같은 물리적인 세부사항은 고려하지 않는다. - 실체를 찾아낸다. - 관계를 찾아낸다. - 속성을 찾아내고 연관시킨다. - 기본 키 및 후보 키를 결정한다. - 논리적 ER 모델을 그리고 정규화 과정을 수행한다. - 논리적인 제약 사항을 정의한다.

3. 물리적 데이터베이스 설계 ■ 특정 데이터베이스 제품을 선정하고 해당 제품의 특징을 고려해 논리적인 3. 물리적 데이터베이스 설계 ■ 특정 데이터베이스 제품을 선정하고 해당 제품의 특징을 고려해 논리적인 데이터 모델을 물리적인 데이터 모델로 옮겨 실제 사용할 물리적 데이터 스키마를 정의하는 것. - 논리적 데이터베이스 설계에 산출된 개체와 속성을 대상 데이터베이스 제품의 테이블과 컬럼으로 만들기 위한 기초 테이블을 설계한다. - 확장성과 분산성에 대한 고려를 한다. - 트랜잭션을 분석한다. - 논리적인 제약 사항을 선정 데이터베이스 제품의 무결성 제약 사항으로설계한다. - 물리적 정규화, 비정규 과정을 수행한다. - 인덱스, 뷰, 저장 프로시저 등의 데이터베이스 제품의 개체를 설계한다. ※ 데이터베이스 설계를 효과적으로 수행하기 위해서 케이스 툴을 사용 - 비즈니스 프로세스를 분석하기 위한 툴과 데이터베이스 모델링을 위한 툴. ■ 데이터베이스 모델링 툴의 사용은 정보 요구와 업무 규칙의 논리 모델부터 물리적인 데이터베이스 설계, 스키마 생성, 복잡한 테이블과 테이블간의 관계를 명확히 하고 단순화시켜 데이터 무결성 강화와 시스템 전반적인 수행 속도를 보장할 수 있도록 유도하며, 높은 생산성과 효율적인 유지보수를 지원 하게 된다.

▶프로세스 모델링이란… ◆ 프로세스 모델링의 정의 정보화 시스템을 구축하기 위해, 어떤 일이 그 업무에서 행하여지고 있는지 또는 어떤 일을 그 업무에서 해야 하는지를 분석하는 방법이다. 업무에 필요한 프로세스를 시스템 구축 방법론을 사용하여 분석하고 설계하여 정보화 시스템을 구축하는 것. ⇒ 정보공학에 이론적 근거를 두고 만들어졌다. ◆ 모델링의 3가지 중요한 요소 ① 데이터 관점 : 업무가 어던 데이터와 관련이 있는지? - 데이터간의 관계는 무엇인지에 대해 모델링 하는 방법(What, Data) ② 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지? - 모델링 하는 방법(How, Process) ③ 데이터와 프로세스 관점 : 업무처리가 하는 일의 방법에 따라 데이터가 어떻게 어떻게 영향을 받고 있는지 모델링 하는 방법(Interaction; 상호작용)

◆ 4장에서 학습할 내용 - 프로세스 관점에 대하여 알아본다. ▶프로세스 모델링이란… ◆ 4장에서 학습할 내용 - 프로세스 관점에 대하여 알아본다. - 업무 기능 분해 - 단위 프로세스 - 단위 프로세스와 데이터와의 관계 - 기타 프로세스 모델링과 관계된 몇 가지. ☞ 프로세스 모델링을 이해할 때 가장 중요한 개념인 단위프로세스, 트랜잭션, 데이터 무결성 보장에 대한 내용은 반드시 기억 해야 한다. ※ 트랜잭션(transaction;처리) : 하나의 작업이 여러 모듈과 연동된 경우(내부적으로 는 DB내의 여러 TABLE 연동의 경우) 이를 한 단위로 일괄성을 유지하는 것을 의미함. 즉, 정보의 교환이나 데이터베이스 갱신 등 일련의 작업들에 대한 연속처리단위를 이름  

▶업무기능 분해 정의 1) 업무 기능 분해 - 업무기능분해란 기업의 업무를 정보화 시스템이 구축될 수 있는 단위로 쪼개는 것. ☞ 업무기능분해도의 목적은… 첫번째 정보화 시스템을 구축하는 가장 최저 단위의 단위 프로세스를 도출하기 위함이다. 두번째 전체 업무의 체계를 프로세스를 중심으로 도식화하여 업무에 대한 기능을 파악하는 것이다. ** 단위프로세스는 실제 어플리케이션에서 로직이 구현된 단위이며 데이터베이스에도 영향을 미치는 가장 작은 단위의 업무프로세스이다.

▶업무기능 분해 목적 ☞ 업무기능 분해도의 목적은… 첫번째 정보화 시스템을 구축하는 가장 최저 단위의 단위 프로세스를 도출하기 위함이다. 두번째 전체 업무의 체계를 프로세스를 중심으로 도식화하여 업무에 대한 기능을 파악하는 것이다. ** 단위프로세스는 실제 어플리케이션에서 로직이 구현된 단위이며 데이터베이스에도 영향을 미치는 가장 작은 단위의 업무프로세스이다. ♨ 업무기능 분해는 계층구조 방식 중에서 하향식 접근 방식을 이용하여 업무 프로세스를 분석 하다. 단위 프로세스 업무기능 단위프로세스 ① ②

▶업무기능 분해의 개념 ☞ 업무기능 업무기능이란, 기업의 임무에 대해 한층 더 멀리 조명하여 하나로 표현하는 완벽한  단위 업무기능의 그룹이다. 대부분의 기업의 조직에서는 주요한 업무기능은 영업, 회개, 제조 등 5에서 10개의 업무기능으로 구분이 된다. 업무기능에 대한 설명을 할 때는 업무기능이 무었을 하는지 또 왜 하는지를 반드시 설명해야 한다. 누가, 언제, 어디서 어떤 방법으로의 관한 대한 내용은 서술하면 안 된다(파생적 특징이 된다.). (예) 기업의 조직에서는 주요한 업무기능은 영업, 회개, 제조 등 5에서 10개의 업무기능으로 구분된다. ☞ 업무 기능 분해 작업을 성공적으로 하기 위해서는 계획 단계와 분석 단계에서 작업이 이루어져야 최하위의 근본적인 업무 기능인 단위 프로세스를 도출 할 수 있다.

▶업무프로세스의 개념 ☞ 업무프로세스 프로세스란 입력과 출력이 존재하는 업무기능으로 프로세스를 실행함으로써 데이터의 입력과 출력이 수행된다. 프로세스임을 판단하는 근거 ① 해당 업무기능이 실행단위인지 관리단위인지를 판단한다. ② 업무기능에 입력과 출력의 행위가 이루어지는 지를 확인한다. 프로세스 입력 (INPUT) 출력 (OUTPUT) 실행 프로세스는 실행함으로써 입력과 출력이 수행되는 단위 (예)  “접수하다”라는 하나의 프로세스를 실행하면 접수라는 행위에 의해 접수정보가 입력되어 접수 엔티티타입에 접수정보가 생성되게 된다. “접수하다”라는 업무기능은 실행할 수 있는 단위이고 실행에 의해 접수정보가 받아들여(INPUT) 접수 엔티티타입에 출력 정보인 접수정보를 생성함으로써 즉 실행에 의해 입력과 출력이 수행되었으므로 프로세스가 되는 것이다.

▶업무기능의 분해 방법 ☞ 업무 기능의 효과적인 분해 방법 (1) 해당 업무에서 단일 업무 기능으로 정의하고자 하는 큰 구분을 정한다. - Root(뿌리기능) 지정. 예) 인사관리 시스템 : 기본 인사관리, 급여관리, 근태관리 등 뿌리에 해당하는 업무기능을 지정 한다. (2) 단일 기능으로 정의해 놓은 업무 기능을 더 세부적으로 쪼개 나간다. 예) 접수, 자격증, 해외여행, 상벌 등 (3) 기능들을 업무 발생 순서대로 업무 기능 분해도에 배치 한다. (4) 단위프로세스가 도출될 때까지 위 작업들을 반복적으로 수행 한다.

구체적 업무기능 분해 소스(SOURCE) ▶업무기능분해의 소스 1. 해당업무의 구체화하여 기능분해 1. 해당업무의 구체화하여 기능분해 2. 업무기능의 생명주기(LIFE CYCLE)을 분석하여 기능분해 3. 엔티티의 상태를 체크하여 기능분해 4. 업무이벤트에 따라 기능분해 5. 데이터의 구조에 따라 기능분해

▶업무기능분해의 소스 1. 해당업무의 구체화하여 기능분해 1. 해당업무의 구체화하여 기능분해 ☞ 해당업무의 구체화하여 기능을 분해하는 방법은 보통 분해 작업의 첫 번째 단계에서 이용된다. - 업무 구체화에 의한 기능 분해는 항상 해당 업무 조직에서 업무 수행의 모습을 반드시 검증하고 분해해야 한다. ☞ 기능분해 - 업무구체화 공사관리 아파트공사 하수도공사 도로공사 보험사고관리 자동차사고처리 질병사고처리 화재사고처리 ☞ 만약에 보험사고 처리를 할 때 사고 접수부터 보험금 지급까지 자동차 사고나 화재 사고, 질병사고 처리가 동일한 업무 수행 형태이면 업무의 생명주기에 따라 업무 기능을 분해 할 수 있다.

▶업무기능분해의 소스 2. 업무기능의 생명주기(LIFE CYCLE)을 분석하여 기능분해 ☞ 보통 클라이언트-서버 환경의 업무에 많이 이용된다. - 모든 업무는 시간 순으로 진행될 수 밖에 없으므로 항상 시작 업무와 종료 업무를 정의 할 수 있다. ☞ 기능분해 예)- 생명주기분석 제품관리 제품기획 제품생산 제품연구개발 제품판매 제품의 분배 시작 종료

▶업무기능분해의 소스 3. 엔티티의 상태를 체크하여 기능분해 ☞ 엔티티의 상태를 이용하여 업무 기능을 분해한다. - 보통 엔티티타입이 설계될 때 상태 코드라는 속성이 도출 되는데 상태 코드의 용도는 각각의 엔티티가 어느 업무 흐름에서 어느 정도 진행되 었는지 또는 작업상태가 어떤 상태인지 나타내는지 역할을 한다. ☞ 기능분해 예) - 엔티티상태 수강신청 수강을 신청한다. 수강을 취소한다. 수강을 연기한다. 수강을 확정한다. 수강연기 수강취소 수강확정 엔티티의 상태

▶업무기능분해의 소스 4. 업무이벤트에 따라 기능분해 ☞ 업무를 발생시키는 이벤트가 있으면 그 이벤트에 대응하는 업무기능으로 분해하는 방법이다. ☞ 기능분해 예) - 업무이벤트 고객이 보험금을 신청한다. 보험금신청을 접수한다 보험금을 지급한다 자격여부를 판단한다 ←이벤트 발생 : 입력 ←이벤트 발생 : 처리 ←이벤트 발생 : 출력

▶업무기능분해의 소스 5. 데이터의 구조에 따라 기능분해 ☞ 하나의 서브젝트 에리어를 부모 업무 기능으로 하고, 그 안에 포함된 엔티티 타입의 성격에 따라 엔티티타입이 생성되고 변경되는 정보를 이용하여 업무 기능을 분해하는 방법이다. ☞ 기능분해 예) – 데이터의 구조 공급자 관리 공급자 공급자 선임 공급목록 공급관리 엔티티의 생성 공급자 취소 등

▶단위프로세스 ☞ 단위프로세스 도출의 최저 단위는 트랜잭션을 보장하기 위한 단위이다. ☞ 단위프로세스 도출의 최저 단위는 트랜잭션을 보장하기 위한 단위이다. ☞ 단위프로세스는 한 시점에 한 사람이 한 지점에서 작업을 수행하는 단위이다. ☞ 트랜잭션이란 논리적인 작업의 단위(LOGICAL UNIT OF WORK) 이다. 단위 프로세스 규칙 = 단위 프로세스 검증 방법 규칙 1. 단위프로세스가 실행되면 완전하고 의미 있는 결과가 나와야 한다 . 규칙 2. 형제 ( SIBLING) 프로세스는 비슷한 프로세싱이 발생된다 . 규칙 3. 단위 프로세스는 하나 이상의 응답이 존재한다 . 규칙 4. 단위 프로세스는 반드시 데이터와 관련해서 수행된다 .

▶업무데이터 무결성 보장 ☞ 각각의 실행은 업무 데이터를 변형하는 데 모두 필요하고 모든 데이터를 무결성 규칙 1. 단위프로세스가 실행되면 완전하고 의미 있는 결과가 나와야 한다 . ☞ 각각의 실행은 업무 데이터를 변형하는 데 모두 필요하고 모든 데이터를 무결성 규칙을 보장하여 변함 없는 상태를 유지하게 하는 역할. ♣ 무결성을 어긴 프로세스란? - 지나치게 많이 분해된 것으로, 실제 단위 프로세스보다 더 많이 세분화한 것. ◆ 검증 방법 : 데이터 업무 규칙, 데이터 값의 규칙, 업무 트랜책션 무결성 규칙 1) 데이터 업무 규칙 : 만약 [구매]를 하려면 [구매목록]이 반드시 있어야 한다는 업무 규칙 이 있으면 구매와 구매목록 엔티티타입간에 필수 관계가 설정 된다. 구매목록 구매를 신청한다. 구매사항을 접수한다. 구매 동시 데이터규칙에 맞게 동시 생성하므로 적절한 ELEMENT PROCESS 구매목록을 신청. 따 로 데이터규칙에 맞지않게 개별로 생성하므로 부적절한 ELEMENT PROCESS

▶업무트랜잭션의 무결성 보장 2) 데이터 값에 대한 업무 규칙 : 만약 [제품이 팔리면 재고가 줄어든다]는 업무 규칙이 있으면 [제품을 판다]와 [재고량이 감소 한다]를 별도의 단위프로세스로 분리하면 안 되며, 데이터 값의 무결성을 보장하기 위해 하나의 단위 프로세스로 묶어야 한다. 3) 업무 트랜잭션 무결성 규칙 : 만약 [자동차 타이어를 교체한다] 는 업무 규칙 이 있으면 [타이어를 제거 한다]와 [타이어를 부착한다]를 별도의 단위프로세스로 분리하면 단위 프로세스 수행에 의해 타이어를 교체하는 업무는 트랜잭션 무결성을 보장받지 못 한다. ☞ 트랜잭션이란 논리적인 작업의 단위(LOGICAL UNIT OF WORK)로, 일련의 작업들에 대한 연속처리단위 이다. 타이어를 교체하라고 하였더니 분리만 했네!!!??

▶업무데이터 무결성 보장 ☞ 프로세스는 서로 밀접하게 관련이 있는 형제 프로세스와 동시에 데이터 집합에 작용한다. 규칙 2. 형제 ( SIBLING) 프로세스는 비슷한 프로세싱이 발생된다 . ☞ 프로세스는 서로 밀접하게 관련이 있는 형제 프로세스와 동시에 데이터 집합에 작용한다. ♣ 서로 관련 있는 정보를 측정하는 개념을 응집력(Cohesion)이라 한다. - 프로세스와 데이터의 상관관계를 표현한다면 응집력이 높은 곳에서 업무 흐름이 집중된다. - 즉 업무 무결성을 보장하면서 비슷한 프로세스 여러 개가 동시에 동일한 데이터 영역에 대해 작용할 수 있다. 규칙 3. 단위 프로세스는 하나 이상의 응답이 존재한다 . ☞ 모든 프로세스는 스스로 실행될 수 있으며, 반드시 외부 이벤트나 시간에 의한 자동 이벤트 가 발생하여 기동된다.

▶단위프로세스 ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. 규칙 4. 단위 프로세스는 반드시 데이터와 관련해서 수행된다 . ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. ☞ 주문과 주문목록에 대한 부분 ERD 주문 주문목록 포함한다 포함된다 ☞ 고객이 주문하는 프로세스에 대한 업무기능분해도 초기 모습 고객이 주문을 한다. 주문을 접수한다 주문을 취소한다. 주문의 기본내용을 기록한다. 주문목록을 기록한다. 주문 기본내용을 수정한다 주문을 수정한다. 주문목록을 수정한다.

▶단위프로세스 ☞ 고객이 주문하는 프로세스에 대한 업무기능분해도 초기 모습 업무 규칙 : 고객이 주문을 한다. 주문을 접수한다 주문을 취소한다. 주문의 기본내용을 기록한다. 주문목록을 기록한다. 주문 기본내용을 수정한다 주문을 수정한다. 주문목록을 수정한다. 업무 규칙 : 1. 고객이 주문하면 주문목록에 주문된 제품을 기록한 후 모든 주문 기록 정보들이 기록된다. 2. 주문이 정정되어 주문 기본 정보가 변경되거나 주문목록이 변경되면 주문목록 정보가 변경된다. 3. 두 개가 한꺼번에 발생하지 않을 때도 주문내용 변경이 정상적으로 수행되어야 한다.

▶단위프로세스 ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. - 검증 1. ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. - 검증 1. 고객이 주문을 한다. 주문을 접수한다 주문을 취소한다. 주문의 기본내용을 기록한다. 주문목록을 기록한다. 주문 기본내용을 수정한다 주문을 수정한다. 주문목록을 수정한다. ① [주문의 기본 내용을 기록 한다]가 단위 프로세스인지 고려해보자? 1. 주문 기본 내용을 기록한다. ⇒ 단독으로 실행할 수 있음. ⇒ 주문목록에 영향을 주지 않음 ☞ 업무 규칙 1이 위반 됨. 2. 처음 규칙을 만족하지 못했기 때문에 [주문의 기본 내용을 기록 한다]는 단위프로세스가 될 수 가 없다. 따라서 [주문 목록을 기록 한다] 도 단위프로세스가 될 수 가 없다. 3. 첫 번째 규칙을 만족하지 못하는 경우는 상위 업무 기능이 단위 프로세스일 확률이 많다.

▶단위프로세스 ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. - 검증 2. ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. - 검증 2. 고객이 주문을 한다. 주문을 접수한다 주문을 취소한다. 주문의 기본내용을 기록한다. 주문목록을 기록한다. 주문 기본내용을 수정한다 주문을 수정한다. 주문목록을 수정한다. ② [고객이 주문을 한다.]가 단위 프로세스인지 고려해보자? ◆ [고객이 주문을 한다.]가 단위 프로세스가 되기 위해서는 다음 3지 조건을 만족 해야 한다. 1. “고객이 주문 한다”를 실행함으로 ERD에 관련 있는 업무가 모두 영향을 받는다. 2. “고객이 주문 한다”를 실행함으로 “새로운 주문을 접수한다”, “주문 취소를 알린다” 또는 “주문을 수정한다”는 각 사용자에게 의미 있게 제공되어야 한다. 3. “고객이 주문 한다”를 실행함으로 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적 으로 수행해서는 않 된다. ◆ [고객이 주문을 한다.] 의 단위 프로세스는 독립적으로 수행할 수 있다. 예를 들면 취소 없는 주문을 받을 경우가 있다. ☞ 결론은 단위프로세스 규칙 4번째를 만족하지 못 한다.

▶단위프로세스 ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. - 검증 3. ☞ 어느 단위 프로세스도 데이터에 전혀 상관없이 독립적으로 수행해서는 않 된다. - 검증 3. 고객이 주문을 한다. 주문을 접수한다 주문을 취소한다. 주문의 기본내용을 기록한다. 주문목록을 기록한다. 주문 기본내용을 수정한다 주문을 수정한다. 주문목록을 수정한다. ② [주문을 하다.]가 단위 프로세스인지 고려해보자? ◆ [주문을 하다.]가 단위 프로세스가 되기 위해서는 다음 3지 조건을 만족 해야 한다. 1. “주문을 하다”를 각각 실행함으로 모순 없이 데이터를 유지 할 수 있다. - 주문과 주문목록이 똑같은 실행에 의해 영향을 받는다. 2. “주문을 하다”를 각각 실행함으로 그 자신이 사용자에게 완전한 의미 있는 결과를 준다. 3. “주문을 하다”에 매달려 있는 하위 단위는 어던 다른 것과도 무관하게 실행할 수 없다. ◆ 이와 같이 “주문을 하다” 는 규칙을 만족하기 때문에 단위 프로세스가 되는 것이다.

▶단위프로세스 ☞ 정정된 업무기능분해도 고객이 주문을 한다. 주문을 접수한다 주문을 취소한다. 주문을 수정한다. 주문 기본내용을 수정한다 주문을 수정한다. 주문목록을 수정한다.

▶단위프로세스 ☞ ELEMENTAY PROCESS 식별 : 인사/급여 시스템 급여를 계산한다 . 세율을 공제금액을 최종급여를 ☞ 적절하게 분해가 되었는가? ◆ 업무 기능을 지나치게 많이 분해 한 것이다. - 세율 계산, 공제금액 계산, 최종 급여 계산을 각각 수행해서는 트랜잭션 무결성이 보장 되지 않는다. ☞ 결론 : 세율 계산, 공제금액 계산, 최종 급여 계산은 한 시점에서 한곳에서 한 사람이 수행해야 하는 것이다. 따라서 “급여를 계산한다.”가 단위프로세스가 된다.

▶단위프로세스 ☞ ELEMENTAY PROCESS 식별 : 입사지원 사원을 모집한다. . 지원자와 면접한다 지원자를 채용한다. 지원자를 탈락시킨다. ☞ 적절하게 분해가 되었는가? ◆ 업무 기능을 적절하게 분해 한 것이다. - 단위프로세스란 한 시점에서 한 사람이 한 곳에서 작업을 수행하는 단위이다. 따라서 “지원자와 면접한다.”, “지원자를 채용한다.”, “지원자를 탈락시킨다.”는 다른 시점에서도 작업이 수행 될 수 있으므로 단위 프로세서이다. 결론 : 만약 “사원을 모집한다”를 단위 프로세스로 지정하면 면접, 채용, 결과가 항상 동일한 시점에서 한번에 처리 되어야 한다. – 실제 업무에서는 동시에 이루어 지지 않는다.

▶단위프로세스 ☞ ELEMENTAY PROCESS 식별 : 납품 납품 받는다 . 납품목록을 점검한다 저장한다 ☞ 적절하게 분해가 되었는가? ◆ 업무 기능을 적절하게 분해 한 것이다. - 단위프로세스란 한 시점에서 한 사람이 한 곳에서 작업을 수행하는 단위이다. 따라서 “납품목록을 점검한다.”, “납품목록을 저장한다.”는 다른 시점에서도 작업이 수행 될 수 있으므로 단위 프로세서이다.

▶단위프로세스 ☞ ELEMENTAY PROCESS 식별 : 신규 고객 서비스 신규고객을 접수한다. 고객 기본사항을 입력한다. 접수사항을 입력한다. ☞ 적절하게 분해가 되었는가? ◆ 업무 기능을 지나치게 많이 분해 한 것이다. - 고객 기본 사항 입력과 접수사항 입력은 따로 분리되어 처리되는 작업이 아니라 한 사람이 한 번의 작업으로 수행해야 할 작업 정보다. ☞ 결론 : 부모 기능에 해당되는 “신규고객을 접수한다.”가 단위프로세스가 된다.

3) 단위프로세스와 데이터 3) 단위 프로세스와 데이터 5장에서 수업 함. 4) 기타 프로세스 모델링의 주요 방법 ◆ 프로세스 모델링 작업에서는 프로세스가 도출되면 각 프로세스가 어떤 이벤트에 의해 발생되었는지에 따라 이벤트를 표현하는 방법과 각 이벤트에 반응하는 프로 세스와 프로세스간에 반응 모습을 표현하는 방법이 있다. (1) 업무처리 종속 분석의 목적 - 프로세스를 기동할 때 필요한 이벤트가 무엇인지 그리고 각 프로세스는 다른 프로세스 에 의해 영향을 받아 실행되는지를 분석하는 것. - 업무 기능 분해가 적절하게 이루어졌는지 검증이 가능하다. - 분석자가 업무 흐름을 명확히 이해할 수 있도록 돕는다. ☞ 종속(Dependency) : 두 업무 기능 사이에 존재하는 것으로 “하나의 업무 기능이 무엇을 하면 다른 업무 기능이 무엇을 한다”와 같이 서로 자신의 작업을 위해 다른 업무 기능이 요구되는 상태를 말 한다.

3) 단위프로세스와 데이터 F A E B C D (2) 업무처리 종속도의 표기법 - 의존도와 이벤트 분석에 사용되는 몇 가지 도식화된 기호와 용어. F A E B C D ◆ 업무처리 종속도의 표기법 설명 - 기능 A, B와 C는 네트워크 의존을 받는 상호의존 관계이다. - A와 B에 그어진 직선은 B가 A에 의존 관계가 있다는 정보를 나타낸다. C도 B에 의존 관계 - 선택적으로 B의 실행은 A에 의존적이거나 활성화된다고 할 수 있다. - A는 B에게 필요한 기능이다. - D와 F는 외부 오브젝트이다. - D에서 A까지의 연결선과 C와 F 의 연결선은 정보 흐름을 나타낸다. - E는 이벤트이다. - E에서 B까지 연결선은 이벤트 E의 어커런스에 대한 B의 의존성을 나타낸다. - B는 E에 의해 활성화 되거나 시작된다고 할 수 있다. - 선택적으로 B는 E에 대한 반응으로 실행된다고 할 수 있다. - E는 B의 기능에 앞서 사전에 필요한 이벤트고, B를 실행하는 업무 기능이라고 할 수 있다.

3) 단위프로세스와 데이터 (3) 이벤트 - 프로세스 모델링에서 이벤트의 의미는 업무 기능이 수행될 수 있도록 시스템에 어떤 일이 일어나는 것을 의미 한다. - 외부 이벤트 : 사람이나 회사와 같이 눈에 보이면서 물리적으로 발생하는 것. - 내부 이벤트 : 시간과 같이 눈에는 보이지 않지만 시스템적으로 이벤트를 발생시키는 것 A B 사람/회사 외부 이벤트 A B 시간 내부 이벤트

5장 상관모델링이란… ♦ 5장에서는 프로세스 관점의 업무 방법과 데이터 관점의 업무가 필요로 하는 것이 어떻게 영향을 주는가를 상호 검증하는 방법을 배운다. ♦ 상관모델링이란 정보화시스템을 구축하기 위해 그 업무에 존재하는 무엇에 대해 무슨  일이 행해지고 있는지를 또는 무슨 일에 의해 무엇이 영향을 받는지를 분석하는 방법이다. ♦ 상관 모델링은 데이터 모델링 작업에서 도출한 엔티티타입과 프로세스 모델링에서 도출한 단위 프로세스를 이용하여 작업을 진행 한다. ♦ 상관 모델링 작업을 진행 함으로써 데이터 모델과 프로세스 모델에 대한 품질을 향상 할 수 있다. 프로세스 데이터

5장 상관모델링이란… ♦ 상관모델링이란 단계에서 검증 할 대상 1. 하나의 프로세스가 엔티티타입과 속성, 관계에 대해 어떠한 영향을 미치는가? 2. 어떤 프로세스가 엔티티타입을 이용하는지 검증 해야 한다. 3. 엔티티타입이 상호 연관되는 관계에 대해 연결되어야 하는지를 검증 해야 한다.

▶CRUD 매트릭스 ♦ CRUD MATRIX는 엔티티타입과 프로세스에 대한 비교뿐만 아니라 아니라 2차원 테이블을 비교할 수 있는 경우에 모두 적용되는 방법이다. ♦ 단위 프로세스가 엔티티타입에 영향을 주는 방법은 신규, 조회, 수정, 삭제의 4가지에 포함되어 있다. ♦ CRUD 는 CREATE(생성)의 “C”, READ(조회)의 “R”, UPDATE(수정)의 “U” DELETE(삭제) 의 “D”를 의미 한다. ☞ 아래는 CRUD MATRIX 상관모델링 표기 방법이다. ELEMENT PROCESS가 엔티티타입에 어떠한 일을 하는지 기술한다.

▶CRUD 매트릭스 ☞ 아래는 CRUD MATRIX 상관모델링 점검 사항 ELEMENT PROCESS가 엔티티타입에 어떠한 일을 하는지 기술한다. ♦ 모든 엔티티타입에 CRUD 가 한번 이상 표시 되었는가?. ♦ 모든 엔티티타입에 “C”가 한번 이상 존재 하는가?. ♦ 모든 엔티티타입에 “R” 이 한번 이상 존재 하는가?. ♦ 모든 단위 프로세스는 하나 이상의 엔티티타입에 표기 되었는가? ♦ 두 개 이상의 단위 프로세스가 한의 엔티티타입을 생성하는가? ☞ 5가지 사항에 모두 적절하다는 판단이 되었다면 도출된 데이터 모델과 프로세스 모델은 적절한 관계가 있다고 할 수 있다.

▶CRUD 매트릭스 ☞ CRUD 없는 엔티티타입 엔티티타입에 발생되는 CRUD가 존재하지 않음 2.엔티티타입

▶CRUD 매트릭스 ☞ CREATE 없는 엔티티타입 엔티티타입에 READ는 존재하는데 데이터를 생성하는 ELEMENT PROCESS가 없다. 2.엔티티타입

▶CRUD 매트릭스 ☞ READ 없는 엔티티타입 주문목록은 생성하고 수정하고 삭제는 하지만 데이터가 읽혀지지 않는다. 2.엔티티타입

▶CRUD 매트릭스 ☞ 표기가 안된 ELEMENTARY PROCESS 2.엔티티타입

▶CRUD 매트릭스 ☞ 엔티티타입 중복생성 제품 엔티티타입이 주문 신청할 때도 발생이 되고 제품등록할 때도 발생이 된다. 2.엔티티타입

▶CRUD 매트릭스 ☞ 속성 CRUD MATRIX – 속성 대 ELEMENTARY PROCESS 고 객 번 호 주 소 전 화 팩 스 등 록 일 자 메 동 이 체 은 행 거 래 횟 수 정 지 여 부 C R U 거래를 중지한다. 고 객 신규고객등록하다 주문신청하다 고객정보를 변경한다 엔티티타입 ELEMENRARY PROCESS 2.엔티티타입

THE POWER OF POSITIVE THINGKING BELIEVE IN YOURSELF(자신을 믿자) A PEACEFUL MIND GENERATES POWER(평화로운 마음이 힘을 창조한다.) TRY PRAYER POWER(기도의 능력을 활용한다.) CREATE YOUR OWN HAPPINESS(행복을 창조하자.) EXPECT THE BEST AND GET IT(최고의 것을 기대하고 그것을 얻자) I DON’T BELIEVE IN DEFEAT(패배는 없다.) BREAK THE WORRY HABIT(걱정하는 습관을 버리라) - Dr. Norman Vincent Peale -