Software Lifecycle and Theading Methodology from Intel
Software Lifecycle
Specification
Talk to users of the software to find out what functionality is desired, what the input and output specifications are, and, based on the feedback, formally specify the functionality to be included, a general structure of the application, and the code to implement it.
Design
Set down more detailed plans of the application and the functional components of the application.
Implement
Write the code for the application.
Test
Assure that all the parts of the application work as expected, both seperately and within the structure of the entire application, and fix any problems.
Tune
Make improvements to the code in order to get better performance on target platforms.
Maintenance
Fix bugs and continue performance improvements, and add new features not in the original design.
Theading Methodology from Intel
Analysis
Similar to "specification" in software lifecycle, this step will identify the functionality (code) within the application that contain computations that can run independently.
Design and Implementation
This step should be self-explanatory.
Test for correctness
Identify any errors within the code due to incorrect or incomplete implementation of the threading. If the code modifications required for threading have incorrectly altered the serial logic, there is a chance that new logic errors will be introduced.
Tune for performance
Once you have achieved a correct threaded solution, attempt to improve the execution time.