모델링의 주요 개념
- 엔티티(==테이블) : 업무의 관심 대상이 되는 정보를 갖고 있거나 그에 대한 정보를 관리할 필요가 있는 유형,무형의 사물
- 속성(==컬럼) : 엔티티에서 관리해야 할 최소단위 정보항목, 엔티티는 하나 이상의 속성을 포함
- 인스턴스(==ROW) : 엔티티의 속성으로 실제로 구현된 하나의 값
엔티티 조건 3가지
- 업무의 관심 대상이 되는 사물이어야 한다
- 마땅한 속성을 소유해야 한다
- 두 개 이상의 인스턴스를 소유해야 한다
속성 명명규칙 4가지
- 속성의 의미가 분명히 드러나게 작성할 것
- 해당 업무에서 사용하는 이름 부여할 것
- 서술식X, 약어X
- 중복X
관계
카디널리티
- 인스턴스들 간에 수적으로 어떤 관계에 있는지를 나타내는 것
유스케이스 다이어그럼
- 액터와 시스템이 수행하는 활동간의 관계를 표시하며, 시스템의 기능적인 요구사항을 설명하기 위한 도구
시퀀스 다이어그램
- 동적 다이어그램으로 상호작용 다이어그램의 일부분이며 시스템 내부에서 동작하는 객체들 사이의 주고받는 메시지를 시간순에 따라 표현하는 도구
클래스 다이어그램
- 정적 다이어그램으로 UML모델링에서 가장 일반적으로 사용됨, 시스템의 구조와 구조간 상호 관계를 나타냄
유스케이스 다이어그램의 관계 4가지
- 연관관계 : 액터와 유스케이스간의 상호 작용 관계
- 포함관계 : 반드시 선행 실행되어야 하는 유스케이스와의 관계
- 확장관계 : 선택적으로 실행되는 유스케이스와의 관계
- 일반화관계 : 유사한 유스케이스 또는 액터들을 추상화하여 그룹핑한 것
액터
- 서비스를 이용하는 사용자 or 상호작용하는 다른 시스템/프로그램을 의미함
ex) 회원, 비회원, 관리자
소프트웨어 개발 과정
- 요구사항분석 -> 프로그램설계 -> 프로그램 구현 -> 통합테스트 -> 유지보수
주식별자
- 엔티티 내 각 인스턴스를 구별하는 기준이 되는 속성
외래식별자
- 관계가 있는 엔티티 간의 연결고리 역할을 하는 속성
개념적 설계
- 핵심 개체와 그들 간의 관계를 바탕으로 erd를 생성하는 과정
논리적 설계
- 추상화된 데이터를 구체화하여 개체,속성을 테이블화하고 상세화하는 과정
물리적 설계
- erd요소들을 관계형 데이터베이스의 요소들로 전환하는 과정
개념적 모델링 순서
- 엔티티 도출 -> erd로 엔티티 작성 -> 주식별자 선정 -> 엔티티간의 부모 자식관계 설정 -> 관계의 카디널리티(수적관계) 지정 -> 관계의 참여도(필수/선택)파악 -> 식별/비식별 관계 판단
db모델링 3가지
정규화 순서
- 비정규화테이블 -> 제1정규형 -> 제2정규형 -> 제3정규형 -> BCNF -> 제4정규형 -> 제5정규형
-원자값 = 단일값 -> 1정규형
-모든 속성은 반드시 모든 기본키에 종속되어야 한다 -> 2정규형
-이행종속 : 기본키가 아닌 모든 속성간에는 서로 종속될 수 없다 -> 3정규형
-다치종속 제거 -> 4정규형
- 조인종속성 이용 -> 5정규형
UML
- 정의 : 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어
- 필요성 : 소프트웨어 시스템을 만들기 위해서 어휘와 규칙을 두어 시스템을 개념적/물리적으로 표현하는 모델이 필요
비기능적 요소
- 다국어지원, 음성지원, 사진첨부용량, 문자발송