33
Web Application UI Pattern LG CNS S/W공학센터 김창겸 [email protected] [email protected] twitter.com/dmotions Contact :

[HCI2010]Web Application UI Pattern

Embed Size (px)

DESCRIPTION

제가지난 HCI KOREA 2010에서발표한 Web Application UI Pattern 발표자료입니다.

Citation preview

Page 1: [HCI2010]Web Application UI Pattern

Web Application UI Pattern

LG CNS S/W공학센터

김창겸

[email protected] [email protected]/dmotions

Contact :

Page 2: [HCI2010]Web Application UI Pattern

Pattern_ 무늬, 모양, 양식, 유형, 반복…

Page 3: [HCI2010]Web Application UI Pattern

1977년

Christopher Alexander가

건축분야에서

처음

제안한

것으로

실제

건축분야에서는

그다지

호응이

없었으나,

이후

Software Engineering분야에서

적극적으로

수용하여

객체지향

프로그래밍

분야에서

엔지니어의

경험을

재사용하는데

성공적으로

사용

<이미지 출처 :자바 디자인 패턴과 리팩토링, 한빛미디어>

Pattern의

유래

Page 4: [HCI2010]Web Application UI Pattern

문제

시행착오

시행착오

시행착오

해결해결법

우리가

어떤

일을

하는데

있어서

처음

문제에

직면했을

때에는

이런

저런

시행착오를

거치게

되면서

이를

해결하게

된다.

그러나

비슷한

문제가

발생했을

때에는

이전의

해결법을

응용하여

해결할

있다.

이렇게

개개인의

머릿속에만

가지고

있는

해결법을

추상화하고

폭넓게

적용할

있는

형태로

만들어

두면

문제에

대처해

경험이

없는

사람이라

할지라도

적절하게

문제를

풀어갈

있을

것이다.

Pattern의

기본사상

: 경험적

솔루션

Page 5: [HCI2010]Web Application UI Pattern

자..Pattern을

찾아보세요..^^ 자..Pattern을

찾아보세요..^^

Page 6: [HCI2010]Web Application UI Pattern

건축

설계

방법을

개선하기

위해

1977년

Christopher Alexander가

창안한

패턴

개념은

현재

‘건축형태학’이라는

학문으로

자리를

잡고있으며,

그의

저서인

A Pattern Language(1987)에는

253개의

패턴이

기술되어

있다.

“각각의

패턴은

우리를

둘러싸고

있는

환경(Context)에서

반복적으로

나타나는

특정한

문제(Problem)와

그에

대한

해결책(Solution)을

설명한다.

그리고

해결책은

계속

사용될

있기

때문에

동일한

과정을

반복할

필요가

없다.”

Alexanderian

Form : Context, Problem, Solution

건축

분야의

Pattern

Page 7: [HCI2010]Web Application UI Pattern

건축

분야의

Pattern : 예시

Christopher Alexander의

76번째

패턴인

House For a Small Family

• Context : Town and Country, Family needs

• Problem : In a house for a small family, it is the

relationship between children and adults

which is most critical.

• Solution : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Page 8: [HCI2010]Web Application UI Pattern

Christopher Alexander의

76번째

패턴인

House For a Small Family

• Context : Town and Country, Family needs

• Problem : In a house for a small family, it is the

relationship between children and adults

which is most critical.

• Solution : Give the house three distinct parts:

a realm for parents, a realm for the children,

and a common area. Conceive these three

realms as roughly similar in size, with the

commons the largest. …… ……A three-part house - the couple's realm upstairs.

건축

분야의

Pattern : 예시

Page 9: [HCI2010]Web Application UI Pattern

소프트웨어

분야의

Pattern

에리히

감마(Erich Gamma)를

위시한

명(GoF; Gangs of Four)이

디자인

패턴을

구체적으로

정리하였다.

건축

분야의

패턴의

개념은

와드

커닝험(Ward Cunningham)과

켄트

벡(Kent Beck)에

의해

소프트웨어

세계로

도입되었고,

Page 10: [HCI2010]Web Application UI Pattern

여기서

주목할

것은

GoF는

이것들을

창안해

것이

아니라,

단지

수많은

프로젝트에서

반복해

사용하는

디자인들을

파악하여

이를

모아

체계적으로

분류하고

문서로

정리한

이라는

점이다.

< 객체지향

S/W 설계를

위한

23가지

패턴

제시

>

소프트웨어

분야의

Pattern

디자인

패턴은

객체지향

시스템

안에서

반복해서

등장하는

설계와

관련된

문제를

해결하기

위한

일반적인

기법에

이름을

붙이고, 동기를

부여하고, 상세한

설명을

다루고

있다.

