• 검색 결과가 없습니다.

간단한 예제로 설명

N/A
N/A
Protected

Academic year: 2022

Share "간단한 예제로 설명"

Copied!
19
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Software Engineering

교재: UML과 패턴의 적용, Craig Larman 저, Pearson Education

Professor Seung-Hoon Choi

Ch01. 객체지향 분석 및 설계

(2)

단원목표

책의 목적과 범위

객체지향 분석 및 설계(OOA/D) 정의

간단한 예제로 설명

UML과 애자일(agile) 모델링

(3)

1.1 무엇을 배울 것인가? 과연 유용한 것인가?

객체지향 분석 및 설계 기술(OOA/D)

– well-designed, robust(강건한), maintainable(유지보수성이 좋 은)한 소프트웨어 개발을 위한 중요한 요소이다.

robustness: 잘못된 환경이나 입력에 잘 대처하여 실행을 계속하 는 능력

– how to “think in objects” 가 중요

(4)

1.1 무엇을 배울 것인가? 과연 유용한 것인가?

OOA/D 소개

– UML(Unified Modeling Language) 적용 – iterative development(반복적인 개발)

– agile(light, flexible) approach to the Unified Process

(5)

1.1 무엇을 배울 것인가? 과연 유용한 것인가?

UML .vs. Thinking in Objects

– UML

소프트웨어 모델링을 위한 표준 다이어그램 표기법

객체지향 분석 및 설계를 표현하고 토론하는데 유용

– UML 자체보다는, 훌륭한 객체지향 설계 결과를 생성하는 것이 더 중요함

– 본 교재에서는 UML을 적용하여 OOA/D를 수행하는 방법을 배운다.

(6)

1.1 무엇을 배울 것인가? 과연 유용한 것인가?

OOD와 패턴

– OOD는 클래스들에게 어떻게 책임을 할당할 것인가를 다룸

객체들이 어떻게 상호작용하는가?

어떤 객체들이 무엇을 할 것인가?

– OO 패턴

모범적인 설계 원리를 체계화함

문제-해결책 쌍에 이름을 붙임

(7)

Topics and Skills

UML notation

Requirements analysis Principles and

guidelines Patterns

Iterative development with

an agile Unified Process

OOA/D

그림 1.1 다루는 주제 및 기술

1.1 무엇을 배울 것인가? 과연 유용한 것인가?

(출처: UML과 패턴의 적용, Craig Larman 저, Pearson Education)

(8)

1.2 가장 중요한 학습 목표는 무엇인가?

OOA/D에서 가장 중요한 능력은,

– 책임들(responsibilities)을 소프트웨어 객체들에게 기술적으로 할당하는 것이다.

– “우리가 원하는 것”과 “어떻게 구체화할 것인가”를 서로 연결

(9)

1.3 분석 및 설계란 무엇인가?

분석(Analysis)

– 해결책(solution)보다는 문제와 요구사항(requirements)을 조 사하는데 중점을 둔다.

– “Do the right thing”

right thing: 고객이 원하는 것

설계(Design)

– 구현(implementation) 보다는 요구 사항을 실현시키는 개념적 해결책(conceptual solution)에 중점을 둔다.

– “Do the thing right”

right: 올바르게(올바른 프로세스로)

(10)

OOA

– 문제 영역에서 객체나 개념들을 찾아서 기술하는데 중점을 둔다.

OOD

– 소프트웨어 객체를 정의하고

– 그들이 요구 사항을 만족시키기 위해 어떻게 협동하는지에 중점을 둔다.

– 협동은 메소드 호출을 통해서 이루어진다.

1.4 객체지향 분석 및 설계란 무엇인가?

(11)

예제. 비행 정보 시스템

– OOA

개념 식별: Plane, Flight, Pilot 등 – OOD

책임 할당

– Plane 객체는 tailNumber 속성과 getFlightHistory 메소드를 가져야 한다.

– OOP (OO Programming)

코딩

