1 / 20

Software System Integration

Software System Integration. Overview. What is system integration ? Integration process description Integration testing System Integration Checklist. By the end of this session, you will. Understand the importance and role of system integration Understand the system integration process

rafiki
Download Presentation

Software System Integration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software System Integration Chapter 8 Software testing

  2. Overview • What is system integration? • Integration process description • Integration testing • System Integration Checklist Chapter 8 Software testing

  3. By the end of this session, you will.. • Understand the importance and role of system integration • Understand the system integration process • Understand what is top-down and bottom-up integration • Understand what should be done before and during system integration Chapter 8 Software testing

  4. Requirements Design Coding and unit Testing Integration & test Acceptance Deployment What is system integration? • System integration is the successful putting together of the various components, assemblies, and subsystems of a system and having them work together to perform what the system was intended to do. • Successful system integration results from the proper implementation of project activities Chapter 8 Software testing

  5. Integration process planning Chapter 8 Software testing

  6. System integration process (1) • Integration is iterative and progressive, with each level of integration building from and on top of the previous level of integration • Integration and testing are part of the development process and are used to ensure all the various pieces work together in performing their higher-level functions. Chapter 8 Software testing

  7. System integration process (2) Chapter 8 Software testing

  8. Interfaces (1) • Complete Knowledge of all interfaces is essential to any integration effort. • This includes interfaces between : • components, • assemblies, • subsystems, • and also the system and other systems it needs to work with. Chapter 8 Software testing

  9. Interfaces (2) Chapter 8 Software testing

  10. Complete system integration(1) • Most systems consist of both hardware and software. These two are sometimes looked at as complete systems in and of themselves, but they cannot function independently of each other • There are two other system elements: people and support systems that are also part of the complete system. • For a system to be successfully implemented and used, all these elements must be in place and functioning correctly Chapter 8 Software testing

  11. Complete system integration(2) Chapter 8 Software testing

  12. Integration testing • Integration testing involves building a system from its components and testing it for problems that arise from component interactions. • Initial approach: “Big Bang” • Incremental integration • Top-down integration • Bottom-up integration • Sandwich integration Chapter 8 Software testing

  13. Top-down Integration AlgorithmDevelops the skeleton of the system and populate it with components. • Use Main control module as a test driver and substitute all modules that are directly subordinate to it by stubs. • Depending on the integration approach selected (depth first or breadth first), choose a stub and replace it by a real module. • Tests are conducted after replacement of a stub by a real module. • While there exist stubs in the system, go to step 2(loop) • Stop when the whole system structure is built and no stubs remain. Chapter 8 Software testing

  14. Top-down IntegrationWhat is a stub? • It is a test module that replaces a called module and that has exactly the same interface. Stub A Stub D Stub B Stub C • - Combine B and C - Display a trace message • Return a value from a table (or external file) - Display passed perameter Chapter 8 Software testing

  15. Bottom-up Integration Algorithm Integrates components at the lowest levels then adds functional components when going to the upper levels. • Construct drivers for low level modules. • Execute and test each driver separately. • Remove drivers and combine modules moving upward into clusters that perform a specific software sub-function. When the main module is reached go to 5) • Construct a driver per cluster. Go to 2) • Stop when the whole system structure is built and no drivers remain. Chapter 8 Software testing

  16. Bottom-up integrationWhat is a driver? • A driver is a test module that replaces a real calling module and that has exactly the same interface. Driver A Driver D Driver B Driver C • - Send known parameter • Call real module • display parameter • Call real module • Display parameter - Invoke subordinate - Send known parameter - Call real module Chapter 8 Software testing

  17. System integration checklistBefore starting • Do your test plans include and support integration efforts? • Does your development plan allocate adequate time and resources for system integration efforts, including rework time? • Are the interfaces between components, assemblies, subsystems, and systems defined in adequate detail? • Will hardware be available for testing software during integration? • Is there a contingency plan if the schedule slips and if the integration schedule is compressed? • Are all elements of the system included in the integration plan? • Is all documentation current and available for reference? Chapter 8 Software testing

  18. System integration checklistDuring integration (1) • Is there an efficient rework cycle in place to fix problems found during integration testing? • Are “fixed” modules or components integrated and retested at all levels of integration up to the level where the problem was found? • Is the people element (operators, maintainers, logisticians, trainers, etc.) being prepared to work with the system when it is deployed? • Is the support systems element (logistics, maintenance, training, etc.) being prepared to support the new system when it is deployed? • Are you following an iterative, progressive integration process? • Are experienced integrators involved with the integration? Chapter 8 Software testing

  19. System integration checklistDuring integration (2) • Are area/subject matter experts involved with the integration? • Is adequate time being allowed for integration, testing, rework, reintegration, and retesting? • Are all necessary resources being made available for integration? • Is adequate testing being performed on integrated units (assemblies, subsystems, elements, system) to ensure that there are no surprises during acceptance testing? • Are you updating documentation during rework? • Are integration and system test errors being traced back to requirements and design? And if so, are the requirements and design being updated? Chapter 8 Software testing

  20. References • http://www.stsc.hill.af.mil/resources/tech_docs/gsam4/chap14.pdf • Guide to Software Engineering Body of Knowledge, especially Appendix D: http://www.swebok.org • NASA Systems Engineering Handbook: http://ldcm.gsfc.nasa.gov/library/library.htm • Software Engineering Institute: www.sei.cmu.edu • System Engineering Fundamentals, 2001, Defense Acquisition University, download at: www.dau.mil/pubs/gdbks/sys_eng_fund.asp Chapter 8 Software testing

More Related