Analysis, design, tests, documentation, training and quality assurance of all artifacts designed for computer systems according to customer needs