Graduation Year


Document Type




Degree Granting Department

Electrical Engineering

Major Professor

Wilfrido A. Moreno, Ph.D.

Committee Member

James T. Leffew, Ph.D.

Committee Member

Grisselle Centeno, Ph.D.


device communication, environment control, modular programming, software instrument control, visual c++


Various techniques are used in the process of software development. The requirements of the system being designed and the constraints dictate the selection of a particular method to be used. This thesis attempts to explain the various types of development techniques available to software designers and programmers. It places specific emphasis on the Object Oriented style of design that is presently widely used in all areas of industry.

Object Oriented Programming (OOP) involves a number of new concepts that make software design and development more modular. The actual problem is broken down into a number of smaller components and the functionality of each component is coded separately. These pieces of code are then integrated to form the final application. All the concepts that make this type of programming possible are explained.

The thesis presents a detailed account of the development process of a system used to make measurements on polyurethane pads that are used in the Chemical Mechanical Planarization (CMP) process. The setup uses a combination of a number of instruments to provide excitation to the pad and measure its response. A computer controls all these instruments using a single application. Microsoft Visual C++ was used to develop this application. It makes extensive use of a Graphic User Interface (GUI), Microsoft Foundation Classes (MFC) and driver libraries from instrument manufacturers in order to present a user-friendly interface to the operator.

System Integration, which is the technique used to make the instruments involved interact with the software is explained. The application involves the use of a number of C++ classes and dialog boxes. Each of these is explained along with the underlying algorithms.