Requirement Engineering

Understands requirement engineering

Describe concept of Requirement Engineering

Refers to the process of Defining Documenting and Maintaining requirements in the engineering design process

It is common role in systems engineering and software engineering

Definition Requirement Engineering

Process of establishing the services that a customer requires from a system and the constraints under which it operates and is developed

Type of Requirement

User Requirements

Statements in natural language plus diagrams of the services that the systems provides and its operational constraints . written for customers

System Requirements

A structured document setting out detailed descriptions of the system services . Written as a contract between client and contractor

System Stakeholders

Any person or organization who is affected by the system in some way and so who has a legitimate interest

Type of Stakeholder

End users, System managers, System owners, External stakeholders

differences between functional & non - functional requirement

Functional Requirement

Statements of services that the system should provide, how the system should react to particular inputs and how the system should behave in particular situations

Example of Non-Functional Requirement

Product requirement

Organizational requirement

External requirement

Non-Functional Requirement

Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standard, the constrains like how many process the system can handle(performance), what are the (security) issues the system needs to take care

Example of Functional Requirement

Students can reserve a library item online

User should be able to search for a library item by specifying a key wird

Requirements Engineering Processes

Process of writing down the user and system requirement in a requirements document

Tabular Specification

Useful when you have to define a number of possible alternative courses of action

Natural Language Specification

Requirements are written as natural language sentences supplemented by diagrams & tables

Form - based Specification

Definition of function or entity

Description of inputs and where they come from

Description of outputs and where they go to

Activity in requirements elicitation & analysis

Requirements Discovery

Definition

Process of gathering information about the required and existing systems and distilling the user and system requirements from this information

Process Activities

Requirements discovery

Requirements classification and organization

Prioritising and negotiation

Requirements specification

interaction is with system stakeholders from managers to external regulators

System normally have a range of stakeholders

Interview

Formal or informal interviews with stakeholders are part of more RE processes

Types of interview

-Closed interviews based on pre-determined list of questions.

Example of Open Interviews

Who tell me about yourself

Where to see as your strengths?

Why are you interested in this position?

Example of Closed Interviews

Types of question tend to have a "yes or no" or a number response to them, they're questions like "did you have a nice day?"

-Open interviews where various issues are explored with stakeholders

SCENARIO

-Scenarios are real-life examples of how a system can be used

They should include:

Description of the starting situation.

Description of the normal flow of events.

Description of what can go wrong.

Use Cases

Use cases are a scenario based technique in the UML which identity the actors in an interaction and which describe the interaction itself

Ethnograpy

A social scientist spends a considerable time observing and analyzing how people actually work

Scope of ethnography

Ethnography is effective for understanding existing processes but cannot identify new features that should be added to a system.

Focused ethnography

Developed in a project studying the air traffic control process.

Requirements Management

Process of managing changing requirements during the requirements engineering process and system development

New requirements emerge as a system is being developed and after it has gone into use

Keep track of individual requirements and maintain links between dependent requirements

Changing Requirements

The business and technical environment of the system always changes after installation

The people who pay for a system and the users of that system are rarely the same people

Large systems usually have a diverse user community, with many users having different requirements and priorities that may be conflicting or contradictory.

Requirements Management Planning

Definiton Establishes the level of requirements management detail that is required

Requirements management decision:

Requirements identification.

A change management process

Traceability policies

Requirements identification

Requirements Change Management

Deciding if a requirements change should be accepted

Problems analysis and change specification.

Change analysis and costing

Change implementation

System Requirement Specification(SRS)

Description of a software system to be developed

Requirements set out what the system should do and define constrains on its operation and implementation

System requirements are intended to communicate the functions that the system should provide.

It layout functional and non-functional requirements, and may include a set of use cases that describe user interactions that the software must provide.

Requirement Specification Document

Each requirement must be described in such a way that it is feasible and objectively verifiable by a prescribed method

Example: Inspection, Demonstration, Analysis or Test

Specifications are intended to a diverse audience:

Customers and users for validation, contract

System(requirements) analyst

Developers, programmers to implement the system

Key Point

Requirements specification is process of formally documenting user and system requirements and creating a software requirements document

The requirements engineering process is an iterative process that includes requirements elicitation, specification and validation.

Requirements validation is the process of checking the requirements for validity, consistency, completeness, realism, and verifiability