to existing applications, and defining system scope and objectives based on user defined needs; devise or modify procedures... to solve complex problems considering computer equipment capacity and limitations, operating time, and form of desired results...