Download elsA MDEV-03036

Transcript
elsA
DSNA
5.3.5
Development Process Tutorial
Ref.: /ELSA/MDEV-03036
Version.Edition : 1.4
Date : July 11, 2007
Page :
55 / 67
Integration review
The last stage of the process is the integration review.
Before integration, all elements produced for a development (documentation, source
code and tests cases) are reviewed by reviewers. This is very useful to check the
completeness of all elements and conformity with the development rules. It improves
the homogeneity of the source code and extends knowledge of the source code by the
developers. Furthermore, it is very important to detect most errors and imperfections
as soon as possible so as to minimize the cost of their consequences.
As soon as the development is ready for integration, the developer has to inform the
developer support, and ask for an integration review. The information to communicate
is described on the web site (see the template for mail to be used to ask for an integration review) :
http://elsa.onera.fr/elsA/dev/reviews.html.
This review is mandatory and consists of checking that:
1. all software elements have been furnished : source code, documentation, new
test cases to enrich both Reg (regression test base) and Val (validation test
base);
2. the code of the CVS workspace is ready for integration:
• it has been updated, all conflicts have been removed,
• all debug code has been suppressed;
3. the no-regression Reg test base has been checked; in some situations, it is also
necessary to run the Val test base.
4. coding rules and implementation choices have been respected;
5. the implementation corresponds to the described design;
6. the new test cases are pertinent (check and validate properly the development);
Moreover, the review has to evaluate:
• the code quality: simplicity, clearness, coherency;
• the design solutions and their impact on other developments.
In some cases, additional questions can be asked to the developer, such as:
1. give an estimation of the performance and the vectorization state of the development; in that case, the developer will have to provide "profilers", memory usage
for different computations;
2. check the portability; in that case, the developer will have to perform some tests
on different computers.