• Title/Summary/Keyword: 소프트웨어 디자인 패턴

검색결과 97건 처리시간 0.024초

디자인 패턴 기반 소프트웨어의 테스트 가능성 분석 (Analysis for Testability of Software based on Design Pattern)

  • 강영남;최은만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (B)
    • /
    • pp.427-429
    • /
    • 2004
  • 잘 설계된 모든 객체지향 구조들은 패턴들로 가득 차 있다는 점에서 볼 때, 디자인 패턴은 상당히 유용하다. 특히 정확성. 강건성, 유연성, 재사용성, 효율성 측면에서 볼 때, 디자인 패턴은 충분히 가치가 있다. 이 논문에서는 디자인 패턴을 사용한 소프트웨어에서 테스트 가능성은 어떻게 달라지는지를 분석하고자 한다. 테스트 가능성을 측정하는 메트릭을 이용하여, 패턴이 적용된 소프트웨어와 적용되지 않은 소프트웨어에서의 메트릭을 분석한다. 측정된 값은 디자인 패턴을 사용하지 않은 소프트웨어에 비해, 사용한 소프트웨어에서 몇몇 메트릭이 낮은 값을 보였다 이것은 디자인 패턴을 적용하는 것이 오류의 가능성이나 테스트 케이스의 수를 줄여 준다는 것을 의미한다. 또한 어떤 디자인 패턴이 적용되었는지를 알고 있을 때 그 디자인 패턴에 맞는 테스트 케이스가 무엇인지 분석하였다.

  • PDF

패턴 기반 소프트웨어 개발을 위한 효과적인 패턴 선정 프로세스 (An Effective Pattern Selection Process for Developing of Pattern Based Software)

  • 최진명;류성열
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권5호
    • /
    • pp.346-356
    • /
    • 2005
  • 디자인 패턴은 지난 10년 이상 소프트웨어 공학 영역에서 활발하게 연구되어 여러 유형의 디자인 패턴이 정의되었다. 그러나 이들 패턴은 자료구조와 알고리즘에 비해 소프트웨어 개발 과정에 빈번하게 사용되지 못하고 있다. 더욱이 CBD96, RUP, MaRMI III 같은 CBD 방법론들은 분석, 설계, 개발 과정중에 디자인 패턴을 선정하고 적용하는 방법이 언급되어 있지 않다. 본 논문에서는 GoF, J2EE 패턴 카타로그에 제시된 디자인 패턴을 중심으로 응용 소프트웨어를 개발하기 위해 분석, 설계, 개발 단계에 적용되는 디자인 패턴을 효과적으로 선정하는 프로세스를 제시한다. 제시된 프로세스를 항공업무 어플리케이션 개발 과정에 적용하여 패턴 기반 소프트웨어를 개발해 나가는 효과적인 방법을 보이고 RUP와의 차이점 및 유용함을 제시한다.

디자인 패턴지향 소프트웨어 개발 지원 도구 (Tool for Supporting Design Pattern-Oriented Software Development)

  • 김운용;최영근
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권8호
    • /
    • pp.555-564
    • /
    • 2002
  • 디자인 패턴은 과거에 잘 정의된 설계정보를 활용하기 위한 목적으로 사용되어진다. 이러한 디자인 패턴의 활용은 객체지향 패러다임에서 재사용성과 개발시간의 단축 그리고 소프트웨어 품질의 향상을 가져온다. 그러나 이러한 디자인 패턴의 광범위한 활용에도 불구하고 대부분의 디자인 패턴 정보는 수작업에 의해 활용됨으로써 일관성이 없고 활용능력이 떨어진다. 또한 설계자에 의해 적용된 디자인 패턴정보는 소프트웨어에서 나타나지 않기 때문에 디자인 패턴에 대한 추적성에 대한 문제를 가진다. 이에 본 논문에서는 디자인 패턴지향 소프트웨어 개발 지원 도구를 제시한다. 이 시스템은 디자인 패턴의 관리와 소프트웨어 설계 및 자동화 소스코드 생성기능을 지원한다. 디자인 패턴 관리 기능은 존재하는 디자인 패턴을 저장관리 및 분석과 새로운 디자인 패턴 등록할 수 있는 기능을 담고 있으며, 소프트웨어 설계 기능은 UML 형태의 소프트웨어 설계기능과 디자인 패턴요소의 자동생성기능을 지원한다. 또한 이러한 설계정보를 이용한 소스코드 자동생성기능을 지원하는 소스코드 관리 기능을 가진다. 그 결과 기존의 CASE 도구에서 제시하지 못한 디자인 패턴요소의 추적성을 설계정보에 포함시킴으로서 소프트웨어 분석의 용이성을 제공하고 디자인 패턴 관리와 자동 소스코드 생성기능의 제공을 통해 보다 안정되고 효율적인 시스템을 구축할 수 있다.

