Inheritance: What type of relationship is inheritance in object-oriented programming?
Answer: The "is-a" relationship, where one class is a type of another class.
Aggregation: What type of relationship is aggregation?
Answer: The "has-a" relationship, where one class contains another but does not own it.
Composition: How does composition differ from aggregation?
Answer: Composition is a stronger "owns-a" relationship, meaning the contained object cannot exist without the owner.
Key Principle of HCD: What is the key principle of Human-Centered Design?
Answer: Involving the user throughout the design process.
Four Activities in the HCD Process: What are the four main activities in the HCD process?
Answer: Observation, Idea Generation, Prototyping, Testing.
Six Core Elements of HCD: What are the six core elements of Human-Centered Design?
Answer: Understand, Define, Ideate, Prototype, Test, Iterate.
Disparity of Benefit: What does the concept of "Disparity of Benefit" describe?
Answer: A situation where those who contribute effort into a system are not the primary beneficiaries.
Example of Disparity of Benefit: Give an example of disparity of benefit.
Answer: Reviewers on Yelp provide value, but future users and companies benefit the most.
Use Case Diagram Purpose: What is the purpose of a Use Case Diagram?
Answer: To represent how users interact with different features of a system.
Key Elements of a Use Case Diagram: What are the key elements of a Use Case Diagram?
Answer: Actors, Use Cases, Relationships.
State Machine Diagram Purpose: What does a State Machine Diagram show?
Answer: How an object transitions between different states.
Key Elements of a State Machine Diagram: Name the key elements of a State Machine Diagram.
Answer: States, Transitions, Initial State, Final State.
Behavioral Diagrams: What do behavioral diagrams represent?
Answer: The behavior of a system over time and space.
Types of Behavioral Diagrams: What are some types of behavioral diagrams?
Answer: Use Case Diagram, Sequence Diagram, Activity Diagram, State Machine Diagram.
Grouping in UML: What is the purpose of grouping in UML?
Answer: To organize elements into packages or components for better system management.
Example of a Package in UML: Give an example of a package in UML.
Answer: A library system may have a "Books" package containing Book, Author, and Genre classes.
Double Diamond Model Purpose: What is the purpose of the Double Diamond Model?
Answer: To visually represent the iterative nature of design thinking.
Four Phases of the Double Diamond Model: What are the four phases of the Double Diamond Model?
Answer: Discover, Define, Develop, Deliver.
Definition of a System: What is a system in the context of IT?
Answer: A set of interrelated components working together to achieve a specific purpose.
Example of a Real-World System: Give an example of a real-world system.
Answer: A car, where components like the engine, wheels, and sensors work together to transport people.
Deployment Diagram Purpose: What is the purpose of a Deployment Diagram?
Answer: To show software components, how they are deployed, and how they communicate.
Key Elements of a Deployment Diagram: What are the key elements of a Deployment Diagram?
Answer: Nodes, Artifacts, Communication Associations, Deployment Specifications.
Sequence Diagram Purpose: What does a Sequence Diagram show?
Answer: The order of interactions between objects in a system.
Key Elements of a Sequence Diagram: What are the key elements of a Sequence Diagram?
Answer: Objects/Actors, Lifelines, Messages, Activation Bars, Return Messages, Conditions and Loops.
Affordances Definition: What are affordances in design?
Answer: Features that help users understand possible actions within a system.
Class Diagram Purpose: What does a Class Diagram represent?
Answer: The structure of a system, including classes, attributes, methods, and relationships.
Example of a Class in a Class Diagram: Give an example of a class in a Class Diagram.
Answer: Class: Student; Attributes: Name, Age; Methods: Enroll, Study.
Structural Diagrams Purpose: What do structural diagrams represent?
Answer: The static parts of a system that do not change over time.
Types of Structural Diagrams: Name some types of structural diagrams.
Answer: Class Diagram, Object Diagram, Component Diagram, Deployment Diagram, Package Diagram.
Component Diagram Purpose: What does a Component Diagram show?
Answer: How high-level components of a system are connected.
Example of a Component Diagram: Give an example of a system that would use a Component Diagram.
Answer: A web application with frontend, backend, and database components.
Dynamic Diagrams Purpose: What do dynamic diagrams represent?
Answer: The behavior or interactions of a system over time.
Types of Dynamic Diagrams: What are some types of dynamic diagrams?
Answer: Sequence Diagram, Communication Diagram, State Diagram, Activity Diagram.
Activity Diagram Purpose: What does an Activity Diagram represent?
Answer: The flow of control in a system.
Key Elements of an Activity Diagram: Name key elements of an Activity Diagram.
Answer: Activities, Start, End, Decision Node, Merge Node, Fork Node, Join Node, Swimlanes, Control Flows.
Interaction Diagrams Purpose: What do Interaction Diagrams show?
Answer: How objects communicate and interact.
Types of Interaction Diagrams: What are the types of Interaction Diagrams?
Answer: Sequence Diagram, Communication Diagram.
Key Elements of an Interaction Diagram: What are key elements of an Interaction Diagram?
Answer: Objects/Participants, Messages, Activation Boxes, Return Messages.