characteristics of er diagram in software engineering