Software Design

The major software components are shown as below: