달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

 

UML 객체 지향의 관계

객체 지향

·         현대 소프트웨어 개발의 패러다임

·         인간이 사고하는 자연스러운 방식

UML

·         객체지향 분석 설계분야에서 발전한 모델링 기법

 

 

 

 

UML Diagram 샘플

android activity lifecycle diagram

http://bit.ly/2Zt9V5l



Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

DFD(Data Flow Diagram)

·         데이터 흐름도

·         DFD 데이터의 흐름 다이어그램을 뜻합니다.

·         데이터가 어디서 와서 어디로 흘러가는지 정의가 필요할 반드시 만들어줘야 작성합니다.

·         정보 시스템을 설계하기 위하여 프로세스와 자료 등에 대하여 관계를 그림으로 나타내는 방법으로 표현된 도식도입니다.

 

 

http://bit.ly/2vPYJEV

https://en.wikipedia.org/wiki/Data-flow_diagram

 

 

 


 

 

 

DFD 구성

DFD Process, External entity, Data store, Data flow 구성되어 있습니다.

구성

설명

Process

자료가 처리되는 과정

External entity

외부실체

Data store

저장되는 장소

Data flow:

데이터의 흐름표시

 

 


http://bit.ly/2PtTHEt

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

UML Diagram 14종류

시스템을 여러 관점(view)에서 표현할 있습니다.

1.  UseCase diagram (유스케이스 다이어그램)

2.  Sequence diagram (시퀀스 다이어그램)

3.  Class diagram (클래스 다이어그램)

4.  Activity diagram (액티비티 다이어그램)

5.  Object diagram (객체 다이어그램)

6.  StateChart diagram (상태 다이어그램)

7.  Collaboration diagram (협력 다이어그램)

8.  Component diagram (컴포넌트 다이어그램)

9.  Package diagram (패키지 다이어그램)

10.Deployment diagram (배치 다이어그램)

11.Composite structure diagram (복합 구조 다이어그램)

12.Profile diagram (프로필 다이어그램)

13.Timing diagram (타이밍 다이어그램)

14.Collaboration/Interaction/Communication  diagram (협업 다이어그램)

 

 

 

 

 

개발에서 주로 사용하는 다이어 그램

·         UseCase diagram

·         Sequence diagram

·         Class diagram

·         Activity diagram

·         StateChart diagram

 

 

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

모델링 언어의 발전

개발언어가 발전하는 처럼 UML언어도 계속 발전하면서 버전 업되고 있습니다.

 

년도

설명

~1990

OOD/Booch, OMT, OOAD, RDD, GOOD, HOOD, OOSD, OOJSD 등과 같은 많은 방법론들은 실제 시스템을 구축하는 있어서 각각의 객체지향 기술들이 갖는 방법과 심벌이 서로 달랐습니다.

~1994

UML 1994 소프트웨어 방법론의 선구자인 그래디 부치(Grady Booch), 제임스 럼바(James Rumbaugh), 이바 야콥슨(Ivar Jacobson) 의해 연구

~1995

