system and their environment in software engineering