• 제목/요약/키워드: Object-Oriented Software

검색결과 552건 처리시간 0.02초

Use-Case 기반 객체지향 프로젝트 스케줄링 기법 (A Use-Case Based Object-Oriented Project Scheduling Technique)

  • 허진선;최시원;김수동
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권3_4호
    • /
    • pp.293-307
    • /
    • 2003
  • 객체지향 개발이 보편화되었지만 객체지향 프로젝트를 지원하는 소프트웨어 관리 기법에 대한 연구가 미흡하다. 또한, 기존의 소프트웨어 관리 기법을 객체지향 프로젝트에 적용하는 것 역시 어려움이 있다. 특히, 늘어가는 객체지향 기반의 대형 프로젝트에 적합한 프로젝트 계획 기법에 대한 연구가 미흡하다. 본 논문에서는 객체지향 프로젝트를 위한 관리 요소 중 스케줄링에 대한 체계화된 기법을 제안한다. 시스템의 기능적인 요구사항이 기술된 Use Case 다이어그램을 이용하여 객체지향 프로젝트 스케줄을 도출해 가는 과정을 Use Case 식별, 상호의존성 분석을 통한 초기 PERT 차트 작성, 각 Use Case의 특성 규명, Iteration 개수 결정, Iteration에 Use Case 할당, 유용한 자원과 제약 사항 고려, Revised PERT 차트 작성의 7 단계로 나누어 제안한다. 각 단계에 내한 입력 물과 중간 산출물, 그리고 수행 지침을 제시한다. 본 논문의 프로젝트 스케줄링 기법은 짧은 개발 기간 동안 고품질의 소프트웨어 생산에 목적을 둔 프로젝트 계획 단계에서 효율적인 기법으로 사용된다.

UML 클래스 다이어그램 분석에 의한 객체지향 시스템의 복잡도 연구 (The Complexity of Object-Oriented Systems by Analyzing the Class Diagram of UML)

  • 정홍;김태식
    • 한국지능시스템학회논문지
    • /
    • 제15권6호
    • /
    • pp.780-787
    • /
    • 2005
  • 객체지향 시스템의 복잡성 척도에 대하여 많은 연구와 검증이 이루어져 왔다. 대부분의 척도들은 시스템의 부분적 측면 예를 들어, 객체 간 결합도, 상속 구조의 복잡도, 메소드의 응집도 등에 대한 측정을 목표로 하고 있다. 그런데 소프트웨어 실무자들은 부분적이 아닌 시스템의 전반적인 복잡도를 측정할 수 있기를 바라고 있다. 본 논문은 UML의 클래스 다이어그램을 분석함으로써 객체지향 시스템의 전체적 구조에 대한 복잡도를 연구한 것이다. 클래스 다이어그램은 클래스와 클래스 간 관계로 구성되어 있다. 관계에는 연관 관계, 일반화 관계, 집합 관계 둥 세 가지가 있는데, 이 관계들이 객체지향 시스템의 구조를 이해하기 어렵게 하고 있다. 본 연구에서는 이 세 가지 관계를 통합하여 객체지향 시스템의 복잡도를 측정하는 경험적 척도를 제안하고 있다. 이 척도는 소프트웨어 개발자가 코딩하기 전에 객체지향 시스템의 복잡도를 평가해 보고 필요시 설계를 수정할 수 있도록 하게 함으로써 설계 업무에 많은 도움을 줄 것이다.

재사용을 통한 객체 모델링 지원 기법 (Object Modeling Supporting Technique By Reuse)

  • 김정아
    • 컴퓨터교육학회논문지
    • /
    • 제5권1호
    • /
    • pp.99-108
    • /
    • 2002
  • 윈도우 프로그래밍과 인터넷 프로그래밍의 수요가 증대함에 따라 객체 지향 프로그래밍 언어에 대한 교육과 객체 지향 소프트웨어 개발에 관한 교육의 중요성이 높아가고 있다. 그러나, 새로운 분야의 개발 기법을 익힌다는 것은 쉬운 일이 아니다. 본 논문에서는 소프트웨어 재사용의 개념과 기법을 객체 모델링 교육에 접목하려고 노력하였다. 즉, 객체 모델링 단계에서 이전의 경험을 재사용할 수 있는 환경을 통해 객체 모델 구축 기법을 효과적으로 학습하도록 지원하고자 한다. 이를 위하여 학습과정에서 질의와 라이브러리에 저장된 컴포넌트에 대한 유사,일치성(Aanalogy)을 판단하여 라이브러리의 모델과 패턴을 재사용할 수 있는 방법을 제안하였다. 이로써 이미 잘 정의된 모델의 이해를 통해 교육 과정의 효과를 증대할 수 있을 것으로 기대한다. 또한 유추 기법(Analogy reasoning) 활용하므로써 단순한 키워드에 의한 재사용 라이브러리 검색 보다는 보다 폭넓은 범위의 대상 검색이 가능하도록 지원한다.

  • PDF

