software exam study

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/55

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

56 Terms

1
New cards

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.

2
New cards

What is the difference between <> and <>?

Include: Required common behavior that MUST happen every time. Extend: Optional behavior triggered conditionally.

3
New cards

What does an Actor represent in use case diagrams?

An external entity (user or external system) that interacts with the system.

4
New cards

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).

5
New cards

When would you use <>?

When you have common behavior that MUST happen every time. Example: Process Payment includes Validate Credit Card.

6
New cards

When would you use <>?

For optional behavior that only happens under certain conditions. Example: Place Order extends to Apply Discount Code.

7
New cards

What is generalization in use case diagrams?

Inheritance relationship between actors OR between use cases, showing specialized versions.

8
New cards

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.

9
New cards

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).

10
New cards

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).

11
New cards

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.

12
New cards

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).

13
New cards

What is Association in class diagrams?

A "has-a" relationship showing one class is connected to or uses another class.

14
New cards

What is Dependency in class diagrams?

A "using" relationship where one class temporarily uses another class, typically weaker than association.

15
New cards

What causes scope creep?

Uncontrolled addition of requirements, poor initial requirements gathering, stakeholder pressure, lack of clear boundaries, informal change approvals.

16
New cards

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.

17
New cards

Give an example of a functional requirement

The system shall allow users to reset their password via email.

18
New cards

Give an example of a nonfunctional requirement

The system shall load the dashboard in less than 2 seconds (measurable performance requirement).

19
New cards

What is requirements velocity?

Measures how many NEW requirements are emerging per unit of time.

20
New cards

What is requirements volatility?

Measures how many requirements CHANGE over time.

21
New cards

What is change frequency in requirements?

How often a specific requirement changes.

22
New cards

What are 4 requirements elicitation techniques?

Interviewing, Observing, Shadowing, Prototyping.

23
New cards

How does a change request process help control scope?

Evaluates impact of changes before accepting them, preventing uncontrolled scope creep.

24
New cards

Why must nonfunctional requirements be measurable?

So they can be objectively verified and tested. Vague terms like "fast" or "secure" cannot be validated.

25
New cards

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).

26
New cards

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.

27
New cards

Give an example of boundary value analysis

If valid age is 18-65, test values: 17, 18, 65, 66.

28
New cards

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.

29
New cards

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.

30
New cards

What is the TDD cycle?

Red → Green → Refactor. 1) Write FAILING test first, 2) Write minimal code to pass, 3) Refactor to improve code.

31
New cards

What is Black Box testing?

Testing based on specifications ONLY, without knowledge of internal code structure. Uses equivalence classes and boundary value analysis.

32
New cards

What is White Box testing?

Testing based on code structure. Uses statement coverage and branch coverage to ensure all paths are tested.

33
New cards

What do tests act as in TDD?

Documentation for how the code should behave.

34
New cards

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.

35
New cards

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.

36
New cards

What is statement coverage?

White box metric measuring percentage of code statements executed during testing.

37
New cards

What is branch coverage?

White box metric measuring percentage of decision branches (true/false paths) executed during testing.

38
New cards

What is the difference between SOAP and REST?

SOAP: Older, XML-heavy, large bandwidth. REST: Lighter, often JSON, preferred for mobile/low bandwidth.

39
New cards

Why is REST preferred for mobile applications?

It's lighter weight (often uses JSON), requires less bandwidth than SOAP's XML-heavy approach.

40
New cards

Why is caching important in architecture?

Improves performance and supports limited offline operation.

41
New cards

What does SOAP stand for and what protocol does it use?

Simple Object Access Protocol; uses XML for message formatting.

42
New cards

What does REST stand for?

Representational State Transfer; architectural style for web services.

43
New cards

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).

44
New cards

What is the EP ORDER for software engineering?

Use Case Diagrams → Class Diagrams → Requirements → Testing (matches typical development flow).

45
New cards

Why are use case diagrams created first?

To understand functional behavior from user perspective before designing system structure.

46
New cards

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.

47
New cards

Why does testing come last in EP ORDER?

You need requirements to know what to test, and design/code to test against.

48
New cards

What symbol represents composition in UML?

Filled (solid) diamond on the whole side of the relationship.

49
New cards

What symbol represents aggregation in UML?

Hollow (empty) diamond on the whole side of the relationship.

50
New cards

How do you show multiplicity in class diagrams?

Numbers or ranges near the association line (e.g., 1, 0..1, 1.., 0..).

51
New cards

What does 0..* multiplicity mean?

Zero or more instances (optional, unbounded).

52
New cards

What does 1..* multiplicity mean?

One or more instances (required, unbounded).

53
New cards

What does 1..1 or just 1 mean?

Exactly one instance (required, singular).

54
New cards

Must every actor be linked to at least one use case?

Yes, actors must interact with the system through at least one use case.

55
New cards

What does application domain understanding mean in requirements?

Understanding the business/industry context where the software will be used.

56
New cards

Why is application domain knowledge important?

Helps elicit accurate requirements, identify missing functionality, and validate solutions with stakeholders.