본문 바로가기
국비교육

1월 24일 국비교육

by Diligejy 2019. 1. 24.

#1

UML이란


1) UML은 모델링 언어이다.

- UML은 시스템 모델링에 사용되는 언어


2) UML의 4가지 특성

ⓐ 가시화 언어

- 개념 모델 작성 

- 오류 전달 없이 전달

- 의사 소통 용이

- Graphic 언어

ⓑ 명시화 언어

- 정확한 모델 제시

- 완전한 모델 작성

- 분석, 설계의 결정 표현

ⓒ 구축 언어

- 다양한 Prog 언어와 연결

- 왕복 공학 가능(순공학/역공학) 

순공학 : 그림 -> 코드

역공학 : 코드 -> 그림

- 실행 시스템 예측 가능

ⓓ 문서화 언어

- 시스템에 대한 통제, 평가

- 의사소통 문서(요구사항, 아키텍쳐, 설계, 소스코드, Project 계획, Test)


3) UML로 인한 효과

- UML로 모델링한 것은 통일된 의미를 갖기에 개발팀원들이 시스템에 대해 동일한 생각을 갖게 되며, 동일한 의미를 공유할 수 있게 된다.


4) UML의 범위

ⓐ 소프트웨어 개발 뿐 아니라 비 전산 분야도 가능

ⓑ 개발 툴에 독립적

ⓒ 


5) UML의 Diagram 거시적 분류

ⓐ Structure Diagram - 정적 

ⓑ Behavior DIagram - 동적


6) UML의 구성요소 (Modeling은 OOP개념이 없으면 할 수가 없다)

ⓐ 구성요소

ⓐ - 1 : Things (Strucural, Behavioral, Grouping)

-> 추상적인 개념으로 모델에서 제일 중요한 것

ⓐ - 2 : Relationships (의존관계, 연관관계, 일반화관계, 실체화관계)

-> Things를 연결

-> 연관관계 : 구조적 관계로서 Link(객체간의 연결)의 집합 ex) 학생이 컴퓨터를 사용한다. 강사가 수강생을 가르친다.

1. (ex) is a, 다형성 - 인터페이스일 수도, 클래스일 수도 있음 , 예금 종류)

2. 역할이 표현된 관계 : 세부적인 사항이 다를 경우 역할을 표현해주어야 함 (Manager Login vs User Login)

3. 클래스가 1개이상 다수일 때 표현 : 1..*

4. 재귀적 연관관계 : 동일한 클래스로 생성된 인스턴스 사이에 연관관계가 있는 경우

class Person(
    Company company;

}

class Company{
}


5. 집합 연관관계 : 전체와 부분의 관계, 다이아몬드와 실선으로 표시. 

전체가 소멸하더라도 부분에 해당하는 요소는 독립적으로 존재할 수 있음


6. 합성 연관관계 : 전체와 부분의 밀결합 관계, 속이 채워진 마름모와 실선으로 표시

전체가 소멸 할 때 부분에 해당하는 요소도 함께 소멸됨.

 

7. 연관클래스 : 연관 자체가 여러 속성을 가질 때 그 속성을 간직할 연관 클래스를 둠, 

                    주로 두 클래스가 '다대다'관계로 맺어질 때 연관클래스가 생성됨

               두 클래스 사이의 관계가 여러 데이터로 표현되어야 할 때, 연관클래스로 만들어짐.


-> 의존관계 : 두 요소의 의미적인 관계로써 한쪽 요소의 변화가 다른 요소에 영향을 주는 관계 ex) 학생은 시험으로 평가된다.

(ex) 부양가족, 약한관계, has a )


1. 이미 존재하는 소소크도를 이용하여 역 공학으로 모델을 생성할 경우, 어느 클래스에서 오퍼레이션의 매개변수나 리턴 타입으로 

다른 클래스를 사용한다면 서로 의존 관계로 연결함

2. 일반적으로 오퍼레이션의 매개 변수나 리턴 타입으로 사용되면 의존 관계로 표현되며, 지속적으로 참조하면 연관관계로 표현함




-> 일반화 관계 : 형변환 관계. 일반 상속관계 ex) 남자는 사람이다. 여자는 사람이다.


-> 실체화 관계 : 인터페이스와 클래스 사이의 관계가 실체화 관계 

(일반 상속이 아닌, 인터페이스와 클래스 사이 상속 - Interface 내의 Method는 완전히 추상화 되어있는 상태.) 


ⓐ - 3 : Diagrams (클래스, 유스케이스, 시퀀스, 상태 ..etc)

-> Things를 그룹화


ⓑ 규칙

ⓑ - 1 : 이름

ⓑ - 2 : 범위
ⓑ - 3 : 가시성 
ⓑ - 4 : 무결성  
ⓑ - 5 : 실행


ⓒ ⓒ -


7) UML에 일관되게 적용되는 4개의 메커니즘

ⓐ 
ⓑ 
ⓒ 공통 분할
ⓓ 확장 메커니즘 


8) UML 아키텍처 

ⓐ 유스케이스뷰 

- 최종사용자, 분석가, 설게자, 테스트담당자가 보게되는 시스템 뷰이며 시스템의 행동을 설명한다. 

ⓑ 설계 뷰

ⓒ 프로세스 뷰

ⓓ 배치 뷰




9) 참고 사이트

http://uml.org/

http://uml.org/what-is-uml.htm - UML이 무엇인지 설명 참고


