slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 31

- PowerPoint PPT Presentation


  • 129 Views
  • Uploaded on

Past, Present, and Future Trends in Software Patterns 금오공과대학교 소프트웨어공학전공 20040074 구혜정. Past, Present, and Future Trends in Software Patterns. IEEE SOFTWARE July/August2007. Contents. Patterns Past Trends Present Trends Future Trends. Patterns. Patterns ?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - zyta


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Past, Present, and Future Trends

in Software Patterns

금오공과대학교 소프트웨어공학전공 20040074 구혜정

slide2

Past, Present, and

Future Trends in Software Patterns

IEEE SOFTWARE

July/August2007

contents
Contents.
  • Patterns
  • Past Trends
  • Present Trends
  • Future Trends
patterns
Patterns ?

어디서 많이 본 것 같기는 한 데…처음이야…어디서부터 시작해야 할까… 예전에 비슷한 걸 해봤지.그때하고 비슷한 방법을 쓰면 되겠군.그 때하고 이 부분은 조금 다른 걸.

pattern story 1
Pattern Story #1
  • 게으르고 영악한 건축가 이야기 봄이 되자 건축가는 겨우내 찍어 두었던 사진들을 보고 통행로를 설계했다.완성된 통행로는 돌아다니기도 편했고 주변 대학 건물과도 훌륭한 조화를 이뤘다. - Brian Foote
pattern story 2
Pattern Story #2
  • Christopher Alexander다른 문제들이 상존하는 상황에서특정 문제에 대한 해결책이 반복되면 이 해결책은 패턴이 된다. 패턴을 항상 같은 방식으로 적용할 수는 없지만 계속 반복해서 재사용할 수 있다. - The Timeless Way of Building, Oxford University Press, 1979
slide8
패턴의 의의(意義)
  • 설계 생산성 증가
  • 전문가의 경험 의 빠른 전달 -> 초보자
  • 초보자-> 빨리 수준있는 해결책제시
  • 문제와 해결책 문서화
  • 문제와 해결책에 대한 경험과 영감 공유
  • 문제와 해결책 간단 명료하게 설명가능쉬운 협력, 쓸 데 없는 논쟁제거
patterns languages
Patterns Languages
  • 패턴 언어 일정한 규칙에 따른패턴(Vocaburary)들의 모임
  • 이유개별 패턴으로 해결하기 힘든복잡한 문제 해결
software patterns
Software Patterns
  • 소프트웨어 공학의 기본 어휘 & 언어
  • 거의 모든 분야에 패턴이란 개념 적용
  • 디자인 패턴, 아키텍처 패턴, 유스케이스 패턴, 분석 패턴, 구현 패턴, 배포 패턴, 일정관리 패턴, 형상관리 패턴, 요구사항관리 패턴, 사용자 인터페이스 패턴, 버그 패턴, …
  • 전문가의 경험을 모아 문제 해결법을제공하는 학문으로 발전 중
history
History

그리고 그 후…

90’s GoF의 디자인 패턴

80’s 독립분야 but 비주류

70’s 無관심

stand alone patterns pattern collections
Stand-alone patterns & pattern collections
  • 90년대 중 후반
  • Stand-alone patterns are “point solutions”
  • Examples
    • Iterator
    • Strategy
    • Wrapper
stand alone patterns pattern collections1
Stand-alone patterns & pattern collections
  • Iterator : 내부 표현 방법을 노출하지 않고 복합 객체의 원소에 순차적 접근 방법
  • Strategy : 클라이언트에 영향을 주지 않고 독립적으로 알고리즘 변경 방법
  • Wrapper : 호환성이 없는 인터페이스 때문에 함께 사용할 수 없는 클래스를 개조하여 함께 작동할 수 있게 하는 방법
slide15
개별패턴 사용 예
  • MVC(Model/View/Controller)
    • Model : 어플리케이션 객체
    • View : 스크린에 모델 디스플레이 방법
    • Controller : 인터페이스가 입력에 반응 방법

바 챠트

파이 챠트

A:50

B:30

C:20

slide16
개별패턴 사용 예
  • Observer : 특정 객체를 두어, 변경이 일어난 객체가 반영이 필요한 객체를 신경 쓸 필요 없게뷰와 모델 분리
  • Composite:단일객체처럼 복합객체 사용여러 버튼이 포함된 복합 뷰->하나의 뷰
  • Strategy : 알고리즘을 표현하는 객체알고리즘 대체 시 사용 유용뷰와 컨트롤러의 관계
pattern relationships
Pattern relationships
  • 강한 연관관계 : 패턴 언어에서 제시하는 문제영역의 관계가 분명하고 밀접
  • Pattern is not island독립적으로 존재하는 것보다서로 조밀한 연관관계를 맺을수록그 위력이 강력해지고패턴이 보여주는 마법이 심오
pattern relationships1
Pattern relationships
  • Pattern complements패턴이 완성되기 위해 다른 패턴을 사용
  • Pattern compounds패턴을 복합해서 새로운 패턴 창조
  • Pattern sequences패턴의 종결 부분이다른 패턴의 도입 부분으로 연결
pattern languages
Pattern languages
  • 패턴들이 함께 모여 시스템을 형성한 것
  • 구성
    • 그 문제영역
    • 문제영역 관의 관계에 맵핑을 하는 패턴
    • 패턴 간 관계들의 집합
slide20
패턴언어의 적용

1. 해당 도메인의 패턴언어를 살펴본 후개발에 필요한 패턴 집합을 선택

2. 선택된 패턴들을 구현

3. 패턴으로 채워지지 않은 문제영역 구현

slide21

Domains and technologies documented by patterns

  • 도메인에서 자주 발생하는문제영역을 정의하고문제영역에 맵핑이 되는 패턴들의 모음
  • 효과 : 그 도메인의 문제영역과그들 간의 관계 및 맵핑이 되는 솔루션을 빨리 습득할 수 있는 기회획득
domains and technologies documented by patterns
Domains and technologies documented by patterns
  • 과거구현한 자료구조나 라이브러리들을많이 가질수록 개발에 자신감
  • 현대해당되는 도메인(언어)에 대한이해정보(패턴)가 많을수록관련 생각할 수 있는 지평이 넓어질 것
domains and technologies documented by patterns1
Domains and technologies documented by patterns
  • Distributed computing.
  • Language- and domain-specific idioms.
  • Fault tolerance and management.
  • Security.
  • Embedded systems.
  • Process and organizational structure.
  • Education.
slide25
성공적 측면
  • 패턴에 대한 이해와 지식 증가
  • 많은 프로젝트에 성공적으로 적용
  • 각 대학 연구 활동 활발
  • 패턴과 패턴 언어의 증가 추세지난 몇 년 보다 더!
slide26
실패적 측면
  • 패턴에 대한 잘못된 이해
  • 디자인 패턴 이후
where patterns may go
Where patterns may go
  • 패턴과 패턴언어의 증가 Since 1996
  • 패턴언어에서 재사용 자산은도메인 개발자의 디자인 경험, 지식이고 그 결과물은 패턴으로 형상화
  • 경험,지식 -> 문서화 -> 패턴
future trends
Future Trends
  • Service-oriented architecture
  • Generative software technologies
  • Distributed real-time and embedded systems
  • Quality of service for COTS-baseddistributed systems
  • Mobile systems
  • Software architecture
future trends1
Future Trends
  • Group interaction
  • Web 2.0
  • Business transaction and e-commerce systems
  • Process and organizational structure
  • The Gang of Four
  • Pattern theory