Difference between revisions of "System Integration"

From SEBoK
Jump to navigation Jump to search
m (Text replacement - "<center>'''SEBoK v. 2.0, released 1 June 2019'''</center>" to "<center>'''SEBoK v. 2.1, released 31 October 2019'''</center>")
(26 intermediate revisions by 6 users not shown)
Line 1: Line 1:
System integration consists of taking delivery of the implemented (system) elements which compose the system of interest (SoI), assembling these implemented elements together, and performing the [[Verification and Validation Action (glossary)|verification and validation actions (glossary)]] (V&V Actions) in the course of the assembly. The ultimate goal of system integration is to ensure that the individual system elements function properly as a whole and satisfy the design properties or characteristics of the system. System integration is one part of the realization effort and relates only to developmental items. Integration should not to be confused with the assembly of end products on a production line. To perform the production, the assembly line uses a different order from that used by integration.  
+
----
 +
'''''Lead Authors:''''' ''John Snoderly, Alan Faisandier, Scott Jackson''
 +
----
 +
{{Term|Integration (glossary)|System integration}} consists of taking delivery of the implemented {{Term|System Element (glossary)|system elements}} which compose the {{Term|System-of-Interest (glossary)|system-of-interest (SoI)}}, assembling these implemented elements together, and performing the {{Term|Verification and Validation Action (glossary)|verification and validation actions}} (V&V actions) in the course of the assembly. The ultimate goal of system integration is to ensure that the individual system elements function properly as a whole and satisfy the design properties or characteristics of the system. System integration is one part of the realization effort and relates only to developmental items. Integration should not to be confused with the assembly of end products on a production line. To perform the production, the assembly line uses a different order from that used by integration.  
 +
 
 
==Definition and Purpose==
 
==Definition and Purpose==
System integration consists of a process that “combines system elements (implemented elements) to form complete or partial system configurations in order to create a product specified in the system requirements” (ISO/IEC 15288 2008, 44). The process is extended to any kind of product system, service system, and enterprise system.  
+
System integration consists of a process that “''iteratively combines implemented system elements to form complete or partial system configurations in order to build a product or service. It is used recursively for successive levels of the system hierarchy''.” (ISO/IEC 15288 2015, 68). The process is extended to any kind of {{Term|Product System (glossary)|product system}}, {{Term|Service System (glossary)|service system}}, and {{Term|Enterprise System (glossary)|enterprise system}}. The purpose of system integration is to prepare the SoI for final validation and transition either for use or for production. Integration consists of progressively assembling aggregates of implemented elements that compose the SoI as architected during design, and to check correctness of static and dynamic aspects of interfaces between the implemented elements.  
  
The purpose of system integration is to prepare the system of interest for final validation and transition either for use or for production. The integration consists of progressively assembling aggregates of implemented elements that compose the system of interest as architected during design, and to check correctness of static and dynamic aspects of interfaces between the implemented elements.  
+
The U.S. Defense Acquisition University (DAU) provides the following context for integration: ''The integration process will be used . . . for the incorporation of the final system into its operational environment to ensure that the system is integrated properly into all defined external interfaces. The interface management process is particularly important for the success of the integration process, and iteration between the two processes will occur'' (DAU 2010).   
 
 
The Defense Acquisition University provides the following context for integration: The integration process will be used... for the incorporation of the final system into its operational environment to ensure that the system is integrated properly into all defined external interfaces. The interface management process is particularly important for the success of the integration process, and iteration between the two processes will occur (DAU 2010).   
 
  
 
The purpose of system integration can be summarized as below:  
 
The purpose of system integration can be summarized as below:  
#Completely assemble the Implemented Elements to make sure that the Implemented Elements are compatible with each other.  
+
* Completely assemble the implemented elements to make sure that the they are compatible with each other.  
#Demonstrate that the aggregates of implemented elements perform the expected functions and performance/effectiveness.
+
* Demonstrate that the aggregates of implemented elements perform the expected functions and meet measures of performance/effectiveness.
#Detect defects/faults related to design and assembly activities by submitting the aggregates to focused verification and validation actions.  
+
* Detect defects/faults related to design and assembly activities by submitting the aggregates to focused V&V actions.  
  
Note: In the systems engineering literature, sometimes the term "integration" is used in a larger context than in the present topic. In this larger sense, it concerns the technical effort to simultaneously design and develop the system and the processes for developing the system through concurrent consideration of all life cycle stages, needs, and competences. This approach requires the "integration" of numerous skills, activities, or processes.
+
Note: In the systems engineering literature, sometimes the term ''integration'' is used in a larger context than in the present topic. In this larger sense, it concerns the technical effort to simultaneously design and develop the system and the processes for developing the system through concurrent consideration of all life cycle stages, needs, and competences. This approach requires the "integration" of numerous skills, activities, or processes.
  
 
==Principles==
 
==Principles==
  
 
===Boundary of Integration Activity===
 
===Boundary of Integration Activity===
 
+
Integration can be understood as the whole bottom-up branch of the Vee Model, including the tasks of assembly and the appropriate verification tasks. See Figure 1 below:
Integration can be understood as the whole bottom-up branch of the V cycle, including the tasks of assembly and the appropriate verification tasks. See Figure 1 below:
 
 
   
 
   
[[File:Limits_of_integration_activities.png|thumb|300px|left|'''Figure 1. Limits of Integration Activities.''' (SEBoK Original)]]  
+
[[File:Limits_of_integration_activities.png|thumb|300px|center|'''Figure 1. Limits of Integration Activities.''' (SEBoK Original)]]  
  
 
The assembly activity joins together, and physically links, the implemented elements. Each implemented element is individually verified and validated prior to entering integration. Integration then adds the verification activity to the assembly activity, excluding the final validation.
 
The assembly activity joins together, and physically links, the implemented elements. Each implemented element is individually verified and validated prior to entering integration. Integration then adds the verification activity to the assembly activity, excluding the final validation.
Line 26: Line 27:
 
The final validation performs operational tests that authorize the transition for use or the transition for production. Remember that system integration only endeavors to obtain pre-production prototypes of the concerned product, service, or enterprise. If the product, service, or enterprise is delivered as a unique exemplar, the final validation activity serves as acceptance for delivery and transfer for use. If the prototype has to be produced in several exemplars, the final validation serves as acceptance to launch their production. The definition of the optimized operations of assembly which will be carried out on a production line relates to the manufacturing process and not to the integration process.
 
The final validation performs operational tests that authorize the transition for use or the transition for production. Remember that system integration only endeavors to obtain pre-production prototypes of the concerned product, service, or enterprise. If the product, service, or enterprise is delivered as a unique exemplar, the final validation activity serves as acceptance for delivery and transfer for use. If the prototype has to be produced in several exemplars, the final validation serves as acceptance to launch their production. The definition of the optimized operations of assembly which will be carried out on a production line relates to the manufacturing process and not to the integration process.
  
