Notes for Software engineering design