Software Design

The major software components are shown as belows: