• Title/Summary/Keyword: Software Assets

Search Result 125, Processing Time 0.031 seconds

Representation, Management and Sharing of Reuse-related Knowledge for Improving Software Reusability (소프트웨어 재사용성 증대를 위한 재사용 관련 지식의 표현, 관리 및 공유 방법)

  • Koo, Hyung-Min;Ko, In-Y oung
    • Journal of Software Engineering Society
    • /
    • v.24 no.1
    • /
    • pp.9-17
    • /
    • 2011
  • Software reuse the concept of developing software by using existing software assets, rather than developing it from scratch. Developers may face difficulties of reusing existing software assets because existing assets are normally developed by other developers for different purposes. Developers tend to seek appropriate knowledge about effectively reusing software assets from the developers who have faced and solved similar problems in reusing software assets previously. In other words, the reuse-related knowledge of domain experts or other developers usually provides important clues to solve reuse-related problems. Such reuse-relalted knowledge can help developers to reduce the time and effort to identify and solve the difficulties and problems that may arise in reusing software assets and in minimizing the risks of reusing them by allowing them to reuse reliable software assets in an appropriate way and by recognizing similar requirements or constraints of resuing the assets. In this paper, we describe a model to represent reuse-related knowledge in a formal way, and explain the architecture and a prototype implementation of Software Reuse Wiki (SRW) that enables collaborative organization and sharing of software reuse-related knowledge. We have conducted an experiment pertaining to problem solving in reusing assets based on reuse-related knowledge. We also discuss about our evaluation plan for showing the benefits and contributions of reuse knowledge representation model and management methods in SRW. We expect that SRW can contribute to facilitate users' participations and make efficient sharing and growing of reuse-related knowledge. In addition, the representation model of reuse-related knowledge and management methods can make developers acquire more reliable and useful reuse-related knowledge in a straightforward manner without spending additional efforts to find solutions to solve reuse-related problems.

  • PDF

A Representation Model for Reusable Assets To Support User Context

  • Hadji, Hend Ben;Choi, Ho-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2008.06a
    • /
    • pp.55-59
    • /
    • 2008
  • In the field of software reuse, several methods for storage and retrieval of assets abound. However, these methods often find their limits; they fail to turn up the suitable reusable assets that satisfy the needs of a particular software system under development. Two problems are the root cause of this situation. One is the lack of accurate semantics for describing software assets. The other is the ignorance of the user query context. In such a context, this paper presents an XML-based asset representation model for describing all kinds of software asset that can be reused within software development process. The proposed model provides semantic metadata for describing assets oriented user context in order to build the foundation for semantic reasoning in the retrieval process.

  • PDF

A Study of Software Product Line Engineering application for Data Link Software

  • Kim, Jin-Woo;Lee, Woo-Sin;Kim, Hack-Joon;Jin, So-Yeon;Jo, Se-Hyeon
    • Journal of the Korea Society of Computer and Information
    • /
    • v.23 no.12
    • /
    • pp.65-72
    • /
    • 2018
  • In this paper, we have studied how to reuse common data link software by applying software product line engineering. Existing common data link software performed different stages of design, implementation, and testing without sharing the accumulated knowledge of different developers. In this situation, developers agreed that sharing the assets of each project and reusing the previously developed software would save human and time costs. Even with the initial difficulties, the common Data Link is a continually proposed project in the defense industry, so we decided to build a product line. The common data link software can be divided into two domains. Among them, the initial feature model for the GUI software was constructed, and the following procedure was studied. Through this, we propose a plan to build a product line for core assets and reuse them in newly developed projects.

A Specification Technique for Product Line Core Assets using MDA / PIM (MDA / PIM을 이용한 제품계열 핵심자산의 명세 기법)

  • Min, Hyun-Gi;Han, Man-Jib;Kim, Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.9
    • /
    • pp.835-846
    • /
    • 2005
  • A Product Line (PL) is a set of products (applications) that share common assets in a domain. Product Line Engineering (PLE) is a set of principles, techniques, mechanisms, and processes that enables the instantiation of produce lines. Core assets, the common assets, are created and instantiated to make products in PLE. Model Driven Architecture (MDA) is a new software development paradigm that emphasizes its feasibility with automatically developing product. Therefore, we can get advantages of both of the two paradigms, PLE and MDA, if core assets are represented as PIM in MDA with predefined automatic mechanism. PLE framework in the PIM level has to be interpreted by MDA tools. However, we do not have a standard UML profile for representing core assets. The research about representing PLE framework is not enough to make automatically core assets and products. We represent core asset in PIM level in terms of structural view and semantic view. We also suggest a method for representing architecture, component, workflow, algorithm, and decision model. The method of representing framework with PLE and MDA is used to improve productivity, applicability, maintainability and qualify of product.