Page 11: [HCI2010]Web Application UI Pattern

소프트웨어

분야의

Pattern

모듈화되고

유기적으로

연결된

패턴

체계

Page 12: [HCI2010]Web Application UI Pattern

< Adapter Pattern

이미지출처:Head First Design Patterns,O'Reilly>

소프트웨어

분야의

Pattern : 예시

Page 13: [HCI2010]Web Application UI Pattern

소프트웨어

분야의

Pattern : 예시

< Adapter Pattern

이미지출처:Head First Design Patterns,O'Reilly>

Page 14: [HCI2010]Web Application UI Pattern

< GoF

디자인패턴에서

Singleton 패턴

>

소프트웨어

분야의

Pattern : 예시

Page 15: [HCI2010]Web Application UI Pattern

HCI

분야의

Pattern

HCI분야에서는

1997년

SIGCHI에서

처음

논의가

되었으며, 관심이

점점

증가되어

1999년

Interact Workshop에서

HCI의

디자인

패턴에

대한

정의를

내렸다. Interaction Design Pattern,

User Interface Design Pattern, HCI Pattern

등으로

불려진다.

“Patterns help us solve design problems - problems that occur time and time again,

and are being solved time and time again by designers. Patterns describe practical

solutions to these problems and how to apply them in different situations.”

- Martijn van Welie, welie.com

“Interaction Design Pattern은 디자이너가 디자인 할 때 반복되는 문제에 대해서 그 문제가 발생

한 상황과 문제의 내용 그리고 해결책 등을 정형화한 형태이다 .”

–최영완, 한국HCI학술대회, 2004

Page 16: [HCI2010]Web Application UI Pattern

HCI 분야의

Pattern

http://developer.yahoo.com/ypatterns/

http://developer.yahoo.com/ypatterns/

Designing Interfaces: 인터페이스

디자인

94가지

패턴

WhatUse whenWhyHowExamples

ProblemSolution(Example)Use whenHowWhyMore Examples

Problem(Example)Use whenSolutionRationaleAccessibilitySpecial Cases

Page 17: [HCI2010]Web Application UI Pattern

< yahoo.com의

Design Pattern Library -

http://developer.yahoo.com/ypatterns/index.php >

Page 18: [HCI2010]Web Application UI Pattern

웹 어플리케이션(Web Application)은 웹의 기본적인 통신 규약인 HTTP 프로토콜을 이용하여 클라이

언트에게 코드나 데이터를 전송하는 것이다.

-

Anders

Kristensen

웹 어플리케이션은 서버에 비즈니스 로직(Business Logic)을 가지고 있어 사용자의 입력이 비즈니스

로직의 상태에 영향을 미치는 시스템으로 검색 엔진이나 홍보성 홈페이지등은 웹 어플리케이션에 포함

되지 않는다.

-

Conallen,

1999

Web Application의

정의

Page 19: [HCI2010]Web Application UI Pattern

어플리케이션은

업무를

수행하기위해

반복적으로

사용하는

특성이

있으며, 화면기능적인

요구사항이

많아서

GRID등

업무효율성을

높일

있는

UI솔루션을

도입하여

UI를

개발하는

특징이

있다.

웹 사이트 웹 어플리케이션

4C

(Contents, Communication, Comm

erce, Community) 의

다양한

목적업무처리가 주목적

불특정

다수의

사용자 기업내부

사용자등

특정

범위의

사용자

사용성측면에서는

접근성

중시 사용성측면에서는

효율성

중시

UI가이드에서

비쥬얼

아이덴티티

요소

중시 UI가이드에서

공통

화면요소

중시

디자인, Layout 중시 기능, Task 중시

웹 어플리케이션

(Web Application)

데이터베이스

(DB)

Create

Read

Update

Delete

업무처리의 기본프로세스

Web Application의

User Interface 특징

Page 20: [HCI2010]Web Application UI Pattern

일반

웹사이트의

화면

Page 21: [HCI2010]Web Application UI Pattern

OO 은행통합시스템

: 거래상품

관리업무

어플리케이션의

화면

OO 판매관리시스템

: 매장별

권고발주량

OO고객관리시스템: 고객정보

관리업무

Page 22: [HCI2010]Web Application UI Pattern

조사대상 2001년~2005년

구축된

어플리케이션

프로젝트

표본추출공공분야, 금융분야, 제조분야, 전자분야, 건설분야등

비즈니스

도메인별

표본

추출

어플리케이션

화면

수집

조사, 분석

Web Application UI Pattern : 개발과정

Page 23: [HCI2010]Web Application UI Pattern

어플리케이션

화면

수집

조사, 분석

Web Application UI Pattern :

개발과정