Integration activity can sometimes reveal issues or anomalies that require modifications of the design of the system. Modifying the design is not part of the integration process but concerns only the design process. Integration only deals with the assembly of the implemented elements and verification of the system against its properties as designed.  
+
Integration activity can sometimes reveal issues or anomalies that require modifications of the design of the system. Modifying the design is not part of the integration process but concerns only the design process. Integration only deals with the assembly of the implemented elements and verification of the system against its properties as designed. During assembly, it is possible to carry out tasks of finishing touches which require simultaneous use of several implemented elements (e.g., paint the whole after assembly, calibrate a biochemical component, etc.). These tasks must be planned in the context of integration and are not carried out on separate implemented elements and do not include modifications related to design.
 
 
During the assembly, it is possible to carry out tasks of finishing touches which require simultaneous use of several implemented elements (e.g., paint the whole of two parts after assembly, calibrate a biochemical component, etc.). These tasks must be planned in the context of integration and are not carried out on separate implemented elements. In any case, they do not include modifications related to design.
 
  
 
===Aggregation of Implemented Elements===
 
===Aggregation of Implemented Elements===
The integration is used to systematically assemble a higher-level system from implemented, lower-level ones (implemented system elements). Integration often begins with analysis and simulations (e.g., various types of prototypes) and progresses through increasingly more realistic systems and system elements until the final product, service, or enterprise is achieved.   
+
The integration is used to systematically assemble a higher-level system from lower-level ones (implemented system elements) that have been implemented. Integration often begins with analysis and {{Term|Simulation (glossary)|simulations}} (e.g., various types of prototypes) and progresses through increasingly more realistic systems and system elements until the final product, service, or enterprise is achieved.   
  
System integration is based on the notion of an [[Aggregate (glossary)|aggregate (glossary)]]. An aggregate is a subset of the system made up of several implemented elements (implemented system elements and physical interfaces) on which a set of verification and validation actions is applied. Each aggregate is characterized by a configuration which specifies the implemented elements to be physically assembled and their configuration status.  
+
System integration is based on the notion of an {{Term|Aggregate (glossary)|aggregate}} - a subset of the system made up of several implemented elements (implemented system elements and physical interfaces) on which a set of V&V actions is applied. Each aggregate is characterized by a configuration which specifies the implemented elements to be physically assembled and their configuration status.  
  
To perform verification and validation actions, a [[Verification and Validation Configuration (glossary)|verification and validation configuration]] that includes the aggregate plus [[Verification and Validation Tool (glossary)|verification and validation tools (glossary)]] is constituted. The verification and validation tools are enabling products and can be simulators (simulated implemented elements), stubs or caps, activators (launchers, drivers), harness, measuring devices, etc.
+
To perform V&V actions, a {{Term|Verification and Validation Configuration (glossary)|V&V configuration}} that includes the aggregate plus {{Term|Verification and Validation Tool (glossary)|V&V tools}} is constituted. The V&V tools are enabling products and can be simulators (simulated implemented elements), stubs or caps, activators (launchers, drivers), harness, measuring devices, etc.
  
 
===Integration by Level of System===
 
===Integration by Level of System===
According to the Vee Model, system definition (top-down branch) is done by successive levels of decomposition; each level corresponds to the physical architecture of systems and system elements. The integration (bottom-up branch) takes the opposite approach of composition (i.e., a level by level approach). On a given level, integration is done on the basis of the physical architecture defined during system definition.
+
According to the Vee Model, system definition (top-down branch) is done by successive levels of decomposition; each level corresponds to the physical architecture of systems and system elements. The integration (bottom-up branch) takes the opposite approach of composition (i.e., a level by level approach). On a given level, integration is done on the basis of the physical architecture defined during {{Term|System Definition (glossary)|system definition}}.
  
 
===Integration Strategy===
 
===Integration Strategy===
 
The integration of implemented elements is generally performed according to a predefined strategy. The definition of the integration strategy is based on the architecture of the system and relies on the way the architecture of the system has been designed. The strategy is described in an integration plan that defines the minimum configuration of expected aggregates, the order of assembly of these aggregates in order to support efficient subsequent verification and validation actions (e.g., inspections and/or testing), techniques to check or evaluate interfaces, and necessary capabilities in the integration environment to support combinations of aggregates. The integration strategy is thus elaborated starting from the selected verification and validation strategy. See the [[System Verification]] and [[System Validation]] topics.  
 
The integration of implemented elements is generally performed according to a predefined strategy. The definition of the integration strategy is based on the architecture of the system and relies on the way the architecture of the system has been designed. The strategy is described in an integration plan that defines the minimum configuration of expected aggregates, the order of assembly of these aggregates in order to support efficient subsequent verification and validation actions (e.g., inspections and/or testing), techniques to check or evaluate interfaces, and necessary capabilities in the integration environment to support combinations of aggregates. The integration strategy is thus elaborated starting from the selected verification and validation strategy. See the [[System Verification]] and [[System Validation]] topics.  
  