부치 방법론과 럼바의 OMT 방법론 통합 (OOPSLA'95 발표)

~1996

야콥슨의 OOSE 방법론 추가

~1997

1997 객체관리그룹(OMG, Object Management Group)에서 여러 표기법을통합하여 UML 발표하였습니다.

1: UML 1.0 발표(Microsoft, Oracle, HP, IBM 참여)

9: UML 1.1 발표(OMG 표준화안 상장)

11: OMG 표준 인증

~1999

UML 1.3 발표

~2001

UML 1.4 발표

~2003

UML 2.0 발표

13개의 다이어그램을 규정하고 있습니다.

~2009

UML 2.2 발표

~2010

UML 2.3 발표

~2011

UML 2.4.1 발표

~2012

UML 2.5 발표

~2017

UML 2.5.1 발표

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요




UML (Unified Modeling Language)

·         통합 모델링 언어

·         OMG 표준기구로부터 인정받은 표준화된 그래픽언어

·         객체지향 분석(Analysis) 설계(Design) 위한 modeling Language

·         요구 분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서 개발자 간의 의사소통을 원활하게 하기 위하여 표준화한 모델링 언어

·         개발자들의 의사소통을 원활하게 하며, 기업간의 시스템 통합을 가능하게 합니다.

·         개발 시스템과 관련된 사람들과 비전을 공유하고 의견을 얻을 있도록 합니다.

·         UML 기호(symbol) 도식(diagram) 이용합니다.

·         Language이지만  java 같은 프로그램언어가 아니고 단지 기호와 도식을 이용하여 표현하는 방법을 정의하고 있습니다. UML 객체지향 시스템 개발 분야에서 가장 우수한 모델링 언어로 인식되고 있다.

 

 

http://bit.ly/2Zps5Vf

https://en.wikipedia.org/wiki/Unified_Modeling_Language

 

 

 

 

http://www.uml.org/



   


 

Posted by codedragon codedragon

댓글을 달아 주세요




 

개념 모델의 역할

·         실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이며, 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명합니다.

·         따라서 개념 모델은 문제 도메인의 엔터티(entity)들과 그들의 관계 종속성 반영합니다.

 

 

 

 

 

개념 모델의 종류와 표기법

아래와 같이 다양한 모델을 작성할 있으며 대부분의 모델링 표기법은 UML(Unified Modeling Language) 사용합니다.

 

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

·         데이터 흐름 모델(Data Flow Model),

·         상태 모델(State Model),

·         목표기반 모델(Goal-Based Model),

·         사용자 인터액션(User Interactions),

·         객체 모델(Object Model),

·         데이터 모델(Data Model)

 

 

 

 

 

 

 

UML 다이어그램의 사용

UML 다이어그램

설명

유스케이스 다이어그램

(Usecase Diagram)

사용 시나리오를 나타내기 위하여 유스케이스 다이어그램이 많이 사용되고 있습니다.

구조 다이어그램

(Structure Diagram)

시스템의 정적 구조(Static Structure) 다양한 추상화 구현 수준에서 시스템의 구성 요소, 구성 요소들 간의 관계를 보여 줍니다.

행위 다이어그램

(Behavior Diagram)

시스템 내의 객체들의 동적인 행위(Dynamic Behavior) 보여 주며, 시간의 변화에 따른 시스템의 연속된 변경을 설명해 줍니다.

 

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

UML 활용범위

·         시스템을 만들기 전에 모델을 만드는 것은 건물을 짓기 위한 설계도처럼 아주 중요한 역할

·         시스템을 만드는 데도 어휘와 규칙을 마련하여 시스템을 개념적, 물리적으로 표현하는 모델이 필요

·         성공적으로 시스템을 만들기 위해서는 객체지향적인 분석과 설계를 위한 표준으로 인정받는 모델링 언어인 UML 필요

 

시스템 종류

설명

기업 IT 시스템

·         사용자로 부터 정보를 입력받아 처리 가공, 저장하고 적절한 양식으로 사용자에게 결과를 출력해주는 작업을 수행하는 시스템

·         공공기관, 금융기관, 회상에서 해당 기관 공유의 업무 지원

분산처리 기반 애플리케이션

·         기계 등을 제어하는 시스템

·         통신 장비, 장비, 공장의 기계

실시간 임베디드 시스템

·         하드웨어에 내장되어 수행되는 시스템

·         휴대전화기, 세탁기, TV, 전기밥솥

 

 

 

 

 

순공학과 역공학

명세화된 설계 모델을 통한 순공학과 역공학

https://codedragon.tistory.com/8914

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

소규모 온라인 쇼핑몰의 DB구축을 위한 개념적 모델을 표현한 ERD작성 사례

Step1.개체 타입 표시

Step2.개체 타입들 간의 관계 표시

Step3.관계 타입의 유형 표시

Step4.관계 타입의 카디널리티 표시

Step5.개체 타입의 속성 표시

Step6.관계 타입의 속성 표시

 

 

 

 

Step1.개체 타입 표시


 

 

 

 

Step2.개체 타입들 간의 관계 표시

개체 타입들 사이의 관계를 결정해서 연결하고, 관계 이름은 가능한 '동사' 표현해야 합니다.


 

 

 

 

Step3.관계 타입의 유형 표시

개체 타입들 간의 관계 유형을 표시한 것을 확인하기


 

 

 

 

 

Step4.관계 타입의 카디널리티 표시

관계 타입의 카디넬리티는 ER모델을 정보공학 표기법으로 표현할 특히 유용한 정보가 됩니다.

상품-판매하다(0,m)

상품은 한번 판매되지 않거나 여러 판매 있음을 나타냅니다.

판매하다-고객(0,n)

고객은 어떤 상품도 구매하지 않거나 여러 구매할 있음을 나타냅니다.

상품-구매하다(1,m)

모든 상품은 어떤 거래처에서 최소 한번 이상은 구매된 것임을 나타냅니다.

구매하다-거래처(1,n)

모든 거래처는 하나 이상의 상품을 공급함을 나타냅니다.



 

 

 

 

 

Step5.개체 타입의 속성 표시


 

 

 

 

 

Step6.관계 타입의 속성 표시

관계에 속하는 속성이 있는 경우에만 속성을 결정해서 연결한 확인하기

 


 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

클래스 다이어그램 구성요소

클래스를 구성하는 것은 클래스명, 속성, 메소드입니다.

구성요소

설명

클래스

(class)

·       공통의 속성, 메서드(오퍼레이션), 관계, 의미를 공유하는 객체들의 집합

속성

(attribute)

·       클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 있는 값의 범위를 기술

·       속성은 영문자 소문자로 시작

메소드

(method)

·       오퍼레이션이라고도 합니다.

·       이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명세하는 클래스의 행위적 특징

 


 

 

클래스명 형식

모든 클래스는 다른 클래스들과 구별되는 유일한 이름을 갖습니다.

클래스명은 단순명과 경로명 가지 하나를 선택할 있습니다. 단순명(Simple Name) 클래스 이름만 표기하는 방법이고, 경로명(Path Name) 패키지명을 포함하여 표기하는 방식입니다.

Simple Name

<클래스명>

Path Name

<패키지명::클래스명>

 

 

Simple Name


 

 

Path Name


 

 

속성 형식

Visibility Name : Type = Default Value

 

Visibility

접근제한자

Name

Attribute Name

속성이름

Type

Attribute Type

자료형 타입

 

Default Value

Attribute Default Value

기본값

 

표기법

전근제한자

설명

+

public

자신의 속성이나 동작을 외부에 공개하는 접근 제어

-

private

상속된 파생클래스에서만 접근할 있는 접근 제어

#

protected

구조체의 멤버함수만 접근할 있으며 외부에서 접근할 없는 접근제어

underline

static

 

 


 


 

 

메소드 형식

Visibility Name (Parameter-List) : Return-Type-Expression {Property-String}

<접근제한자> <메소드이름> ( <파라미터 목록> ) : <리턴 타입>

 


 

 

 

자바 코드에 대한 Class Diagram

Person{

public String name;

public int age;

void eat(){

}

}

 


 


Posted by codedragon codedragon

댓글을 달아 주세요


 

Class diagram(클래스 다이어그램) 특징

·       시스템의 요구사항에 표현된 작업 , 시스템이 처리해야 하는 작업에 대한 책임을 분할 것이다.

·       모델은 점점 증가되며 관련된 클래스들끼리 패키지화 한다.

·       클래스를 너무 작게 쪼개거나 기능을 너무 많이 포함하면 안되며 적절한 방법으로 구현한다.

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요