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. Encapsulates a request as an object - thereby letting you parameterize clients with different requests - queue or log requests - and support undoable operations.






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






3. Helps to eliminate unnecessary "include chaining."






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






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






6. Italicized in UML.






7. One of the linking methods (pragma comment)






8. Meetings used to create a release plan - which will lay out the overall project.






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






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






11. Stops when memory changes.






12. Adds files to the repository.






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






14. Are what function classes should include.






15. Whats displayed to the screen






16. Current view/ previous line.






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






18. Create a test and then create a function.






19. Removes files from the repository.






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






21. Function doesn't exist.






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






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






24. Trying to access a location in memory that your computer cannot access.






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






26. Initialized stack memory.






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






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






29. No man's land. Guard bytes before the after allocated heap memory.






30. Use only through the interface of the object.






31. The default nickname for the remote repository.






32. Written by the customers as things that the system needs to do for them.






33. Do not optimize until the very end.






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






35. Simply a value.






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






37. Uploads changes to your current branch.






38. NULL memory.






39. Plan out your code.






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






41. Ask questions and obtain the details and requirements given.






42. Views all previous changes.






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






44. Inheritance between object.






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






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






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






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






49. Ignores files when pushing.






50. Separating out a section of code into a reusable function or class.