• 제목/요약/키워드: Code reusability

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

Refactoring the Code for Visualizing Protein Database Information in a 3D Viewer for Software Reusability

  • Chun, Yoo-Jin;Ham, Seong-Il;Yang, San-Duk;Rhie, Arang;Park, Hyun-Seok
    • Genomics & Informatics
    • /
    • 제6권1호
    • /
    • pp.50-53
    • /
    • 2008
  • We have released five Java Application Programming Interface (API) packages for viewing three-dimensional structures of proteins from the Protein Data Bank. To this end, the user interface of an earlier version has been refactored in an object-oriented fashion, in which refactoring is the process of changing a software system to improve its internal structure, without altering the external behavior. Various GUI design and features have been provided conveniently thanks to the Model-View-Control (MVC) model, which is an architectural pattern used in software engineering. Availability: The source code and API specification can be downloaded from https://sourceforge.net/projects/j3dpsv/.

임베디드 소프트웨어의 재사용성 향상을 위한 리엔지니어링 프레임워크 (Re-engineering framework for improving reusability of embedded software)

  • 김강태
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권4호
    • /
    • pp.1-9
    • /
    • 2008
  • 대부분의 전자제품은 날로 다양한 소비자의 니즈로 인해 수많은 라인업을 보유하고 있다. 이에 대응하기 위해 보통 '베이스 모델'이라 불리는 초기 개발모델에서 각 상품화 과제의 특정 요구사항을 반영하여 파생개발을 한다. 제품 라인업에 기반한 소프트웨어 라인 업이 형성되는 개발환경에서 '베이스 코드'의 구조와 그 구성요소의 품질은 향후 파생되는 여러 많은 제품의 생산성과 품질의 근간이 된다. '베이스코드'는 최초 개발 후 여러 상품화를 거치면서 그 구조와 코드 자체에 수많은 변경이 가해진다. 상품화 과제의 요구사양에 따라 변경되거나 추가되는 기능의 구현은 필수적 활동이며, 성능 개선 및 문제점 해결을 위한 구조 및 코드의 변경 역시 상품화를 통해 지속적으로 발생하는 유지관리 활동이다. 하지만 위와 같은 변경은 최초 설계 시 의도된 구조가 깨지거나 코드의 복잡도가 증가하는 등의 노쇠화 징후(Ageing symptom)로 나타나 유지관리에 어려움을 준다. 본 논문은 노쇠화 된 베이스 코드의 상품화 적용 효율을 높이기 위해 재사용성, 유지보수성, 확장성 등의 비기능적 요소(quality attribute)의 개선을 위한 절차와 기법으로 리엔지니어링 프레임워크를 제안한다.

  • PDF

임베디드 시스템의 재사용 프레임워크를 위한 정적 메타모델 설계 (A Design of Static Meta-Model for Reuse Framework of Embedded System)

  • 조은숙;김철진;이숙희
    • 한국멀티미디어학회논문지
    • /
    • 제12권2호
    • /
    • pp.231-243
    • /
    • 2009
  • 임베디드 시스템 시장이 확대되면서 최근 들어 자동차, 선박, 로봇 등과 같은 다양한 분야에서 임베디드 소프트웨어에 대한 관심이 증가되고 있다. 이와 관련하여 임베디드 운영체제, 임베디드 소프트웨어 모델링 기법, 임베디드 소프트웨어 테스팅 등 다양한 연구들이 이루어지고 있다. 그러나 지금까지 임베디드 분야가 하드웨어 분야에 치중되어 왔기 때문에 임베디드 시스템 개발에 있어서 체계적인 공학적 접근 방식이 미약한 상태이다. 이 뿐만 아니라 임베디드 시스템 개발에 있어서 재사용성을 고려한 프레임워크 기반의 설계 기법 등은 반영되지 못한 실정이다. 이렇게 개발됨으로써 시스템 내에 죽은 코드(Dead Code)들이 산재해 있을 뿐만 아니라 시스템의 재사용성이 매우 저조한 결과를 보이고 있다. 본 논문에서는 이러한 재사용성 향상을 위한 임베디드 시스템의 프레임워크를 제시하고, 이 프레임워크에 대한 정적 메타 모델을 제시한다. 이러한 메타 모델을 통해 임베디드 시스템의 재사용 프레임워크의 구조를 표현 할 뿐만 아니라, 이를 기반으로 다양한 임베디드 시스템 형태에 따라 모델을 쉽게 확장하여 설계할 수 있도록 한다.

  • PDF