Page 24: [HCI2010]Web Application UI Pattern

Web Application UI Pattern :

양식

기본적으로는 Christopher Alexander가

제안한 패턴의 기본 양식을 따르면서,

DevOn

UI 패턴의

특성에

맞게

재정의

Page 25: [HCI2010]Web Application UI Pattern

Web Application UI Pattern :

Web Pattern

Page 26: [HCI2010]Web Application UI Pattern

Web Application UI Pattern :

X-Internet Pattern

Page 27: [HCI2010]Web Application UI Pattern

Web Application UI Pattern :

Web Pattern (예시)

Page 28: [HCI2010]Web Application UI Pattern

Web Application UI Pattern :

X-Internet Pattern (예시)

Page 29: [HCI2010]Web Application UI Pattern

사례에서

제시된

어플리케이션

UI디자인

패턴

모델에

대한

객관성

검증을

위하여

관련

전문가

그룹을

대상으로

설문조사를

실시하였음

전문가

대상

설문조사

•한국HCI연구회, HED리서치그룹

•웹개발

경험

A그룹

: UI Designer

B그룹

: 시스템

개발자

•L사의

시스템 개발자

•웹개발

경험

4.93

5.715.93

3

4

5

6

7

웹어플리케이션 개발시

적합성

웹어플리케이션 시스템

구축시 주위의 추천의사

UI 패턴의 범용성

평균

UI패턴의 사용 적합성 구성항목별 비교

5.765.87

5.60 5.53

3

4

5

6

7

정확, 신속한 고객

요구사항 도출 효과

개발 소요시간의

단축 효과

개발 시스템 품질의

향상 효과

개발 시스템의 유지

보수 비용 용이성

평균

UI패턴의 생산성 효과 구성항목별 비교

조사대상자의 일반적 특성

UI디자이너

그룹(UI, GUI, Usability, IA등의

전문가)과

시스템

개발자

그룹

(Modeler, Architect, SE등의

전문가)으로

나누었으며,

시스템

개발자

그룹의

경우

대부분

L사의

개발자들이며

연구에서

제시한

패턴

모델을

이미

알고

있거나

프로젝트에서

활용해본

적이

있는

사람들이다.

UI디자이너

그룹의

경우

한국HCI연구회와

HED(Human

Experience Design)

리서치

그룹에서

활동하는

UI디자이너들로

연구에

대한

세미나를

2006년

5월

6월에 실시하고

세미나

참석자를

대상으로

설문조사를 실시하였다.

실무

전문가

집단에

의한

객관성

검증

Page 30: [HCI2010]Web Application UI Pattern

? !Question and Answer

Contact

[email protected] [email protected]

http://twitter.com/dmotions

Page 31: [HCI2010]Web Application UI Pattern

#별첨: 화면패턴기반

UI Prototyping

Page 32: [HCI2010]Web Application UI Pattern

Before

고객

업무분석가 개발자

고객

: 새로운

시스템을

구상하면서도, 이전

시스템

이미지를

머리에

그리며

화면을

예상하는

경향을

가지고

있다.

업무분석가

: 화면

프로세스의

진행과

화면

구성에

대하여

자신이

선호하는

스타일로

화면을

정의하는

경향이

있다.

개발자

: 이전에

참여했던

프로젝트의

개발

경험과

소스코드를

가지고

프로젝트에

적용하는

것을

호하지만, 실제

구현

예제가

주어져

있지

않으면, 개

발자

각자가

같은

기능이지만

서로

다른

내용으로

성하는

경우가

있다.

#별첨: UI

Pattern을

통한

커뮤니케이션

증진

Page 33: [HCI2010]Web Application UI Pattern

After

고객

업무분석가 개발자

패턴

고객

: 새로

구축될

시스템의

대략적인

모습을

패턴과

패턴

프로토타입을

통해

조감할

있으며, 기능

요구

사항을

보다

명료하게

도출

있게

되었다.

업무분석가

: 표준적인

화면

프로세스를

미리

봄으로

써, 다른

프로세스를

정리하면서도

이를

모방, 변형하

는 기법을 사용할 수 있게 되므로, 프로젝트 전반에

걸친

화면

프로세스가

일관되게

정리되는

결과를

얻을

수 있게 되었다.

개발자

: 개별

기능에

대한

실제

구현

사례와

동작

제가

명료하게

주어져

있기

때문에, 개발자들

간의

술 구현 사항에 대한 이견을 줄일 수 있으며 이로 인해

동일

기능에

대한

중복

개발이

줄고, 정형화된

프로그

생산으로

생산성이

비약적으로

높아졌다.

#별첨: UI

Pattern을

통한

커뮤니케이션

증진