Final Superdeck Flashcards
(296 cards)
Q1: Software development is all about learning a programming language.
False.
Q1: Object Oriented Programming is
A program consisting of classes and objects organized to manage the complexity of large-scale systems.
Q1: Procedural programming is
A program consisting of methods/functions calling each other.
Q1: A method ___
Implements behaviors relevant to the purpose of the system
Q1: A field or attribute ___
Stores data relevant to the purpose of the system
Q1: A container object
Data structure to store entities
Q1: A control object
Organize computation or flow of the program
Q1: An interface object
Facilitates communication between the system and the outside world
Q1: An entity object
Model of a real-world thing in an application
Q2: T/F A UML Use Case diagram is a type of behavioral diagram.
True.
Q2: In a UML Use Case diagram, what relationship is used in a situation where the execution of a use case ALWAYS involves the execution of an associated use case?
Include.
Q2: T/F A UML Class diagram is a type of behavioral diagram.
False.
Q2: Given three classes, plant, tree, and flower, which of the following best describes their relationship to each other?
Inheritance.
Q2: Given two classes, House and Wall, where the House is a container of Wall objects, what describes their relationship?
Composition.
Q2: Given two classes, Book and Bookshelf, what best describes their relationship?
Aggregation.
Q2: Given two classes, Hammer and Nail, what best describes their relationship?
Association.
Q3: What principle should be used to have a method have different behaviors depending on the class it’s invoked on?
Polymorphism.
Q3: What phrase/term is used to describe inheritance?
a ____ is a _____
i.e.
a cat is an animal
Q3: T/F Interface and inheritance are different names for the same concept.
False.
Q3: T/F. Polymorphism can be expressed in a UML diagram.
False.
Q3: What is the conceptual advantage to Polymorphism?
refactor ugly if and switch/case statements
Q3: What is the conceptual advantage to inheritance?
eliminate redundant code
Q3: What is the conceptual advantage to abstraction?
hide details and show the essentials; isolate the impact of changes
Q3: What is the conceptual advantage to encapsulation?
grouping related variables and functions together to reduce complexity and increase reusability