#2

StarUML 사용법


*
- attribute : variable

- operation : method

- parameter : parameter

- Abstract Class 인식 X - Modeling에서는 추상클래스의 개념이 없음. UML상에서 만들고 Export는 가능하나, Import는 불가능


1) 리버스 엔지니어링


ⓐ 


ⓑ 


ⓒ 


ⓓ 



2) 도서관리시스템 주요업무를 UML로 만들기


ⓐ Dictionary

대출 : 도서관은 회원제로 운영되며 일정 금액을 납부하면 년간 도서관에 대한 멤버십을 갖게 되고 도서 대여비는 없다. 정해진 대여기간이 지난 후에는 연체료를 받는다.

예약 : 인터넷을 통해 회원이 도서목록을 조회하여 해당하는 도서를 예약할 수 있으며, 예약된 도서는 예약상태로 두어 다른 대출이 발생하지 않도록 한다.

도서관리 : 도서는 도서카드에 의해 관리되며 동일한 여러 권의 도서들은 하나의 도서카드에 의해 관리가 이루어진다.


- 도서관 : 도서를 대여해주는 기관

- 회원 : 도서관에서 도서를 대여할 수 있는 사람으로, 도서관에 대해 멤버십을 가짐.

- 도서 : 도서관에 등록된 책

- 도서카드 : 도서관에 등록된 책에 대한 정보를 담은 카드로, 하나의 카드에 여러권의 책이 관리될 수 있음

- 연체료 : 도서반납이 지연되었을 때 물어야 하는 추가비용.


하나의 도서카드는 

#3

1) Component Diagram의 정의, 구성요소


ⓐ 정의

- Component Diagram : 시스템 내부에 어떠한 컴포넌트가 존재하는지를 알리고, 컴포넌트 사이의 관계를 나타내는 다이어그램


ⓑ 구성요소

- Component : 인터페이스

- 포트 : 제공 인터페이스나 필요한 인터페이스 표현

- 요구 인터페이스 : 요청하는 인터페이스를 멤버로 가질 때 표현 

- 제공 인터페이스 : 

- 조립 커넥터 : 여러가지 인터페이스를 결합할 때 


UML상 화면



ⓒ 제공 인터페이스와 필요 인터페이스가 표현된 컴포넌트 다이어그램


- ItemAllocation과 Tracking은 Order 컴포넌트가 제공하는 오퍼레이션을 알리는 인터페이스

- 반원으로 표시된 Person과 Invoice 및 OrderableItem은 Order 컴포넌트에서 사용하는 인터페이스

- 컴포넌트가 제공하는 인터페이스는 원으로 표시하며, 컴포넌트가 사용하는 인터페이스는 반원으로 표시함.


ⓓ 


2) Deployment Diagram


ⓐ 정의

- 전체 시스템을 구성하는 하드웨어와 하드웨어의 연결 관계를 표현

- 각 하드웨어와 하드웨어에 배치되는 아티팩트를 표현


3) 세미콜론(:) 표시에 대하여

ⓐ 선조 - 후손의 관계를 표시

ex) ArrayList : List

    고양이 : 동물


ⓑ Diagram 표시




Component의 :(세미콜론) 과 시퀀스 다이어그램에서 :(세미콜론)의 의미는 다르다.


3) 시퀀스 다이어그램

ⓐ 객체 사이에 송수신 하는 메시지(메소드)를 시간의 흐름에 따라 나열한 다이어그램  


4) 다이어그램 간 우선순위

Class Diagram -> Sequence Diagram -> DB Diagram


5) CBD 프로세스 공정표

단계

활동

작업

설명

요구정의

비즈니스 모델링

비즈니스 프로세스 모델링

BPM, 업무 프로세스 정의 및 개선

비즈니스 개념 모델링

도매인 모델

요구사항 정의

요구사항 정의

고객의 요구사항 정의

유스케이스 모델링

기능적 요구사항 분석

이터레이션 계획

우선 순위에 따른 이터레이션 계획 수립

분석

유스케이스

상세화

유스케이스 상세화

유스케이스 정의서 작성

유스케이스

분석

유스케이스 정적 분석

유스케이스 정적 실체화

유스케이스 동적 분석

유스케이스 동적 실체화

설게

UI 설계

UI 설계

화면 및 네비게이션 설계

컴포넌트

정의

컴포넌트 식별

전체 컴포넌트 식별 및

인터페이스 정의

컴포넌트 상호작용 정의

컴포넌트들 간 상호작용

정의

컴포넌트

설계

 

컴포넌트 정적 설계

컴포넌트 내부 관계 정의

컴포넌트 동적 설계

컴포넌트 내부 상호작용

정의 및 오퍼레이션 명세

DB 설계

논리적 DB 설계

논리 ER 모델 정의

물리적 DB 설계

물리 ER 모델 정의

배치 설계

배치 설계

물리적인 배치 정의

구현

개발

개발

컴포넌트 개발

테스트

 

단위 테스트

컴포넌트 테스트

통합 테스트

컴포넌트들 간 연계 테스트


#4



'국비교육' 카테고리의 다른 글

1월 28일 국비교육  (0) 2019.01.28
1월 25일 국비교육  (0) 2019.01.25
1월 23일 국비교육  (0) 2019.01.23
외우기  (0) 2019.01.22
1월 22일 국비교육  (0) 2019.01.22

댓글