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