전공과목 정리/소프트웨어분석및설계

[소프트웨어분석및설계🛠️] 5장 정보공학방법론

최연재 2024. 9. 7. 22:31

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만)

 

1. 개념적 데이터모델

1.1 정보공학방법론

1) 정보공학방법론
- 기업 전체의 관점에서 기업 활동을 기업 모델로 분석하고 다이어그램으로 표현하여 정보시스템의 계획, 분석, 설계, 구축 등의 전 과정을 공학적으로 적용하는 방법론
- 정보공학 방법론과 기능 중심 방법론의 차이점

  • 전사차원의 정보체계 지원 (Information Architectrue)
  • 경영전략 지원 중심 (Business Oriented)
  • 데이터와 업무활동(기능)의 균형 (More Data Oriented)

2) 업무영역 분석의 목적
- 업무영역에 대한 상세한 이해
- 업무영역에 대한 정보 요구 및 우선순위 정의
- 업무영역의 모형화

  • 데이터 모형화 : 데이터베이스 구축의 기초가 됨
  • 업무활동 모형화 : 완성된 시스템의 메뉴를 구성함
  • 업무활동과 데이터 상관 모형화 : 데이터와 업무활동의 상호 관련성을 쉽게 파악

- 업무시스템 설계 영역 정의
- 업무시스템 설계 계획 수립
 

1.2 개념적 데이터 모델링

1) 개념적 데이터 모델 (Conceptual data model)
- 조직의 데이터를 표현하는 수단
- 목표 : 데이터에 대한 의미와 데이터들 간의 상호관계에 관한 규칙들을 보여주는 것
- DBMS나 구현 상의 고려 사항들과는 무관하게, 조직의 데이터에 대한 전반적인 구조를 구체적으로 보여주는 모델
 
💾 ERD (Entity-Relationship Diagram) : 일반적으로 데이터들이 어떻게 구조화되는지 보여주는 데 사용
 
2) 개념적 데이터 모델링
- 주요 목적 : 정확한 ERD 생성
- 현재의 파일이나 데이터베이스를 새로운 시스템의 데이터베이스로 변환시키는 계획을 수립하는 데 있어 필수적
- 시스템 분석 단계에서 다른 요구사항들에 대한 분석 및 구조화 작업들과 병행 수행
- 데이터 모델링의 한 유형으로, 시스템 개발 프로세스를 통해 이루어지는 데이터베이스 설계 활동
- 데이터 모델링을 위한 정보 수집 : 인터뷰, 설문지, JAD 회의 등
- 모든 산출물은 저장소(repository)를 통해 공유
- 시스템과 관련된 프로세스의 흐름, 의사결정 논리, 데이터 모델 등은 상호보완적이므로, 일관성 있고 완전하게 기술되어야 함.

  • DFD의 데이터저장소는 ERD의 데이터 개체(엔티티)와 대응
  • DFD의 데이터 흐름에 표현되는 데이터 요소들은 ERD의 개체 속성 및 관계성과 대응

 
3) 개념적 데이터 모델링 수행
- 새로운 시스템의 데이터에 대한 요구사항을 파악
- 모든 요구사항들을 수용하는 개념적 데이터 모델 개발
- SDLC의 계획 및 분석 단계에서 수행되는 모델링
- ERD는 프로젝트 정의 단계에서 시작되어 점차 완벽한 모습으로 발전
- 개념적 데이터 모델은 시스템의 입력물과 산출물에 대한 설계 결과와 대응되도록 설계 단계에서 구체화 (데이터의 물리적 저장을 고려한 형태로 전환)
 
4) 데이터 모델링과 SDLC 관계


 
5) 산출물
- 주요 산출물은 ERD
 
6) 개념적 데이터모델링 관점
- 하향식

  • 비즈니스에 대한 본질적인 이해를 바탕으로 데이터 모델을 도출하는 관점

- 상향식

  • 구체적인 비즈니스 문서들을 검토하여 데이터 모델을 도출하는 관점
  • 업무 문서들은 DFD의 데이터 흐름으로 표현되며 시스템에 의해 처리되는 데이터들을 보여줌
  • 해당 데이터들은 시스템의 데이터베이스를 통해 관리될 것임.

 
 

2. ER-모델링

2.1 ER 모델링

1) ER 모델의 3가지 주요 요소
- 데이터 개체 (enttity)
- 관계성 (relationship)
- 속성 (attribute)
 
2) ERD (Entity-Relationship Diagram)
: 조직 또는 비즈니스 영역에 관련된 개체들, 관계성, 그리고 데이터 요소들에 대한 구체적이고, 논리적이며, 도식적인 표현방식
 

2.2 개체 (Entity)

1) 개체
- 조직이 관련 데이터를 관리하고 싶어하는 사람, 장소, 객체, 이벤트(event), 또는 개념
- 개체는 다른 개체들과 구별되는 이름을 가지며, 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있음.
 
2) 개체 유형 (Entity Type)
- 공통적인 성질 또는 특성을 공유하는 개체들의 집합
- 개체를 고유의 이름과 속성들로 정의한 것
- 종종 간단히 개체라고만 언급
 
3) 개체 인스턴스 (Entity Instance)
- 개체유형의 단일 발생 사례
-개체를구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
 

2.3 속성 (Attribute)