디자인 패턴의 점진적 통합을 이용한 패턴지향 소프트웨어 개발 방법 (Pattern-Oriented Software Development Process using Incremental Composition for Design Patterns)

  • 김운용;최영근
    • 정보처리학회논문지D
    • /
    • 제10D권5호
    • /
    • pp.763-772
    • /
    • 2003
  • 디자인 패턴은 소프트웨어 생산성 향상을 위해 사용되는 효율적인 기술로써 인식되고 있다. 이러한 디자인 패턴은 소프트웨어 설계시 자주 발생되는 특정 상황에 대한 문제를 효과적으로 해결할 수 있는 방법을 제공한다. 현재까지 다양한 분야에 필요한 디자인 패턴들이 발견되고 이들의 활용성을 증명하는 연구가 진행되고 있다. 그러나 소프트웨어 개발에 이들 디자인 패턴을 효과적으로 적용시키기 위한 체계적인 접근방법에 대한 연구가 부족하다. 본 논문에서는 점진적 디자인 패턴 통합을 통한 패턴지향 소프트웨어 개발 방법을 제시한다. 이를 위해 먼저 디자인 패턴을 활용하는 개발 프로세스를 정의하고 이 프로세스에서 요구되는 점진적 디자인 패턴 통합기법 및 디자인 패턴 기반의 소프트웨어 설계관점을 보인다. 또한 소프트웨어 시스템에 존재하는 디자인 패턴의 효율적인 추적 및 관리방법을 제시한다. 이러한 과정은 피드백 프레임워크 시스템 설계를 통해 구체화된다. 소프트웨어 개발시 디자인 패턴을 이용한 체계적인 접근과 활용은 초기 개발 단계부터 디자인 경험과 기법들을 효과적으로 활용할 수 있게 함으로써 시스템 개발에 효율성을 증대시킨다. 그 결과보다 안정되고 재사용 가능한 시스템을 이끌어내고 개발 시간과 비용을 단축하는 효과를 제공할 것이다.

컴포넌트 재사용을 늘리기 위한 전략 패턴의 활용 방법 (Strategies for Component reuse using Strategy Design Pattern)

  • 심준용;오정인;위성혁;김세환
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 춘계학술발표대회
    • /
    • pp.1194-1197
    • /
    • 2012
  • 디자인 패턴은 소프트웨어 설계 시 반복적으로 발생하는 문제를 해결하기 위한 방법을 기술한다. 특히, 객체지향 기술을 기반으로 하는 컴포넌트 설계 시 디자인 패턴을 활용함으로써 특정 설계 문제에 대한 해결책을 재사용할 수 있다. 좋은 객체 지향 설계는 재사용성, 확장성 및 유지보수성을 제공하는 것이며, 디자인 패턴은 좋은 설계에 필요한 구성 요소들의 관계 구조를 제시한다. 본 논문은 객체지향 기반의 컴포넌트 프레임워크 설계 시 프레임워크의 확장성과 구현 컴포넌트의 재사용성을 늘리기 위한 방안으로 디자인 패턴의 활용법을 제시한다. 특히, 알고리즘 재사용의 구조를 제시하는 전략 패턴과 처리 절차 재사용의 구조를 제시하는 템플릿 메서드 패턴의 구조를 비교하고, 분산 통신 컴포넌트 설계 시 전략 패턴의 적용 사례를 보여준다.

디자인 패턴을 적용한 닷넷 리모팅 공통 프레임워크 설계 및 구현 (Design and Implementation of .NET Remoting Common Framework Applied Design Pattern)

  • 강윤성;이준환;조한진
    • 한국콘텐츠학회논문지
    • /
    • 제11권3호
    • /
    • pp.36-47
    • /
    • 2011
  • 현재의 소프트웨어 개발의 주요 쟁점은 재사용 가능한 유연한 소프트웨어의 개발이다. 이미 많은 소프트웨어의 성공적인 개발 경험은 소프트웨어의 환경에 따라 또는 구현하려는 모듈의 성격에 따라 공통된 모습을 패턴으로 추출하여 제시되고 있다. 경험된 패턴을 개발하고자 하는 목적에 맞게 선택하여 이를 재사용하면 빠르고 정확하게 소프트웨어를 개발할 수 있다. 이러한 개발은 성공과 실패에 따라 다른 새로운 경험이 되고 다시 재사용 된다. 소프트웨어 개발에 있어서 디자인 패턴의 적용은 선택이 아닌 필수 사항이 되었다. 본 논문에서는 재사용 가능한 소프트웨어 개발을 위해 분산통신 서비스 기술 중 하나인 닷넷 리모팅 기술을 사용하여 디자인 패턴을 적용한 공통 프레임워크를 설계하고 구현한다.

