Software Design is the process of selecting and documenting the most effective and
efficient system elements that together
will implement the software system
requirements [8]. The design represents a
specific, logical approach to meet the software requirements.