Plane 클래스를 자바 언어로 작성

1.4 객체지향 분석 및 설계란 무엇인가?

(12)

Plane tailNumber

도메인 개념의 시각화

public class Plane {

private String tailNumber ;

public List getFlightHistory () { ... } }

프로그래밍 언어로의객체지향 표현

도메인개념

1.4 객체지향 분석 및 설계란 무엇인가?

(13)

1.4 객체지향 분석 및 설계란 무엇인가?

domain concept

문제 영역에서의 객체와 개념을 찾고 표현한다.

분석

Book title visualization of domain concept

소프트웨어 객체를 정의하 고, 요구사항을 실현하기 위해 그들이 어떻게 협동 하는지를 정의한다.

설계

public class Book { private String title;

public Chapter getChapter(int) {…}

}

representation in an object-oriented

programming language

객체들이 실제 언어로 구 현된다.

구현

(출처: UML과 패턴의 적용, Craig Larman 저, Pearson Education)

(14)

1.5 간단한 예제

A birds-eye view of OOA/D

Define

use cases Define domain model

Define interaction

diagrams

Define design class diagrams

(15)

1.5 간단한 예제

Use Case(사용 사례) 정의

– “Play a Dice Game” use case

플레이어(Player)가 주사위 굴리기를 요청한다.

시스템은 결과를 보여준다.

주사위 합이 7이면 플레이어가 이긴다.

그렇지 않으면 플레이어가 진다.

(16)

1.5 간단한 예제

도메인 모델(Domain Model)

– 객체 관점에서 도메인에 대하여 기술

– 개념, 속성, 관계(association) 등을 식별함

Player name

Die faceValue Rolls

Plays

2

2 1

1

1

(17)

책임을 할당하고 상호작용 다이어그램 그리기

– 객체들에게 책임을 할당하고 메시지 등을 통해서 어떻게 서로 상호작용 하는지를 시퀀스 다이어그램으로 보여줌

1.5 간단한 예제

Fig 1.4 Sketched sequence diagram

17/19

(18)

설계 클래스 다이어그램(Design Class Diagrams) 정의

– 클래스들의 정적인 뷰(Static view)를 정의함 – 클래스의 속성과 메소드를 보여준다.

– 시퀀스 다이어그램을 보면 클래스 다이어그램의 일부를 완성 할 수 있다.

1.5 간단한 예제

2

Die faceValue : int DiceGame

die1 : Die 1

(19)

UML(Unified Modeling Language)

– 소프트웨어 시스템 산물을 specifying(명세화), constructing(구 축), documenting(문서화) 하는데 사용되는 비주얼 언어

– 사실상 업계 표준

– UML 1(1997), UML 2 (2004)

1.6 UML이란 무엇인가?

참조

관련 문서

 탐색적 자료 분석의 기술은 간단한 산수와 쉽게 그릴 수 있는 그림으로 이루어져 있으며, 자료를 빠르게

 탐색적 자료 분석의 기술은 간단한 산수와 쉽게 그릴 수 있는 그림으로 이루어져 있으며, 자료를 빠르게

- 대리인으로 하여금 효율적인 자원배분을 유도하기 위해서는 주인은 대리인에 게 수평적 등이윤곡선과 일치하는

 하나의 변수와 또 다른 하나의 변수의 관계를 간략한 수학적 식으로 표현.  때때로 간단한 Prediction,

[r]

– 객체들에게 책임을 할당하고 메시지 등을 통해서 어떻게 서로 상호작용 하는지를 시퀀스 다이어그램으로 보여줌.

그늘 에 주차된 자동차의 온도와 햇빛이 비치는 곳에 주차된 자동차의 온도가 다르다.. 불과 가까운 쪽에서 불에서 먼

1.인재활용의 조직내 문제점 2.명령계통의 혼란..  개개인이 개인으로서가 아니라 회사의 조직으로서 어떻게 처리할 것인가 명령계통 및 책임을 어떻게 결정해