SlideShare a Scribd company logo
1 of 33
Download to read offline
Web Application UI Pattern




                               LG CNS S/W공학센터 김창겸



                 Contact : chgkim@lgcns.com
                           dmotions@gmail.com
                           twitter.com/dmotions
Pattern_ 무늬, 모양, 양식, 유형, 반복…
Pattern의 유래




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




  1977년 Christopher Alexander가 건축분야에서 처음 제안한 것으로
  실제 건축분야에서는 그다지 호응이 없었으나,
  이후 Software Engineering분야에서 적극적으로 수용하여
  객체지향 프로그래밍 분야에서 엔지니어의 경험을 재사용하는데 성공적으로 사용
Pattern의 기본사상 : 경험적 솔루션

                   시행착오




                                해결법
         시행착오       문제                         해결




                   시행착오

우리가 어떤 일을 하는데 있어서 처음 문제에 직면했을 때에는

이런 저런 시행착오를 거치게 되면서 이를 해결하게 된다.

그러나 비슷한 문제가 발생했을 때에는 이전의 해결법을 응용하여 해결할 수 있다.


이렇게 각 개개인의 머릿속에만 가지고 있는 해결법을 추상화하고 폭넓게 적용할 수 있는 형태로 만들어 두면
그 문제에 대처해 본 경험이 없는 사람이라 할지라도 적절하게 문제를 풀어갈 수 있을 것이다.
자..Pattern을 찾아보세요..^^
건축 분야의 Pattern

                 건축 설계 방법을 개선하기 위해
                 1977년 Christopher Alexander가 창안한 패턴 개념은
                 현재 ‘건축형태학’이라는 학문으로 자리를 잡고있으며,
                 그의 저서인 A Pattern Language(1987)에는
                 총 253개의 패턴이 기술되어 있다.



                 “각각의 패턴은
                 우리를 둘러싸고 있는 환경(Context)에서
                 반복적으로 나타나는 특정한 문제(Problem)와
                 그에 대한 해결책(Solution)을 설명한다.
                 그리고 그 해결책은 계속 사용될 수 있기 때문에
                 동일한 과정을 반복할 필요가 없다.”

                 Alexanderian Form : Context, Problem, Solution
건축 분야의 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 : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
건축 분야의 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
   A three-part house - the couple's realm upstairs.     commons the largest.       …… ……
소프트웨어 분야의 Pattern

                      건축 분야의 패턴의 개념은
                      와드 커닝험(Ward Cunningham)과 켄트 벡(Kent Beck)에 의해
                      소프트웨어 세계로 도입되었고,




 에리히 감마(Erich Gamma)를 위시한 네 명(GoF; Gangs of Four)이
 디자인 패턴을 구체적으로 정리하였다.
소프트웨어 분야의 Pattern

디자인 패턴은 객체지향 시스템 안에서 반복해서 등장하는 설계와 관련된 문제를 해결하기
위한 일반적인 기법에 이름을 붙이고, 동기를 부여하고, 상세한 설명을 다루고 있다.


                         여기서 주목할 것은
                         GoF는 이것들을 창안해 낸 것이 아니라,
                         단지 수많은 프로젝트에서
                         반복해 사용하는 디자인들을 파악하여
                         이를 모아 체계적으로 분류하고 문서로 정리한 것
                         이라는 점이다.


 < 객체지향 S/W 설계를 위한 23가지 패턴 제시 >
소프트웨어 분야의 Pattern

모듈화되고 유기적으로 연결된 패턴 체계
소프트웨어 분야의 Pattern : 예시




              < Adapter Pattern 이미지출처:Head First Design Patterns,O'Reilly>
소프트웨어 분야의 Pattern : 예시




              < Adapter Pattern 이미지출처:Head First Design Patterns,O'Reilly>
