Top Banner
Requirements Engineering Ayaz Ahmed Shariff K
26

Requirements engineering

Dec 07, 2014

Download

Education

ayazahmedsk

Software Requirements from Somerville
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Requirements engineering

Ayaz Ahmed Shariff K

Requirements Engineering

Page 2: Requirements engineering

Ayaz Ahmed Shariff K

Topics covered

• Types of requirements• Requirement Engineering Process

– Feasibility studies– Requirements elicitation and analysis– Requirement Specification– Requirements validation– Requirements management

Page 3: Requirements engineering

Ayaz Ahmed Shariff K

Requirements engineering

• The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed.

• Requirement may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.

Page 4: Requirements engineering

Ayaz Ahmed Shariff K

Types of requirement

Based on different level of descriptions:• User requirements

– Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.

• System requirements– A structured document setting out detailed descriptions of the

system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.

Page 5: Requirements engineering

Ayaz Ahmed Shariff K

Distinction between User Requirement and system requirement

USER REQUIREMENT

1. LIBSYS shall keep track of all data required by copyright licensing agencies in the UK and elsewhere

SYSTEM REQUIREMENT SPECIFICATION

1.1 Requestor shall be presented with a user entry form that record details of the user and request1.2 LIBSYS should store all request forms for a defined period.

1.3 LIBSYS request forms must be indexed by user, name of document requested.1.4 LIBSYS should maintain a log of all requests that have been made to the system.

Page 6: Requirements engineering

Ayaz Ahmed Shariff K

Classification of requirements

• Functional requirements– Statements of services the system should provide, how the system

should react to particular inputs and how the system should behave in particular situations.

• Non-functional requirements– constraints on the services or functions offered by the system such as

timing constraints, constraints on the development process, standards, etc.

• Domain requirements– Requirements that come from the application domain of the system

and that reflect characteristics of that domain.

Page 7: Requirements engineering

Ayaz Ahmed Shariff K

Functional requirements

• Describe functionality or system services.• Depend on the type of software, expected users and the type

of system where the software is used.• Functional requirement for LIBSYS, used by students and

staff to order books and documents.– A library system that provides a single interface to a number of databases of articles in

different libraries.– Users can search for, download and print these articles for personal study.– The user shall be able to search either all of the initial set of databases or select a

subset from it.– The system shall provide appropriate viewers for the user to read documents in the

document store. – Every order shall be allocated a unique identifier (ORDER_ID) which the user shall be

able to copy to the account’s permanent storage area.

Page 8: Requirements engineering

Ayaz Ahmed Shariff K

Requirements imprecision

• Problems arise when requirements are not precisely stated.• Ambiguous requirements may be interpreted in different ways

by developers and users.• Consider the term ‘appropriate viewers’

– User intention - special purpose viewer for each different document type;

– Developer interpretation - Provide a text viewer that shows the contents of the document.

Page 9: Requirements engineering

Ayaz Ahmed Shariff K

Requirements completeness and consistency

• In principle, requirements should be both complete and consistent.

• Complete

– They should include descriptions of all facilities required.

• Consistent

– There should be no conflicts or contradictions in the descriptions of the system facilities.

• In practice, it is impossible to produce a complete and consistent requirements document.

Page 10: Requirements engineering

Ayaz Ahmed Shariff K

Non-functional requirements• These define system properties and constraints e.g. reliability,

response time and storage requirements. Constraints are I/O device capability, system representations, etc.

• Process requirements may also be specified mandating a particular CASE system, programming language or development method.

• Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless.

Page 11: Requirements engineering

Ayaz Ahmed Shariff K

Non-functional classifications• Product requirements

– Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc.

• Organisational requirements– Requirements which are a consequence of organisational policies and

procedures e.g. process standards used, implementation requirements, etc.

• External requirements– Requirements which arise from factors which are external to the

system and its development process e.g. interoperability requirements, legislative requirements, etc.

Page 12: Requirements engineering

Ayaz Ahmed Shariff K

Non-functional requirement types

Page 13: Requirements engineering

Ayaz Ahmed Shariff K

Non-functional requirements examples

• Product requirement8.1 The user interface for LIBSYS shall be implemented as simple

HTML without frames or Java applets.

• Organisational requirement9.3.2 The system development process and deliverable documents shall

conform to the process and deliverables defined in XYZCo-SP-STAN-95.

• External requirement7.6.5 The system shall not disclose any personal information about

customers apart from their name and reference number to the operators of the system.

Page 14: Requirements engineering

Ayaz Ahmed Shariff K

Functional Requirements Non-functional Requirements

l ProductsThe system shall display a list of all products offered by the shop. MustHaveThe system shall organise the list of products by product category. MustHaveThe system shall display detailed product descriptions consisting of name, photograph, price and text of description on demand. MustHave The system shall allow the items in the catalogue to be searched. ShouldHave. The system shall display the number of items currently in the shopping basket on each page of the catalogue. CouldHavel PaymentThe system shall accept all major credit cards. MustHaveThe system shall validate payment with the credit card processing company. MustHave

