SlideShare uma empresa Scribd logo
1 de 46
Chapter 1
Introduction to Requirement Engineering
2
 What are requirements?
 Types of requirements
 Requirement Engineering: Introduction
 What is requirement engineering?
 Why Requirement Engineering?
 Requirement requirements: How
 Requirement requirements: When
 Stakeholders in Requirement Engineering: Who
Contents
 Software requirements are the descriptions of the
system services (essential & desired) and
constraints (on System operation and software
development process).
 SWRequirements are statements of what the
system must do, how it must behave, the properties
it must exhibit, the qualities it must possess, and the
constraints that the system and its development
must satisfy.
 The Institute of Electrical and Electronics Engineers
(IEEE) defines a requirement as
 a condition or capability needed by a user to solve a
problem or achieve an objective
What are requirements?
 a condition or capability that must be met or possessed
by a system or system component to satisfy a contract,
standard, specification, or other formally imposed
document
 a documented representation of a condition or capability
as in definition 1 or 2 [IEEE 1990a] .
 Requirement: A statement that identifies a product or
process operational, functional, or design characteristic
or constraint, which is un ambiguous, testable or
measurable, and necessary for product or process
acceptability (by consumers or internal quality assurance
guidelines).
4
5
 Requirements should always be statement of what a system
should do rather than a statement of how it should do it.
 However, sometimes it is necessary for the requirement documents
to include information about the design of the system. Because:
 Readers are often practical engineers – they can relate it to
implementation descriptions
 The system may be one of several systems in an environment -
to be compatible with its environment specifying implementation
issues are important
 The specifiers are often experts in the application domain where
the system is to be used. The requirements may be descriptions
of how to carry out a computation using application domain
What are requirements?...
 Requirements might describe:
