Software Engineering I - Chapter 5

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/89

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.

90 Terms

1
New cards

Functional Requirement

Describe the services, tasks, or functions the system is expected to perform.

2
New cards

Non-functional Requirements

How the system performs its functions

3
New cards

Input Requirements

Specify how the system should capture and handle user inputs.

4
New cards

Process Requirements

Describe the specific workflows, actions, and interactions that the system should perform to achieve its intended functionalities.

5
New cards

Data Requirements

Specify how the system should manage and store data.

6
New cards

Product Requirements

Specify or limit how the software behaves during execution

7
New cards

Organizational Requirements

Are system constraints based on company and developer’s policies or procedures, including how the system is used, what tools or languages are allowed, and the system’s required environment.

8
New cards

External Requirements

Come from outside influences like laws, regulations, or ethical standards, and dictate what the system must comply with to be legally and socially acceptable.

9
New cards

Functional Requirement

Specify what the system should do

10
New cards

Functional Requirement

Describe specific features, operations, and behaviors.

11
New cards

Non-Functional Requirement

Specify how the system performs its functions.

12
New cards

Non-Functional Requirement

Describe quality attributes such as performance, usability, and security.

13
New cards

Requirements Gathering

The process of collecting the needs and expectations of stakeholders for a new or modified product.

14
New cards

Interview Technique

Conducting one-on-one or group discussions with stakeholders to extract detailed information.

15
New cards

Structured
Semi-structured
Unstructured interviews

Types of Interview Technique

16
New cards

Surveys and Questionnaires

Distributing a set of predefined questions to a large audience to gather information.

17
New cards

Workshops

Facilitated sessions involving stakeholders to collaboratively define requirements.

18
New cards

Brainstorming Sessions

Group activity aimed at generating a wide range of ideas and solutions.

19
New cards

Focus Groups

Guided discussions with selected stakeholders to obtain feedback on specific topics.

20
New cards

Observation

Watching users interact with a system to identify needs and issues.

21
New cards

Passive (no interaction)
Active (with interaction)

Types of Observation Technique

22
New cards

Document Analysis

Reviewing existing documentation to extract relevant information.

23
New cards

Prototyping

Developing preliminary versions of a system to refine requirements through user feedback.

24
New cards

Use Cases and Scenarios

Creating narratives that describe how users interact with the system.

25
New cards

Role-Playing

Stakeholders act out interactions with the system to uncover requirements.

26
New cards

Joint Application Development (JAD)

Structured workshops involving stakeholders and developers to define requirements collaboratively.

27
New cards

Reverse Engineering

Analyzing existing systems to identify components and interrelationships.

28
New cards

Interface Analysis

Examining interactions between systems, users, and interfaces to identify requirements.

29
New cards

Software Requirement Specification

is a formal document describing the purpose and environment of software under development.  Serves as a contract between client and developer and defines what the system should do and constraints on it.

30
New cards

Functional Requirements
Non-Functional Requirements
Domain Requirements
Interface Requirements
Constraints

Key components of an SRS:

31
New cards

User Requirements

High-level, in natural language

32
New cards

System Requirements

Detailed, precise, often technical

33
New cards

Requirements elicitation

Understand stakeholders and their work

34
New cards

Interview
Closed Interview
Open Interview
Ethnography
Requirements Specification

Requirement Elicitation Techniques

35
New cards

Requirements Elicitation and Specification

Collect raw data from stakeholders and document it clearly.

36
New cards

Requirements Analysis

is a foundational step in software engineering that ensures a product aligns with user needs and expectations.

37
New cards

Verification

Ensure requirements are correctly written.

38
New cards

Validation

Ensure requirements reflect the actual user needs.

39
New cards

Requirements Management & Traceability

Maintain requirements throughout the project and ensure they are traceable to design, code, and testing.

40
New cards

UML Diagrams

Use case, sequence, and activity diagrams to visualize system behavior.

41
New cards

Prototyping Tools

Tools like Figma and Balsamiq for mockups to get early feedback.

42
New cards

Requirements Management Software

Tools like JIRA, IBM DOORS, ReqView, and Trello to manage and track changes.

43
New cards

Traceability Matrix

Ensures every requirement is mapped to design, code, and testing.

44
New cards

Formal Specification Methods

Use mathematical models for critical systems needing precision.