To define an integration strategy, one or several possible integration approaches/techniques can be used. Any of these may be used individually or in combination. The selection of integration techniques depends on several factors, in particular, the type of system element, delivery time, order of delivery, risks, constraints, etc. Each integration technique has strengths and weaknesses which should be considered in the context of the system of interest. Some integration techniques are summarized in Table 1 below.
+
To define an integration strategy, there are several possible integration approaches/techniques that may be used individually or in combination. The selection of integration techniques depends on several factors; in particular, the type of system element, delivery time, order of delivery, risks, constraints, etc. Each integration technique has strengths and weaknesses which should be considered in the context of the SoI. Some integration techniques are summarized in Table 1 below.
  
 
{|
 
{|
Line 51: Line 50:
 
|-
 
|-
 
|'''Global Integration'''
 
|'''Global Integration'''
|Also known as "big-bang integration"; all the delivered implemented elements are assembled in only one step.
+
|Also known as ''big-bang integration''; all the delivered implemented elements are assembled in only one step.
*This technique is simple and does not require simulating the implemented elements not being available at that time.
+
* This technique is simple and does not require simulating the implemented elements not being available at that time.
*Difficult to detect and localize faults; interface faults are detected late.
+
* Difficult to detect and localize faults; interface faults are detected late.
*Should be reserved for simple systems, with few interactions and few implemented elements without technological risks.
+
* Should be reserved for simple systems, with few interactions and few implemented elements without technological risks.
 
|-
 
|-
 
|'''Integration "with the Stream"'''
 
|'''Integration "with the Stream"'''
 
|The delivered implemented elements are assembled as they become available.
 
|The delivered implemented elements are assembled as they become available.
*Allows starting the integration quickly.
+
* Allows starting the integration quickly.
*Complex to implement because of the necessity to simulate the implemented elements not yet available. Impossible to control the end to end "functional chains"; so global tests are postponed very late in the schedule.
+
* Complex to implement because of the necessity to simulate the implemented elements not yet available. Impossible to control the end-to-end "functional chains"; consequently, global tests are postponed very late in the schedule.
*Should be reserved for well known and controlled systems without technological risks.
+
* Should be reserved for well-known and controlled systems without technological risks.
 
|-
 
|-
 
|'''Incremental Integration'''
 
|'''Incremental Integration'''
|In a predefined order, one or a very few implemented elements are added to an already integrated increment of implemented elements.
+
|In a predefined order, either one or a very few implemented elements are added to an already integrated increment of implemented elements.
*Fast localization of faults: a new fault is usually localized in lately integrated implemented elements or dependent of a faulty interface.
+
* Fast localization of faults: a new fault is usually localized in lately integrated implemented elements or dependent of a faulty interface.
*Require simulators for absent implemented elements. Require many test case: each implemented element addition require the verification of the new configuration and regression testing.
+
* Require simulators for absent implemented elements. Require many test cases, as each implemented element addition requires the verification of the new configuration and regression testing.
*Applicable to any type of architecture.
+
* Applicable to any type of architecture.
 
|-
 
|-
 
|'''Subsets Integration'''
 
|'''Subsets Integration'''
|Implemented elements are assembled by subsets, and then subsets are assembled together (a subset is an aggregate); could be called "functional chains integration".
+
|Implemented elements are assembled by subsets, and then subsets are assembled together (a subset is an aggregate); could also be called "functional chains integration".
*Time saving due to parallel integration of subsets; delivery of partial products is possible. Requires less means and fewer test cases than integration by increments.
+
* Time saving due to parallel integration of subsets; delivery of partial products is possible. Requires less means and fewer test cases than integration by increments.
*Subsets shall be defined during the design.
+
* Subsets shall be defined during the design.
*Applicable to architectures composed of sub-systems.
+
* Applicable to architectures composed of sub-systems.
 
|-
 
|-
 
|'''Top-Down Integration'''
 
|'''Top-Down Integration'''
 
|Implemented elements or aggregates are integrated in their activation or utilization order.
 
|Implemented elements or aggregates are integrated in their activation or utilization order.
*Availability of a skeleton and early detection of architectural faults; definition of test cases close to reality; re-use of test data sets possible.
+
* Availability of a skeleton and early detection of architectural faults, definition of test cases close to reality, and the re-use of test data sets possible.
*Many stubs/caps need to be created; difficult to define test cases of the leaf-implemented elements (lowest level).
+
* Many stubs/caps need to be created; difficult to define test cases of the leaf-implemented elements (lowest level).
*Mainly used in software domain. Start from the implemented element of higher level; implemented elements of lower level are added until leaf-implemented elements.
+
* Mainly used in software domain. Start from the implemented element of higher level; implemented elements of lower level are added until leaf-implemented elements.
 
|-
 
|-
 
|'''Bottom-Up Integration'''
 
|'''Bottom-Up Integration'''
 
|Implemented elements or aggregates are integrated in the opposite order of their activation or utilization.
 
|Implemented elements or aggregates are integrated in the opposite order of their activation or utilization.
*Easy definition of test cases; early detection of faults (usually localized in the leaf-implemented elements); reduce the number of simulators to be used. An aggregate can be a sub-system.
+
* Easy definition of test cases; early detection of faults (usually localized in the leaf-implemented elements); reduce the number of simulators to be used. An aggregate can be a sub-system.
*Test cases shall be redefined for each step; drivers are difficult to define and realize; implemented elements of lower levels are "over-tested"; does not allow to quickly detecting the architectural faults.
+
* Test cases shall be redefined for each step, drivers are difficult to define and realize, implemented elements of lower levels are "over-tested", and does not allow architectural faults to be quickly detected.
*Mainly used in software domain and in any kind of system.
+
* Mainly used in software domain, but can be used in any kind of system.
 
|-
 
|-
 
|'''Criterion Driven Integration'''
 
|'''Criterion Driven Integration'''
 
|The most critical implemented elements compared to the selected criterion are first integrated (dependability, complexity, technological innovation, etc.). Criteria are generally related to risks.
 
|The most critical implemented elements compared to the selected criterion are first integrated (dependability, complexity, technological innovation, etc.). Criteria are generally related to risks.
*Allow testing early and intensively critical implemented elements; early verification of design choices.
+
* Allows early and intensive testing of critical implemented elements; early verification of design choices.
*Test cases and test data sets are difficult to define.
+
* Test cases and test data sets are difficult to define.
 
|}
 
|}
  
Line 98: Line 97:
 
===Activities of the Process===
 
===Activities of the Process===
  
Major activities and tasks performed during this process include
+
Major activities and tasks performed during this process include:
  
# '''Establish the integration plan''' (this activity is carried out concurrently to the design activity of the system) that defines:
+
*'''Establishing the integration plan''' (this activity is carried out concurrently to the design activity of the system) that defines:
## The optimized integration strategy: order of aggregates assembly using appropriate integration techniques.
+
** The optimized integration strategy order of aggregates assembly using appropriate integration techniques.
## The verification and validation actions to be processed for the purpose of integration.
+
** The V&V actions to be processed for the purpose of integration.
## The configurations of the aggregates to be assembled and verified.
+
** The configurations of the aggregates to be assembled and verified.
## The integration means and verification means (dedicated enabling products) that may include [[Assembly Procedure (glossary)|assembly procedures (glossary)]], [[Assembly Tool (glossary)|assembly tools (glossary)]] (harness, specific tools), [[Verification and Validation Tool (glossary)|verification and validation tools (glossary)]] (simulators, stubs/caps, launchers, test benches, devices for measuring, etc.), and [[Verification and Validation Procedure (glossary)|verification and validation procedures (glossary)]].
+
** The integration means and verification means (dedicated enabling products) that may include {{Term|Assembly Procedure (glossary)|assembly procedures}}, {{Term|Assembly Tool (glossary)|assembly tools}} (harness, specific tools), V&V tools (simulators, stubs/caps, launchers, test benches, devices for measuring, etc.), and {{Term|Verification and Validation Procedure (glossary)|V&V procedures}}.
# '''Obtain the integration means''' and verification means as defined in the integration plan; the acquisition of the means can be done through various ways such as procurement, development, reuse, and sub-contracting; usually the acquisition of the complete set of means is a mix of these methods.
+
* '''Obtain the integration means''' and verification means as defined in the integration plan. The acquisition of the means can be accomplished through various ways such as procurement, development, reuse, and sub-contracting; usually the acquisition of the complete set of means is a mix of these methods.
# '''Take delivery''' of each implemented element:
+
* '''Take delivery''' of each implemented element:
## Unpack and reassemble the implemented element with its accessories.
+
** Unpack and reassemble the implemented element with its accessories.
## Check the delivered configuration, conformance of implemented elements, compatibility of interfaces, and ensure the presence of mandatory documentation.
+
** Check the delivered configuration, conformance of implemented elements and compatibility of interfaces, and ensure the presence of mandatory documentation.
# '''Assemble the implemented elements''' into aggregates:
+
* '''Assemble the implemented elements''' into aggregates:
## Gather the implemented elements to be assembled, the integration means (assembly tools, assembly procedures), and the verification means (verification and validation tools, verification and validation procedures).
+
** Gather the implemented elements to be assembled, the integration means (assembly tools, assembly procedures), and the verification means (V&V tools and procedures).
## Connect the implemented elements on each other to constitute aggregates in the order prescribed by the integration plan and in assembly procedures using assembly tools.  
+
** Connect the implemented elements to each other using assembly tools to constitute aggregates in the order prescribed by the integration plan and in assembly procedures.  
## Add or connect the verification and validation tools to the aggregates as predefined.
+
** Add or connect the V&V tools to the aggregates as predefined.
## Carry out eventual operations of welding, gluing, drilling, tapping, adjusting, tuning, painting, parametering, etc.
+
** Carry out eventual operations of welding, gluing, drilling, tapping, adjusting, tuning, painting, parametering, etc.
# '''Verify each aggregate''':
+
* '''Verify each aggregate''':
## Check the aggregate is correctly assembled according to established procedures.
+
** Check the aggregate is correctly assembled according to established procedures.
## Perform the verification process that uses verification and validation procedures and check that the aggregate shows the right design properties/specified requirements.
+
** Perform the verification process that uses verification and validation procedures and check that the aggregate shows the right design properties/specified requirements.
## Record integration results/reports and potential issue reports, change requests, etc.
+
** Record integration results/reports and potential issue reports, change requests, etc.
  
 
===Artifacts and Ontology Elements===
 
