소프트웨어 공학 UML - sopeuteuweeo gonghag UML

UML

IT위키

Unified Modeling Language

  • 통합 모델링 언어
  • 시스템을 모델로 표현해주는 대표적인 모델링 언어

특징[편집 | 원본 편집]

  • 통합적: 방법론을 기반으로 한 표준화된 기법 제공
  • 시각적: 풍부한 시각적 표현 모델 제공
  • 독립적: 시스템의 종류나 규모에 관계 없이 적용 가능

구성 요소[편집 | 원본 편집]

구성요소내용
사물(Things) 구조, 행위, 그룹, 주석 등
관계(Relationships) 의존 관계, 연관 관계, 일반화 관계 등
다이어그램(Diagrams) 객체 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등

UML 다이어그램의 종류[편집 | 원본 편집]

  1. 구조 다이어그램(Structure Diagram)
    • 클래스 다이어그램(Class Diagram)
    • 객체 다이어그램(Object Diagram)
    • 복합체 구조 다이어그램(Complex Structure Diagram)
    • 배치 다이어그램(Deployment Diagram)
    • 컴포넌트 다이어그램(Component Diagram)
    • 패키지 다이어그램(Package Diagram)
  2. 행위 다이어그램(Behavior Diagram)
    • 활동 다이어그램(Activity Diagram)
    • 상태 머신 다이어그램(State Machine Diagram)
    • 유스케이스 다이어그램(Use Case Diagram)
    • 상호작용 다이어그램(Interaction Diagram)
    • 커뮤니케이션 다이어그램(Communication Diagram)
    • 시퀀스 다이어그램(Sequence Diagram)

UML 다이어그램에서 관계 표현[편집 | 원본 편집]

명칭표현설명
연관 관계 ────> 객체간 개념적으로 연관
의존 관계 - - - - - -> 객체 변경 시 관계된 다른 객체도 변경
집합 관계 ────◇ 전체와 부분인 연관 관계
포함 관계 ────◆ 전체 소멸 시 부분도 소멸되는 집합 연관 관계
일반화 관계 ────▷ 일반화된 개념과 구체화된 객체의 관계

[소프트웨어공학] UML(Unified Modeling Language)이란?

요구 분석, 설계, 구현 등의 소프트웨어 개발 과정에서, 개발자간의 의사 소통을 원활하게 이루어지게 하기 위하여 표준화된 모델링 언어이다.
모델링에 대한 표현이 정확하고 오류가 적은 논리적인 표기법이다.
개발하려는 소프트웨어 규모에 상관없이 모두 적용 가능하다.
통합 모델링 언어로 객체 지향적 분석 설계 방법론의 표준 지정을 목표로 한다.

구조 다이어그램(Structure Diagram)

  • 클래스 다이어그램(Class Diagram)
    • 시스템의 정적인 구조를 나타냄
  • 객체 다이어그램(Object Diagram)
    • 데이터의 객체 구조를 보여주거나 시스템의 수행 중 특정 시점에서의 스냅샷(객체간의 연결 관계)을 보여주는 목적
  • 패키지 다이어그램(Package Diagram)
  • 컴포넌트 다이어그램(Component Diagram)
  • 복합구조 다이어그램(Composite Structure Diagram)
  • 배치 다이어그램(Deployment Diagram)


행위 다이어그램(Behavior Diagram)

  • 유스케이스 다이어그램(Usecase Diagram)
    • 시스템 분석 객체지향 방법론
  • 상태 다이어그램(State Machine Diagram)
  • 활동 다이어그램(Activity Diagram)
    • 시스템의 동적 특징을 나타냄
  • 시퀀스 다이어그램(Sequence Diagram)
    • 시스템 설계 객체지향 방법론
    • 객체 간의 메시지 통신을 분석하기 위한 모형
  • 통신 다이어그램(Communication Diagram)
  • 상호 작용 다이어그램(Interaction Overview Diagram)
  • 타이밍 다이어그램(Timming Diagram)

