[소프트웨어 공학] UML

상준·2024년 6월 5일
0

소웨공

목록 보기
3/10

UML 모델링 언어

  • Unified Modeling Language
  • 다이어그램을 표현하기 위한 기본 모델 요소(심볼과 심볼의 의미)를 표준적으로 정의

    UML이 제공하는 14가지 다이어그램을 구조 다이어그램과 행위 다이어그램으로 분류

구조 모델링

  • 개발 대상 소프트웨어가 어떤 구조적 요소들로 이루어질 수 있는지 분석
  • 업부 수행 과정에서 생성되고 사용되어야 할 객체에 어떤 것들이 있는지 식별하고, 그들 간의 관계를 정의
  • UML의 클래스 다이어그램으로 표현
  • 설계 단계에서 사용
  • 분석 과정의 구조 모델에서 정의된 객체들이 어떻게 생성 저장 처리되는지, 파일과 데이터 베이스로 어떻게 반영되어야 하는지를 나타냄
  • 비즈니스에서 사용되는 용어들을 이용하여 객체들을 정의함으로써, 실세계와 소프트웨어의 의미적 차이를 줄이는 작업

클래스 다이어그램 (Class Diagram)

  • 소프트웨어의 구조를 나타내는 정적 모델
  • 식별된 모든 클래스를 CRC카드에 명세한 후에 클래스 다이어그램 작성
  • 각 클래스가 갖는 속성과 연산을 다시 한 번 점검하고 정제한 후에 클래스 간의 관계 부여

행위 모델링

  • 시스템의 내적 동작을 표현하는 다이어그램
  • 객체 간의 상호작용이 발생하는지를 나타냄
  • 객체지향에서 객체 간의 상호작용은 메시지 패싱으로 이루어지며 함수 호출과 동일한 개념
  • 클래스가 아닌 객체, 즉 클래스의 인스턴스 수준을 기준으로 작성
  • UML의 동적 모델에 해당
  • 액티비티 다이어그램, 통신 다이어그램, 순차 다이어그램, 상태기계 다이어그램 등을 이용하여 시스템의 동적 행위를 모델링

기능 모델링

  • 요구사항을 입력 받아 소프트웨어 시스템이 해야 할 기능이 무엇인지를 식별해가는 과정
  • 소프트웨어 분석을 위한 첫번째 활동
  • UML의 유스 케이스 다이어그램을 이용하여 분석 결과를 표현
  • 요구사항에 대한 충반한 이해가 부족하거나 도메인 지식이 부족한 경우 비즈니스 프로세스 모델링(BPM)을 액티비티 다이어그램을 이용하여 수행

유스 케이스 다이어그램(Use Case Diagram)

  • 시스템 최상위 수준에 해당하는 기능을 사용자 관점으로 나타냄
    • 사용자가 시스템을 통해 제공받는 주요 기능을 나타냄
    • 시스템과 사용자 간에 어떤 상호작용이 이루어지는 지를 표현

식별을 위한 고려사항

  • 시스템이 제공하는 기능을 나타내는 것
  • 다른 것과 관계가 없는 독립된 유스 케이스는 존재할 수 없음
  • 하나의 유스케이스는 동작 수행의 종료를 포함하도록 정의해야 함
  • 서로 다른 시간대에 수행되는 행위는 분리하여 각각 별도의 유스 케이스로 식별함
  • 최초에 액터에 의해 시작되어야 함

    관계

    포함(Include) 관계: 반드시 호출되어 실행되어야 하는 동작
    확장(Extend) 관계: 선택적으로 호출되는 관계

순차 다이어그램 (Sequence Diagram)

  • 객체 간의 상호작용, 즉 메시지 패싱에 대한 행위를 시간 축 중심으로 나타냄

구성 요소

참여 객체

  • 한 클래스의 객체에 여러 개 존재할 수 있음
  • 참여 객체 간의 상호작용은 일반적으로 왼쪽에서 오른쪽으로 진행하도록 표현
  • 액터도 참여 객체의 한 유형으로 고려될 수 있음

시간축 - 다이어그램의 세로축

  • 메시지 전달의 순서를 위에서 아래 방향으로 나타내며, 업무의 처리 흐름과 일치해야 함
  • 각 개체가 활성화된 시간을 점선으로 표시, 객체의 라이프라인(Lifeline)이라고 함

실행 사건(Execution Occurrence)

실행 동작이 발생하는 기간을 길쭉한 사각형의 실행 사건으로 표현

메시지 전달: 객체 간의 상호작용을 나타내는 기본 요소, 객체 간의 함수 호출을 의미

  • 호출되는 메서드(연산)의 이름과 매개변수가 화살표로 표시

제어 로직: 행위를 표현

  • 결합형 심볼
    • Alternative(선택)
    • Loop(반복)
    • Paralell(병렬)

상태기계 다이어그램(StateMachine Diagram)

객체의 상태 변화 표현 - 객체가 생성되어 소멸될 때까지의 변화

상태 전이를 유발하는 레이블 표현 형식

  • 특정 Event가 주어진 Guard condtion에서 발생하면 슬래시(/) 다음의 Action을 수행하고 상태를 전이

  • 아무런 표기 없이 단지 슬래시로만 레이블을 구성하는 경우(/)는 상태 S1에 도착하면 무조건 상태 S2로 전이

profile
컴공생 공부

0개의 댓글