- The concurrent development model, sometimes called concurrent engineering.
- It allows a software team to represent iterative and concurrent elements of any of the process model.
- For example, the modeling activity defined for the spiral model is accomplished by invoking one or more of the software engineering actions: prototyping, analysis, and design.
- The activity—modeling—may be in any one of the states noted at any given time.
- Similarly, other activities, actions, or tasks (e.g., communication or construction) can be represented in an similar manner.
- All software engineering activities exist concurrently but reside in different states.
- For example, early in a project the communication activity (not shown in the figure) has completed its first iteration and exists in the awaiting changes state.
- The modeling activity (which existed in the inactive state while initial communication was completed, now makes a transition into the under development state. If, however, the customer indicates that changes in requirements must be made, the modeling activity moves from the under development state into the awaiting changes state.
- Concurrent modeling defines a series of events that will trigger transitions from state to state for each of the software engineering activities, actions, or tasks.