본문 바로가기
정보/공부

UML 기초와 응용

by 용물 2022. 4. 25.
반응형

1장 -  객체 
       전적 동적, 코드에 대해서 그림 혹은 코딩할 수 있어야함.

UML은 객체지향 소프트웨어 개발과정에서 시각화(visualization), 명세화(specification), 구축(Construction),문서화(Documentaion)화 할때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어.

설계의 중요성

  -복잡한 현실세계를 이해하기 쉽도록 단순화 하는 작업  

  -견고한 설계는 100배의 비용 절감효과를 가진다.

 

객체지향의 개념

  -절차지향 방법을 대표하는 언어 C언어, 객체지향은 C++,JAVA를 사용 자료구조를 중심으로 객체를 설계

  -Class 존재 => 객체 , Class 없음 => 절차

  -캡슐화, 정보은닉, 공개인터페이스, 상속, 클래스

 -객체,클래스,메세지를 기본 요소로 함

   객체

    - 현실에 존재하는 모든 것

   클래스

    - 개념적으로 클래스를 생성할 수 있는 틀 

   메세지

    - 메세지를 보내는 객체는 송신

    - 메세지를 받아서 동작을 수행하는 객체는 수신

객체지향의 특징

  추상화

   -특정 측면을 강조하여 나타내는 것

   -실체화 : 추상화 된 모델링을 프로그램으로 구현 

  캡슐화

   -데이터와 처리담당 오퍼레이션이 한 틀 안에서 결합되어 객체라는 단위로 묶여 사용

   - 정보 은닉 가능

   - 독립성, 유지보수성 ,향상성 제공

상속

  -프로그램 쉽게 확장 할 수 있도록 도와주는 수단

  - 객체지향 패러다임에서 구현 가능

  - 정보를 공개하고 재사용 하는 개념

 다형성 

   - 여러 클래스에 같은 이름이 존재하지만, 동작은 다르게 수행 됨

   - 그들만의 고유한 속성과 오퍼레이션 필요함  

객체지향 설계

  -개발단계의 일관성을 유지함.

  -정적설계 ( 클래스,패키지, 컴포사이트 스트럭쳐, 옵젝, 컴포넌트, 디폴리먼트 다이어그램)

    구성요소간의 구조

    클래스다이어그램 - 클래스들 간의 관계를 정의

  -동적설계(시퀀스, 스테이트머신, 액티비티, 유스케이스, 커뮤니케이션, 인터럭션 오버뷰)

    구성요소간의 흐름

    시퀀스다이어그램 - 클래스들 간의 기능 흐름 정의

 

2장

- uml구성요소(개념적)

  사물   

    정적 사물 

    - 모델의 구조, 개념적 물리적 요소를 표현하는 명사

    - 클래스, 인터페이스,통신, 컴포넌트, 패키지

     클래스

      - 동일속성, 오퍼레이션, 관계, 의미를 공유하는 객체

     인터페이스

     - 클래스 또는 컴포넌트 서비스 명세화 오퍼레이션 모아둔 것, 외부적으로 가시화 되는 동작 푷ㄴ

     - 특정 클래스 컴포넌트의 전체 or 일부 동작 표현 , 원 표시

     통신

     - 서로 다른 요소와 역할이 모여 교류를 정의

     - 클래스 하나가 다수의 통신에 참여 가능

     - 실선 사각형 표시 

   컴포넌트

     - 전체 시스템을 구성하는 단위

     - 독립적으로 개발 배포, 교환 가능한 응집도가 높은 산출물

     - 탭이 달린 직사각형 

   패키지

     - 컴포넌트는 물리적, 패키지는 개념적

     - 요소를 그룹으로 묶음, 정적 사물이나 동적 사물도 하나에 들어갈수 있음.

  노드

    -  실행할 때 존재하는 물리적 요소 

    -  전산 자원을 나타내고, 약간의 메모리 처리능력을 가짐 

 

동적 사물 

   교류

     - 목적 달성을 위해 특정 문맥에 속한 객체들 간에 주고받는 메세지로 구성된 동작' 

     - 직선 표시, 객체 간 메세지, 활동순서 , 객체 간이 연결 등을 표현하는데 사용 됨 

   유스케이스

     - 시스템이 수행하는 활동 순차적으로 제공

     - 액터에게 의미있는 결과값 제공

     - 모델에서 동적 사물 통신으로 실현

     - 실선 타원 표시

 

   상태머신

    - 외부 이벤트에 대한 객체의 상태와 상태의 변화 순서를 기술

    -  서로다른 요소들이 들어있음 

    - 모서리가 둥근 직사각형 

사물 

   주해 사물

     - 모델링 참여 x

     - 노트 존재

  관계

    의존 

     - 두 사물간의 의미적 관계

     - 한 사물의 명세가 바뀌면 다른 사물에 영향을 끼침

    연관 

      - 객체사이의 연결

      - 지속적으로 유지

      - 한쪽에서 다른쪽으로 옮겨갈 수 있음

      - 실선 

    일반화

     - 일반화된 사물과 좀 더 특수한 사물사이의 관계 

     - 자식 객체는 부모 객체의 속성과 오퍼레이션 상속

     - 자식객체는 부모를 대체할수 있으나, 반대는 불가

     - 인터페이스와 상속 사이의 관계를 표현하기위해 사용 

     - UML 에서 사물들 사이에 일반화 가능

    실체화

     - 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관게

     - 클래스나 컴포넌트 사이의 관계를 지정하기 위해 사용

     -  클래스는 2개이상 인터페이스 실체화 , 인터페이스는 2개이상의 클래스로부터 실체화 

  다이어그램

    클래스

     - 클래스 ,인터페이스, 통신과 함께 이들의 관계를 나타냄

     - 객체 지향 시스템 모델링에서 가장 공통적으로 사용

     - 시스템의 정적 설계 뷰를 나타냄

    컴포넌트

      -  컴포넌트 사이의 구성과 의존을 표현

      - 시스템의 정적 구현뷰를 나타냄

      - 하나 이상의 클래스, 인터페이스, 통신과 같은 논리 요소들을 물리적 구현

    패키지

      - 시스템의 정적뷰

     - 교류다이어그램

 

    배치 

        연관,

        다중성,

        복합연관,

        상속화,

        실체화,

        다이어그램 특징(특성),

        uml개발 활동( 특성),


3장-  유스케이스 액터 기능 요구사항 정의,

        포함 확장 일반화 연관 중복 유스케이스 모델링 (설명 그리기)
4장- 클래스 다이어그램 그리기, 

      관계자 표현 ,

      연관관계,  

      다중성,

      집합 복합 관계 ,

     일반화,

    코드 주고 그리기
5장- 순차 다이어그램(구성요소), 

       통신다이어그램 차이점,

      순차 다이어그램 표현(생명선 등등),

      비동기 ,

     시간

,  글 주고 그리기 ,

반응형

댓글