l CapacityThe system shall support 1000 transactions per day. ShouldHaveThe system shall support a peak transaction rate of 10 transactions per second. ShouldHaveThe system shall support 5000 concurrent sessions. MustHave l AvailabilityThe system shall be available 24 hours per day, 360 days per year. MustHaveThe system shall not lose any transaction data. MustHaveThe system shall accept payment and raise an order within 5 seconds in 95% of the cases. ShouldHaveThe system shall log in a customer within 5 seconds. ShouldHave

Functional vs. Non-Functional Requirements

Page 15: Requirements engineering

Ayaz Ahmed Shariff K

Domain requirements

• Derived from the application domain and describe system characteristics and features that reflect the domain.

• Domain requirements be new functional requirements, constraints on existing requirements or define specific computations.

• If domain requirements are not satisfied, the system may be unworkable.

Page 16: Requirements engineering

Ayaz Ahmed Shariff K

Library system domain requirements

• There shall be a standard user interface to all databases which shall be based on the Z39.50 standard.

• Because of copyright restrictions, some documents must be deleted immediately on arrival. Depending on the user’s requirements, these documents will either be printed locally on the system server for manually forwarding to the user or routed to a network printer.

Page 17: Requirements engineering

Ayaz Ahmed Shariff K

Domain requirements problems

• Understandability– Requirements are expressed in the language of

the application domain;– This is often not understood by software engineers

developing the system.• Implicitness

– Domain specialists understand the area so well that they do not think of making the domain requirements explicit.

Page 18: Requirements engineering

Ayaz Ahmed Shariff K

Requirements engineering processes

• The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.

• However, there are a number of generic activities common to all processes– Feasibility Study– Requirements elicitation and analysis;– Requirement Specification (in chapter 6 Somerville)– Requirements Validation;

• Requirements change and the process to manage challenging requirements (modification to system hadware and software; changes in organizational enviroment) is:– Requirements management.

Page 19: Requirements engineering

Ayaz Ahmed Shariff K

The requirements engineering process

Feasibilitystudy

Requirementselicitation and

analysisRequirementsspecification

Requirementsvalidation

Feasibilityreport

Systemmodels

User and systemrequirements

Requirementsdocument

*Primary focus and 3 techniques in this process will

be discussed

Page 20: Requirements engineering

Ayaz Ahmed Shariff K

1) Feasibility studies

• A feasibility study decides whether or not the proposed system is worthwhile.

• A short focused study that checks– Does the system contributes to organisational

objectives?– Can the system can be engineered using current

technology and within budget?– Can the system can be integrated with other

systems that are used?

Page 21: Requirements engineering

Ayaz Ahmed Shariff K

Feasibility study implementation

• 3 activities in this phase are Information assessment, Information collection, Report writing.

• Based on information assessment (what is required), information collection and report writing.

• Questions for people in the organisation– What if the system wasn’t implemented?– What are current process problems?– How will the proposed system help?– What will be the integration problems?– Is new technology needed? What skills?– What facilities must be supported by the proposed system?

Page 22: Requirements engineering

Ayaz Ahmed Shariff K

2) Requirements Elicitation and Analysis

• Sometimes called requirements elicitation or requirements discovery.

• Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints.

• May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders.

Page 23: Requirements engineering

Ayaz Ahmed Shariff K

Problems of requirements elicitation and analysis

• Stakeholders don’t know what they really want.• Stakeholders express requirements in their own terms.• Different stakeholders may have conflicting requirements.• Organisational and political factors may influence the system

requirements.• The requirements change during the analysis process. New

stakeholders may emerge and the business environment change.

Page 24: Requirements engineering

Ayaz Ahmed Shariff K

Requirements elicitation and analysis process activities

• Requirements discovery– Interacting with stakeholders to discover their requirements. Domain

requirements are also discovered at this stage.• Requirements classification and organisation

– Groups related requirements and organises them into coherent clusters.

• Prioritisation and negotiation– Prioritising requirements and resolving requirements conflicts.

• Requirements documentation– Requirements are documented and input into the next round of the

spiral.

Page 25: Requirements engineering

Ayaz Ahmed Shariff K

Requirements discovery

• The process of gathering information about the proposed and existing systems and distilling the user and system requirements from this information.

• Sources of information include documentation, system stakeholders and the specifications of similar systems.

Page 26: Requirements engineering

Ayaz Ahmed Shariff K

ATM stakeholders• Bank customers• Representatives of other banks• Bank managers• Counter staff• Database administrators • Security managers• Marketing department• Hardware and software maintenance engineers• Banking regulators