• Title/Summary/Keyword: Provided/Required/Customize Interface

Search Result 2, Processing Time 0.014 seconds

Methods to Design Provided, Required and Customize Interfaces of Software Components (소프트웨어 컴포넌트의 Provided, Required와 Customize인터페이스 설계 기법)

  • 박지영;김수동
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.10
    • /
    • pp.1286-1303
    • /
    • 2004
  • Component-based Development is gaining a wide acceptance as an economical software development paradigm to develop applications by utilizing reusable software components. Well-defined interface manages coupling and cohesion between components, minimizes the effect on the user in case of component evolvement, and enhances reusability, extendibility and maintainability. Therefore, study on systematic development process and design guidelines for component interface has been required since the component has been introduced. In this paper, we propose three types of interfaces based on software architecture layers and functionality types; Provided Interface which provides functionality of a component, Required Interface which specifies required functionality that is provided by other components, and Customize Interface which tailors the component to customer's requirement. In addition, we suggest design criteria for well-designed interface, and systematic process and instructions for designing interface. We firstly cluster operations extracted from use case model and class model to identify Provided interfaces, and design Customize interfaces based on artifacts for variability. We also specify Required interfaces by identifying dependency among interfaces. Proposed interface design method provides traceability, throughout the component interface design. And furthermore, proposed guidelines support practical design for high quality component based on a case study.

Techniques for Designing Logic and Workflow Variability in Software Component Development (소프트웨어 컴포넌트 개발을 위한 논리 및 워크플로우 가변성 설계 기법)

  • 정광선;김수동
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.8
    • /
    • pp.1027-1042
    • /
    • 2004
  • A Software Component is a module that is reused among a lot of projects, systems, and companies rather than a single application. Components can be reused in various systems if they provide not only the common functionalities required in many applications but also the diverse aspects to be customized for being suitable for customers' demands. From the development phase, components should be designed and developed considering the variable aspects they have for convenient customization. Easily customized components can be frequently reused in lots of applications. In the literature, there are some modeling and customizing techniques. But they suggested only conceptual or basic methods based on Object-Oriented. And the practical instructions for reusing component were not provided sufficiently. Moreover, there are few techniques that consider the proper variability types components have. Thus, those techniques are not appropriate for applying to black box component completely developed and released. In this paper, we classify variabilities that components have in functional aspect into two categories. The one is logic variability, and the other is workflow variability. For each classified variability, we propose the three kind of modeling techniques, which are selection, plug in and externalization. Also detailed instructions for practical design and application are provided.