45
New cards

Functional Requirements

Define system behavior or functions (e.g., user login, data processing).

46
New cards

Non-Functional Requirements

Specify performance, usability, and security expectations.

47
New cards

Business Requirements

Reflect strategic goals and market needs from a business viewpoint.

48
New cards

Technical Requirements

Include specific technical specs like hardware, software, and integration.

49
New cards

Regulatory Requirements

Ensure compliance with laws, standards, and policies.

50
New cards

Elicitation

Gathering information from stakeholders via interviews, surveys, focus groups, or workshops.

51
New cards

Analysis

Identifying ambiguities, conflicts, redundancies, or gaps in gathered data.

52
New cards

Specification

Converting the information into a formal document of functional and non-functional requirements.

53
New cards

Validation

Checking if requirements are realistic, complete, and aligned with project goals.

54
New cards

Management

Tracking changes and maintaining traceability of requirements throughout the project lifecycle.

55
New cards

UML (Unified Modeling Language)

A standardized language used to specify, visualize, construct, and document artifacts of software systems, facilitating clear communication among stakeholders

56
New cards

Structural diagrams

Visualize the components that make up a system and the relationship between them — showing the static aspects of a system.

57
New cards

Behavioral diagrams

Represent what happens within a system — including how the components interact with each other and with other systems or users.

58
New cards

Class Diagram

Shows system classes, attributes, and relationships.

59
New cards

Object Diagram

Like class diagrams, they also show the relationship between objects but they use real-world examples.

60
New cards

Component Diagram

Describes structural relationship of components of the system.

61
New cards

Deployment Diagram

Shows hardware nodes and software deployment

62
New cards

Composite Structure Diagram

Shows the internal structure of a class and the collaborations that this structure makes possible

63
New cards

Package Diagram

shows the dependencies between different packages in a system

64
New cards

Profile Diagram

Provides a way to extend UML for particular domains or platforms (custom stereotypes, tagged values). New diagram and rare to use.

65
New cards

Use Case Diagram

Describes system functionalities and interactions with actors.

66
New cards

Sequence Diagram

Displays interactions ordered in time between objects.

67
New cards

Activity Diagram

Illustrates workflows and control flow with decision points.

68
New cards

State Diagram

Depicts the states of an object and transitions

69
New cards

Communication Diagram

Similar to sequence diagram but focuses on the structure of message passing between objects.

70
New cards

Interaction Overview Diagram

combines activity and sequence diagrams to show control flow with interaction nodes.

71
New cards

Timing Diagram

shows object behaviors over time with respect to time constraints and changes.

72
New cards

Use Cases

It tells a stylized story about how an end user interacts with the system under a specific set of circumstances.

73
New cards

Actor

The user or external system that interacts with the system.

74
New cards

Goal

The desired outcome or purpose of the interaction.

75
New cards

Main Flow

The typical, straightforward sequence of steps to achieve the goal.

76
New cards

Alternate Flows / Extensions

Variations or exceptions in the scenario

77
New cards

Preconditions

What must be true before the use case begins.

78
New cards

Post-conditions

What must be true when the use case ends.

79
New cards

Primary actors

They directly interact with the system to accomplish a specific task or goal.

80
New cards

Secondary actors

They are basically the support of the primary actors.

81
New cards

Data Flow Diagram

A graphical representation of how data flows through a system

82
New cards

External Entities (squares)

Represent sources or destinations of data outside the system, such as people, organizations, or external systems.

83
New cards

Process (Circles)

Indicate activities that transform input data into output, such as calculations, decision-making, or data routing.

84
New cards

Data Store (Open Rectangles)

Holds data and information for future use, like databases, files, repositories or forms.

85
New cards

Data flows (Arrows)

Show the movement of data between entities, processes, and data stores, illustrating how information flows through the system.

86
New cards

Logical DFD

shows only the processes and where the data flows.

87
New cards

Physical DFD

 includes the tools and technologies used in each process.

88
New cards

Level 0 Diagram (Context Diagram)

It represents the entire system as a single process and shows the interaction between the system and external entities.

89
New cards

Level 1 Diagram

This level decomposes the single process in the context diagram into multiple sub processes to show more detail about the internal operations.

90
New cards

Level 2 Diagram

Further decomposition of Level 1 processes into more detailed sub-processes, showing a finer level of detail.