Skip to Main Content U.S. Department of Energy
EARTH at PNNL

Frames 1x

QA/QC Appendix A, PNNL-11880

Guidance for Designing, Developing, Testing, and Implementing Environmental Software Systems

For each new or modified system or module, the project team follows the general process described below. Each step in the process has its own guidance to project staff.

Step 1—Requirements Analysis (Section 3.1)
 

step 1
The subject matter expert (SME) leads team members in determining what the requirements are for the module or framework. The resulting requirements package should list requirements in general categories, breaking each category down into sufficient detail that the custodians and code developers will clearly understand what is expected as an outcome for the software. This breakdown can be documented in the form of an outline or work breakdown structure. When the requirements package is completed, the subject matter expert provides a copy to the project custodian and the module or framework custodian.

Step 2-Step 4—System Design and Development (Section 3.2)

Step 2
 

step 2
The framework or module custodian (depending on whether a framework or module is being developed) leads the code developers in determining what kinds of software components and coding must be developed to meet the requirements. Every requirement level and sub-level should be addressed. The requirements can be addressed using a matrix that lists software components or processes next to requirement or in a database that connects correlates requirements with design elements. These design elements should be specified sufficiently clearly to allow understanding by all members of the development team.

Step 3
 

step 3
The subject matter expert(SME) and framework or module custodian (depending on whether a framework or module is being developed) meet to confirm relationships between and the "whats" and the "hows". At this time the subject matter expert and custodian decide on a ranking of both the requirements and related design elements to ensure the development process addresses the more critical items before others. This information is added to the software development package and the database that was used to match the requirements and design elements previously. 

Step 4
 

step 4
The framework or module custodian (depending on whether a framework or module is being developed) reviews the design elements confirmed by the subject matter expert (SME) in Step 3 to determine whether they are dependent, have positive relationships, or are mutually exclusive and therefore, likely cause difficulties in implementation. This information is also added to the software development package and the database that was used to match the requirements and elements previously. In addition, at this point, the framework or module custodian should address the finer points of the design for the software development package. The process of evaluating the current set of design elements by asking the question "how will each of these elements be address?" is often used to breakdown the design into workable sections that can then be assigned to code developers.

Step 5—System Integration, Testing, and Evaluation (Section 5.0)
 

step 5
The application expert leads the testers and technical reviewers in answering the question: "How will we know the software works?" They focus on both the design elements and the requirements, allowing both to be tested. The test package may contain the following information:

Step 6—System Design and Development (Section 3.2)
 

step 6
The framework developers implement the design elements identified in previous steps. When finished, they complete the software development package.

Step 7—System Integration, Testing, and Evaluation (Section 5.0)
 

step 7
The application expert leads the testers and technical reviewers in running the tests and determining whether the results are acceptable in ensuring that the software will meet client requirements. The results of the tests and any modifications made to the module or framework as a result of the tests are included in the development package and software test package then submitted to the project custodian.

Step 8—System Implementation (Section 6.0)
 

step 8
The subject matter expert is responsible for determining if the software is ready to be delivered to the client. This involved confirming the completeness of the requirements package, the development package, and the software test package. Any technology transfer, implementation support, and training are determined and implemented in this step. 

Throughout the above Steps additional information or clarification can send the process back to any previous step. From that entry point, however, the steps must be completed in order. For example, an additional client need identified in step 7 will send the team back to enhance the existing information in Step 1. From there the team will progress to Step 2, 3 and so on. Although the process is defined the time spent in each step is determined by the additional information and its affects on the software system. This approach will allow for the flexibility of accepting additional information with the traceability of a well defined process.


EARTH

APPLICATION

DESIGN

SOFTWARE &
DEVELOPMENT TOOLS

TRAINING

Related EARTH Links