Software Engineering Requirements & UML: Key Concepts and Techniques quiz 2

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

1/50

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.

51 Terms

1
New cards

Requirements elicitation

Collecting requirements from stakeholders

2
New cards

Requirements analysis

Modeling desired behavior for better understanding

3
New cards

Requirements specification

Defining requirements in clear language

4
New cards

Requirements validation/verification

Verifying specified requirements

5
New cards

Software Requirements Specification (SRS)

Final outcome document of the requirements process

6
New cards

Clients

Pay for software development

7
New cards

Customers

Buy software after development

8
New cards

Users

Actually use the system

9
New cards

Domain experts

Familiar with the problem area

10
New cards

Market researchers

Determine trends and potential customers

11
New cards

Lawyers/auditors

Know legal/safety requirements

12
New cards

Software engineers

Technology experts

13
New cards

What questions

Lead to facts about the problem

14
New cards

Why questions

Reveal deeper motivations and problem structure

15
New cards

How/Where/When questions

Provide process details

16
New cards

Could questions

Maximally open, might lead to useful insights

17
New cards

Good interview practices

Ask open-ended questions instead of yes/no questions

18
New cards

Focus on problems

Customers don't know the technical solution

19
New cards

Don't ask leading questions

Avoid suggesting answers

20
New cards

Ask 'obvious' questions

Don't make assumptions

21
New cards

Use putative questions

Test your understanding of the domain

22
New cards

Allow periods of silence

Give stakeholders time to think

23
New cards

Functional Requirements

State what the system should do, describing system behavior and services.

24
New cards

Non-Functional Requirements

Describe constraints on the system, including quality attributes like performance, security, portability, and scalability.

25
New cards

Invariant Requirements

Conditions that always hold true, critical for safety systems.

26
New cards

Characteristics of Good Requirements

Cohesive, complete, consistent, unambiguous, and verifiable.

27
New cards

Cohesive

Addresses only one system property.

28
New cards

Complete

Fully stated with no missing information.

29
New cards

Consistent

Doesn't contradict other requirements.

30
New cards

Unambiguous

Clear to any reader.

31
New cards

Verifiable

Can be demonstrated, measured, tested.

32
New cards

Common Problems to Avoid

Mixing functional and non-functional requirements, including implementation details, using vague terms, and non-verifiable statements.

33
New cards

Writing Tips

Use 'shall' for verifiable requirements, provide context and quantifiable measures, break complex requirements into atomic elements, and specify acceptable error bounds and conditions.

34
New cards

Unified Modeling Language (UML)

A tool to visualize, specify, construct, and document a system.

35
New cards

Structural Diagrams

Static aspects of UML including Class Diagram, Interface Diagram, Object Diagram, Component Diagram, and Deployment Diagram.

36
New cards

Behavioral Diagrams

Dynamic aspects of UML including Use Case Diagram, Sequence Diagram, Collaboration Diagram, Statechart Diagram, and Activity Diagram.

37
New cards

UML Development Process

Steps include capturing requirements, identifying objects/relationships, creating usage scenarios, generalizing behavior, and adding implementation details.

38
New cards

Actor

External entity that interacts with the system.

39
New cards

Component

Physical grouping of elements such as classes and interfaces.

40
New cards

Node

Computational resource that exists at runtime.

41
New cards

Use Case

High-level service or goal from the user perspective.

42
New cards

Class Diagram

Illustrates classes and their relationships.

43
New cards

Interface Diagram

Specifies operations that define class services.

44
New cards

Object Diagram

Shows objects and their relationships.

45
New cards

Component Diagram

Represents physical realization of logical groupings.

46
New cards

Deployment Diagram

Depicts nodes and relationships at runtime.

47
New cards

Use Case Diagram

Organizes system behaviors from an external perspective.

48
New cards

Sequence Diagram

Focuses on the time ordering of messages.

49
New cards

Collaboration Diagram

Focuses on the structural organization of message-sending objects.

50
New cards

Statechart Diagram

Illustrates changing states driven by events.

51
New cards

Activity Diagram

Shows flow of control between activities.