0963 801 047
Apex Global

Software Reuse and Integration Professional

Learning Objectives

By the end of the course participants should:

  • Understand how developing software for reuse impacts application developers
  • Understand how developing software for reuse is different than developing software in general
  • Understand how programming language features facilitate or hinders software reuse
  • Understand the role that a software architecture plays in developing software for reuse
  • Gain hands‐on experience in developing software for reuse, or reusing software



Training Contents

Module 1: Introduction to Software Reuse

  • What reuse is and what it is not?
  • The benefits and limitations for asset reuse
  • What artifacts can be reused?
  • The difference between application and domain engineering reuse
  • The tradeoffs between white-box and black-box reuse
  • The critical aspects of a software reuse program
  • The difference in State of the Art and State of the Practice in Reuse Management, Reuse Techniques, Initiatives
  • The Organizational, Technical, and Economic aspects of Software Reuse

Module 2: Software Reuse Program

  • The infrastructure that must be in place for a systematic software reuse program.
  • The support services differ for software reuse from general application development environments
  • The barriers to establishing a reuse program
  • Implementing a reuse program with small steps
  • What makes a software asset reusable?
  • Acquiring a reusable asset
  • The challenge of finding the right separation of components
  • The issues that affect the domain engineering life cycle

Module 3: Domain Analysis

  • What domain engineering is?
  • The activities involved in finding reusable components
  • The issues that a domain analysis method must address
  • What a domain is, and what abstraction is with respect to domain analysis
  • Some of the heuristics used to determine the fixed and variable parts of components

Module 4: Reuse Code

  • Three programming paradigms: Procedural or Functional, Logic, Object Oriented
  • Mechanisms of Object Oriented programming that enhance reusability
  • Overloading and generosity contributes to reusable code
  • Subtyping and sub-classing facilitate software reuse

Module 5: Reusable Architectural Frameworks.

  • Architectures are objects of reuse
  • Architectures lend to reuse
  • Develop reusable architectural frameworks
  • Java RMI provides the infrastructure to develop reuse frameworks

Module 6: Component Storage and Retrieval

  • Introduction to software libraries
  • Software libraries play for successful deployment of software reuse
  • Characteristics of software libraries
  • Issues that arise in the design and deployment of software libraries
  • Challenges of integrating components

Module 7: Software Reuse Metrics

  • Basic software engineering metrics
  • The three parts of component engineering metrics: Concept, Content, Context
  • Application reuse metrics
  • Domain engineering metrics
  • Organizational metrics
  • Various major reuse metric and economic models
  • Limitations of these models
  • Critical ideas behind a metrics program

Module 8: Component-Based Software Engineering (CBSE)

  • What is Component-Based Software Development?
  • What does component mean in the context of CBSD?
  • The “component model” in CBSD
  • The technical and business issues associated with CBSD

Module 9: Product Line Engineering

  • What is the Product Line Engineering (PLE)?
  • Product Line Engineering fits within software reuse
  • PLE vs CBSD
  • SYNTHESIS, a Product Line Engineering methodology

Module 10: COTS Based Development

  • What is COTS Based Development?
  • COTS Based Development vs CBSD
  • Limitations and challenges to COTS Based Development
  • The economic incentives to COTS Based Development
  • Verification and Validation in COTS Based Development
Target Audience

This course is intended for those as below:

  • Software Engineer
  • Designer
  • Developer
  • Software Architect
  • Technical Lead
  • Project Manager
  • Product Line Manager
  • Software Engineering Manager
Key Highlights

Class training methods  
Training Methods1Values

  • CUSTOMISED: Our tailor-made solutions are in line with your business goals, drawing on best practices and proven approaches
  • RESULT-ORIENTED: Our primary objective is the enhancement of business results through continuous evaluation for maintaining focus and accountability
  • COST-EFFECTIVE: Our customized and simple solutions are highly cost-effective
  • TARGETED: We use a combination of approaches and techniques to meet the objectives of our individual clients and organizational needs
  • PROCESS-ORIENTED: Our training programs are process focused, not process bound. We apply standard tools for process streamlining
  • IMPROVEMENT FOCUSED: Our techniques involve robust evaluation, open and honest communication and on-going process upgrading for continuous improvement.
  • IMPACTFUL: Our experts leverage powerful solutions that can deliver the right impetus to your business





















Course Pictures
Other Info

Contact Info

Public Training Schedule

Phone: +84 (0)862 718 187               
Email: [email protected]
Please click below link to view our public training schedule

  e-brochure-downloadBrochure EN

  Brochure VN


Perceived by Participants
[testimonials category=”76″]
Certified Partners International