systematic design approach