Please answer each question thoughtfully and carefully.
Please use a word processor to answer the questions.
Please label your answers with the question number and part.
Please answer each question thoughtfully and carefully. I expect your answers to demonstration participation in this class.
You may use books, notes and other non-human references. You may not interact with any other person when answering these questions.
Proper use of terminology will be graded.
The test is due at the end of class.
Submission instructions are at the end of the test.
Submissions should be done through the D2L assignment folder Test 1
If you have problems submitting the test, please contact your instructor.
If you have questions, please communicate with your instructor via email.
Relationships: for the relationships Shared Aggregation, Composition, Inheritance.
[3 points] Describe each.
[6 points] Give an example of each. Explain why your example illustrates the relationship.
[3 points] Create a UML diagram for each of your relationships.
Object Design
[2 points] What criteria should be employed when deciding if something should be an object during the design phase?
[4 points] Give an example of two items which would not qualify as an object. Give the reason that each does not qualify as an object. The reason for disqualification for each should be different.
[4 points] Describe the ADT vector. List domain and operations.
Iterators
[2 points] What is the purpose of an iterator in the STL?
[2 points] Describe the various types of iterators. Why do these types exist?
[2 points] Describe the operations that can be performed on an iterator.
[4 points] Describe the operation of the new [] operator in C++.
Unit testing
[2 points] What is a unit test?
[2 points] How can implementing unit tests during the design process improve the final product?
[2 points] How can a test framework improve the software development process?
[2 points] Describe how unit tests evolve during the software development process.
You only need to add code where indicated by the comments.
You may assume all input is correct and in the proper form. There is no need to change the input.
You should use functions from the algorithm library when indicated. Do not write additional functions for this problem.
The output for this program should be
a 1
b 2
c 3
d 4
e 5
f 1
g 1
h 1
Submission Instructions
Submit your test and the source code for the program to the appropriate D2L assignment folder Test 1 by 5:45.
If you miss this deadline, you can submit your test by email to dbennett@edinboro.edu. Depending on the circumstances, there may be a 5% penalty per minute applied for email submissions.