UML 기초와 응용 1장

공학의 특성

- 정해진 시간, 주어진 비용의 제약

 

소프트웨어 공학

- s/w 개발 과정에 공학적 원리 적용하여 개발

- 효율적 개발

- 생산성 향상

- 고품질 s/w 제품

 

소프트웨어 개발 생명주기

- SDLC : software develpment Life Cycle

- 계획 단계에서 유지보수 단계까지 일어나는 일련의 과정

- 계(획)

- 분(석)

- 설(계)

- 구(현)

- 테(스트)

- 유(지보수)

 

객체 지향

- 자료구조를 중심으로 객체 설계 -> 흐름 설계

 

UML 특징 (가시 명문구)

- 문(서화)

- 구(축언어)

- 시(각화)

- 가(시화)

- 명(세화)

 

캡슐화

- 객체 지향 기법

- 재사용이 용이함

- 프로그램 변경에 대한 오류의 파급 효과가 적다

- 인터페이스가 단순해진다.

- 객체 간의 결합도가 낮아진다. 

- 객체 지향 시스템에서 자료 부분과 연산 부분 등 정보 처리에 필요한 기능을 한 테두리로 묶는 것을 의미한다. 

 

메시지

- 객체 지행 기법

- 속성에서 속성으로 전달

- 객체에게 어떠한 행위를 하도록 지시하는 명령

 

모델링 방법

럼바 OMT: 객(체)기(능)동(적) 모델 구성

야콥스 OOSE: usecase

부치 방법론: view

UML = 럼바 + 야콥스 + 부치

 

상속

- 객체 지향 기법

- 클래스와 오브젝트를 재사용할 수 있다. 

 

다중 상속

- 객체 지향 기법

- 2개 이상의 클래스가 한 클래스로부터 상속을 받는 것

 

클래스

- 객체 지향 기법

- 하나 이상의 유사한 객체를 묶어 하나의 공통된 특성을 표현한 것

 

객체 지향 설계

- 시스템을 구성하는 개체와 속성, 연산을 인식하는 것

- 명사(키워드)는 속성

- 동사는 행동, 객체 서비스

- 문서화할 때, 부객체의 계층적 구조를 보여주는 계층 차트를 그리면 굳~

- 객체는 순차적, 동시적으로 구현 가능

 

UML

- 명세하고 가시화하며 구성하기 위한 언어

- 객체 지향 모델링 언어를 정의한 전문가들이 노력한 결과

- 시스템 요구 사항 명세하고, 설계 의사 결정 파악

- 설계 모델을 그래프로 표현 가능

 

메서드

- 오브젝트로부터 메시지를 받을 때

 

다향성

- 같은 이름의 메서드나 함수가 서로 다른 동작을 할 수 있는 능력

- ex) 동물 소리를 내다 (개, 닭, 병아리 등등 모두 다른 소리임)

 

구조적 프로그래밍 vs 객체지향 프로그래밍

- 구조적 : 제어 흐름을 제어하기 위한 방법론

- 객체지향 : 객체들 간의 상호작용 중심 프로그래밍