설계 정보 복구와 객체 지향 구조의 논리적 분석을 통한 재구성 툴 설계 및 구현 (The Design and Implementation of Restructuring Tool with Logical Analysis of Object-Oriented Architecture and Design Information Recovery)

  • 김행곤;최하정;변상용;정연기
    • 한국정보처리학회논문지
    • /
    • 제3권7호
    • /
    • pp.1739-1752
    • /
    • 1996
  • 소프트웨어 재공학은 기존 시스템의 새로운 기법들과 소프트웨어 툴의 유지 보수를 지원함으로써 기존 시스템을 증진하고 소프트웨어 유지보수성을 향상시키는데 적용된다. 소프,트웨어 제공학은 일반적으로 기존 시스템의 소프트웨어 컴퍼넌트를 부불하고 기존 시스템을 이해하는데 도움을 준다. 본 논문에서는 재공학을 위한 프로 그램 분석과 재공학 환경을 지원하는 툴을 논한다. 프로그램 분석은 기존 프로그램이 입력으로 제시되면 구조적이고 객체 지향 부분에 대한 정보를 생성한다. 이것은 재공 학 방법론을 통해 추출된 코드로 정보에 의해 재구성 되어질 수 있다. 이러한 재구성 정보 중 객체 지향 구조로의 정보는 직접 관계와 요약 관계를 통해 질의 하도록 프롤 로그 형식으로 매핑되어진다. 본 논문에서 설계 구현한 SORS(SOftware Reengineering System)는 (1) 구조적이고 객체지향 정보를 분석하도록 효과적인 방법론을 수행하고, (2) 기존 프로그램의 복잡성을 제거하며, (3) 재구축을 위한 새로운 코드와 시스템상호 구조의 재사용 컴퍼넌트들을 조합하고, (4) 프로그램과 제어 구조의 단순화와 같은 기법들을 통해 기존 소프트웨어에 대한 고수준의 이해성과 유지보수성을 제공한다.

  • PDF

Java Bean 기반 시스템에서 컴포넌트 통합을 위한 모델링에 관한 연구 (A Study on the Modeling for Component Integration in the Java Bean-based System)

  • 소경영;박종구
    • 한국컴퓨터정보학회논문지
    • /
    • 제5권2호
    • /
    • pp.37-42
    • /
    • 2000
  • CORBA에서 객체 기술은 분산 및 이기종 기계에 분산되어 있는 소프트웨어 컴포넌트의 통합된 구현을 용이하게 한다. CORBA와 유사한 객체 통합 기술들은 표준화된 컴포넌트 통합 및 상호 동작 모델을 정하고 호환 불가능한 컴포넌트 구현을 캡슐 화하기 위한 객체지향 원리를 발전시켰다 본 논문에서는 Java Bean에 기반을 둔 분산 시스템 환경에서 객체와 객체간에 관련성을 모델링하기 위해 컴포넌트, 연결자 및 컴포넌트 스키마로 구성된 구조화된 모델을 제시하고 구현한다. 특히 Java Bean 환경에서 객체간의 관련성을 모델링하기 위한 연결자의 구성에 중점을 둔다.

  • PDF

안드로이드 게임 프로그래밍을 위한 설계 패턴 (Design Patterns for Android Game Programming)

  • 김동관
    • 한국융합학회논문지
    • /
    • 제9권8호
    • /
    • pp.17-24
    • /
    • 2018
  • 설계 패턴은 소프트웨어 개발 시 반복적으로 발생하는 특정 문제들에 대한 효과적인 해결책을 제공하는 소프트웨어 재사용 기술이다. 특히, 객체지향 설계 패턴들은 다양한 플랫폼이나 프레임워크에 포함되어 소프트웨어 생산성을 높이고 있다. 본 논문은 설계 패턴을 고려한 안드로이드 모바일 플랫폼 기반의 게임 프로그래밍에 대한 지침을 제공한다. 적절히 설계 패턴을 활용함으로써 소프트웨어 개발 생산성뿐만 아니라, 개발 후 유지보수를 위해서도 효과적일 수 있다. 본 논문은 안드로이드 플랫폼 기반의 게임 프로그래밍에 설계 패턴을 적용하기 위한 지침과 사례를 제공한다. MVP, Singleton, Observer, State 설계 패턴과 같은 대표적인 객체지향 설계 패턴을 안드로이드 게임 프로그램 개발에 적용한다.