출처

  • //www.youtube.com/watch?v=nPREaEYax4Y

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[Python] # -*- coding: utf-8 -*-를 쓰는 이유 파이썬2의 기본 인코딩은 ascii 이다 파이썬2는 한글을 쓸때 골치아프다.  파이썬 스크립트에서 한글을 사용하게 될 때 파이썬은 ascii 인코딩일 것으로 예상하고 해석하려고 하지만 한글을 ascii로 해석이 불가능하기 때문에 SyntaxError발생 영어만 사용하면 별로 신경 쓸게 없지만 한글은 euc-kr , utf-8 이 공존하기 때문이다. 그냥 골치아픈것도 아니고 unicode와 조합되어서도 골치아프다. unicode 관련 부분의 경우 최초부터 지원한게 아니라 파이썬 2.4부터 지원을 추가되어서 문자열을 의미하는 타입이 str 와 unicode 가 존재해서 더 골치가 아프다 파이썬3에서는 기본값이 UTF-8이기 때문에 기본값에서 벗어나거나 다른 tool( ex: IDE또는 텍스트 편집기)를 사용하는 경우에만 사용 즉, 파이썬에 관한 다른 인코딩을 사용하고자 할때만 사용하면 됨 파이썬의 기본 인코딩은 ascii 이다. 스크립트 파일이 ascii인코딩일거라고 가정하고 읽어서 파싱하려고하는데 ascii로 해석이 불가능한 한글이라는 단어가 존재하기 때문에 SyntaxError(문법 에러)가 발생 이를 해결하기 위해서는 아래와 같은 스크립트 파일 첫줄에 파일의 인코딩을 명시해주면 된다. #-*- coding: utf-8 -*-  파이썬2.x의 기본 인코딩은 ascii 이다. 파이썬 스크립트에서 한글을 사용하게 될 때 파이썬은 ascii 인코딩일 것으로 예상하고 해석하려고 하지만 한글을 ascii로 해석이 불가능 하기 때문에 SyntaxError가 발생 한다. 출처 : //libsora.so/posts/python-hangul/

[Maven] package와 install의 차이

[Maven] package, install package 소스 코드를 컴파일하고 패키지한다. ex) 만약 pom.xml에 jar파일로 패키지하라고 하면, 패키징할때 jar파일로 만들고 타겟 디렉토리에 만든다 . install 로컬 repo에 패지지를 배포 컴파일하고, 패키지한다. package랑 다른 점은 local repo에 패키지를 생성해서, local repo에 있는  다른 프로젝트들이  접근이 가능하도록 함 mvn clean package mvn clean install 두 명령어 모두 target folder를 제거 mvn appengine : devserver Maven 설치 및 app을 실행 명령어

[컴퓨터네트워크] Telnet이란?

[컴퓨터네트워크] Telnet이란? 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을 수 있도록 하는 인터넷 표준 프로토콜 Telnet(텔넷)을 이용하면 네트워크에 있는 컴퓨터를 자신의 컴퓨터처럼 파일 전송, 파일 생성, 디렉토리 생성 등을 자유롭게 할 수 있다. 단, 보안문제로 사용률이 감소하고 원격 제어를 위해 SSH로 대체되는 추세 Telnet 보안 Telnet 세션은 암호화 및 무결성 검사를 지원하지 않는다. 패스워드가 암호화되어 있지 않아 스니퍼를 이용하여 제3자에게 노출 될 수 있다. UNIX 시스템에서 해커가 in.telnetd를 수정하여 클라이언트의 특정 터미널 종류에 대해 인증과정 없이 쉘을 부여할 수 있다. 그럼 텔넷과 SSH의 차이점은? 사용자가 쓰기에는 텔넷과 SSH는 차이점이 없습니다. 단지 차이점은 로그인, 프로그램 실행, 하드디스크 체크, 로그아웃 등 작업들을 하기 위해 사용자와 서버간의 통신 방법의 차이입니다. 사용자가 어떤 작업을 서버에 알려주기 위해 네트워크를 통해서 서버에 TCP/IP패킷정보를 전달하고 결과값을 다시 서버에서 받게 됩니다. 여기서 텔넷은 정보를 byte스트림형식으로 주고 받고, ssh는 DES, RSA 등 고급 암호화를 통해 통신을 합니다. 그러므로 텔넷 환경에서는 정보노출 위험이 큽니다. SSH는 암호화 뿐만 아니라 압축 기술도 사용하는데, 암호화 때문에 트래픽이 텔넷보다 크게 늘어나지 않습니다. 단지 약간의 부하가 더 생길수도 있다고 합니다. 따라서 정보가 누출될 수 있는 텔넷보다는 어느정도 정보의 안정성을 책임질 수 있는 SSH를 많이 사용합니다. 출처 //m.blog.naver.com/PostView.nhn?blogId=ahnsh09&logNo=40171391492&proxyReferer=https%3A%2F%2Fwww.g

Toplist

최신 우편물

태그