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. A type of library that is used by the code






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






3. Provide a unified interface to a set of interfaces in a subsystem. Defines a higher-level interface that makes the subsystem easier to use.






4. Undo changes made since your last commit.






5. Symbols that can not be accessed by code in other units have __________. These symbols are usually static non-member functions/variables defined within.c/.cpp or defined in an anonymous namespace.






6. Black Box - The way the program works is internally unknown.






7. Portioning your changes to commit by inserting them into the index.






8. About the interface to an object. Data contained within.






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






10. Use only through the interface of the object.






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






12. Use this to find a memory address or signiture in a dll






13. Ability to treat a class object as a function by overloading the () operator.






14. Connection between a local brand and a remote branch.






15. Static in C++. Can span all instances of a class.






16. Having power over inheritance with the flexibility of composition.






17. Input






18. Initialized heap memory.






19. Functionality Tests.






20. Symbols that can be invoked or used by other code in a different unit. All non inline class member functions and variables - non-static non-member functions and variables defined within a .cpp file






21. Stand up meetings show who will be valuable and needed.






22. A collection of memory addresses for all virtual functions in an objects class hierarchy.






23. Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.






24. Set of all pending changes.






25. A pointer or reference. One object needs to know about the other object to work.






26. Are what function classes should include.






27. Ignores files when pushing.






28. Code generation in a lib






29. Breaks encapsulation boundaries.






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






31. Removes files from the repository.






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






33. Developers should be integrated and releasing code into the code repository every few hours.






34. 2 Eyes + 2 Minds = AWESOME!






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






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






37. Whats displayed to the screen






38. Uploads all changes staged in the index list into the repository database.






39. What is part of the current scope.






40. Put this before a function name in a dll - and the function name will avoid name mangling






41. You have to tell it to link






42. Create a test and then create a function.






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






44. STOP!!






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






46. Meetings at the beginning of each iteration to produce a plan of programming tasks.






47. Simply a value.






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






49. Do not optimize until the very end.






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