The components of a computer system that are not physical, including programs, procedures, algorithms, and documentation pertaining to the operation of a system and the performance of specific tasks, such as word processing, Web browsers, photo editing, and art cataloging or vocabulary editing