본문 바로가기
정보처리기사/소프트웨어 설계

UML (1)

by jhwannabe 2023. 7. 8.

개념 모델링(Conceptual Modeling)

개념 모델링

  • 요구사항을 이해하기 쉽도록 실 세계의 상황을 단순화하여 개념적으로 표현한 것을 모델이라 함
  • 이렇게 표현된 모델을 생성해 나가는 과정을 개념 모델링이라 함
  • 모델은 문제가 발생하는 상황에 대한 이해를 증진하고 해결책을 설명하므로 소프트웨어 요구사항 분석의 핵심이라 할 수 있음
  • 개발 대상 도메인의 엔티티(Entity)들과 그들의 관계 및 종속성을 반영함
  • 요구사항별로 관점이 다르므로 개념 모델도 다양하게 표현되어야 함
  • 대부분 UML(Unified Modeling Langauge)을 사용함
  • 종류 : Use Case Diagram, Data Flow  Model, State Model, Goal-Based Model, User Interactions, Object Model, Data Model

UML(Unified Modeling Language)

UML

  • 객체지향 소프트웨어 개발 과정에서 시스템 분석, 설계, 구현 등의 산출물을 명세화, 시각화, 문서화 할 때 사용하는 모델링 기술과 방법론을 통합하여 마나든 범용 모델링 언어
  • Rumbaugh의 OMT 방법론과 Booch의 Booch 방법론, Jacobson의 OOSE 방법론을 통합하여 만든 모델링 개념의 공통 집합으로 객체지향 분석 및 설계 방법론의 표준 지정을 목표로 제안된 모델링 언어임
  • OMG(Object Management Group)에서 표준화 공고 후 IBM, HP, Microsoft, Oracle 등이 참여하여 1997.1 버전 1.0을 Release함

럼바우(Rumbaugh) 객체지향 분석 기법

  • 소프트웨어 구성 요소를 그래픽으로 모형화 함
  • 객체 모델링 기법이라고도 함
객체 모델링 정보 모델링이라고도 함. 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체를 다이어그램으로 표시
동적 모델링 제어 흐름, 상호작용, 동작 순서 등의 상태를 시간 흐름에 따라 상태 다이어그램으로 표시
기능 모델링 여러 프로세스 간의 자료 흐름을 표시. 어떤 데이터를 입력하여 어떤 결과를 가져올 수 있을지를 표현

UML의 특성

  • 비주얼화 : 소프트웨어 구성 요소 간의 관계 및 상호작용을 시각화한 것
  • 문서화 : 소프트웨어 생명주기의 중요한 작업을 추적하고 문서화할 수 있음. 개발 프로세스 및 언어와 무관하게 개발자 간의 의사소통 도구를 제공
  • 명세화 : 분석, 설계, 구현의 완벽한 모델을 제공함. 분석 단계 - 기능 모델, 설계 단계 - 동작 수준 모델, 구현 단계 - 상호작용 모델 수준으로 명세화할 수 있음. 단순 표기법이 아닌 구현에 필요한 개발적 요소 및 기능에 대한 명세를 제공함
  • 구축 : 객체지향 언어와 호환되는 프로그래밍 언어는 아니지만, 모델이 객체지향 언어로 매핑될 수 있음

UML 소프트웨어에 대한 관점

  • 기능적 관점 : 사용자 측면에서 본 소프트웨어의 기능을 나타냄. 사용 사례 모델링이라고도 함. 요구분석 단계에서 사용함. UML에서는 Use Case Diagram을 사용함.
  • 정적 관점 : 소프트웨어 내부의 구성 요소 사이의 구조적 관계를 나타냄. 객체, 속성, 연관 관계, 오퍼레이션의 시스템 구조를 나타내며, UML에서는 Class Diagram을 사용함. 
    • 예) 클래스 사이의 관계, 클래스 구성과 패키지 사이의 관계
  • 동적 관점 : 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용함.

UML의 기본 구성

구성 설명
사물
(Things)
- 객체지향 모델을 구성하는 기본 요소
- 객체 간의 관계 형성 대상
관계
(Relationship)
- 객체 간의 연관성을 표현하는 것
- 종류 : 연관, 집합, 포함, 일반화, 의존, 실체화
다이어그램
(Diagram)
- 객체의 관계를 도식화한 것
- 다양한 관점에서 의사소통할 수 있도록 view를 제공
- 정적 모델 : 구조 다이어그램
- 동적 모델 : 행위 다이어그램

UML 접근 제어자

접근 제어자 표기 설명
public + 어떤 클래스의 객체에서든 접근 가능함
private - 해당 클래스로 생성된 객체만 접근 가능함
protected # 해당 클래스와 동일 패키지에 있거나 상속 관계에 있는 하위 클래스의 객체들만 접근 가능함
package ~ 동일 패키지에 있는 클래스의 객체들만 접근 가능함

연관 관계 다중성 표현

표기 의미
1 1 개체 연결
* 또는 0..* 0이거나 그 이상 객체 연결
1..* 1이거나 1 이상 객체 연결
0..1 0이거나 1 객체 연결
1, 3, 6 1 이거나 3 이거나 6 객체 연결
n n개 객체 연결
n..* n 이거나 n개 이상 객체 연결
728x90
반응형

'정보처리기사 > 소프트웨어 설계' 카테고리의 다른 글

UI (1)  (0) 2023.07.08
UML (2)  (0) 2023.07.08
요구사항 확인 기법  (0) 2023.07.08
요구사항 개발  (1) 2023.07.07
현행 시스템 분석  (0) 2023.07.07