THE CRUCIAL ROLE OF LOW-LEVEL DESIGN (LLD) IN SOFTWARE ENGINEERING