Software engineering lecture # 3