software development
Writing a program that performs a specific task
object-oriented program
The idea of using interacting object that work with each other to achieve a goal
program specification
Given description of a task
program design
A written plan, an overview of the solution
program implementation
The actual writing of the code
test data
The input that is used to test the code
program maintenance
The action of keeping the program running and up-to-date as time goes by
top-down development
The strategy of implementing main classes first, and subsidiary classes later
independent class
A class that doesn’t rely on others in its code in order to perform its task
bottom-up development
Implement lowest level, independent classes first before the main classes
driver class
A main method classes that are used to test other classes
inheritance relationship
is-a relationship between classes
composition relationship
has-a relationship between classes
inheritance hierarchy
Inheritance relationship shown in a tree-like diagram (usually an UML diagram)
UML diagram
Tree-like representation of a relationship between classes
data structure
Java construct for storing a data field (Array, int, boolean)
data encapsulation
Hiding data field and methods in a class by making them private
stepwise refinement
Breaking large methods into smaller methods by using helpers
procedural abstraction
Using separate methods to encapsulate each task
algorithm
Step-by-step process that solves a problem
stub method
Dummy method called by another method being tested, to test if it works
debugging
Fixing errors within the code
robust program
A program that screens out bad inputs
compile-time error
An error that prevents programs form compiling, usually a syntax error.
syntax error
Bad language usage (missing braces)
run-time error
Error that occurs during execution (int division by zero, index out of bounds)
exception
A run-time error thrown by Java method
logic error
Program runs but does the wrong thing (incorrect writing of code)