UVM Cookbook Scoreboard Doubt

I am going through the scoreboard example in the UVM cookbook, and had a doubt. What do the before and after transactions refer to? In case of memory, lets say we have read and write transactions. What would be before and after transactions in that case as per the scoreboard implementation given in the cookbook?

A before transaction generally refers to an input to your DUT and an after transaction is its output. There are many kinds of DUTs; everything does not always fit into these kinds of before/after transactions.

But since we are directly matching them, doesn’t the before transaction basically means the output of the reference model for the input transaction sent to DUT. Whereas the after transaction is basically the DUT response to that same input.