객체 지향 시스템에서의 클래스 응집도와 결합도 메트릭 (Cohesion and Coupling Metric for Classes in Object - Oriented System)

  • 이종석;우치수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제27권6호
    • /
    • pp.595-606
    • /
    • 2000
  • 소프트웨어 메트릭스는 개발 과정을 평가하고, 소프트웨어 개발 노력을 측정하며 소프트웨어의 질을 효과적으로 제어할 수 있도록 한다. 더욱이 현재와 같이 재사용성이 강조되고 있는 상황에서는 재사용성을 평가하는데 중요한 역할을 하는 응집도와 결합도에 대한 연구가 반드시 필요하다고 할 수 있다. 캡슐화, 상속, 다형성과 같은 개념을 이용하는 객체 지향 방법론은 기존의 절차적 방법론과는 다른 메트릭스를 요구하는데, 이에 대한 연구가 현재 활발히 진행되고 있다. 본 논문에서는 객체 지향 시스템의 응집도와 결합도를 측정하는 메트릭스를 제안하고, 이를 Weyuker와 Briand의 복잡도 성질을 이용하여 평가하였다. 그리고 C++로 작성된 소프트웨어에 실제 적용하여 응집도와 결합도를 추출하였다.

  • PDF

Visual Component Assembly and Tool Support Based on System Architecture

  • Lee, Seung-Yun;Kwon, Oh-Cheon;Shin, Gyu-Sang
    • ETRI Journal
    • /
    • 제25권6호
    • /
    • pp.464-474
    • /
    • 2003
  • Component-based development leverages software reusability and reduces development costs. Enterprise JavaBeans (EJB) is a component model developed to reduce the complexity of software development and to facilitate reuse of components. However, EJB does not support component assembly by a plug-and-play technique due to the hard-wired composition at the code level. To cope with this problem, an architecture for EJB component assembly is defined at the abstract level and the inconsistency between the system architecture and its implementation must be eliminated at the implementation level. We propose a component-based application development tool named the COBALT assembler that supports the design and implementation of EJB component assembly by a plug-and-play technique based on the architecture style. The system architecture is first defined by the Architecture Description Language (ADL). The wrapper code and glue code are then generated for the assembly. After the consistency between the architecture and its implementation is checked, the assembled EJB components are deployed in an application server as a new composite component. We use the COBALT assembler for a shopping mall system and demonstrate that it can promote component reuse and leverage the system maintainability.

  • PDF

PLC 코드 작성을 위한 공정 분석 및 적용 방법 (The Process Analysis and Application Methods for PLC Code Programming)

  • 구락조;여성주;이강구;홍상현;박창목;박상철;왕지남
    • 산업공학
    • /
    • 제21권3호
    • /
    • pp.294-301
    • /
    • 2008
  • Agile and flexible manufacturing systems make it mandatory that a control program should have features such as agility, flexibility, and reusability in order to run manufacturing unit smoothly. PLCs are the most frequently used control program in manufacturing systems. PLC programs are mostly programmed by subcontraction, which makes correction of code very difficult. As a result, it may cause delay during down time and ramp up time which leads to big loss of revenue and goodwill. To prevent delay during the times, this paper proposes systematic process analysis and application method for programmable logic controller like LLD (Ladder Logic Diagram). The proposed method uses modified human-error investing techniques for documentation and transforming technique to program LLD from the documentation. Furthermore, this paper demonstrates an example of piston mechanism to explain the proposed method.