소프트웨어 분야의 Pattern : 예시




                         < GoF 디자인패턴에서 Singleton 패턴 >
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
HCI 분야의 Pattern
                                         http://developer.yahoo.com/ypatterns/
 http://developer.yahoo.com/ypatterns/

                                                                                   Designing Interfaces:
                                                                                   인터페이스 디자인 94가지 패턴




  Problem
  Solution(Example)
                                          Problem(Example)
  Use when                                                                       What
                                          Use when
  How                                                                            Use when
                                          Solution
  Why                                                                            Why
                                          Rationale
  More Examples                                                                  How
                                          Accessibility
                                          Special Cases                          Examples
< yahoo.com의 Design Pattern Library - http://developer.yahoo.com/ypatterns/index.php >
Web Application의 정의




   웹 어플리케이션(Web Application)은 웹의 기본적인 통신 규약인 HTTP 프로토콜을 이용하여 클라이
   언트에게 코드나 데이터를 전송하는 것이다.
                                               - Anders Kristensen


   웹 어플리케이션은 서버에 비즈니스 로직(Business Logic)을 가지고 있어 사용자의 입력이 비즈니스
   로직의 상태에 영향을 미치는 시스템으로 검색 엔진이나 홍보성 홈페이지등은 웹 어플리케이션에 포함
   되지 않는다.
                                                 - Conallen, 1999
Web Application의 User Interface 특징

   웹 어플리케이션은 업무를 수행하기위해 반복적으로 사용하는 특성이 있으며, 화면기능적인 요구사항이 많아서 GRID등
   업무효율성을 높일 수 있는 UI솔루션을 도입하여 UI를 개발하는 특징이 있다.


                     웹 사이트                           웹 어플리케이션
          4C (Contents, Communication, Comm
                                                      업무처리가 주목적
             erce, Community) 의 다양한 목적
                  불특정 다수의 사용자                    기업내부 사용자등 특정 범위의 사용자

              사용성측면에서는 접근성 중시                      사용성측면에서는 효율성 중시

          UI가이드에서 비쥬얼 아이덴티티 요소 중시                 UI가이드에서 공통 화면요소 중시

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


                                   업무처리의 기본프로세스

                                        Create
               웹 어플리케이션                 Read           데이터베이스
             (Web Application)          Update           (DB)
                                        Delete
일반 웹사이트의 화면
웹 어플리케이션의 화면

OO 은행통합시스템 : 거래상품 관리업무
                         OO고객관리시스템: 고객정보 관리업무




                                  OO 판매관리시스템 : 매장별 권고발주량
Web Application UI Pattern : 개발과정

 웹 어플리케이션 화면 수집 및 조사, 분석




                            조사대상    2001년~2005년 구축된 웹 어플리케이션 프로젝트


                                    공공분야, 금융분야, 제조분야, 전자분야, 건설분야등
                            표본추출
                                    비즈니스 도메인별 표본 추출
Web Application UI Pattern : 개발과정

 웹 어플리케이션 화면 수집 및 조사, 분석
Web Application UI Pattern : 양식

 기본적으로는 Christopher Alexander가 제안한 패턴의 기본 양식을 따르면서,
 DevOn UI 패턴의 특성에 맞게 재정의