GoF 디자인 패턴기반 객체지향 오염총량제 소프트웨어 설계 (GoF design patterns based object-oriented Total Maximum Daily Load software design)

  • 김형무;곽훈성
    • 정보처리학회논문지D
    • /
    • 제12D권1호
    • /
    • pp.73-80
    • /
    • 2005
  • 객체지향 모델링에서 컴포넌트기반 방법을 사용하는 목적은 반복되는 시간 및 공간 복잡성을 줄여 연산능력을 높이는 것이다. 이러한 컴포넌트기반 방법의 많은 성과에도 북구하고 디자인 패턴과 그 표준화로 컴포넌트기반 방법의 재사용성을 놀이는 연구가 필요하다. 그러나 디자인 패턴을 표준화하는 방법으로 성급하게 메타패턴언어나 패턴저장소를 구축하는 방법은 오히려 소프트웨어 개발에 패턴을 적용하는 것을 더욱 복잡하고 어렵게 만들 수가 있다. 본 연구는 환경분야의 TMDL(오염총량제) 소프트웨어의 선계에 GoF 디자인 패턴을 적용함으로써, 과도하게 추상화된 메타패턴언어나 부가적인 패턴저장소를 두지 않고도 적용패턴을 검색, 추적할 수 있도록 설계단계에서 클래스이름에 패턴이름을 명시하는 방법을 제안하였다. 따라서 본 연구결과는 환경소프트웨어 개발과정에서 빈번하게 발생하는 반복과 중복을 줄일 수 있는 이점이 있다.