===Artifacts and Ontology Elements===
  
This process may create several artifacts such as
+
This process may create several artifacts such as:
  
# Integrated System
+
* an integrated system
# Assembly Tool
+
* assembly tools
# Assembly Procedure
+
* assembly procedures
# Integration Plan
+
* integration plans
# Integration Report
+
* integration reports
# Issue / Anomaly / Trouble Report
+
* issue/anomaly/trouble reports
# Change Request (about design)
+
* change requests (about design)
  
 
+
This process utilizes the ontology elements discussed in Table 2.
This process handles the ontology elements of Table 2.
 
  
 
{|
 
{|
Line 144: Line 142:
 
|An aggregate is a subset of the system made up of several system elements or systems on which a set of verification actions is applied.
 
|An aggregate is a subset of the system made up of several system elements or systems on which a set of verification actions is applied.
 
----
 
----
Identifier; name; description
+
Identifier, name, description
 
|-
 
|-
 
|'''Assembly Procedure'''
 
|'''Assembly Procedure'''
 
|An assembly procedure groups a set of elementary assembly actions to build an aggregate of implemented system elements.
 
|An assembly procedure groups a set of elementary assembly actions to build an aggregate of implemented system elements.
 
----
 
----
Identifier; name; description; duration; unit of time
+
Identifier, name, description, duration, unit of time
 
|-
 
|-
 
|'''Assembly Tool'''
 
|'''Assembly Tool'''
 
|An assembly tool is a physical tool used to connect, assemble, or link several implemented system elements to build aggregates (specific tool, harness, etc.).
 
|An assembly tool is a physical tool used to connect, assemble, or link several implemented system elements to build aggregates (specific tool, harness, etc.).
 
----
 
----
Identifier; name; description
+
Identifier, name, description
 
|-
 
|-
 
|'''Risk'''
 
|'''Risk'''
 
|An event having a probability of occurrence and a gravity degree on its consequence onto the system mission or on other characteristics (used for technical risk in engineering). A risk is the combination of vulnerability and of a danger or a threat.
 
|An event having a probability of occurrence and a gravity degree on its consequence onto the system mission or on other characteristics (used for technical risk in engineering). A risk is the combination of vulnerability and of a danger or a threat.
 
----
 
----
Identifier; name; description; status
+
Identifier, name, description, status
 
|-
 
|-
 
|'''Rationale'''
 
|'''Rationale'''
|Argument that provides the justification for the selection of an engineering element.
+
|An argument that provides the justification for the selection of an engineering element.
 
----
 
----
Identifier; name; description (rational, reasons for defining an aggregate, assembly procedure, assembly tool)
+
Identifier, name, description (rationale, reasons for defining an aggregate, assembly procedure, assembly tool)
 
|}
 
|}
  
Line 176: Line 174:
 
The main items to be checked during the integration process include the following:
 
The main items to be checked during the integration process include the following:
  
*The integration plan respects its template.
+
* The integration plan respects its template.
*The expected assembly order (integration strategy) is realistic.
+
* The expected assembly order (integration strategy) is realistic.
*No system element and physical interface set out in the system design document is forgotten.
+
* No system element and physical interface set out in the system design document is forgotten.
*Every interface and interaction between implemented elements is verified.
+
* Every interface and interaction between implemented elements is verified.
*Assembly procedures and assembly tools are available and validated prior to beginning the assembly.
+
* Assembly procedures and assembly tools are available and validated prior to beginning the assembly.
*Verification and validation procedures and verification and validation tools are available and validated prior to beginning the verification.
+
* V&V procedures and tools are available and validated prior to beginning the verification.
*Integration reports are recorded.
+
* Integration reports are recorded.
  
 
===Methods and Techniques===
 
