Software engineering techniques : development, usage, and future : an honors thesis [(HONRS 499)]