DRAFT EVALUATION OF
MODULARIZATION OF SOFTWARE
STRUCTURED PROGRAMING vs OBJECT ORIENTED PARADIGMS
(with hints and links to answers at the end)

Multiple Choice and Matching Questions

Note that some of the multiple choice questions may have more than one correct answer; you should circle the most appropriate answer.
  1. The essence of the divide and conqueor strategy of all software development is: (a) classes  (b) procedures  (c) modularization  (d) algorithm  (e) function
  2. What is the standard representation of an abstract algorithm, from which one would write procedural code in any language?  (a) UML class diagram  (b) object model  (c) flowchart  (d) pseudocode  e) SAC
  3. Algorithm development is to programing as ___________ is to object oriented software development.  (a) modularization  (b) modeling  (c) diagramming  (d) divide and conqueor  (e) analysis and design
  4. What is the standard representation of an abstract OO architecture, from which one would write OO code in any language?  (a) UML class diagram  (b) object model  (c) flowchart (d) algorithm
  5. If a piece of software contains everything to "do it's job" and nothing more, it is said to be.  (a) modular  (b) highly cohesive  (c) loosely coupled  (d) algorithmic  (e) a class
  6. If a software element can be plugged into various software architectures or algorithms it is said to be.  (a) modular  (b) highly cohesive  (c) loosely coupled  (d) algorithmic  (e) a class
  7. The key feature of OOSD is that classes (select one only):  (a) modularize software  (b) encapsulate behavior and state  (c) are represented by UML diagrams  (d) model real world systems  (e) are related in software architectures
  8. Typically classes are named with (a) nouns  (b) verbs  (c) adverbs  (d) adverbs
Short Answer Questions
  1. (U) What is the difference between structured programming and OOSD?
  2. (U) What is the most important point of the presentation?
HINTS
(Don't read these until you have exhausted your efforts at reviewing the presentation itself)
  1. The key word in the question is "all".  What is the title of the presentation?  If you remove "all", there are three acceptable answers to the question.  What are they?
  2. There are three correct answers to this question.
  3. Remember programming focuses on tasks where as OOSD focuses on software architectures.
  4. The key term is "OO"; for that there are two acceptable answers.  Which is the "best answer"?
  5. The key words in the question are "nothing more".
  6. The key word is "plugged in", i.e. it can be incorporated in different kinds of software.
  7. Hmmm!  All of the answers would be "acceptable"  Can you prioritize them from most important to least important?  (Note that none of these are unimportant!)
  8. Remember that classes are abstract objects so their names should be like those of objects.
  9. There are several difference.  How is software ______________ is the most fundamental difference, but what are the others?
  10. See the previous hint.