Web Application UI Pattern : Web Pattern
Web Application UI Pattern : X-Internet Pattern
Web Application UI Pattern : Web Pattern (예시)
Web Application UI Pattern : X-Internet Pattern (예시)
실무 전문가 집단에 의한 객관성 검증
본 사례에서 제시된 웹 어플리케이션 UI디자인 패턴 모델에 대한 객관성 검증을 위하여 관련 전문가 그룹을 대상으로 설문조사를 실시하였음

                   A그룹 : UI Designer
                                                UI디자이너 그룹(UI, GUI, Usability, IA등의 전문가)과 시스템 개발자 그룹
                     •한국HCI연구회, HED리서치그룹
                                                (Modeler, Architect, SE등의 전문가)으로 나누었으며,
                     •웹개발 경험 유
   전문가 대상                                       시스템 개발자 그룹의 경우 대부분 L사의 개발자들이며 본 연구에서 제시한 패턴
    설문조사           B그룹 : 시스템 개발자                모델을 이미 알고 있거나 프로젝트에서 활용해본 적이 있는 사람들이다.
                                                UI디자이너 그룹의 경우 한국HCI연구회와 HED(Human Experience Design)
                     •L사의 시스템 개발자
                                                리서치 그룹에서 활동하는 UI디자이너들로 본 연구에 대한 세미나를 2006년 5월
                     •웹개발 경험 유
                                                과 6월에 실시하고 세미나 참석자를 대상으로 설문조사를 실시하였다.



   조사대상자의 일반적 특성                       UI패턴의 사용 적합성 구성항목별 비교                                      7


                                                                                                                              5.93
                                                                                                  6
                                                                                                           5.71




                                                                                            평균점
                                                                                                                                               4.93
                                                                                                  5



                                                                                                  4



                                                                                                  3
                                                                                                      웹어플리케이션 개발시     웹어플리케이션 시스템           UI 패턴의 범용성
                                                                                                          적합성         구축시 주위의 추천의사




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


                                                                                                          5.87                       5.76
                                                                              6
                                                                                     5.60                              5.53




                                                                        평균점
                                                                              5



                                                                              4



                                                                              3
                                                                                  정확, 신속한 고객           개발 소요시간의     개발 시스템 품질의 개발 시스템의 유지
                                                                                  요구사항 도출 효과             단축 효과        향상 효과     보수 비용 용이성
?                                    !
    Question and Answer




                Contact
          chgkim@lgcns.com
         dmotions@gmail.com
       http://twitter.com/dmotions
#별첨: 화면패턴기반 UI Prototyping
#별첨: UI Pattern을 통한 커뮤니케이션 증진

 Before

                         • 고객 : 새로운 시스템을 구상하면서도, 이전 시스템
                          의 이미지를 머리에 그리며 화면을 예상하는 경향을
                          가지고 있다.


                         • 업무분석가 : 화면 프로세스의 진행과 화면 구성에
                          대하여 자신이 선호하는 스타일로 화면을 정의하는
           고객             경향이 있다.


                         • 개발자 : 이전에 참여했던 프로젝트의 개발 경험과
                          소스코드를 가지고 새 프로젝트에 적용하는 것을 선
                          호하지만, 실제 구현 예제가 주어져 있지 않으면, 개
                          발자 각자가 같은 기능이지만 서로 다른 내용으로 구
                          성하는 경우가 있다.
  업무분석가            개발자
#별첨: UI Pattern을 통한 커뮤니케이션 증진

 After
                         • 고객 : 새로 구축될 시스템의 대략적인 모습을 패턴과
                          패턴 프로토타입을 통해 조감할 수 있으며, 기능 요구
                          사항을 보다 명료하게 도출 해 낼 수 있게 되었다.


                         • 업무분석가 : 표준적인 화면 프로세스를 미리 봄으로
                          써, 다른 프로세스를 정리하면서도 이를 모방, 변형하
                          는 기법을 사용할 수 있게 되므로, 프로젝트 전반에
           고객             걸친 화면 프로세스가 일관되게 정리되는 결과를 얻을
                          수 있게 되었다.


                         • 개발자 : 개별 기능에 대한 실제 구현 사례와 동작 예
           패턴
                          제가 명료하게 주어져 있기 때문에, 개발자들 간의 기
                          술 구현 사항에 대한 이견을 줄일 수 있으며 이로 인해
                          동일 기능에 대한 중복 개발이 줄고, 정형화된 프로그
  업무분석가            개발자    램 생산으로 생산성이 비약적으로 높아졌다.

More Related Content

Viewers also liked