===Methods and Techniques===
Several different approaches are summarized above in the section "Integration Strategy" that may be used for integration, yet other approaches exist. In particular, important integration strategies for intensive software systems include vertical integration, horizontal integration, and star integration.
+
Several different approaches are summarized above in the section [http://sebokwiki.org/1.0.1/index.php?title=System_Integration#Integration_Strategy Integration Strategy] (above) that may be used for integration, yet other approaches exist. In particular, important integration strategies for intensive software systems include: vertical integration, horizontal integration, and star integration.
  
'''Coupling matrix and N-square diagram.'''
+
====Coupling Matrix and N-squared Diagram====
One of the most basic methods to define the aggregates and the order of integration would be to use N-Square diagrams (Grady 1994, 190).   
+
One of the most basic methods to define the aggregates and the order of integration would be the use of N-Squared diagrams (Grady 1994, 190).   
  
 
In the integration context, the coupling matrices are useful for optimizing the aggregate definition and verification of interfaces:
 
In the integration context, the coupling matrices are useful for optimizing the aggregate definition and verification of interfaces:
  
*The integration strategy is defined and optimized by reorganizing the coupling matrix in order to group the implemented elements in aggregates, thus minimizing the number of interfaces to be verified between aggregates (see Figure 3).
+
* The integration strategy is defined and optimized by reorganizing the coupling matrix in order to group the implemented elements in aggregates, thus minimizing the number of interfaces to be verified between aggregates (see Figure 3).
  
 
[[File:JS_Figure_9.png|thumb|600px|center|'''Figure 3. Initial Arrangement of Aggregates on the Left; Final Arrangement After Reorganization on the Right.''' (SEBoK Original)]]
 
[[File:JS_Figure_9.png|thumb|600px|center|'''Figure 3. Initial Arrangement of Aggregates on the Left; Final Arrangement After Reorganization on the Right.''' (SEBoK Original)]]
  
*When verifying the interactions between aggregates, the matrix is an aid tool for fault detection. If by adding an implemented element to an aggregate an error is detected, the fault can be either related to the implemented element, to the aggregate, or to the interfaces. If the fault is related to the aggregate, it can relate to any implemented element or any interface between the implemented elements internal to the aggregate.
+
* When verifying the interactions between aggregates, the matrix is an aid tool for fault detection. If by adding an implemented element to an aggregate an error is detected, the fault can be related to the implemented element, to the aggregate, or to the interfaces. If the fault is related to the aggregate, it can relate to any implemented element or any interface between the implemented elements internal to the aggregate.
  
 
===Application to Product Systems, Service Systems, and Enterprise Systems===
 
===Application to Product Systems, Service Systems, and Enterprise Systems===
As the nature of implemented system elements and physical interfaces is different for these types of systems, the aggregates, the assembly tools, and the verification and validation tools are different. Some integration techniques are more appropriate to specific types of systems. Table 3 below provides some examples.
+
As the nature of implemented system elements and physical interfaces is different for these types of systems, the aggregates, the assembly tools, and the V&V tools are different. Some integration techniques are more appropriate to specific types of systems. Table 3 below provides some examples.
 
 
  
 
{|
 
{|
Line 210: Line 207:
 
|-
 
|-
 
|'''System Element'''
 
|'''System Element'''
|Hardware parts (mechanics, electronics, electrical, plastic, chemical, etc.)
+
|Hardware Parts (mechanics, electronics, electrical, plastic, chemical, etc.)
  
Operator roles
+
Operator Roles
  
Software pieces
+
Software Pieces
 
|Processes, data bases, procedures, etc.
 
|Processes, data bases, procedures, etc.
  
Operator roles
+
Operator Roles
  
Software applications
+
Software Applications
 
|Corporate, direction, division, department, project, technical team, leader, etc.
 
|Corporate, direction, division, department, project, technical team, leader, etc.
  
Line 232: Line 229:
 
|Harness, mechanical tools, specific tools
 
|Harness, mechanical tools, specific tools
  
Software linker
+
Software Linker
 
|Documentation, learning course, etc.
 
|Documentation, learning course, etc.
 
|Documentation, learning, moving of office
 
|Documentation, learning, moving of office
Line 240: Line 237:
 
|Activity/scenario models, simulator, human roles rehearsal, computer, etc.
 
|Activity/scenario models, simulator, human roles rehearsal, computer, etc.
  
Skilled experts
+
Skilled Experts
 
|Activity/scenario models, simulator, human roles rehearsal
 
|Activity/scenario models, simulator, human roles rehearsal
 
|-
 
|-
Line 251: Line 248:
 
|Top down integration technique
 
|Top down integration technique
  
Bottom up integration technique
+
Bottom Up Integration technique
 
|Subsets integration technique (functional chains)
 
|Subsets integration technique (functional chains)
 
|Global integration technique
 
|Global integration technique
Line 259: Line 256:
  
 
===Practical Considerations===
 
===Practical Considerations===
Major pitfalls encountered with system integration are presented in Table 4.
+
Key pitfalls and good practices related to system integration are described in the next two sections.
 +
 
 +
===Pitfalls===
 +
Some of the key pitfalls encountered in planning and performing SE Measurement are provided in Table 4.
  
 
{|
 
{|
Line 266: Line 266:
 
!Description
 
!Description
 
|-
 
|-
|'''What is expected has delay'''
+
|'''Delay of expected element'''
|The experience shows that the implemented elements always do not arrive in the expected order and the tests never proceed or result as foreseen; so the integration strategy should allow a great flexibility.
+
|The experience shows that the implemented elements always do not arrive in the expected order and the tests never proceed or result as foreseen; therefore, the integration strategy should allow a great flexibility.
 
|-
 
|-
 
|'''Big-bang not appropriate'''
 
|'''Big-bang not appropriate'''
Line 276: Line 276:
 
|}
 
|}
  
 
+
===Good Practices===
Major proven practices encountered with system integration are presented in Table 5:
+
Some good practices gathered from the references are provided in Table 5.
  
 
{|
 
{|
Line 285: Line 285:
 
|-
 
|-
 
|'''Start earlier development of means'''
 
|'''Start earlier development of means'''
|The development of assembly tools, and verification and validation tools can be as long as the system itself. It should be started as early as possible as soon as the preliminary design is nearly frozen.
+
|The development of assembly tools and verification and validation tools can be take as long as the system development itself. It should be started as early as possible as soon as the preliminary design is nearly frozen.
 
|-
 
|-
 
|'''Integration means seen as enabling systems'''
 
|'''Integration means seen as enabling systems'''
|The development of integration means (assembly tools, verification, and validation tools) can be seen as enabling systems, and so using system definition and system realization processes as described in this SEBoK, and managed as projects. These projects can be led by the project of the corresponding system-of-interest, but assigned to specific system blocks, or can be subcontracted as separate projects.
+
|The development of integration means (assembly tools, verification, and validation tools) can be seen as enabling systems, using system definition and system realization processes as described in this SEBoK, and managed as projects. These projects can be led by the project of the corresponding system-of-interest, but assigned to specific system blocks, or can be subcontracted as separate projects.
 
|-
 
|-
 
|'''Use coupling matrix'''
 
|'''Use coupling matrix'''
Line 294: Line 294:
 
|-
 
|-
 
|'''Flexible integration plan and schedule'''
 
|'''Flexible integration plan and schedule'''
|The integration process of complex systems cannot be easily foreseeable and its progress control difficult to observe. This is why it is recommended to plan integration with specific margins, using flexible techniques, integrating sets by similar technologies.
+
|The integration process of complex systems cannot be easily foreseeable and its progress control difficult to observe. This is why it is recommended to plan integration with specific margins, using flexible techniques, and integrating sets by similar technologies.
 
|-
 
|-
 
|'''Integration and design teams'''
 
|'''Integration and design teams'''
Line 305: Line 305:
 
DAU. February 19, 2010. ''Defense Acquisition Guidebook (DAG)''. Ft. Belvoir, VA, USA: Defense Acquisition University (DAU)/U.S. Department of Defense (DoD).  
 
DAU. February 19, 2010. ''Defense Acquisition Guidebook (DAG)''. Ft. Belvoir, VA, USA: Defense Acquisition University (DAU)/U.S. Department of Defense (DoD).  
  
Faisandier, A. 2011 (unpublished). Engineering and Architecting Multidisciplinary Systems.
+
Faisandier, A. 2012. ''Systems Architecture and Design''. Belberaud, France: Sinergy'Com.
  
ISO/IEC/IEEE. 2008. ''Systems and Software Engineering - System Life Cycle Processes.'' Geneva, Switzerland: International Organization for Standardization (ISO)/International Electronical Commission (IEC), Institute of Electrical and Electronics Engineers. ISO/IEC/IEEE 15288:2008 (E).
+
ISO/IEC/IEEE. 2015.''[[ISO/IEC/IEEE 15288|Systems and Software Engineering - System Life Cycle Processes]].''Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC), Institute of Electrical and Electronics Engineers. [[ISO/IEC/IEEE 15288]]:2015.
  
 
===Primary References===
 
===Primary References===
Line 317: Line 317:
 
Buede, D.M. 2009. ''The Engineering Design of Systems: Models and Methods.'' 2nd ed. Hoboken, NJ, USA: John Wiley & Sons Inc.  
 
Buede, D.M. 2009. ''The Engineering Design of Systems: Models and Methods.'' 2nd ed. Hoboken, NJ, USA: John Wiley & Sons Inc.  
  
DAU. February 19, 2010. ''Defense Acquisition Guidebook (DAG)''. Ft. Belvoir, VA, USA: Defense Acquisition University (DAU)/U.S. Department of Defense.  
+
DAU. 2010. ''Defense Acquisition Guidebook (DAG)''. Ft. Belvoir, VA, USA: Defense Acquisition University (DAU)/U.S. Department of Defense. February 19, 2010.
  
Gold-Bernstein, B., and W.A. Ruh. 2004. ''Enterprise integration: The essential guide to integration solutions''. Boston, MA, USA: Addison Wesley Professional.  
+
Gold-Bernstein, B. and W.A. Ruh. 2004. ''Enterprise integration: The essential guide to integration solutions''. Boston, MA, USA: Addison Wesley Professional.  
  
 
Grady, J.O. 1994. ''System integration''. Boca Raton, FL, USA: CRC Press, Inc.  
 
Grady, J.O. 1994. ''System integration''. Boca Raton, FL, USA: CRC Press, Inc.  
Line 331: Line 331:
 
<center>[[System Implementation|< Previous Article]] | [[System Realization|Parent Article]] | [[System Verification|Next Article >]]</center>
 
<center>[[System Implementation|< Previous Article]] | [[System Realization|Parent Article]] | [[System Verification|Next Article >]]</center>
  
{{5comments}}
+
<center>'''SEBoK v. 2.1, released 31 October 2019'''</center>
  
 
[[Category: Part 3]][[Category:Topic]]
 
[[Category: Part 3]][[Category:Topic]]
 
[[Category:System Realization]]
 
[[Category:System Realization]]
{{DISQUS}}
 

Revision as of 08:59, 28 October 2019


Lead Authors: John Snoderly, Alan Faisandier, Scott Jackson


System integrationSystem integration consists of taking delivery of the implemented system elementssystem elements which compose the system-of-interest (SoI)system-of-interest (SoI), assembling these implemented elements together, and performing the verification and validation actionsverification and validation actions (V&V actions) in the course of the assembly. The ultimate goal of system integration is to ensure that the individual system elements function properly as a whole and satisfy the design properties or characteristics of the system. System integration is one part of the realization effort and relates only to developmental items. Integration should not to be confused with the assembly of end products on a production line. To perform the production, the assembly line uses a different order from that used by integration.

Definition and Purpose

System integration consists of a process that “iteratively combines implemented system elements to form complete or partial system configurations in order to build a product or service. It is used recursively for successive levels of the system hierarchy.” (ISO/IEC 15288 2015, 68). The process is extended to any kind of product systemproduct system, service systemservice system, and enterprise systementerprise system. The purpose of system integration is to prepare the SoI for final validation and transition either for use or for production. Integration consists of progressively assembling aggregates of implemented elements that compose the SoI as architected during design, and to check correctness of static and dynamic aspects of interfaces between the implemented elements.

The U.S. Defense Acquisition University (DAU) provides the following context for integration: The integration process will be used . . . for the incorporation of the final system into its operational environment to ensure that the system is integrated properly into all defined external interfaces. The interface management process is particularly important for the success of the integration process, and iteration between the two processes will occur (DAU 2010).

The purpose of system integration can be summarized as below:

  • Completely assemble the implemented elements to make sure that the they are compatible with each other.
  • Demonstrate that the aggregates of implemented elements perform the expected functions and meet measures of performance/effectiveness.
  • Detect defects/faults related to design and assembly activities by submitting the aggregates to focused V&V actions.

Note: In the systems engineering literature, sometimes the term integration is used in a larger context than in the present topic. In this larger sense, it concerns the technical effort to simultaneously design and develop the system and the processes for developing the system through concurrent consideration of all life cycle stages, needs, and competences. This approach requires the "integration" of numerous skills, activities, or processes.

Principles

Boundary of Integration Activity

Integration can be understood as the whole bottom-up branch of the Vee Model, including the tasks of assembly and the appropriate verification tasks. See Figure 1 below:

Figure 1. Limits of Integration Activities. (SEBoK Original)

The assembly activity joins together, and physically links, the implemented elements. Each implemented element is individually verified and validated prior to entering integration. Integration then adds the verification activity to the assembly activity, excluding the final validation.

The final validation performs operational tests that authorize the transition for use or the transition for production. Remember that system integration only endeavors to obtain pre-production prototypes of the concerned product, service, or enterprise. If the product, service, or enterprise is delivered as a unique exemplar, the final validation activity serves as acceptance for delivery and transfer for use. If the prototype has to be produced in several exemplars, the final validation serves as acceptance to launch their production. The definition of the optimized operations of assembly which will be carried out on a production line relates to the manufacturing process and not to the integration process.

Integration activity can sometimes reveal issues or anomalies that require modifications of the design of the system. Modifying the design is not part of the integration process but concerns only the design process. Integration only deals with the assembly of the implemented elements and verification of the system against its properties as designed. During assembly, it is possible to carry out tasks of finishing touches which require simultaneous use of several implemented elements (e.g., paint the whole after assembly, calibrate a biochemical component, etc.). These tasks must be planned in the context of integration and are not carried out on separate implemented elements and do not include modifications related to design.

Aggregation of Implemented Elements

The integration is used to systematically assemble a higher-level system from lower-level ones (implemented system elements) that have been implemented. Integration often begins with analysis and simulationssimulations (e.g., various types of prototypes) and progresses through increasingly more realistic systems and system elements until the final product, service, or enterprise is achieved.

System integration is based on the notion of an aggregateaggregate - a subset of the system made up of several implemented elements (implemented system elements and physical interfaces) on which a set of V&V actions is applied. Each aggregate is characterized by a configuration which specifies the implemented elements to be physically assembled and their configuration status.

To perform V&V actions, a V&V configurationV&V configuration that includes the aggregate plus V&V toolsV&V tools is constituted. The V&V tools are enabling products and can be simulators (simulated implemented elements), stubs or caps, activators (launchers, drivers), harness, measuring devices, etc.

Integration by Level of System

According to the Vee Model, system definition (top-down branch) is done by successive levels of decomposition; each level corresponds to the physical architecture of systems and system elements. The integration (bottom-up branch) takes the opposite approach of composition (i.e., a level by level approach). On a given level, integration is done on the basis of the physical architecture defined during system definitionsystem definition.

Integration Strategy

The integration of implemented elements is generally performed according to a predefined strategy. The definition of the integration strategy is based on the architecture of the system and relies on the way the architecture of the system has been designed. The strategy is described in an integration plan that defines the minimum configuration of expected aggregates, the order of assembly of these aggregates in order to support efficient subsequent verification and validation actions (e.g., inspections and/or testing), techniques to check or evaluate interfaces, and necessary capabilities in the integration environment to support combinations of aggregates. The integration strategy is thus elaborated starting from the selected verification and validation strategy. See the System Verification and System Validation topics.

To define an integration strategy, there are several possible integration approaches/techniques that may be used individually or in combination. The selection of integration techniques depends on several factors; in particular, the type of system element, delivery time, order of delivery, risks, constraints, etc. Each integration technique has strengths and weaknesses which should be considered in the context of the SoI. Some integration techniques are summarized in Table 1 below.

Table 1. Integration Techniques. (SEBoK Original)
Integration Technique Description
Global Integration Also known as big-bang integration; all the delivered implemented elements are assembled in only one step.
  • This technique is simple and does not require simulating the implemented elements not being available at that time.
  • Difficult to detect and localize faults; interface faults are detected late.
  • Should be reserved for simple systems, with few interactions and few implemented elements without technological risks.
Integration "with the Stream" The delivered implemented elements are assembled as they become available.
  • Allows starting the integration quickly.
  • Complex to implement because of the necessity to simulate the implemented elements not yet available. Impossible to control the end-to-end "functional chains"; consequently, global tests are postponed very late in the schedule.
  • Should be reserved for well-known and controlled systems without technological risks.
Incremental Integration In a predefined order, either one or a very few implemented elements are added to an already integrated increment of implemented elements.
  • Fast localization of faults: a new fault is usually localized in lately integrated implemented elements or dependent of a faulty interface.
  • Require simulators for absent implemented elements. Require many test cases, as each implemented element addition requires the verification of the new configuration and regression testing.
  • Applicable to any type of architecture.
Subsets Integration Implemented elements are assembled by subsets, and then subsets are assembled together (a subset is an aggregate); could also be called "functional chains integration".
  • Time saving due to parallel integration of subsets; delivery of partial products is possible. Requires less means and fewer test cases than integration by increments.
  • Subsets shall be defined during the design.
  • Applicable to architectures composed of sub-systems.
Top-Down Integration Implemented elements or aggregates are integrated in their activation or utilization order.
  • Availability of a skeleton and early detection of architectural faults, definition of test cases close to reality, and the re-use of test data sets possible.
  • Many stubs/caps need to be created; difficult to define test cases of the leaf-implemented elements (lowest level).
  • Mainly used in software domain. Start from the implemented element of higher level; implemented elements of lower level are added until leaf-implemented elements.
Bottom-Up Integration Implemented elements or aggregates are integrated in the opposite order of their activation or utilization.
  • Easy definition of test cases; early detection of faults (usually localized in the leaf-implemented elements); reduce the number of simulators to be used. An aggregate can be a sub-system.
  • Test cases shall be redefined for each step, drivers are difficult to define and realize, implemented elements of lower levels are "over-tested", and does not allow architectural faults to be quickly detected.
  • Mainly used in software domain, but can be used in any kind of system.
Criterion Driven Integration The most critical implemented elements compared to the selected criterion are first integrated (dependability, complexity, technological innovation, etc.). Criteria are generally related to risks.
  • Allows early and intensive testing of critical implemented elements; early verification of design choices.
  • Test cases and test data sets are difficult to define.

Usually, a mixed integration technique is selected as a trade-off between the different techniques listed above, allowing optimization of work and adaptation of the process to the system under development. The optimization takes into account the realization time of the implemented elements, their delivery scheduled order, their level of complexity, the technical risks, the availability of assembly tools, cost, deadlines, specific personnel capability, etc.

Process Approach

Activities of the Process

Major activities and tasks performed during this process include:

  • Establishing the integration plan (this activity is carried out concurrently to the design activity of the system) that defines:
    • The optimized integration strategy – order of aggregates assembly using appropriate integration techniques.
    • The V&V actions to be processed for the purpose of integration.
    • The configurations of the aggregates to be assembled and verified.
    • The integration means and verification means (dedicated enabling products) that may include assembly proceduresassembly procedures, assembly toolsassembly tools (harness, specific tools), V&V tools (simulators, stubs/caps, launchers, test benches, devices for measuring, etc.), and V&V proceduresV&V procedures.
  • Obtain the integration means and verification means as defined in the integration plan. The acquisition of the means can be accomplished through various ways such as procurement, development, reuse, and sub-contracting; usually the acquisition of the complete set of means is a mix of these methods.
  • Take delivery of each implemented element:
    • Unpack and reassemble the implemented element with its accessories.
    • Check the delivered configuration, conformance of implemented elements and compatibility of interfaces, and ensure the presence of mandatory documentation.
  • Assemble the implemented elements into aggregates:
    • Gather the implemented elements to be assembled, the integration means (assembly tools, assembly procedures), and the verification means (V&V tools and procedures).
    • Connect the implemented elements to each other using assembly tools to constitute aggregates in the order prescribed by the integration plan and in assembly procedures.
    • Add or connect the V&V tools to the aggregates as predefined.
    • Carry out eventual operations of welding, gluing, drilling, tapping, adjusting, tuning, painting, parametering, etc.
  • Verify each aggregate:
    • Check the aggregate is correctly assembled according to established procedures.
    • Perform the verification process that uses verification and validation procedures and check that the aggregate shows the right design properties/specified requirements.
    • Record integration results/reports and potential issue reports, change requests, etc.

Artifacts and Ontology Elements

This process may create several artifacts such as:

  • an integrated system
  • assembly tools
  • assembly procedures
  • integration plans
  • integration reports
  • issue/anomaly/trouble reports
  • change requests (about design)

This process utilizes the ontology elements discussed in Table 2.

Table 2. Main Ontology Elements as Handled within System Integration. (SEBoK Original)
Element Definition

Attributes

Aggregate An aggregate is a subset of the system made up of several system elements or systems on which a set of verification actions is applied.

Identifier, name, description

Assembly Procedure An assembly procedure groups a set of elementary assembly actions to build an aggregate of implemented system elements.

Identifier, name, description, duration, unit of time

Assembly Tool An assembly tool is a physical tool used to connect, assemble, or link several implemented system elements to build aggregates (specific tool, harness, etc.).

Identifier, name, description

Risk An event having a probability of occurrence and a gravity degree on its consequence onto the system mission or on other characteristics (used for technical risk in engineering). A risk is the combination of vulnerability and of a danger or a threat.

Identifier, name, description, status

Rationale An argument that provides the justification for the selection of an engineering element.

Identifier, name, description (rationale, reasons for defining an aggregate, assembly procedure, assembly tool)

Note: verification and validation ontology elements are described in the System Verification and System Validation topics.

The main relationships between ontology elements are presented in Figure 2.

Figure 2. Integration Elements Relationships with Other Engineering Elements. (SEBoK Original)

Checking and Correctness of Integration

The main items to be checked during the integration process include the following:

  • The integration plan respects its template.
  • The expected assembly order (integration strategy) is realistic.
  • No system element and physical interface set out in the system design document is forgotten.
  • Every interface and interaction between implemented elements is verified.
  • Assembly procedures and assembly tools are available and validated prior to beginning the assembly.
  • V&V procedures and tools are available and validated prior to beginning the verification.
  • Integration reports are recorded.

Methods and Techniques

Several different approaches are summarized above in the section Integration Strategy (above) that may be used for integration, yet other approaches exist. In particular, important integration strategies for intensive software systems include: vertical integration, horizontal integration, and star integration.

Coupling Matrix and N-squared Diagram

One of the most basic methods to define the aggregates and the order of integration would be the use of N-Squared diagrams (Grady 1994, 190).

In the integration context, the coupling matrices are useful for optimizing the aggregate definition and verification of interfaces:

  • The integration strategy is defined and optimized by reorganizing the coupling matrix in order to group the implemented elements in aggregates, thus minimizing the number of interfaces to be verified between aggregates (see Figure 3).
Figure 3. Initial Arrangement of Aggregates on the Left; Final Arrangement After Reorganization on the Right. (SEBoK Original)
  • When verifying the interactions between aggregates, the matrix is an aid tool for fault detection. If by adding an implemented element to an aggregate an error is detected, the fault can be related to the implemented element, to the aggregate, or to the interfaces. If the fault is related to the aggregate, it can relate to any implemented element or any interface between the implemented elements internal to the aggregate.

Application to Product Systems, Service Systems, and Enterprise Systems

As the nature of implemented system elements and physical interfaces is different for these types of systems, the aggregates, the assembly tools, and the V&V tools are different. Some integration techniques are more appropriate to specific types of systems. Table 3 below provides some examples.

Table 3. Different Integration Elements for Product, Service, and Enterprise Systems. (SEBoK Original)
Element Product System Service System Enterprise System
System Element Hardware Parts (mechanics, electronics, electrical, plastic, chemical, etc.)

Operator Roles

Software Pieces

Processes, data bases, procedures, etc.

Operator Roles

Software Applications

Corporate, direction, division, department, project, technical team, leader, etc.

IT components

Physical Interface Hardware parts, protocols, procedures, etc. Protocols, documents, etc. Protocols, procedures, documents, etc.
Assembly Tools Harness, mechanical tools, specific tools

Software Linker

Documentation, learning course, etc. Documentation, learning, moving of office
Verification Tools Test bench, simulator, launchers, stub/cap Activity/scenario models, simulator, human roles rehearsal, computer, etc.

Skilled Experts

Activity/scenario models, simulator, human roles rehearsal
Validation Tools Operational environment Operational environment Operational environment
Recommended Integration Techniques Top down integration technique

Bottom Up Integration technique

Subsets integration technique (functional chains) Global integration technique

Incremental integration

Practical Considerations

Key pitfalls and good practices related to system integration are described in the next two sections.

Pitfalls

Some of the key pitfalls encountered in planning and performing SE Measurement are provided in Table 4.

Table 4. Major Pitfalls with System Integration. (SEBoK Original)
Pitfall Description
Delay of expected element The experience shows that the implemented elements always do not arrive in the expected order and the tests never proceed or result as foreseen; therefore, the integration strategy should allow a great flexibility.
Big-bang not appropriate The "big-bang" integration technique is not appropriate for a fast detection of faults. It is thus preferable to verify the interfaces progressively all along the integration.
Integration plan too late The preparation of the integration activities is planned too late in the project schedule, typically when first implemented elements are delivered.

Good Practices

Some good practices gathered from the references are provided in Table 5.

Table 5. Proven Practices with System Integration. (SEBoK Original)
Practice Description
Start earlier development of means The development of assembly tools and verification and validation tools can be take as long as the system development itself. It should be started as early as possible as soon as the preliminary design is nearly frozen.
Integration means seen as enabling systems The development of integration means (assembly tools, verification, and validation tools) can be seen as enabling systems, using system definition and system realization processes as described in this SEBoK, and managed as projects. These projects can be led by the project of the corresponding system-of-interest, but assigned to specific system blocks, or can be subcontracted as separate projects.
Use coupling matrix A good practice consists in gradually integrating aggregates in order to detect faults more easily. The use of the coupling matrix applies for all strategies and especially for the bottom up integration strategy.
Flexible integration plan and schedule The integration process of complex systems cannot be easily foreseeable and its progress control difficult to observe. This is why it is recommended to plan integration with specific margins, using flexible techniques, and integrating sets by similar technologies.
Integration and design teams The integration responsible should be part of the design team.

References

Works Cited

DAU. February 19, 2010. Defense Acquisition Guidebook (DAG). Ft. Belvoir, VA, USA: Defense Acquisition University (DAU)/U.S. Department of Defense (DoD).

Faisandier, A. 2012. Systems Architecture and Design. Belberaud, France: Sinergy'Com.

ISO/IEC/IEEE. 2015.Systems and Software Engineering - System Life Cycle Processes.Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC), Institute of Electrical and Electronics Engineers. ISO/IEC/IEEE 15288:2015.

Primary References

INCOSE. 2010. Systems Engineering Handbook: A Guide for Systems Life Cycle Processes and Activities. Version 3.2. San Diego, CA, USA: International Council on Systems Engineering (INCOSE), INCOSE-TP-2003-002-03.2.

NASA. 2007. Systems Engineering Handbook. Washington, D.C.: National Aeronautics and Space Administration (NASA), NASA/SP-2007-6105.

Additional References

Buede, D.M. 2009. The Engineering Design of Systems: Models and Methods. 2nd ed. Hoboken, NJ, USA: John Wiley & Sons Inc.

DAU. 2010. Defense Acquisition Guidebook (DAG). Ft. Belvoir, VA, USA: Defense Acquisition University (DAU)/U.S. Department of Defense. February 19, 2010.

Gold-Bernstein, B. and W.A. Ruh. 2004. Enterprise integration: The essential guide to integration solutions. Boston, MA, USA: Addison Wesley Professional.

Grady, J.O. 1994. System integration. Boca Raton, FL, USA: CRC Press, Inc.

Hitchins, D. 2009. "What are the General Principles Applicable to Systems?" INCOSE Insight 12(4):59-63.

Jackson, S. 2010. Architecting Resilient Systems: Accident Avoidance and Survival and Recovery from Disruptions. Hoboken, NJ, USA: John Wiley & Sons.

Reason, J. 1997. Managing the Risks of Organizational Accidents. Aldershot, UK: Ashgate Publishing Limited.


< Previous Article | Parent Article | Next Article >
SEBoK v. 2.1, released 31 October 2019