C++에서 프로그램 의존도 그래프를 이용한 클래스 분해 방법 (Class Slicing Method using Program Dependency Graph in C++)

  • 김영선;김홍진;손용식
    • 한국컴퓨터정보학회논문지
    • /
    • 제3권1호
    • /
    • pp.63-80
    • /
    • 1998
  • 객체 지향 소프트웨어 개발에서 재사용은 소프트웨어 품질 향상과 소프트웨어 개발자의 생산성 향상을 위하여 연구되고 있다. 그러나 설계 단계에서 부적절한 작성과 유지보수시의 잘못된 변화로 인하여 클래스를 재사용 하는데 문제점이 존재한다. 본 논문에서 제안하는 방법은 C++. 프로그램 의존도 그래프를 이용하여 클래스의 의미론적인 결합 도를 분석하고, 결합 도에 따라 클래스를 분해하여 클래스의 품질 재평가와 확장성을 지원하도록 하는 방법이다. 따라서 본 논문에서 제안하는 방안은 개발자가 객체 지향 프로그램을 개발시에 원하는 부품만을 선택하여 재사용 시스템 구축을 용이하게 하였다.

  • PDF

객체 지향 설계 모듈의 결합 방법 (A Method for Combining Object-Oriented Design Modules)

  • 하계범;이종섭;정계동;최영근
    • 한국정보처리학회논문지
    • /
    • 제3권4호
    • /
    • pp.817-833
    • /
    • 1996
  • 대부분의 객체 지향 분석 및 설계 방법은 구조적 분석과 정보 모델링에 기반을 두 고, 객체 지향 프로그래밍 언어에 근거한 직관적인 분석 및 설계 모델을 사용하고 있다. 그러므로 모델간의 의미 정확성과 일관성이 유지되지 못하여 시스템 구현시 많은 문제점을 가지고 있다. 본 논문에서는 새로운 시스템 개발 생명 주기 방법에 따 른 객체, 동적, 기능적 모듈을 위한 분해와 설계 방법을 제안한다. 따라서, 시스템 개발전체 생명 주기를 새롭게 제시하고, 객체 지향 설계 절차와 명세화에 따른 객체, 동적, 기능 모듈의 분해를 위한 모듈 분해 기준과 이를 이용한 객체 지향 설계 방법을 제시한다. 제안된 방법은 개발자가 사용자 소프트웨어 요구사항들을 편리하게 반영할 수 있도록 해준다. 끝으로 본 논문에서 실 시스템 적용 사례를 들어, 객체지향 설계 모듈의 결합 방법의 타당성과 실용성을 입중하고자 한다.

  • PDF

클래스계층구조의 품질평가척도를 기반으로 하는 재구성기법 (A Metrics-Based Approach to the Reorganization of Class Hierarchy Structures)

  • 황석형;양해술;황영섭
    • 정보처리학회논문지D
    • /
    • 제10D권5호
    • /
    • pp.859-872
    • /
    • 2003
  • 클래스계층구조는 객체지향 소프트웨어의 중심적인 구성요소가 되며, 따라서 이에대한 품질은 매우 중요하다. 좋은 품질을 갖춘 클래스계층 구조를 구축하는 것은 객체지향 소프트웨어 개발에 있어서 매우 중요한 작업이지만, 좋은 품질의 클래스계층구조를 구축하는 작업은 수월하지 않다. 더욱이, 반복 및 점증적인 소프트웨어 개발에 있어서, 요구사양에 적합하도록 개발중인 클래스계층구조를 재구성하거나 세련시키는 작업이 빈번히 발생한다. 따라서, 객체지향 개발자들이 이와같은 클래스계층구조의 재구성 작업을 수행할 경우에 도움이 될 수 있는 기법 및 도구들에 대한 관심이 증가하고 있다. 본 논문에서는, 클래스계층구조의 복잡도를 일정수준 측정가능한 몇가지 평가척도를 제안하고, 이러한 평가척도들을 바탕으로 클래스계층구조를 재구성하는 알고리즘들을 정의한다. 또한, 각 알고리즘들에 대하여, 알고리즘을 적용하기 전과 후의 각 클래스계층구조들로부터 생성할 수 있는 객체들의 집합이 변화하지 알고 보존됨을 증명하였다. 본 논문에서 제안하는 재구성기법은 클래스계층구조의 구축 및 재구성 등의 지침으로서 사용할 수 있으며, 이러한 평가척도들을 기반으로 하는 클래스계층구조의 재구성 알고리즘들은 객체지향 소프트웨어 개발시에 유용한 도구로서 개발자들에게 도움이 될 수 있다.