EJB Persistence Pattern을 이용한 효과 적인 앤티티빈 설계 (Design of Efficient Entity Bean Using EJB Persistence Pattern)

  • 이돈양;이창수;송영재
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (2)
    • /
    • pp.49-51
    • /
    • 2002
  • 소프트웨어 산업의 급속한 발전과 더불어 소프트웨어의 생산성의 향상과 재사용 측면이 매우 강조되면서 다양한 방법으로 접근이 되고 있다. 특히 J2EE의 EJB 기반의 컴포넌트 개발은 플랫폼에 독립적으로 운용이 가능한 시스템개발에 큰 영향을 미쳤다. 그리고 디자인 패턴의 개념을 도입함으로써 다시 발생될 수 있는 문제점들을 패턴으로 정리하고 해결점까지 제시하고 있어 소프트웨어의 재사용 측면에 발전을 가져오고 있다. 본 논문에서는 여러 디자인 패턴 중 Dual Persistent Entity Bean 디자인 패턴을 이용하여 엔티티 빈을 설계하는데 BMP와 CMP를 동시에 지원할 수 있는 환경을 이용한 모델을 제시하고 있다.

  • PDF

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

  • 이랑혁;이현우;고석하
    • 한국정보기술응용학회:학술대회논문집
    • /
    • 한국정보기술응용학회 2007년도 춘계학술대회
    • /
    • pp.55-68
    • /
    • 2007
  • 디자인 패턴은 새롭게 만들어 지는 것이 아니라 기존의 검증된 지식, 관용법, 원칙들을 체계화한 것이다. 다시 말하면 디자인 패턴은 특정한 문제를 해결하기 위한, 검증된 설계 방법에 이름을 붙인 것이다. 그러므로 적절한 디자인 패턴 사용은 1) 개발자들간의 원활한 의사소통에 도움을 주며, 2) 하급자가 고급기술을 쉽게 익힐 수 있도록 할 수 있다. 3) 또한 사용된 디자인이나 아키텍처를 재사용할 수 있도록 하고, 4) 만들어진 시스템의 유지 보수를 보다 쉽게 할 수 있는 등의 장점을 얻을 수 있다. 반면에 필요하지 않은 곳에 까지 디자인패턴을 사용하게 되면 소프트웨어를 복잡하고, 유지보수도 어렵게 만들 수 있다. 디자인 패턴의 분류는 수 많은 패턴을 비슷한 속성을 지닌 그룹들로 조직화 하는 것이다. 이는 개발자가 특정 문제에 맞는 디자인 패턴을 쉽게 선택 할 수 있도록 도와 줄 뿐만 아니라, 디자인 패턴의 주요특성을 빠르게 이해하고 간파 할 수 있게 한다. 그래서 Beck 이 디자인패턴을 소개한 이후 GoF, Buschmann, Grand, Antoy 등은 디자인 패턴을 단순히 열거를 통해 소개하지 않고, 각자의 기준에 따라 체계적으로 분류하여 패턴을 설명 하고 있다. 본 연구는 객체지향 설계의 근본 개념인 Polymorphism (Inclusion Polymorphism) 과 '객체 지향 소프트웨어 설계 원칙' 그리고 이 근본 원칙들이 UML 클래스 다이어그램에 나타나는 구조적 특정에 의거해 디자인 패 턴 해석을 수행 하였다. 본 연구의 목적은 1) 객체지향의 근본 원칙으로 표현 되는 패턴과 2) 설계자의 전문적 인 Art를 포함하고 있는 패턴으로 분류하는데 있다.3: 재미는 용이성을 통해 채택의도에 정의 영향을 미친다. 가설4: 유용성은 채택의도에 정의 영향을 미친다. 가설5: 용이성은 채택의도에 정의 영향을 미친다. 가설6: 용이성은 유용성에 정의 영향을 미친다. 본 연구의 대상은 자발적으로 이러닝을 채택할 수 있는 대학생을 대상으로 하였고, 설문 데이터 분석을 통한 실증연구를 수행하였다. 분석방법으로는 PLS 분석도구를 사용하였다. 분석결과 가설6을 제외하고는 모두 유용한 것으로 입증되었다.97)은 배움의 용이성, 기억의 용이성, 오류, 효율성, 만족성으로 분류하고 있고(Nielsen, 1997), Shneiderman(1998)는 효과성(직무시간, 배움의 시간), 효율성(기억의 지속시간, 오류), 만족도를 품질의 특성으로 분류하였다. 이와 같은 소프트웨어의 품질은 소프트웨어 계획, 개발, 성장과 쇠퇴의 모든 과정에 적용되며, 환경적 변화에 따라 사용자들의 정보욕구를 적절하게 반영하여 만족도를 높이 는 것이라고 요약할 수 있다. 그러나 현재까지 소프트웨어 품질 평가에 대한 연구들 은 보편적인 평가 항목들을 대상으로 측정하여 일반적인 품질기준을 제시하고 있고, 유사한 측정 내용들이 중복되어 있다. 이러한 경향은 산업별 특수성이 강한 소프트웨어에 대해서는 정확한 품질측정이 어려웠고, 품질측정에 대한 신뢰성을 떨어뜨리는 계기가 되었다. 이러한 한계를 극복하고자 나타난 방법론이 최종사용자들의 요구사항을 얼마나 적절하게 시스템에 반영했는지에 대한 사용성(Usability) 측정이다. 사용성에 대한 정의는 사용자들이 실질적으로 일하는 장소에서 직접 사용자들의 시스템 운용실태를 파악하여 문제점을 개선하는 것으로 요약할 수 있다. ISO9124-1

  • PDF

디자인 패턴을 이용한 Retargetable 시뮬레이터의 개발

  • 김영걸
    • 한국시뮬레이션학회:학술대회논문집
    • /
    • 한국시뮬레이션학회 1999년도 춘계학술대회 논문집
    • /
    • pp.227-231
    • /
    • 1999
  • 디자인 패턴은 소프트웨어 -특히, 객체지향 소프트웨어- 의 개발시 재 사용성을 높기 위해서 사용되며, 이는 상속(Inheritance)과 같은 코드레벨 재사용 (code reuse) 보다 높은 레벨의 디자인 재사용 (design reuse)을 가능하게 한다. 디자인 패턴은 구체적인 문제에 대해 구체적인 해를 제공하는 cookbook과는 달리, 추상적인 문제에 대해 추상적인 해를 제시함으로써, 비슷한 부류의 문제에 적용할 수 있으므로 높은 재 사용성을 보장한다. 본 논문은 Retargetable한 특성을 갖는 Instruction set simulator의 개발에 디자인 패턴을 적용한 예를 보여줌으로써, 재 사용성 및 확장성을 높이는 방안을 소개한다.

  • PDF