يجب
should refers to an advice in present and future and about mistake in the past
Advice
you shuld study hard for exam
Mistake
should have كان يجب
you should have studied hard last night, but you did not
Should is 90% certainty (expectation) as
I should do well in the next exam
(future only and not present)
I should have got a high mark in the last exam
(just past)
Ought to
90%( certainty (expectation
she ought to practice for ballet next week
future only and not present
she ought to have practised for ballet last week, but she didnt
just past
Ought to as advice
you ought to do your work this morning
I ought to have studied last night, but I didnt