Exam Questions and CORRECT Answers
What is the relationship between development effort and maintenance effort? - CORRECT
ANSWER - A small increase in development = large reduction in maintenance time
Describe the build-and-fix approach to software development. What are the problems with it? -
CORRECT ANSWER - Write code, run code, modify it until it works. Only fixes
immediate problems instead of the bigger picture.
What is the main problem with the waterfall model? - CORRECT ANSWER - Doesn't
allow much reflection or revision, nothing works till later in the process. Always moving
forward.
What is a code walkthrough? - CORRECT ANSWER - A meeting where people carefully
walk through the design/sections of the code to see if it meets requirements. Identifies problems
doesn't solve them.
How is white-box testing different from black-box testing? - CORRECT ANSWER - -
White-box testing: focuses on the logic, the implementation. Statement coverage guarantees all
statements are executed and Condition coverage guarantees that all paths through a method are
executed
- Black-box testing: Tests with cases. Groups test cases with the logic that if one works, the other
should work. If the program is determining if a number is 0 - 50, you would test -50, -1, 0, 1, 25,
49, 50, 51, 100
What is a prototype? - CORRECT ANSWER - - A program created to explore a certain
topic. More time and cost-effective.
- Throw-away (quick and dirty;) ) and evolutionary prototypes (incorporated into final)
, What is the evolutionary software development/evolutionary development model? - CORRECT
ANSWER - Divides the design process into the architectural design (classes and
interactions) and detailed design (specific classes, methods, and algorithms)
Explain the attributes of an UML diagram - CORRECT ANSWER - Upper Box:
- Class Name
Second Box:
- Attributes: "+" public, "-" private, "#" protected
ex. "+phoneNumber:int = 1.3"
Third Box:
- Methods: methodName(parameterType): return type
ex. getPhoneNumber(int number) : int
Explain relationships between classes on an UML diagram - CORRECT ANSWER -
Association - straight line
Aggregation - straight line with a diamond toward larger class (signifies class is within another
class)
Inheritance - Straight line with an arrow towards the parent class (signifies a child class)
What labels may go next to a class on an UML diagram - CORRECT ANSWER - 1: Only
one class or object
0..1: 0 to 1 classes or objects
M..N: from M to N (positive integers) objects or classes
*: zero to any positive int
0..*: zero to any positive int
1..*: one to any positive int