Test your basic knowledge |

SWA - Software Architecture

Instructions:
  • Answer 50 questions in 15 minutes.
  • If you are not ready to take this test, you can study here.
  • Match each statement with the correct term.
  • Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.

This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. Initialized stack memory.






2. When we remove redundant or obsolete designs and replace them with a new.






3. Application






4. Makes a copy of your repository.






5. The process of deciding which function definition to link during run-time.






6. Always do the simplest design that could possibly work.






7. Classes build off of each other.






8. Function doesn't exist.






9. STOP!!






10. Creates a copy of your current branch into a remote branch.






11. When a conflict is fixed.






12. Uploads changes to your current branch.






13. Weak relationship between two classes. Almost always results in a #include.






14. Plan out your code.






15. Simply a value.






16. When a .cpp file is compiled - the header files are first included (recursively) by the pre-processor. This block of code is called a ______________.






17. Ignores files when pushing.






18. You have to tell it to link






19. When doing a - precise task.






20. Breaks encapsulation boundaries.






21. CONSTANT






22. Initialized heap memory.






23. Figure out what is feasible. Decide whether to use API's or to write from scratch.






24. Downloads without merging.






25. Creates a spin-off of a repository for concurrent development.






26. Valid input that the program is designed to process.






27. Removes files from the repository.






28. Helps to eliminate unnecessary "include chaining."






29. Set of all pending changes.






30. Italicized in UML.






31. Copies all changes from one branch into another branch.






32. Try to find the flaws in your code.






33. Takes information in the index and pushes it onto the stack.






34. Ensure a class only has one instance - and provide a global point of access to it






35. Bad! Don't ever use these types of variables!






36. Treating a derived class's data members like it's base class's.






37. A function that can load a library






38. Bookmark of a revised set with a title. For easy checkouts.






39. Reusing existing functionality by defining a relationship between two classes : Inheritance or containment.






40. No more than 40 hours to stop burnouts.






41. Whats displayed to the screen






42. Encapsulates a request as an object - thereby letting you parameterize clients with different requests - queue or log requests - and support undoable operations.






43. Inheritance between object.






44. Cross training is an important consideration to try and prevent islands of knowledge - which can cause loss.






45. (Door-----Spell) BI_DIRECTIONAL because both classes can reference each other. (Door--->Spell) DIRECTIONAL because only the door knows and can reference Spell.






46. Linking to dynamic libraries is usually handled by linking to an ____________.






47. A reference. Has and delete dynamic memory. implies ownership (Association does not).






48. When a concrete class inherits from a pure interface.






49. Compose objects into tree structures to represent part-whole hierarchies. Lets clients treat individual objects and compositions of objects uniformly.






50. A group of code. unnamed can only be accessed within that translation unit - name can be accessed anywhere