; 조직에서 관심 있어 하는 개체의 성질 또는 특성
1) 후보키와 식별자

  • 모든 개체유형은 인스턴스들을 고유하게 구별할 수 있는 속성을 적어도 하나 이상 가져야 한다.
  • 후보키 (Candiate Keys)
    • 하나의 개체유형에 대한 각각의 인스턴스들을 고유하게 구별할 수 있도록 해주는하나의 속성 또는 몇 가지 속성의 조합
    • 한 개 이상의 후보키가 있다면 하나를 식별자로 선택
  • 식별자 (Identifiers)
    • 하나의 개체 유형의 인스턴스들을 고유하게 구분하는데 사용하기 위해 사용되는 후보키 중 하나
    • 데이터의 무결성(integrity)을 위해 중요하다.
    • 개체 무결성(Entity integrity)은 고유 키(유일 키)의 개념과 관련
    • 개체 무결성은 모든 테이블이 기본키(primary key)를 가져야 하며 기본 키로 선택된 열은 고유하여야 하며 빈 값은 허용치 않음을 규정
    • 이름에 밑줄을 그려 표시한다.

2) 식별자 선정 규칙

  • 개체유형의 각 인스턴스들이 시간에 따라 값이 변하지 않는 후보키를 고른다.
  • 널값(null value)이 될 수 가능성이 없는 후보키를 고른다.
  • 분류,위치, 기타개체의 성질을 나타내는 지능키(intelligent keys) 사용을 피한다.
  • 긴 복합키(composite keys) 대신에 단일 속성으로 된 대리키(surrogate keys)의 사용을 고려한다.

 
3) 다중값 속성 (Multivalued Attribute)
- 각각의 개체 인스턴스에 대해 하나 이상의 값을 가질 수 있는 속성
- ERD에서의 표시 방법

  • 집합 기호 안에 표시 { }
  • 약개체(weak entity) : 반복되는 데이터를 다른 개체로 분리하여 관계성으로 연결

 

2.4 관계성

1) 관계성 (Relationship)
- 조직에서 관심대상이 되는 하나 이상의 개체유형들 간의 연관관계
- 연관관계는 대개 개체인스턴스 간에 발생하는 사건 또는 자연스러운 관계를 의미
- 관계성은 항상 동사형의 이름을 가짐
 
2) 관계성의 차수
- 차수 (Degree) : 하나의 관계성에 연결된 개체 유형들의 개수

  • 일진 (Unary) : 한 개체유형의 인스턴스들 간의 관계성
  • 이진 (Binary) : 2개의 개체유형들 간의 관계성
  • 삼진 (Ternary) 
    • 3개의 개체유형들 간의 동시적인 관계성
    • 3개의 이진관계성과는같지 않음.

3) 사상수 (Cardinality)
- 개체 A의 인스턴스 하나가 관련될 수 있거나 관련되어야 하는 개체 B의 인스턴스들의 개수
- 최소 사상수 : 개체 A의 인스턴스 각각에 연관될 수 있는 개체 B의 인스턴스들의 최소 수
- 최대 사상수 : 개체 A의 인스턴스 각각에 연관될 수 있는 개체 B의 인스턴스들의 최대 수
- 속성들은 개체 뿐만 아니라 다대다 관계성과도 연관이 있다.
- 개체와 관계성의구분은 데이터를 어떻게 바라보는가에 관한 문제 


- 결합개체 (Associative Entity)

  • 하나 이상의 개체유형들에 대해 인스턴스들을 서로 연관시키면서 이러한 관계성에 대해 고유한 속성들을 포함하는 개체유형

 

3. 정보시스템 설계전략

3.1 최상의 설계전략 대안 선정

1) 2가지의 기본 단계들
- 포괄적인 범위에서 설계전략 대안들을마련
- 원하는 정보 시스템을 만들어 낼 수 있는 가능성이 가장 높은 설계 전략을 선택
 
2) 설계 전략 구축 과정
- 요구사항들을 여러 가지의 시스템 역량 수준들로 나누고,각 수준별로 필요한 구축 환경 요소들을 열거
- 이러한 구축 환경 요소들을 조달하거나 획득할 수 있는다양한 방법을 제시 
 
3) 산출물
- 새로운 시스템 구축을 위한 최소한 3가지의 상당히 다른 설계 전략들
- 가장 바람직한 정보시스템을구축할 가능성이 높은 것으로 판단되는 하나의 설계 전략을 선택
 

3.2 설계전략 대안 생성

1) 가장 바람직한 3가지 대안들
- 하급 : 기존 시스템과의 차이를 최소로 하면서 사용자들이 요구하는수준의 기능들을 모두 제공
- 상급 : 주어진 문제를 단순히 해결하는 수준을 넘어 사용자들이 필요로 할 가능성이 있는 추가적인 기능들을 제공
- 중급 : 상급 대안의 특성과 하급 대안의 검소함이 절충된 대안
 
2) 설계전략 대안의 범주결정
- 범위 도출을 위한 고려사항 : 최소한의 요구사항들, 시스템 개발에 따른 제약조건
- 요구사항 결정

  • 필수적인 특성들 vs 바람직한 특성들
  • 시스템 개발 과정에서 고려해야 하는 핵심특성
    • 시스템에 보관되는 데이터
    • 시스템의 결과물
    • 산출물 생성을 위한 분석
    • 접근성,응답 시간, 시스템 기능의 처리 시간에 대한 사용자의 기대 

- 시스템 개발에 따른 제약조건

  • 시간 : 대체 시스템이 필요한 날짜
  • 재원 : 사용 가능한 재무적/인적 자원
  • 변경이 불가능한 기존 시스템의 요소들
  • 법률적 제약
  • 문제의 중요성 또는 역학관계