1/55
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What is the purpose of a system boundary?
Defines the scope of what's inside vs. outside the system. Separates system use cases from external actors and helps prevent scope creep.
What is the difference between <
Include: Required common behavior that MUST happen every time. Extend: Optional behavior triggered conditionally.
What does an Actor represent in use case diagrams?
An external entity (user or external system) that interacts with the system.
What are the 3 main relationships in use case diagrams?
Association (basic line between actor and use case), Include (reusable required behavior), Extend (optional conditional behavior).
When would you use <
When you have common behavior that MUST happen every time. Example: Process Payment includes Validate Credit Card.
When would you use <
For optional behavior that only happens under certain conditions. Example: Place Order extends to Apply Discount Code.
What is generalization in use case diagrams?
Inheritance relationship between actors OR between use cases, showing specialized versions.
What is the difference between aggregation and composition?
Aggregation (hollow diamond): Weak part-whole, parts can exist independently. Composition (filled diamond): Strong part-whole, parts die with the whole.
What does multiplicity indicate in class diagrams?
Shows how many instances of one class relate to instances of another. Examples: 1..1 (exactly one), 0..* (zero or more), 1..* (one or more).
What are the 5 key relationships in class diagrams?
Association (has-a), Aggregation (weak part-whole), Composition (strong part-whole), Generalization (inheritance), Dependency (using relationship).
What is the difference between a class and an object?
Class: A template/concept with attributes and methods. Object: A specific instance of a class.
Give an example of aggregation vs composition
Aggregation: University has Students (students can exist without university). Composition: House has Rooms (rooms die with the house).
What is Association in class diagrams?
A "has-a" relationship showing one class is connected to or uses another class.
What is Dependency in class diagrams?
A "using" relationship where one class temporarily uses another class, typically weaker than association.
What causes scope creep?
Uncontrolled addition of requirements, poor initial requirements gathering, stakeholder pressure, lack of clear boundaries, informal change approvals.
What is the difference between functional and nonfunctional requirements?
Functional: What the system DOES (inputs/outputs). Nonfunctional: Quality attributes (performance, security) that must be measurable.
Give an example of a functional requirement
The system shall allow users to reset their password via email.
Give an example of a nonfunctional requirement
The system shall load the dashboard in less than 2 seconds (measurable performance requirement).
What is requirements velocity?
Measures how many NEW requirements are emerging per unit of time.
What is requirements volatility?
Measures how many requirements CHANGE over time.
What is change frequency in requirements?
How often a specific requirement changes.
What are 4 requirements elicitation techniques?
Interviewing, Observing, Shadowing, Prototyping.
How does a change request process help control scope?
Evaluates impact of changes before accepting them, preventing uncontrolled scope creep.
Why must nonfunctional requirements be measurable?
So they can be objectively verified and tested. Vague terms like "fast" or "secure" cannot be validated.
What is the difference between Verification and Validation?
Verification: Are we building software RIGHT? (process correctness). Validation: Are we building the RIGHT thing? (meeting client needs).
What is boundary value analysis?
Black box testing technique testing at edges of input ranges: minimum, just below min, maximum, just above max. Bugs often lurk at boundaries.
Give an example of boundary value analysis
If valid age is 18-65, test values: 17, 18, 65, 66.
Which is stronger: statement or branch coverage? Why?
Branch coverage is stronger because it tests all possible paths (true/false of every decision). Statement coverage only ensures each line runs once.
Can you have 100% statement coverage but incomplete branch coverage?
Yes. Testing only one path through an if-else gives 100% statement coverage but only 50% branch coverage.
What is the TDD cycle?
Red → Green → Refactor. 1) Write FAILING test first, 2) Write minimal code to pass, 3) Refactor to improve code.
What is Black Box testing?
Testing based on specifications ONLY, without knowledge of internal code structure. Uses equivalence classes and boundary value analysis.
What is White Box testing?
Testing based on code structure. Uses statement coverage and branch coverage to ensure all paths are tested.
What do tests act as in TDD?
Documentation for how the code should behave.
Why should you write the test first in TDD?
Ensures you're testing what the code should do before implementation, catches issues early, and prevents untested code.
What is equivalence partitioning in black box testing?
Dividing input values into groups that should be treated the same way, then testing one value from each group.
What is statement coverage?
White box metric measuring percentage of code statements executed during testing.
What is branch coverage?
White box metric measuring percentage of decision branches (true/false paths) executed during testing.
What is the difference between SOAP and REST?
SOAP: Older, XML-heavy, large bandwidth. REST: Lighter, often JSON, preferred for mobile/low bandwidth.
Why is REST preferred for mobile applications?
It's lighter weight (often uses JSON), requires less bandwidth than SOAP's XML-heavy approach.
Why is caching important in architecture?
Improves performance and supports limited offline operation.
What does SOAP stand for and what protocol does it use?
Simple Object Access Protocol; uses XML for message formatting.
What does REST stand for?
Representational State Transfer; architectural style for web services.
When would you choose SOAP over REST?
When you need strict contracts, built-in security standards, or ACID compliance (rarely needed for modern mobile apps).
What is the EP ORDER for software engineering?
Use Case Diagrams → Class Diagrams → Requirements → Testing (matches typical development flow).
Why are use case diagrams created first?
To understand functional behavior from user perspective before designing system structure.
Why do class diagrams come after use case diagrams?
Use cases define WHAT the system does; class diagrams define HOW the system is structured to do it.
Why does testing come last in EP ORDER?
You need requirements to know what to test, and design/code to test against.
What symbol represents composition in UML?
Filled (solid) diamond on the whole side of the relationship.
What symbol represents aggregation in UML?
Hollow (empty) diamond on the whole side of the relationship.
How do you show multiplicity in class diagrams?
Numbers or ranges near the association line (e.g., 1, 0..1, 1.., 0..).
What does 0..* multiplicity mean?
Zero or more instances (optional, unbounded).
What does 1..* multiplicity mean?
One or more instances (required, unbounded).
What does 1..1 or just 1 mean?
Exactly one instance (required, singular).
Must every actor be linked to at least one use case?
Yes, actors must interact with the system through at least one use case.
What does application domain understanding mean in requirements?
Understanding the business/industry context where the software will be used.
Why is application domain knowledge important?
Helps elicit accurate requirements, identify missing functionality, and validate solutions with stakeholders.