Software Engineering 2: Module 01

0.0(0)
studied byStudied by 30 people
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 Engineering

The process of identifying, eliciting, analyzing, specifying, validating, and managing the needs and expectations of stakeholders for a software system.

2
New cards

Requirements Engineering

A systematic and strict approach to the definition, creation, and verification of requirements for a software system.

3
New cards

Requirements Engineering Process

To guarantee the effective creation of a software product, it entails several tasks that help in understanding, recording, and managing the demands of stakeholders.

4
New cards

Requirement

Varies in meaning across the software industry—from high level, abstract service descriptions to detailed, formal system functions.

5
New cards

Davis

In 1993, he explained the differences of requirements as arising from the varied perspectives and uses of requirements.

6
New cards

User Requirements

The high-level abstract requirements.

7
New cards

User Requirements

Statements, in a natural language plus diagrams, of what services the system is expected to provide to system users and the constraints under which it must operate.

8
New cards

System Requirements

The detailed description of what the system should do.

9
New cards

System Requirements

More detailed descriptions of the software system’s functions, services, and operational constraints.

10
New cards

System Requirements

Provide more specific information about the services and functions of the system that is to be implemented.

11
New cards

System Requirements Document

Should define exactly what is to be implemented.

12
New cards

Functional Specification

Another term for system requirements document.

13
New cards

System Stakeholders

Include anyone who is affected by the system in some way and so anyone who has a legitimate interest in it.

14
New cards

System Stakeholders

Ranges from end-users of a system through managers to external stakeholders such as regulators.

15
New cards

Feasibility Study

A short, focused study that should take place early in the RE process.

16
New cards

Does the system contribute to the overall objectives of the organization?

Can the system be implemented within schedule and budget using current technology?

Can the system be integrated with other systems that are used?

What are the three key questions that the feasibility study should answer?

17
New cards

Software System Requirements

Often classified as functional or non-functional requirements.

18
New cards

Functional Requirements

A type of software system requirement that describes what a system should do.

19
New cards

Functional Requirements

They outline the services it must provide, how it should respond to specific inputs, its behavior in various situations, and sometimes what the system must not do.

20
New cards

Non-functional Requirements

Define the limitations or conditions under which a system operates, typically applying to the entire system, not just specific features.

21
New cards

Timing constraints and development process constraints

Inclusions of Non-Functional Requirements

22
New cards

Domain Requirements

Derived from the application domain of the system rather than from the specific needs of system users.

23
New cards

Domain Requirements

Can be problematic when engineers lack domain knowledge.

24
New cards

Non-functional requirements influence the overall systems architecture.

A one non-functional requirement, like security, can lead to multiple functional requirements— adding new services or restricting existing ones.

Two Reasons Why Non-functional Requirements Implementation May Be Spread Throughout The System

25
New cards

Product requirements

Organizational requirements

External requirements

Types of Non-Functional Requirements

26
New cards

Product Requirements

These requirements specify or constrain the runtime behavior of the software.

27
New cards

Organizational Requirements

These requirements are broad system requirements derived from policies and procedures in the customer's and developer's organizations.

28
New cards

External requirements

This broad heading covers all requirements that are derived from factors external to the system and its development process.

29
New cards
  1. Requirements discovery and understanding

  2. Requirements classification and organization

  3. Requirements prioritization and negotiation

  4. Requirements documentation

Steps in Requirements Elicitation and Analysis Process

30
New cards

Requirements discovery and understanding

The process of interacting with stakeholders of the system to discover their requirements.

31
New cards

Requirements classification and organization

This activity takes the unstructured collection of requirements; groups related requirements organizes them into coherent clusters.

32
New cards

Requirements prioritization and negotiation

Inevitably, when multiple stakeholders are involved, requirements will conflict.

33
New cards

Requirements documentation

The requirements are documented and input into the next round of the spiral.

34
New cards

Viewpoint

A way of collecting and organizing a set of requirements from a group of stakeholders who have something in common.

Each of them includes a set of system requirements.

It might come from end-users, managers, or others.

35
New cards

Requirements Elicitation

Involves meeting with stakeholders of different kinds to discover information about the proposed system.

36
New cards

Interviewing

An approach where you talk to people about what they do to gather insights about the current system and the new system expectations.

37
New cards
  1. Closed Interviews

  2. Open Interviews

Two Types of Interviews

38
New cards

Closed Interviews

Interviews where the stakeholder answers a predefined set of questions.

39
New cards

Open Interviews

Interviews with no predefined agenda where the engineering team explores the range of system issues and hence to develop a better system that understand their needs.

40
New cards
  1. You should be open-minded, avoid preconceived ideas about the requirements, and willing to listen to stakeholders.

  2. You should prompt the interviewee to get discussions going by using a spring board question or a requirements proposal, or by working together on a prototype system.

Two Things to Become an Effective Interviewer

41
New cards

Observation or Ethnography

An approach where you watch people doing their job to see what artifacts they use and how they use them.

42
New cards

Ethnography

An observational technique that can be used to understand operational processes and help derive requirements for software to support these pro cases.

It can be combined with the development of a system prototype.

43
New cards

Ethnography

Informs the development of the prototype so that fewer prototype refinement cycles are required.

44
New cards

Ethnography

Helpful to understand existing systems, but this understanding does not always help with innovation. Innovation is particularly relevant for new product development.

45
New cards

Requirements for a Software System

Set out what the system should do and define constraints on its operation and implementation.

46
New cards

Functional Requirements

Statements of the services that the system must provide or are descriptions of how some computations must be carried out.

47
New cards

Non-Functional Requirements

Often constrain the system being developed and the development process being used.

48
New cards

Non-Functional Requirements

These might be product requirements, organizational requirements, or external requirements.

49
New cards

Non-Functional Requirements

They often relate to the emergent properties of the system and therefore apply to the system as a whole.

50
New cards

Requirements Engineering Process

Includes requirements elicitation, requirements specification, requirements validation, and requirements management.

51
New cards

Requirements elicitation

An iterative process that can be represented as a spiral of activities— requirements discovery, requirements classification and organization, requirements negotiation, and requirements documentation.