Software Development - writing a program
Object - Oriented Programming - Uses interacting objects
Program Specification - Description of a task
Program Design - A written plan, an overview of the solution
Program Implementation - The code
Test Data - Input to test the program
Program Maintenance - Keeping the program up to date and working
Top-Down Development - Implement main classes first, subsidiary classes later
Independent Class - Doesn’t use other classes of the program in its code
Bottom-Up Development - Implement lowest level, independent classes first
Driver Class - Used to test other classes, contains a main method
Inheritance Relationship - “is - a” relationship between classes
Composition Relationship - “has -a” relationship between classes
Inheritance Hierarchy - Inheritance relationships are shown in a tree-like diagram
UML Diagram - Tree-like representation of relationships between classes
Data Structure - Java construct for storing a data field
Data Encapsulation - Hiding data fields and methods in a class
Stepwise Refinement - Breaking methods into smaller methods
Procedural Abstraction - Using separate methods to encapsulate each task
Algorithm - a step-by-step process that solves a problem
Stub Method - Dummy method being called by another method being tested
Debugging - fixing errors
Robust Program - Screens out bad input
Compile time error - Usually a syntax error: prevents program from compiling
Syntax error - Bad language usage( missing brace)
Run time error - Occurs during execution( int division by 0)
Exception - Run time error thrown by Java method
Logic Error - program runs but does the wrong thing