acceptance testing diagram in software engineering