Subdividing a surface like this

:+1:

for better topology solution, without duplicated vertex in boundary, look this: