A partitioning technique for concurrent software design
Software partitioning is the process of mapping software functional requirements into a set of program modules for implementation. This paper analyzes concurrent software design techniques that are based on structured analysis and design (SA/SD) in order to highlight their potential and their shortcomings. A partitioning technique based on the analysis of the data and control flow of a system's functional requirements is proposed next. This technique, called the Concurrent Software Design Technique (CSDT), extends the current SA/SD techniques by identifying concurrent independent tasks for implementation in multitasking or multiprocessing environments. Finally, the application of this technique is illustrated through an example.