2. Software Life-cycle Model