A 2-Dimensional Approach for Analyzing Variability of Domain Core Assets (도메인 핵심자산의 가변성 분석을 위한 2차원적 접근방법)

  • Moon Mi-Kyeong;Chae Heung-Seok;Yeom Keun-Hyuk
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.6
    • /
    • pp.550-563
    • /
    • 2006
  • Software product line engineering is a method that prepares for the future reuse and supports to seamless reuse in application development process. Commonality and variability play central roles in all product line development processes. Reusable assets will become core assets by explicitly representing C&V. Indeed, the variabilities that art identified at each phase of core assets development have different levels of abstraction. In the past, these variabilities have been handled in an implicit manner and without distinguishing the characteristics of each core assets. In addition, previous approaches have depended on the experience and intuition of a domain expert to recognize commonality and variability. In this paper, we suggest a 2-dimensional analyzing method that analyzes the variabilities of core assets in software product line. In horizontal analysis process, the variation types are analyzed in requirements, architecture, and component that are produced at each phase of development process. In vertical analysis process, variations are analyzed in different abstract levels, in which the region of commonality is identified and the variation points are refined. By this method, the traceability of variations between core assets will be possible and core assets can be reused seamlessly.

Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming (AOP를 적용한 프로덕트 라인 가변기능의 구현)

  • Heo Seung-Hyun;Choi Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.13D no.4 s.107
    • /
    • pp.593-602
    • /
    • 2006
  • Software development methodology has been developed for satisfying goals of improvement in productivity and reduction in time-to-market through the reuse of software assets. The current methods that implement software product-line, one of software development methodologies, interfere massively with the core assets, which require high cost in assembly level reducing the effectiveness. In this paper, we introduce Aspect-Oriented Programming (AOP) as a method for improving assembly process in software product-line. The method that assembles core assets and variabilities is described by grammar elements such as Join point, pointcut and advice without code-change. We analyze requirements of a mini-system as an example adapting AOP and design using UML. Our study implements the variabilities, which are from design stage, using an Aspect-Oriented Programming Language, AspectJ and prove usability and practicality by implementing the proposed idea using an Aspect-Oriented Programming Language, AspectJ.

Component Grid: A Developer-centric Environment for Defense Software Reuse (컴포넌트 그리드: 개발자 친화적인 국방 소프트웨어 재사용 지원 환경)

  • Ko, In-Young;Koo, Hyung-Min
    • Journal of Software Engineering Society
    • /
    • v.23 no.4
    • /
    • pp.151-163
    • /
    • 2010
  • In the defense software domain where large-scale software products in various application areas need to be built, reusing software is regarded as one of the important practices to build software products efficiently and economically. There have been many efforts to apply various methods to support software reuse in the defense software domain. However, developers in the defense software domain still experience many difficulties and face obstacles in reusing software assets. In this paper, we analyze practical problems of software reuse in the defense software domain, and define core requirements to solve those problems. To meet these requirements, we are currently developing the Component Grid system, a reuse-support system that provides a developer-centric software reuse environment. We have designed an architecture of Component Grid, and defined essential elements of the architecture. We have also developed the core approaches for developing the Component Grid system: a semantic-tagging-based requirement tracing method, a reuse-knowledge representation model, a social-network-based asset search method, a web-based asset management environment, and a wiki-based collaborative and participative knowledge construction and refinement method. We expect that the Component Grid system will contribute to increase the reusability of software assets in the defense software domain by providing the environment that supports transparent and efficient sharing and reuse of software assets.

  • PDF

Support of Reuse in Scrum Method with Backlog Binder (스크럼 방법에서 백로그 바인더를 이용한 재사용 지원)

  • Kim, Ji-Hong
    • Journal of Digital Convergence
    • /
    • v.11 no.12
    • /
    • pp.439-445
    • /
    • 2013
  • There has been a growing amount of research on combining Agile methods and software reuse. Most of it introduces Agile into software product line rather than software reuse into Scrum method. Meanwhile, some assets such as backlogs and incremental artifacts in Scrum development are reusable. In this paper, we identify a backlog binder that aggregates reusable Scrum assets and proposes a backlog binder reuse technique. In addition, we can apply the proposed technique and show prototyping of backlog binder reuse in job matching applications.

Software Product Line Development and Test Process Based on CVL (CVL 기반의 소프트웨어 프로덕트라인 개발 및 테스트 프로세스)

  • Cheon, Eunyoung;Seo, Yongjin;Lee, Ju Seok;Kim, Su Ji;Kim, Jin-A;Kim, Hyeon Soo
    • Journal of KIISE
    • /
    • v.42 no.1
    • /
    • pp.76-85
    • /
    • 2015
  • Software Product Line Engineering is a collection of techniques that analyze the commonalities and variabilities of the products within a product family and produce products using such information. In Software Product Line Engineering, construction of the correct core assets is very important. To accomplish this, the commonalities and variabilities must first be definitively identified, both to provide traceability between the core assets, and to guarantee the reliability of the products. This paper suggests software product line development and test processes based on CVL for the differentiation of commonalities and variabilities. The proposed approach enables correct building of the core assets through procedures to keep traceability and guarantee the reliability of the products.

An Approach to Developing Service Descriptions Based on Product Line (프로덕트 라인 기반 서비스 명세 생성 방법)

  • Park, Joon-Seok;Moon, Mi-Kyeong;Yeom, Keun-Hyuk
    • The KIPS Transactions:PartD
    • /
    • v.16D no.5
    • /
    • pp.747-754
    • /
    • 2009
  • Software product line engineering is an approach to creating core assets by systematically exploits common that can be highly reusableand different characteristics in related system families that is domain. By adapting this approachin object and component paradigm, software productivity is extended. Recently, Software development paradigm is changed to service oriented paradigm which is using services that are core assets. Therefore, to develop service oriented software more flexible, systematic and to enhance business agility about business changes, we need adaptation of product line to creation of services that are core assets. In this paper, we propose an approach to create and specify domain service through combine of product line and service oriented paradigm. Domain service explicitly specifies commonality and variability by domain service common/optional property variability, operation type variability, message type variability. By using this approach, it can support efficient and flexible service oriented development by producing various services through customization of domain service for the purpose.