Next: 5.4 Procedure for Integration
Up: 5 Integration Testing
Previous: 5.2 Naming Conventions for
  Contents
The order in which classes will be integrated is important, since it defines
the order in which classes must be coded. This will prevent time being wasted
in waiting for classes to be coded, and will make the testing process more
efficient.
Note: The numbers in brackets, eg, (4) or (iv) or (d) refers to the 4th
step of integration for the particular order of integration of the current list.
- Controller module
The order of integrating the Controller module is as follows:
- MainWindow + Selector
- (a) + FileSelection
- (b) + AboutDialog
- (c) + AnalysisPlugins
- (d) + OutputPlugins
- Thread 1: Performing Analysis
The order of integrating Thread 1 is split into integrating each module
involved (Model, Analysis, Output) in a Bottom Up fashion, and then
combining these modules with Controller.
Note: Each of Model, Analysis and Output can be coded and tested in
parallel.
- Model module
The order of integrating the Model module is as follows:
- Model + NetLogInput
- (i) + StreamsLogInput
- (ii) + Table
Note: During development, it was decided to change to using Field
and Stream
classes for holding data about fields and streams, rather than just
using lists of tuples. This resulted in two new classes being added and
needing integration into the system. The order used for this was:
- Stream + StreamsLogInput
- Model + (i)
- Field + NetLogInput
- (ii) + (iii)
- (iv) + Table
- Analysis module
The order of integrating the Analysis module is as follows, noting that
the order starts with integrating the easier classes first (Plot), then
moving towards the harder classes (AutoCorrelation), to enable us to
ease into the harder analyses. Since the analyses modules will be
plugins, they can be coded independently from other analyses, which is
why the order below involves only integrating with AnalysisPlugins.
- AnalysisPlugins + Plot
- AnalysisPlugins + Mean
- AnalysisPlugins + Variance
- AnalysisPlugins + PDF
- AnalysisPlugins + CDF
- AnalysisPlugins + SpectralAnalysis
- AnalysisPlugins + AutoCorrelation
- Output Module
The order of integrating the Output module is as follows. The outputs
are also plugins, so the same comments as per the Analysis Module above
apply here as well.
- OutputPlugins + Graph
- OutputPlugins + TableToFile
- OutputPlugins + TableToScreen
- Controller + Model
- (d) + Analysis
- (e) + Output
- Thread 2: Logging
The order of integrating this thread is as follows:
- NetLogOutput + LogFile
- (1) + StreamsLogOutput
- Network + NetLogger
- (3) + (2)
- Logger + FileChooser
- (5) + SelectFields
- (6) + (4)
- Controller + (7)
- At this stage, Thread 1 has been integrated and Thread 2 has been
integrated. All that remains is to ensure each thread works when the other
thread is present. This can be done in System Testing.
Next: 5.4 Procedure for Integration
Up: 5 Integration Testing
Previous: 5.2 Naming Conventions for
  Contents