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. Application






2. When a class is defined within another class.






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






4. Plan out your code.






5. NULL memory.






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






7. The linking is already done internally






8. Puts all headers into a master header.






9. Taking code and moving it to a function that usually returns an object. They are always virtual functions.






10. Functionality Tests.






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






12. Views all previous changes.






13. Ignores files when pushing.






14. Allows consumers to try a system earlier and give early feedback.






15. When doing a - precise task.






16. Undo changes made since your last commit.






17. What is part of the current scope.






18. Will execute all code paths and boundary conditions.






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






20. Italicized in UML.






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






22. How many objects that a source object can legitimately reference.






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






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






25. Quick program.






26. Concept based on limiting the scope of modules to provide better structures.






27. Use only through the interface of the object.






28. CONSTANT






29. Current line that is executing.






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






31. Keeps a team using a similar naming convention for things.






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






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






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






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






36. Stops when memory changes.






37. Helps to eliminate unnecessary "include chaining."






38. You have to tell it to link






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






40. When exporting a dll - the names of the functions are changed. This is knwon as ____________.






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






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






43. Ability to accept different types of parameters to bind to different implementations at run-time.






44. Whats displayed to the screen






45. Allows you to switch your working copy to another branch.






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






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






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






49. Code generation in a lib






50. Classes build off of each other.