The sentence indicates an action that started in the past (since lunch) and continues up to the present, with the result that the homework is not yet finished. This structure requires the present perfect continuous tense. Therefore, 'has been doing' is the correct choice to express an ongoing action with a duration up to the present moment.