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.