[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용ChangGyum Kim
 
1주 WEB UI Overview
1주 WEB UI Overview1주 WEB UI Overview
1주 WEB UI Overview지수 윤
 
자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃
자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃
자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃Dongsik Yang
 
WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기지수 윤
 
재사용UI 컴포넌트설계
재사용UI 컴포넌트설계재사용UI 컴포넌트설계
재사용UI 컴포넌트설계지수 윤
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 

Viewers also liked (7)

[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
 
1주 WEB UI Overview
1주 WEB UI Overview1주 WEB UI Overview
1주 WEB UI Overview
 
자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃
자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃
자주 사용되는 UI 패턴(컴포넌트) 과 UI 레이아웃
 
WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기
 
재사용UI 컴포넌트설계
재사용UI 컴포넌트설계재사용UI 컴포넌트설계
재사용UI 컴포넌트설계
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
Twig tips and tricks
Twig tips and tricksTwig tips and tricks
Twig tips and tricks
 

Similar to [HCI2010]Web Application UI Pattern

SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)
SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)
SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)Hyun-Soo Ji
 
시간 있으면 설계나 합시다
시간 있으면 설계나 합시다시간 있으면 설계나 합시다
시간 있으면 설계나 합시다codevania
 
제품 서비스디자인 강의계획서 2학기 ot 수정본2
제품 서비스디자인 강의계획서 2학기 ot 수정본2제품 서비스디자인 강의계획서 2학기 ot 수정본2
제품 서비스디자인 강의계획서 2학기 ot 수정본2Young Choi
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기Donghyun Cho
 
제 5회 D2 CAMPUS FEST O.T - billboard.js 차트오픈소스개발기
제 5회 D2 CAMPUS FEST O.T -  billboard.js 차트오픈소스개발기제 5회 D2 CAMPUS FEST O.T -  billboard.js 차트오픈소스개발기
제 5회 D2 CAMPUS FEST O.T - billboard.js 차트오픈소스개발기NAVER D2
 
User interface design: 10 researchers' general UI/UX design principles
User interface design: 10 researchers' general UI/UX design principlesUser interface design: 10 researchers' general UI/UX design principles
User interface design: 10 researchers' general UI/UX design principleslynnific
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysisc K
 
클린 아키텍처 살짝 적용기
클린 아키텍처 살짝 적용기클린 아키텍처 살짝 적용기
클린 아키텍처 살짝 적용기Younghyun Kim
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Sa-ryong Kang
 
아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지YoungSu Son
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
사용자중심
사용자중심사용자중심
사용자중심지현 이
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)영기 김
 
UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑Dongsik Yang
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
UX디자인을 넘어 서비스디자인으로
UX디자인을 넘어 서비스디자인으로UX디자인을 넘어 서비스디자인으로
UX디자인을 넘어 서비스디자인으로USABLE 윤
 
0126 패턴 랭귀지 ios 가이드라인
0126 패턴 랭귀지  ios 가이드라인0126 패턴 랭귀지  ios 가이드라인
0126 패턴 랭귀지 ios 가이드라인Hyunjeong Lee
 
Domain driven design 8장
Domain driven design 8장Domain driven design 8장
Domain driven design 8장kukuman
 

Similar to [HCI2010]Web Application UI Pattern (20)

SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)
SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)
SNU UX Lab 패턴랭귀지 (The origin of Pattern Language)
 
시간 있으면 설계나 합시다
시간 있으면 설계나 합시다시간 있으면 설계나 합시다
시간 있으면 설계나 합시다
 
제품 서비스디자인 강의계획서 2학기 ot 수정본2
제품 서비스디자인 강의계획서 2학기 ot 수정본2제품 서비스디자인 강의계획서 2학기 ot 수정본2
제품 서비스디자인 강의계획서 2학기 ot 수정본2
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기
 
제 5회 D2 CAMPUS FEST O.T - billboard.js 차트오픈소스개발기
제 5회 D2 CAMPUS FEST O.T -  billboard.js 차트오픈소스개발기제 5회 D2 CAMPUS FEST O.T -  billboard.js 차트오픈소스개발기
제 5회 D2 CAMPUS FEST O.T - billboard.js 차트오픈소스개발기
 