• A user-level facility (e.g. the word processor must include a spell
checking and correction command)
• A very general system property (e.g. the system must ensure that
personal information is never made available without
authorization)
• How to carry out some computation (e.g. the overall mark is
computed by adding the students exam, project & coursework
marks based on the following formula. Total = [2 * exam +
3*(project + coursework)]/5
• constraint on the development of the system (e.g. The system
must be developed using java) Etc..
• [Davis 1990a, Faulk 1997a]. "The inability to produce complete,
correct, and unambiguous software requirements is still
considered the major cause of software failure today" .
6
Examples of Requirements
 The system shall maintain records of all payments
made to employees on accounts of salaries,
bonuses, travel/daily allowances, medical
allowances, etc.
 The system shall interface with the central computer
to send daily sales and inventory data from every
retail store
 The system shall maintain records of all library
materials including books, serials, newspapers and
magazines, video and audio tapes, reports,
collections of transparencies, CD-ROMs, DVDs, etc
 The system shall allow users to search for an item by
title, author, or by International Standard Book
Number.
7
…Examples of Reqs.
 The system’s user interface shall be implemented
using a web browser
 The system shall support at least twenty
transactions per second
 The system facilities which are available to public
users shall be demonstrable in ten minutes or
less
8
Why Requirements….
 The most common reasons for project failures are not technical
and Table 1.1 identifies the main reasons why projects fail. The
data is drawn from surveys conducted by the Standish Group in
1995 and 1996.
 Incomplete requirements 13.1%
 Lack of user involvement 12.4%
 Lack of resources 10.6%
 Unrealistic expectations 9.9%
 Lack of executive support 9.3%
 Changing requirements/specifications 8.7%
 Lack of planning 8.1%
 Didn’t need it any longer 7.5%
Hence giving emphasis to requirements is crucial in any system
dev’t.
9
10
 Functional requirements: capture the intended behavior of the
system. This behavior may be expressed as services, tasks or
functions the system is required to perform.
 describe what the system or software must do and sometimes
called behavioral or operational requirements.
 In order to find out functional requirements of a system try to
answer the questions below
 What inputs the system should accept?
 What outputs the system should produce?
 What data the system should store that other systems might
use?
 What computations the system should perform?
Types of requirements
Functional Requirements
 Statements describing what the system does
 Functionality of the system.
 Statements of services the system should provide
 Reaction to particular inputs
 Behavior in particular situations
 Abnormal behavior is also documented as
functional requirements in the form of exception
handling
 Functional requirements should be complete and
consistent
 Customers and developers usually focus all their
attention on functional requirements
11
Functional Requirement
Examples
 The system shall solve a quadratic equation using
the following formula
x = (-b+sqrt(b2 – 4*a*c))/2*a
 The user shall be able to search either the entire
database of patients or select a subset from it
(admitted patients, or patients with asthma, etc.)
 The system shall provide appropriate viewers for the
user to read documents in the document store
 The system shall allow customers to return non-
perishable items within fifteen days of the purchase.
A customer must present the original sale receipt to
return an item
12
Comments on Examples
 Notice the level of detail in different requirements
described above. Some are very detailed compared
to others.
 Notice the ambiguity in the requirement, which uses
the term ‘appropriate viewers’
 This requirement does not mention the formats of
documents and types of viewers, which can be used
 Notice the ambiguity in the requirement for solving
the quadratic equation. The requirement does not
speak about the possibility when the value of ‘a’ is
zero
 Incomplete and ambiguous requirements are open to
multiple interpretations and assumptions
 This can lead to the development of poor quality, or
13
 Non-functional requirements (NR): define the overall
qualities or attributes of the resulting system like: (security),
Usability, Reliability, Performance & Supportability
 NR specify system properties, such as reliability and safety.
14
Types of requirements
15
 NR place restrictions on the product being developed, the
development process, and specify external constraints that
the product must meet.
 Example
 The product must be available at the beginning of the next year
 The product shall operate on a 3G mobile telephone.
 The system shall be easy to use
 The system should not fail more than twice in a week.
 The system shall respond to every user action in less than 3
seconds
Types of requirements…
16
 Functional Vs Non-Functional Requirements
 There is no a clear distinction between functional and non-
functional requirements.
 Whether or not a requirement is expressed as a functional or
a non-functional requirement may depend:
 on the level of detail to be included in the requirements
document
 the degree of trust which exists between a system
customer and a system developer.
Types of requirements…
17
 Example: The system shall ensure that data is protected from
unauthorised access.
 Conventionally, this would be considered as a non-functional
requirement because it does not specify specific system
functionality which must be provided. However, it could have
been specified in slightly more detail as follows:
 The system shall include a user authorisation procedure where
users must identify themselves using a login name and
password. Only users who are authorised in this way may
access the system data.
 In this form, the requirement looks rather more like a functional
requirement as it specifies a function (user login) which must be
incorporated in the system.
Types of requirements…
18
 Domain Requirements
 Requirements that come from the application
domain of the system and that reflect characteristics
of that domain.
 Domain requirements are not from specific needs
of system users.
 They usually include specialized terminologies
reference to domain concept - they are difficult to
understand
 Implicitness is another problem with domain
requirements
 They may be new functional requirements (may be
defining specific computations) or can be
constraints on existing requirements.
 If domain requirements are not satisfied, the system
Types of requirements…
Domain Requirements Example
 Banking domain has its own specific
constraints, for example, most banks do not
allow over-draw on most accounts, however,
most banks allow some accounts to be over-
drawn
 In a commission-based sales businesses, there
is no concept of negative commission.
However, if care is not taken novice developers
can be lured into developing systems, which
calculate negative commission.
 For example, a train control system has to take into
account the braking characteristics in different weather
conditions. This is a domain requirement for a train
19
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.
20
21
 Software requirements are defined at various
levels of detail and granularity.
 Business Requirements:
 These are used to state the high-level business
objective of the organization or customer
requesting the system or product.
 They are used to document main system
features and functionalities without going into
their nitty-gritty (basic important) details.
 They are captured in a document describing the
project vision and scope.
 A key factor in the success of a system is the
extent to which the system supports the
business requirements and facilitates an
22
 User Requirements:
 User requirements add further detail to the
business requirements.
 They are called user requirements because
they are written from a user’s perspective and
the focus of user requirement describe tasks
the user must be able to accomplish in order
to fulfill the above stated business
requirements.
 Eg. The system should be easy to use by
medical staff and should be organized in
such a way that user errors are minimized.
23
System Requirements:
 are expanded versions of the user
requirements that are used by software
engineers as the starting point for the system
design.
 They add detail and explain how the user
requirements should be provided by the system
 capture the vision of the customer, enable
defining the scope of the system, and allow
estimating the cost and schedule required to
build the system.
 A structured document setting out detailed
descriptions of the system’s functions, services
and operational constraints. Defines what
24
 To understand customers’ requirements about
the software to be developed is extremely
important.
 However,
 Customers are unable to express requirements
explicitly
Typically, they can not tell you what they
want clearly.
The requirements that customers or end-
users present are often: incomplete,
inaccurate, and inconsistent.
 Stakeholders (Business and Technical groups)
speak different languages.
 Software requirements are often extremely
Inverse Requirements
 They explain what the system shall not do.
Many people find it convenient to describe their
needs in this manner
 These requirements indicate the indecisive
nature of customers about certain aspects of a
new software product
 Example:
The system shall not use red color in the user
interface, whenever it is asking for inputs from
the end-user
25
Design and Implementation Constraints
 They are development guidelines within which
the designer must work
 These requirements can seriously limit design
and implementation options
 Can also have impact on human resources
Examples
 The system shall be developed using the
Microsoft .Net platform
 The system shall be developed using open
source tools and shall run on Linux operating
system
26
Sources of Requirement
 Stakeholders
People affected in some way by the
system
 Documents
 Existing system
 Domain/business area
27
28
Requirement Engineering: Introduction
 The term “requirements engineering” is often too
narrowly equated with requirements analysis, which
is just one of the activities within the wider discipline.
The emphasis on engineering is useful for two main
reasons:
 Dealing with requirements is an essential part of
every engineering endeavor. Indeed, requirements
engineering is a subset of systems engineering in
general, not just software engineering.
 The term subsumes the wide variety of other titles
given to activities relating to requirements, such as
requirements analysis and the two terms used for
key process areas: requirements management
and requirements development (CarnegieMellon
29
 Requirements Engineering(RE) provides the basic
agreement between end-users and developers on
what the software should do. It is a clear statement
on the scope and boundaries of the system to be
analyzed and studied. It gives stakeholders an
opportunity to define their requirements
understandable to the development team
 RE “involves all life-cycle activities devoted to
identification of user requirements, analysis of the
requirements to derive additional requirements,
documentation of the requirements as a
specification, and validation of the documented
requirements against user needs, as well as
processes that support these activities” (DoD 1991).
 A branch of SWE concerned with the real world
goals for, functions of, and constraints on software
systems and also concerned with the relationship of
these factors to precise specifications of software
behavior (Zave 1997).
 the subset of systems engineering concerned
with discovering, developing, tracing,
analyzing, qualifying, communicating and
managing requirements that define the system
at successive levels of abstraction.
 Requirements engineering is complex
because of the three roles involved in
producing even a single requirement: the
requestor (referred to as the "user" in the
IEEE definition), the developer (who will
design and implement the system), and the
author (who will document the requirements).
30
Contd…
 Typically, the requestor understands the problem to
be solved by the system but not how to develop a
system.
 The developer understands the tools and
techniques required to construct and maintain a
system but not the problem to be solved by that
system.
 The author needs to create a statement that
communicates unambiguously to the developer
what the requestor desires. Hence, requirements
address a fundamental communications problem.
 RE according to Laplante (2007) is "a subdiscipline
of systems engineering and sw engineering that is
concerned with determining the goals, functions, and
31
32
 In spite of new and effective software engineering
techniques, software systems
 Are delivered late and over budget
 Do not do what really users want
 Are prone to failure
 Some key aspects of successful software development
are
 User input and involvement
 Effective management and support
 Resources
 Clearly defined, complete requirements
 Numerous software engineering studies show this
repeatedly
 40-60% of all defects found in software projects can
Why Requirement Engineering?
33
 Generally, defining and applying good, complete requirements
is hard to work, and success in this endeavor has eluded many
software engineers. Requirement Engineering alleviates this
problem
Why Requirement Engineering?...
The hardest single part of building a software
system is deciding precisely what to build. No
other part of the conceptual work is as difficult
as establishing the detailed technical
requirements, including all the interfaces to
people, to machines, and to other software
systems No part systems. of the work so
cripples the resulting system if done wrong. No
other part is more difficult to rectify later.
(Brooks, 1987)
No Silver Bullet: Essence and Accidents of Software
Engineering.
34
 Software requirements engineering is a disciplined, process-oriented
approach to the definition, documentation, and maintenance of
software requirements throughout the software development life
cycle.
 Software requirements engineering is made up of two major
processes:
 requirements development (RD) and requirements
management(RM).
 Requirements development encompasses all of the activities
involved in eliciting, analyzing, specifying, and validating the
requirements.
 The activities used for requirement engineering vary widely
depending on the application domain, the people involved and the
organisation developing the requirements.
Requirement requirements: How
 Requirements development encompasses all the
activities involved in identifying, capturing, and
agreeing upon the requirements.
 The majority of the requirements development
activities occur during the early concept and
requirements phases of the life cycle.
 Continued elaboration of the requirements,
however, can progress into the later phase of the
software development life cycle.
 Requirements management, which is an
ongoing activity throughout the software
development life cycle, encompasses all of the
activities involved in
35
Requirement Engineering: When
 Requesting changes to the baselined
requirements
 performing impact analysis for the requested
changes
 approving or disapproving those changes, and
implementing the approved changes
 ensuring that all work products and project plans
are kept consistent and tracking the status of the
requirements as one progresses through the
software development process.
 The implemented software product is validated
against its requirements during the testing phases
of the life cycle to identify and correct defects and
36
Contd….
37
 System Stakeholders are people or organizations
who will be affected by the system and who have
direct or indirect influence on the system
requirements.
 In order to develop a good requirement
document, it is imperative to involve all kinds of
user in the requirement engineering process.
 You need to identify the stakeholders in a system
and discover their requirements.
 If you don’t do, you may find that they insist on
changes during the system development or after
it has been delivered for use.
 .
Stakeholders: The Who of RE
Contd..
 Stakeholders have a tendency to state
requirements in very general and vague terms
 different stakeholders have different
requirements – sometimes even conflicting
 It is increasingly recognized that stakeholders
are not limited to the organization employing the
analyst. Other stakeholders will include:
 anyone who operates the system (normal and
maintenance operators)
38
 anyone who benefits from the system (functional,
political, financial and social beneficiaries)
 anyone involved in purchasing or procuring the
system. In a mass-market product organization,
product management, marketing and sometimes
sales act as surrogate consumers (mass-market
customers) to guide development of the product
 organizations which regulate aspects of the
system (financial, safety, and other regulators).
 those organizations who integrate horizontally
with the organization for whom the analyst is
designing the system
39
40
 Example
 For an automated railway signaling system (a
system used to control railway traffic safely)
possible stakeholders are
 Train company operators responsible for
running the system
 Train crew
 Railway managers
 Passengers
 Equipment installation and maintenance
engineers
 Safety certification authorities
41
 There are three main categories of stakeholders:
 the acquirers of the software product
 the suppliers of the software product and
 other stakeholders.
 The acquirer type stakeholders can be divided into
two major groups.
 customers who request, purchase, and/or pay for
the software product in order to meet their
business objectives.
 users, also called end-users, who actually use the
product directly or use the product indirectly by
receiving reports, outputs, or other information
generated by the product.
Stakeholders…
42
 The suppliers of the software product include
individuals and teams that are
 part of the organization that develops the
software product or
 part of the organizations that distribute the
software product or
 involved in other product delivery methods (for
example, outsourcing).
 System analysts, designers, developers etc are
some examples among suppliers
 Identify all stakeholders for the system mentioned.
 BDU, BDU managers, Students, doctors and other health officials,
the company ABC, etc
 If the University sells the system to other universities so as to get
reimbursed for what it has spent, who is the client, the customer and
the user?
 Client: BDU
 Customers: Other Universities
 Users: Anyone using the system
43
Stakeholders: Example
Assume BDU has signed an agreement with a software
company called ABC for the automation of the clinic
system which encompasses subsystems like clinical lab
subsystem, patient admission subsystem and the like.
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
44
Stakeholders in the MHC-PMS
 Patients whose information is recorded in the
system.
 Doctors who are responsible for assessing and
treating patients.
 Nurses who coordinate the consultations with
doctors and administer some treatments.
 Medical receptionists who manage patients’
appointments.
 IT staff who are responsible for installing and
maintaining the system.
 A medical ethics manager who must ensure that
the system meets current ethical guidelines for
45
Contd…
 Health care managers who obtain
management information from the system.
 Medical records staff who are responsible for
ensuring that system information can be
maintained and preserved, and that record
keeping procedures have been properly
implemented.
46

Mais conteúdo relacionado

Semelhante a Ch 1-Introduction.ppt

Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisAbhilasha Lahigude
 
CMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docx
CMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docxCMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docx
CMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docxmary772
 
soft eng chap 4.pdf
soft eng chap 4.pdfsoft eng chap 4.pdf
soft eng chap 4.pdfkinzaeman043
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdfMuhammad Imran
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationskylan2
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Software Requrement
Software RequrementSoftware Requrement
Software RequrementSeif Shaame
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringHuda Alameen
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 

Semelhante a Ch 1-Introduction.ppt (20)

Ch4
Ch4Ch4
Ch4
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Ch6
Ch6Ch6
Ch6
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
 
CMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docx
CMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docxCMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docx
CMGT410 v19Business Requirements TemplateCMGT410 v19Page 2.docx
 
soft eng chap 4.pdf
soft eng chap 4.pdfsoft eng chap 4.pdf
soft eng chap 4.pdf
 
Ch4
Ch4Ch4
Ch4
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Ch4
Ch4Ch4
Ch4
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Se lec 4
Se lec 4Se lec 4
Se lec 4
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 

Mais de balewayalew

Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 
Data Analytics.ppt
Data Analytics.pptData Analytics.ppt
Data Analytics.pptbalewayalew
 
PE1 Module 4.ppt
PE1 Module 4.pptPE1 Module 4.ppt
PE1 Module 4.pptbalewayalew
 
PE1 Module 3.ppt
PE1 Module 3.pptPE1 Module 3.ppt
PE1 Module 3.pptbalewayalew
 
PE1 Module 2.ppt
PE1 Module 2.pptPE1 Module 2.ppt
PE1 Module 2.pptbalewayalew
 
Chapter -6- Ethics and Professionalism of ET (2).pptx
Chapter -6- Ethics and Professionalism of ET (2).pptxChapter -6- Ethics and Professionalism of ET (2).pptx
Chapter -6- Ethics and Professionalism of ET (2).pptxbalewayalew
 
Chapter -5- Augumented Reality (AR).pptx
Chapter -5- Augumented Reality (AR).pptxChapter -5- Augumented Reality (AR).pptx
Chapter -5- Augumented Reality (AR).pptxbalewayalew
 
PE1 Module 1.ppt
PE1 Module 1.pptPE1 Module 1.ppt
PE1 Module 1.pptbalewayalew
 
Ch 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.pptCh 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.pptbalewayalew
 

Mais de balewayalew (20)

slides.06.pptx
slides.06.pptxslides.06.pptx
slides.06.pptx
 
slides.07.pptx
slides.07.pptxslides.07.pptx
slides.07.pptx
 
slides.08.pptx
slides.08.pptxslides.08.pptx
slides.08.pptx
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Data Analytics.ppt
Data Analytics.pptData Analytics.ppt
Data Analytics.ppt
 
PE1 Module 4.ppt
PE1 Module 4.pptPE1 Module 4.ppt
PE1 Module 4.ppt
 
PE1 Module 3.ppt
PE1 Module 3.pptPE1 Module 3.ppt
PE1 Module 3.ppt
 
PE1 Module 2.ppt
PE1 Module 2.pptPE1 Module 2.ppt
PE1 Module 2.ppt
 
Chapter -6- Ethics and Professionalism of ET (2).pptx
Chapter -6- Ethics and Professionalism of ET (2).pptxChapter -6- Ethics and Professionalism of ET (2).pptx
Chapter -6- Ethics and Professionalism of ET (2).pptx
 
Chapter -5- Augumented Reality (AR).pptx
Chapter -5- Augumented Reality (AR).pptxChapter -5- Augumented Reality (AR).pptx
Chapter -5- Augumented Reality (AR).pptx
 
Chapter 8.ppt
Chapter 8.pptChapter 8.ppt
Chapter 8.ppt
 
PE1 Module 1.ppt
PE1 Module 1.pptPE1 Module 1.ppt
PE1 Module 1.ppt
 
chapter7.ppt
chapter7.pptchapter7.ppt
chapter7.ppt
 
chapter6.ppt
chapter6.pptchapter6.ppt
chapter6.ppt
 
chapter5.ppt
chapter5.pptchapter5.ppt
chapter5.ppt
 
chapter4.ppt
chapter4.pptchapter4.ppt
chapter4.ppt
 
chapter3.ppt
chapter3.pptchapter3.ppt
chapter3.ppt
 
chapter2.ppt
chapter2.pptchapter2.ppt
chapter2.ppt
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
Ch 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.pptCh 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.ppt
 

Último

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Último (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Ch 1-Introduction.ppt

  • 1. Chapter 1 Introduction to Requirement Engineering
  • 2. 2  What are requirements?  Types of requirements  Requirement Engineering: Introduction  What is requirement engineering?  Why Requirement Engineering?  Requirement requirements: How  Requirement requirements: When  Stakeholders in Requirement Engineering: Who Contents
  • 3.  Software requirements are the descriptions of the system services (essential & desired) and constraints (on System operation and software development process).  SWRequirements are statements of what the system must do, how it must behave, the properties it must exhibit, the qualities it must possess, and the constraints that the system and its development must satisfy.  The Institute of Electrical and Electronics Engineers (IEEE) defines a requirement as  a condition or capability needed by a user to solve a problem or achieve an objective What are requirements?
  • 4.  a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document  a documented representation of a condition or capability as in definition 1 or 2 [IEEE 1990a] .  Requirement: A statement that identifies a product or process operational, functional, or design characteristic or constraint, which is un ambiguous, testable or measurable, and necessary for product or process acceptability (by consumers or internal quality assurance guidelines). 4
  • 5. 5  Requirements should always be statement of what a system should do rather than a statement of how it should do it.  However, sometimes it is necessary for the requirement documents to include information about the design of the system. Because:  Readers are often practical engineers – they can relate it to implementation descriptions  The system may be one of several systems in an environment - to be compatible with its environment specifying implementation issues are important  The specifiers are often experts in the application domain where the system is to be used. The requirements may be descriptions of how to carry out a computation using application domain What are requirements?...
  • 6.  Requirements might describe: • A user-level facility (e.g. the word processor must include a spell checking and correction command) • A very general system property (e.g. the system must ensure that personal information is never made available without authorization) • How to carry out some computation (e.g. the overall mark is computed by adding the students exam, project & coursework marks based on the following formula. Total = [2 * exam + 3*(project + coursework)]/5 • constraint on the development of the system (e.g. The system must be developed using java) Etc.. • [Davis 1990a, Faulk 1997a]. "The inability to produce complete, correct, and unambiguous software requirements is still considered the major cause of software failure today" . 6
  • 7. Examples of Requirements  The system shall maintain records of all payments made to employees on accounts of salaries, bonuses, travel/daily allowances, medical allowances, etc.  The system shall interface with the central computer to send daily sales and inventory data from every retail store  The system shall maintain records of all library materials including books, serials, newspapers and magazines, video and audio tapes, reports, collections of transparencies, CD-ROMs, DVDs, etc  The system shall allow users to search for an item by title, author, or by International Standard Book Number. 7
  • 8. …Examples of Reqs.  The system’s user interface shall be implemented using a web browser  The system shall support at least twenty transactions per second  The system facilities which are available to public users shall be demonstrable in ten minutes or less 8
  • 9. Why Requirements….  The most common reasons for project failures are not technical and Table 1.1 identifies the main reasons why projects fail. The data is drawn from surveys conducted by the Standish Group in 1995 and 1996.  Incomplete requirements 13.1%  Lack of user involvement 12.4%  Lack of resources 10.6%  Unrealistic expectations 9.9%  Lack of executive support 9.3%  Changing requirements/specifications 8.7%  Lack of planning 8.1%  Didn’t need it any longer 7.5% Hence giving emphasis to requirements is crucial in any system dev’t. 9
  • 10. 10  Functional requirements: capture the intended behavior of the system. This behavior may be expressed as services, tasks or functions the system is required to perform.  describe what the system or software must do and sometimes called behavioral or operational requirements.  In order to find out functional requirements of a system try to answer the questions below  What inputs the system should accept?  What outputs the system should produce?  What data the system should store that other systems might use?  What computations the system should perform? Types of requirements
  • 11. Functional Requirements  Statements describing what the system does  Functionality of the system.  Statements of services the system should provide  Reaction to particular inputs  Behavior in particular situations  Abnormal behavior is also documented as functional requirements in the form of exception handling  Functional requirements should be complete and consistent  Customers and developers usually focus all their attention on functional requirements 11
  • 12. Functional Requirement Examples  The system shall solve a quadratic equation using the following formula x = (-b+sqrt(b2 – 4*a*c))/2*a  The user shall be able to search either the entire database of patients or select a subset from it (admitted patients, or patients with asthma, etc.)  The system shall provide appropriate viewers for the user to read documents in the document store  The system shall allow customers to return non- perishable items within fifteen days of the purchase. A customer must present the original sale receipt to return an item 12
  • 13. Comments on Examples  Notice the level of detail in different requirements described above. Some are very detailed compared to others.  Notice the ambiguity in the requirement, which uses the term ‘appropriate viewers’  This requirement does not mention the formats of documents and types of viewers, which can be used  Notice the ambiguity in the requirement for solving the quadratic equation. The requirement does not speak about the possibility when the value of ‘a’ is zero  Incomplete and ambiguous requirements are open to multiple interpretations and assumptions  This can lead to the development of poor quality, or 13
  • 14.  Non-functional requirements (NR): define the overall qualities or attributes of the resulting system like: (security), Usability, Reliability, Performance & Supportability  NR specify system properties, such as reliability and safety. 14 Types of requirements
  • 15. 15  NR place restrictions on the product being developed, the development process, and specify external constraints that the product must meet.  Example  The product must be available at the beginning of the next year  The product shall operate on a 3G mobile telephone.  The system shall be easy to use  The system should not fail more than twice in a week.  The system shall respond to every user action in less than 3 seconds Types of requirements…
  • 16. 16  Functional Vs Non-Functional Requirements  There is no a clear distinction between functional and non- functional requirements.  Whether or not a requirement is expressed as a functional or a non-functional requirement may depend:  on the level of detail to be included in the requirements document  the degree of trust which exists between a system customer and a system developer. Types of requirements…
  • 17. 17  Example: The system shall ensure that data is protected from unauthorised access.  Conventionally, this would be considered as a non-functional requirement because it does not specify specific system functionality which must be provided. However, it could have been specified in slightly more detail as follows:  The system shall include a user authorisation procedure where users must identify themselves using a login name and password. Only users who are authorised in this way may access the system data.  In this form, the requirement looks rather more like a functional requirement as it specifies a function (user login) which must be incorporated in the system. Types of requirements…
  • 18. 18  Domain Requirements  Requirements that come from the application domain of the system and that reflect characteristics of that domain.  Domain requirements are not from specific needs of system users.  They usually include specialized terminologies reference to domain concept - they are difficult to understand  Implicitness is another problem with domain requirements  They may be new functional requirements (may be defining specific computations) or can be constraints on existing requirements.  If domain requirements are not satisfied, the system Types of requirements…
  • 19. Domain Requirements Example  Banking domain has its own specific constraints, for example, most banks do not allow over-draw on most accounts, however, most banks allow some accounts to be over- drawn  In a commission-based sales businesses, there is no concept of negative commission. However, if care is not taken novice developers can be lured into developing systems, which calculate negative commission.  For example, a train control system has to take into account the braking characteristics in different weather conditions. This is a domain requirement for a train 19
  • 20. 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. 20
  • 21. 21  Software requirements are defined at various levels of detail and granularity.  Business Requirements:  These are used to state the high-level business objective of the organization or customer requesting the system or product.  They are used to document main system features and functionalities without going into their nitty-gritty (basic important) details.  They are captured in a document describing the project vision and scope.  A key factor in the success of a system is the extent to which the system supports the business requirements and facilitates an
  • 22. 22  User Requirements:  User requirements add further detail to the business requirements.  They are called user requirements because they are written from a user’s perspective and the focus of user requirement describe tasks the user must be able to accomplish in order to fulfill the above stated business requirements.  Eg. The system should be easy to use by medical staff and should be organized in such a way that user errors are minimized.
  • 23. 23 System Requirements:  are expanded versions of the user requirements that are used by software engineers as the starting point for the system design.  They add detail and explain how the user requirements should be provided by the system  capture the vision of the customer, enable defining the scope of the system, and allow estimating the cost and schedule required to build the system.  A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what
  • 24. 24  To understand customers’ requirements about the software to be developed is extremely important.  However,  Customers are unable to express requirements explicitly Typically, they can not tell you what they want clearly. The requirements that customers or end- users present are often: incomplete, inaccurate, and inconsistent.  Stakeholders (Business and Technical groups) speak different languages.  Software requirements are often extremely
  • 25. Inverse Requirements  They explain what the system shall not do. Many people find it convenient to describe their needs in this manner  These requirements indicate the indecisive nature of customers about certain aspects of a new software product  Example: The system shall not use red color in the user interface, whenever it is asking for inputs from the end-user 25
  • 26. Design and Implementation Constraints  They are development guidelines within which the designer must work  These requirements can seriously limit design and implementation options  Can also have impact on human resources Examples  The system shall be developed using the Microsoft .Net platform  The system shall be developed using open source tools and shall run on Linux operating system 26
  • 27. Sources of Requirement  Stakeholders People affected in some way by the system  Documents  Existing system  Domain/business area 27
  • 28. 28 Requirement Engineering: Introduction  The term “requirements engineering” is often too narrowly equated with requirements analysis, which is just one of the activities within the wider discipline. The emphasis on engineering is useful for two main reasons:  Dealing with requirements is an essential part of every engineering endeavor. Indeed, requirements engineering is a subset of systems engineering in general, not just software engineering.  The term subsumes the wide variety of other titles given to activities relating to requirements, such as requirements analysis and the two terms used for key process areas: requirements management and requirements development (CarnegieMellon
  • 29. 29  Requirements Engineering(RE) provides the basic agreement between end-users and developers on what the software should do. It is a clear statement on the scope and boundaries of the system to be analyzed and studied. It gives stakeholders an opportunity to define their requirements understandable to the development team  RE “involves all life-cycle activities devoted to identification of user requirements, analysis of the requirements to derive additional requirements, documentation of the requirements as a specification, and validation of the documented requirements against user needs, as well as processes that support these activities” (DoD 1991).  A branch of SWE concerned with the real world goals for, functions of, and constraints on software systems and also concerned with the relationship of these factors to precise specifications of software behavior (Zave 1997).
  • 30.  the subset of systems engineering concerned with discovering, developing, tracing, analyzing, qualifying, communicating and managing requirements that define the system at successive levels of abstraction.  Requirements engineering is complex because of the three roles involved in producing even a single requirement: the requestor (referred to as the "user" in the IEEE definition), the developer (who will design and implement the system), and the author (who will document the requirements). 30
  • 31. Contd…  Typically, the requestor understands the problem to be solved by the system but not how to develop a system.  The developer understands the tools and techniques required to construct and maintain a system but not the problem to be solved by that system.  The author needs to create a statement that communicates unambiguously to the developer what the requestor desires. Hence, requirements address a fundamental communications problem.  RE according to Laplante (2007) is "a subdiscipline of systems engineering and sw engineering that is concerned with determining the goals, functions, and 31
  • 32. 32  In spite of new and effective software engineering techniques, software systems  Are delivered late and over budget  Do not do what really users want  Are prone to failure  Some key aspects of successful software development are  User input and involvement  Effective management and support  Resources  Clearly defined, complete requirements  Numerous software engineering studies show this repeatedly  40-60% of all defects found in software projects can Why Requirement Engineering?
  • 33. 33  Generally, defining and applying good, complete requirements is hard to work, and success in this endeavor has eluded many software engineers. Requirement Engineering alleviates this problem Why Requirement Engineering?... The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems No part systems. of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. (Brooks, 1987) No Silver Bullet: Essence and Accidents of Software Engineering.
  • 34. 34  Software requirements engineering is a disciplined, process-oriented approach to the definition, documentation, and maintenance of software requirements throughout the software development life cycle.  Software requirements engineering is made up of two major processes:  requirements development (RD) and requirements management(RM).  Requirements development encompasses all of the activities involved in eliciting, analyzing, specifying, and validating the requirements.  The activities used for requirement engineering vary widely depending on the application domain, the people involved and the organisation developing the requirements. Requirement requirements: How
  • 35.  Requirements development encompasses all the activities involved in identifying, capturing, and agreeing upon the requirements.  The majority of the requirements development activities occur during the early concept and requirements phases of the life cycle.  Continued elaboration of the requirements, however, can progress into the later phase of the software development life cycle.  Requirements management, which is an ongoing activity throughout the software development life cycle, encompasses all of the activities involved in 35 Requirement Engineering: When
  • 36.  Requesting changes to the baselined requirements  performing impact analysis for the requested changes  approving or disapproving those changes, and implementing the approved changes  ensuring that all work products and project plans are kept consistent and tracking the status of the requirements as one progresses through the software development process.  The implemented software product is validated against its requirements during the testing phases of the life cycle to identify and correct defects and 36 Contd….
  • 37. 37  System Stakeholders are people or organizations who will be affected by the system and who have direct or indirect influence on the system requirements.  In order to develop a good requirement document, it is imperative to involve all kinds of user in the requirement engineering process.  You need to identify the stakeholders in a system and discover their requirements.  If you don’t do, you may find that they insist on changes during the system development or after it has been delivered for use.  . Stakeholders: The Who of RE
  • 38. Contd..  Stakeholders have a tendency to state requirements in very general and vague terms  different stakeholders have different requirements – sometimes even conflicting  It is increasingly recognized that stakeholders are not limited to the organization employing the analyst. Other stakeholders will include:  anyone who operates the system (normal and maintenance operators) 38
  • 39.  anyone who benefits from the system (functional, political, financial and social beneficiaries)  anyone involved in purchasing or procuring the system. In a mass-market product organization, product management, marketing and sometimes sales act as surrogate consumers (mass-market customers) to guide development of the product  organizations which regulate aspects of the system (financial, safety, and other regulators).  those organizations who integrate horizontally with the organization for whom the analyst is designing the system 39
  • 40. 40  Example  For an automated railway signaling system (a system used to control railway traffic safely) possible stakeholders are  Train company operators responsible for running the system  Train crew  Railway managers  Passengers  Equipment installation and maintenance engineers  Safety certification authorities
  • 41. 41  There are three main categories of stakeholders:  the acquirers of the software product  the suppliers of the software product and  other stakeholders.  The acquirer type stakeholders can be divided into two major groups.  customers who request, purchase, and/or pay for the software product in order to meet their business objectives.  users, also called end-users, who actually use the product directly or use the product indirectly by receiving reports, outputs, or other information generated by the product. Stakeholders…
  • 42. 42  The suppliers of the software product include individuals and teams that are  part of the organization that develops the software product or  part of the organizations that distribute the software product or  involved in other product delivery methods (for example, outsourcing).  System analysts, designers, developers etc are some examples among suppliers
  • 43.  Identify all stakeholders for the system mentioned.  BDU, BDU managers, Students, doctors and other health officials, the company ABC, etc  If the University sells the system to other universities so as to get reimbursed for what it has spent, who is the client, the customer and the user?  Client: BDU  Customers: Other Universities  Users: Anyone using the system 43 Stakeholders: Example Assume BDU has signed an agreement with a software company called ABC for the automation of the clinic system which encompasses subsystems like clinical lab subsystem, patient admission subsystem and the like.
  • 44. 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 44
  • 45. Stakeholders in the MHC-PMS  Patients whose information is recorded in the system.  Doctors who are responsible for assessing and treating patients.  Nurses who coordinate the consultations with doctors and administer some treatments.  Medical receptionists who manage patients’ appointments.  IT staff who are responsible for installing and maintaining the system.  A medical ethics manager who must ensure that the system meets current ethical guidelines for 45
  • 46. Contd…  Health care managers who obtain management information from the system.  Medical records staff who are responsible for ensuring that system information can be maintained and preserved, and that record keeping procedures have been properly implemented. 46