A list of terms related to software development is presented. Some of the terms are coupling, abstraction, detailed design, class, design, architecture, encapsulation, bottom-up design, error processing, exception handling, and global data. A class is defined as a static programming entity in an object-oriented program that contains a combination of functionality and data. Class is a design and code-time concept but is often used interchangeably with object. A bottom-up design is a design approach in which low-level pieces of a system are combined into an overall design. Construction is defined as an activity in software development consisting of detailed design, coding, unit testing, and debugging. It is also known as programming or development. A function is defined as a routine that returns a value; in C language. Architecture is defined as the organizational structure of a system and its implementation guidelines; sometimes refers to the design of a system's hardware and software components. It is similar to high-level design. A defensive programming is defined as a general approach to programming that assumes that errors will occur during both initial development and maintenance and, as a result, creates code in such a way that the program still operates properly when errors occur.