상속성과 병행성에서 오는 상속변칙 문제 해결에 관한 연구 (A Study on Solution of Anomaly due to Integrated of Inheritance and Concurrency)

  • 박영옥;문정환;이철승;홍성표;이호영;이준
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2002년도 춘계종합학술대회
    • /
    • pp.485-489
    • /
    • 2002
  • 병행 객체지향 프로그래밍 언어는 병행 프로그래밍을 위한 객체의 병행성과 객체지향 프로그래밍 언어의 중요한 장점인 상속성과 재사용성, 캡슐화를 동시에 지원하기 위한 목적을 가진 언어이다. 병행 객체지향 프로그래밍의 병행성과 객체지향 프로그래밍 언어의 특성이 통합된 여러 가지 모델이 제안되어 왔다. 병행프로그래밍과 객체지향프로그래밍 기법을 결합한 병행객체지향 언어는 병행 응용프로그램을 개발하는데 여러 가지 이점을 얻을 수 있다. 병행성과 상속성의 결합으로 인하여 객체의 재사용성을 현저하게 떨어뜨리게 되거나 서브 클래스에서 상속된 코드의 재 정의를 요구하게 된다. 이렇게 병행성과 상속성을 결합할 때 두 특성 사이에 서 발생하는 충돌 또는 간섭현상을 상속변칙이라고 하는데, 이 상속 변칙의 영향을 최소화하고 코드 재사용을 개선하기 위한 접근 방법에 대해 많은 연구 결과가 발표되었다. 이와 같이 상속성과 병행성 사이의 간섭 문제를 해결하기 위해서 동기화 코드와 메소드 코드로 구분하여 본 논문에서는 접근하고자 한다.

  • PDF

Design and Implementation of a Framework for Automatically Generating Control and Monitoring Software

  • Yoo, Dae-Sung;Sim, Min-Suck;Park, Sung-Ghue;Kim, Jong-Hwan;Yi, Myeong-Jae
    • 제어로봇시스템학회:학술대회논문집
    • /
    • 제어로봇시스템학회 2004년도 ICCAS
    • /
    • pp.932-935
    • /
    • 2004
  • In this paper, we present a framework that is easy to develop, modify, maintain and extend a control and monitoring software for any kinds of instruments. The presented framework is composed of three XML documents (IID, MAP, and CMIML) and two tools (Virtual Instrument Wizard, Generator). Interface information about behaviors and states of instruments is written on IID. Mapping information between the interface information in IID and API of a real instrument driver is written on MAP. Finally information about control and monitoring software is written on CMIML. IID, MAP and CMIML are written with XML format to provide common usage and platform independence of the suggested framework. VI Wizard generates CMIML (platform independent intermediate document) using IID and existing CMIML, and Generator generates source code of a control and monitoring software (platform dependent code) automatically using CMIML and MAP. The suggested framework that automatically generates control and monitoring software based on GUI provides easy development and maintenance. Also, reusability can be increased by reusing platform independent software description documents.

  • PDF

관계형 데이터 모델 기반 군사용 데이터베이스의 XML 데이터베이스로의 변환 (A Transformation Military Databases based on the Relational Data model into XML Databases)

  • 김창석;김응수
    • 안보군사학연구
    • /
    • 통권1호
    • /
    • pp.269-310
    • /
    • 2003
  • AS Extensible Markup Language(XML) is emerging as the data format of the Internet era, there are increasing needs to efficiently transform between database and XML documents. In this paper, we propose a schema transformation method from relational database to XML database. To transform the schema, we represent input schema as Entity-Relationship diagram. Entity-Relationship model translator scans the input Entity-Relationship diagram using BFS (breadth First Search) and translates the diagram into hierarchical structure model. The XML Schema generator produces XML Scema code using the transformed hierarchical structure model. The proposed method has a merit that having reusability facility of XML Schema property in comparison with existing researches.

  • PDF

객체재향 개념을 반영한 유동해석 후처리 프로그램에 대한 연구 (Study on a post-processing program for flow analysis based on the object-oriented programming concept)

  • 나정수;김기영;김병수
    • 한국전산유체공학회지
    • /
    • 제9권2호
    • /
    • pp.1-10
    • /
    • 2004
  • In the present study, a post-processing program is developed for 3D data visualization and analysis. Because the graphical user interface(GUI) of the program is based on Qt-library while all the graphic rendering is performed with OpenGL library, the program runs on not only MS Windows but also UNU and Linux systems without modifying source code. The structure of the program is designed according to the object-oriented programming(OOP) concept so that it has extensibility, reusability, and easiness compared to those by procedural programming. The program is organized as modules by classes, and these classes are made to function through inheritance and cooperation which is an important and valuable concept of object-oriented programming. The major functions realized so far which include mesh plot, contour plot, vector plot, streamline plot, and boundary plot are demonstrated and the relevant algorithms are described.