User interface design: 10 researchers' general UI/UX design principles
User interface design: 10 researchers' general UI/UX design principlesUser interface design: 10 researchers' general UI/UX design principles
User interface design: 10 researchers' general UI/UX design principles
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysis
 
클린 아키텍처 살짝 적용기
클린 아키텍처 살짝 적용기클린 아키텍처 살짝 적용기
클린 아키텍처 살짝 적용기
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
 
아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
사용자중심
사용자중심사용자중심
사용자중심
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)
 
Ui patterns
Ui patterns Ui patterns
Ui patterns
 
UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
UX디자인을 넘어 서비스디자인으로
UX디자인을 넘어 서비스디자인으로UX디자인을 넘어 서비스디자인으로
UX디자인을 넘어 서비스디자인으로
 
0126 패턴 랭귀지 ios 가이드라인
0126 패턴 랭귀지  ios 가이드라인0126 패턴 랭귀지  ios 가이드라인
0126 패턴 랭귀지 ios 가이드라인
 
Domain driven design 8장
Domain driven design 8장Domain driven design 8장
Domain driven design 8장
 

[HCI2010]Web Application UI Pattern

  • 1. Web Application UI Pattern LG CNS S/W공학센터 김창겸 Contact : chgkim@lgcns.com dmotions@gmail.com twitter.com/dmotions
  • 2. Pattern_ 무늬, 모양, 양식, 유형, 반복…
  • 3. Pattern의 유래 <이미지 출처 :자바 디자인 패턴과 리팩토링, 한빛미디어> 1977년 Christopher Alexander가 건축분야에서 처음 제안한 것으로 실제 건축분야에서는 그다지 호응이 없었으나, 이후 Software Engineering분야에서 적극적으로 수용하여 객체지향 프로그래밍 분야에서 엔지니어의 경험을 재사용하는데 성공적으로 사용
  • 4. Pattern의 기본사상 : 경험적 솔루션 시행착오 해결법 시행착오 문제 해결 시행착오 우리가 어떤 일을 하는데 있어서 처음 문제에 직면했을 때에는 이런 저런 시행착오를 거치게 되면서 이를 해결하게 된다. 그러나 비슷한 문제가 발생했을 때에는 이전의 해결법을 응용하여 해결할 수 있다. 이렇게 각 개개인의 머릿속에만 가지고 있는 해결법을 추상화하고 폭넓게 적용할 수 있는 형태로 만들어 두면 그 문제에 대처해 본 경험이 없는 사람이라 할지라도 적절하게 문제를 풀어갈 수 있을 것이다.
  • 6. 건축 분야의 Pattern 건축 설계 방법을 개선하기 위해 1977년 Christopher Alexander가 창안한 패턴 개념은 현재 ‘건축형태학’이라는 학문으로 자리를 잡고있으며, 그의 저서인 A Pattern Language(1987)에는 총 253개의 패턴이 기술되어 있다. “각각의 패턴은 우리를 둘러싸고 있는 환경(Context)에서 반복적으로 나타나는 특정한 문제(Problem)와 그에 대한 해결책(Solution)을 설명한다. 그리고 그 해결책은 계속 사용될 수 있기 때문에 동일한 과정을 반복할 필요가 없다.” Alexanderian Form : Context, Problem, Solution
  • 7. 건축 분야의 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 : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  • 8. 건축 분야의 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 A three-part house - the couple's realm upstairs. commons the largest. …… ……
  • 9. 소프트웨어 분야의 Pattern 건축 분야의 패턴의 개념은 와드 커닝험(Ward Cunningham)과 켄트 벡(Kent Beck)에 의해 소프트웨어 세계로 도입되었고, 에리히 감마(Erich Gamma)를 위시한 네 명(GoF; Gangs of Four)이 디자인 패턴을 구체적으로 정리하였다.
  • 10. 소프트웨어 분야의 Pattern 디자인 패턴은 객체지향 시스템 안에서 반복해서 등장하는 설계와 관련된 문제를 해결하기 위한 일반적인 기법에 이름을 붙이고, 동기를 부여하고, 상세한 설명을 다루고 있다. 여기서 주목할 것은 GoF는 이것들을 창안해 낸 것이 아니라, 단지 수많은 프로젝트에서 반복해 사용하는 디자인들을 파악하여 이를 모아 체계적으로 분류하고 문서로 정리한 것 이라는 점이다. < 객체지향 S/W 설계를 위한 23가지 패턴 제시 >
  • 11. 소프트웨어 분야의 Pattern 모듈화되고 유기적으로 연결된 패턴 체계
  • 12. 소프트웨어 분야의 Pattern : 예시 < Adapter Pattern 이미지출처:Head First Design Patterns,O'Reilly>
  • 13. 소프트웨어 분야의 Pattern : 예시 < Adapter Pattern 이미지출처:Head First Design Patterns,O'Reilly>
  • 14. 소프트웨어 분야의 Pattern : 예시 < GoF 디자인패턴에서 Singleton 패턴 >
  • 15. 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
  • 16. HCI 분야의 Pattern http://developer.yahoo.com/ypatterns/ http://developer.yahoo.com/ypatterns/ Designing Interfaces: 인터페이스 디자인 94가지 패턴 Problem Solution(Example) Problem(Example) Use when What Use when How Use when Solution Why Why Rationale More Examples How Accessibility Special Cases Examples
  • 17. < yahoo.com의 Design Pattern Library - http://developer.yahoo.com/ypatterns/index.php >
  • 18. Web Application의 정의 웹 어플리케이션(Web Application)은 웹의 기본적인 통신 규약인 HTTP 프로토콜을 이용하여 클라이 언트에게 코드나 데이터를 전송하는 것이다. - Anders Kristensen 웹 어플리케이션은 서버에 비즈니스 로직(Business Logic)을 가지고 있어 사용자의 입력이 비즈니스 로직의 상태에 영향을 미치는 시스템으로 검색 엔진이나 홍보성 홈페이지등은 웹 어플리케이션에 포함 되지 않는다. - Conallen, 1999
  • 19. Web Application의 User Interface 특징 웹 어플리케이션은 업무를 수행하기위해 반복적으로 사용하는 특성이 있으며, 화면기능적인 요구사항이 많아서 GRID등 업무효율성을 높일 수 있는 UI솔루션을 도입하여 UI를 개발하는 특징이 있다. 웹 사이트 웹 어플리케이션 4C (Contents, Communication, Comm 업무처리가 주목적 erce, Community) 의 다양한 목적 불특정 다수의 사용자 기업내부 사용자등 특정 범위의 사용자 사용성측면에서는 접근성 중시 사용성측면에서는 효율성 중시 UI가이드에서 비쥬얼 아이덴티티 요소 중시 UI가이드에서 공통 화면요소 중시 디자인, Layout 중시 기능, Task 중시 업무처리의 기본프로세스 Create 웹 어플리케이션 Read 데이터베이스 (Web Application) Update (DB) Delete
  • 21. 웹 어플리케이션의 화면 OO 은행통합시스템 : 거래상품 관리업무 OO고객관리시스템: 고객정보 관리업무 OO 판매관리시스템 : 매장별 권고발주량
  • 22. Web Application UI Pattern : 개발과정 웹 어플리케이션 화면 수집 및 조사, 분석 조사대상 2001년~2005년 구축된 웹 어플리케이션 프로젝트 공공분야, 금융분야, 제조분야, 전자분야, 건설분야등 표본추출 비즈니스 도메인별 표본 추출
  • 23. Web Application UI Pattern : 개발과정 웹 어플리케이션 화면 수집 및 조사, 분석
  • 24. Web Application UI Pattern : 양식 기본적으로는 Christopher Alexander가 제안한 패턴의 기본 양식을 따르면서, DevOn UI 패턴의 특성에 맞게 재정의
  • 25. Web Application UI Pattern : Web Pattern
  • 26. Web Application UI Pattern : X-Internet Pattern
  • 27. Web Application UI Pattern : Web Pattern (예시)
  • 28. Web Application UI Pattern : X-Internet Pattern (예시)
  • 29. 실무 전문가 집단에 의한 객관성 검증 본 사례에서 제시된 웹 어플리케이션 UI디자인 패턴 모델에 대한 객관성 검증을 위하여 관련 전문가 그룹을 대상으로 설문조사를 실시하였음 A그룹 : UI Designer UI디자이너 그룹(UI, GUI, Usability, IA등의 전문가)과 시스템 개발자 그룹 •한국HCI연구회, HED리서치그룹 (Modeler, Architect, SE등의 전문가)으로 나누었으며, •웹개발 경험 유 전문가 대상 시스템 개발자 그룹의 경우 대부분 L사의 개발자들이며 본 연구에서 제시한 패턴 설문조사 B그룹 : 시스템 개발자 모델을 이미 알고 있거나 프로젝트에서 활용해본 적이 있는 사람들이다. UI디자이너 그룹의 경우 한국HCI연구회와 HED(Human Experience Design) •L사의 시스템 개발자 리서치 그룹에서 활동하는 UI디자이너들로 본 연구에 대한 세미나를 2006년 5월 •웹개발 경험 유 과 6월에 실시하고 세미나 참석자를 대상으로 설문조사를 실시하였다. 조사대상자의 일반적 특성 UI패턴의 사용 적합성 구성항목별 비교 7 5.93 6 5.71 평균점 4.93 5 4 3 웹어플리케이션 개발시 웹어플리케이션 시스템 UI 패턴의 범용성 적합성 구축시 주위의 추천의사 UI패턴의 생산성 효과 구성항목별 비교 7 5.87 5.76 6 5.60 5.53 평균점 5 4 3 정확, 신속한 고객 개발 소요시간의 개발 시스템 품질의 개발 시스템의 유지 요구사항 도출 효과 단축 효과 향상 효과 보수 비용 용이성
  • 30. ? ! Question and Answer Contact chgkim@lgcns.com dmotions@gmail.com http://twitter.com/dmotions
  • 32. #별첨: UI Pattern을 통한 커뮤니케이션 증진 Before • 고객 : 새로운 시스템을 구상하면서도, 이전 시스템 의 이미지를 머리에 그리며 화면을 예상하는 경향을 가지고 있다. • 업무분석가 : 화면 프로세스의 진행과 화면 구성에 대하여 자신이 선호하는 스타일로 화면을 정의하는 고객 경향이 있다. • 개발자 : 이전에 참여했던 프로젝트의 개발 경험과 소스코드를 가지고 새 프로젝트에 적용하는 것을 선 호하지만, 실제 구현 예제가 주어져 있지 않으면, 개 발자 각자가 같은 기능이지만 서로 다른 내용으로 구 성하는 경우가 있다. 업무분석가 개발자
  • 33. #별첨: UI Pattern을 통한 커뮤니케이션 증진 After • 고객 : 새로 구축될 시스템의 대략적인 모습을 패턴과 패턴 프로토타입을 통해 조감할 수 있으며, 기능 요구 사항을 보다 명료하게 도출 해 낼 수 있게 되었다. • 업무분석가 : 표준적인 화면 프로세스를 미리 봄으로 써, 다른 프로세스를 정리하면서도 이를 모방, 변형하 는 기법을 사용할 수 있게 되므로, 프로젝트 전반에 고객 걸친 화면 프로세스가 일관되게 정리되는 결과를 얻을 수 있게 되었다. • 개발자 : 개별 기능에 대한 실제 구현 사례와 동작 예 패턴 제가 명료하게 주어져 있기 때문에, 개발자들 간의 기 술 구현 사항에 대한 이견을 줄일 수 있으며 이로 인해 동일 기능에 대한 중복 개발이 줄고, 정형화된 프로그 업무분석가 개발자 램 생산으로 생산성이 비약적으로 높아졌다.