Prepared by :
Dr. Hamdan Al-Sabri
1Prepared by: Dr. Hamdan Al-Sabri
Domain
2Prepared by: Dr. Hamdan Al-Sabri
Golden Circle
3Prepared by: Dr. Hamdan Al-Sabri
• Why this Domain(Motivation)???
• New or Existing system is required Requirements Engineering
• Cost for rebuild system
• How to reach to Our Objective???
• What is the Objective???
Why are Requirements so important?[2]
4Prepared by: Dr. Hamdan Al-Sabri
Cumulative number of publications since
[4,2012]
5Prepared by: Dr. Hamdan Al-Sabri
Specific sub area from the Domain (ER)
6Prepared by: Dr. Hamdan Al-Sabri
Sub disciplines of Requirements Engineering
R Classification
Conceptual Model
R Design
R Negotiation
Requirements Engineering
Requirements Development Requirements Management
Traceability Change ManagementR Elicitation R Analysis R Specification R Validation
R Review
Prototyping
Model Validation
Acceptance Test
Hardware RS
Interface RS
Software RS
Software Design
Software Test
Understanding the
application domain
Identifying the
sources of
requirements
Analyzing the
stakeholders
Selecting the
techniques,
approaches, and tools
to use
Eliciting the
requirements from
stakeholders and
other sources
What is Requirement Engineering?[2]
7Prepared by: Dr. Hamdan Al-Sabri
• Requirement Engineering (RE) is the science and discipline
concerned with analyzing and documenting requirements.
• Requirement:
– (1) A condition or capability needed by a user to solve a problem or
achieve an objective.
– (2) 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 documents.
– (3) A documented representation of a condition or capability as in (1)
or (2).
[IEEE-Std-610.12-1990]
A Good Set of Requirements is….[2]
• Correct
• Unambiguous
• Complete
• Consistent
• Ranked for importance and/or stability
• Verifiable
8Prepared by: Dr. Hamdan Al-Sabri
Our objective to study strength and weakness points for the techniques,
approaches , tools and suggested a new one depend on this factors .
The Inputs and Outputs for RE[2]
9Prepared by: Dr. Hamdan Al-Sabri
Requirement Elicitation[2]
• Requirement Elicitation: the process through which the
customer and developer discover, review, articulate, and
understand the users’ needs and constraints on the software
and development activities
• Requirements elicitation is the process of seeking,
uncovering, acquiring, and elaborating requirements for
computer based systems[3].
10Prepared by: Dr. Hamdan Al-Sabri
Elicitation Process[2]
• Establish objectives
– Business goals
– Problem to be solved
– System constraints
• Understand background
– Organizational structure
– Application domain
– Existing systems
11Prepared by: Dr. Hamdan Al-Sabri
• Organize knowledge
– Stakeholder identification
– Goal prioritization
– Domain knowledge filtering
• Collect requirements
– Stakeholder requirements
– Domain requirements
– Organizational requirements
Requirements Elicitation: Techniques,
Approaches, and Tools[3]
• Requirements Elicitation Techniques.
• Requirements Elicitation Approaches.
• Requirements Elicitation Tools.
12Prepared by: Dr. Hamdan Al-Sabri
Techniques and Approaches for Requirements
Elicitation
• Interviews
• Questionnaires
• Task Analysis
• Domain Analysis
• Introspection
• Repertory Grids
• Card Sorting
• Laddering
• Group Work
• Brainstorming
13Prepared by: Dr. Hamdan Al-Sabri
• Joint Application Development (JAD)
• Requirements Workshops
• Ethnography
• Observation
• Protocol Analysis
• Apprenticing
• Prototyping
• Goal Based Approaches
• Scenarios
• Viewpoints
Methodology Based Requirements Elicitation
• Structured Analysis and Design (SAD)
• Data Flow Diagrams (DFD)
• Entity Relationship Diagrams (ERD)
• Unified Modeling Language (UML)
• Soft System Methodology (SSM)
• Quality Functional Deployment (QFD)
• Starting Points and Context-Free Questions
• Agile Methods
14Prepared by: Dr. Hamdan Al-Sabri
Tool Support for Requirements Elicitation
• IEEE Std 830 Software Requirements Specification(Templates)
• Volere Requirements Specification Template
• DOORS
• CaliberRM
• RequisitPro
• Objectiver for goal based modeling
• ART-SCENE for scenario elicitation
• The Requirements Apprentice
• ACME/PRIME
• AbstFinder
• AMORE
15Prepared by: Dr. Hamdan Al-Sabri
Tool Support for Requirements Elicitation…
• Groupware
• mind mapping and idea capture softwarere (meeting tools)
• virtual collaboration environments (designed groups sessions)
16Prepared by: Dr. Hamdan Al-Sabri
Issues and Pitfalls of Requirements Elicitation
• Process and Project
• Communication and Understanding
• Quality of Requirements
• Stakeholders
• Analyst
17Prepared by: Dr. Hamdan Al-Sabri
Future Directions in Requirements Elicitation
Research
• Reducing the gap between the theory and practice, and
experts and novices
• Increasing the awareness and education of analysts and
stakeholders in industry
• Developing guidelines for technique selection and managing
the impact of factors on the process
• Investigating ways of collecting and reusing knowledge about
requirements elicitation
18Prepared by: Dr. Hamdan Al-Sabri
Future Directions in Requirements Elicitation
Research…
• Integration and use of new technologies including web and
agent based architectures into the next generation of support
tools
• Produce and publish case studies and industrial experience
reports on how requirements elicitation contributed to
successes and failures of projects
• Exploring how requirements elicitation activities relates to
new and developing fields of software engineering such as
agent based systems, agile development methodologies, and
web systems
19Prepared by: Dr. Hamdan Al-Sabri
Elicitation Techniques[1]
• Traditional techniques
• Cognitive techniques
• Collaborative techniques
• Contextual approaches
20Prepared by: Dr. Hamdan Al-Sabri
Elicitation Techniques
• Traditional techniques
– Introspection
– Reading existing documents
– Analyzing hard data
– Interviews
• Open-ended
• Structured
– Surveys / Questionnaires
– Meetings
21Prepared by: Dr. Hamdan Al-Sabri
Elicitation Techniques
• Cognitive techniques
– Task analysis
– Protocol analysis
– Knowledge Acquisition Techniques
• Card Sorting
• Laddering
• Repertory Grids
• Proximity Scaling Techniques
22Prepared by: Dr. Hamdan Al-Sabri
Elicitation Techniques
• Collaborative techniques
– Group techniques
• Focus Groups
• Brainstorming
– JAD/RAD workshops
– Prototyping
– Participatory Design
23Prepared by: Dr. Hamdan Al-Sabri
Elicitation Techniques
• Contextual approaches
– Ethnographic techniques
• Participant Observation
• Enthnomethodology
– Discourse Analysis
• Conversation Analysis
• Speech Act Analysis
– Sociotechnical Methods
• Soft Systems Analysis
24Prepared by: Dr. Hamdan Al-Sabri

Software requirements engineering

  • 1.
    Prepared by : Dr.Hamdan Al-Sabri 1Prepared by: Dr. Hamdan Al-Sabri
  • 2.
    Domain 2Prepared by: Dr.Hamdan Al-Sabri
  • 3.
    Golden Circle 3Prepared by:Dr. Hamdan Al-Sabri • Why this Domain(Motivation)??? • New or Existing system is required Requirements Engineering • Cost for rebuild system • How to reach to Our Objective??? • What is the Objective???
  • 4.
    Why are Requirementsso important?[2] 4Prepared by: Dr. Hamdan Al-Sabri
  • 5.
    Cumulative number ofpublications since [4,2012] 5Prepared by: Dr. Hamdan Al-Sabri
  • 6.
    Specific sub areafrom the Domain (ER) 6Prepared by: Dr. Hamdan Al-Sabri Sub disciplines of Requirements Engineering R Classification Conceptual Model R Design R Negotiation Requirements Engineering Requirements Development Requirements Management Traceability Change ManagementR Elicitation R Analysis R Specification R Validation R Review Prototyping Model Validation Acceptance Test Hardware RS Interface RS Software RS Software Design Software Test Understanding the application domain Identifying the sources of requirements Analyzing the stakeholders Selecting the techniques, approaches, and tools to use Eliciting the requirements from stakeholders and other sources
  • 7.
    What is RequirementEngineering?[2] 7Prepared by: Dr. Hamdan Al-Sabri • Requirement Engineering (RE) is the science and discipline concerned with analyzing and documenting requirements. • Requirement: – (1) A condition or capability needed by a user to solve a problem or achieve an objective. – (2) 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 documents. – (3) A documented representation of a condition or capability as in (1) or (2). [IEEE-Std-610.12-1990]
  • 8.
    A Good Setof Requirements is….[2] • Correct • Unambiguous • Complete • Consistent • Ranked for importance and/or stability • Verifiable 8Prepared by: Dr. Hamdan Al-Sabri Our objective to study strength and weakness points for the techniques, approaches , tools and suggested a new one depend on this factors .
  • 9.
    The Inputs andOutputs for RE[2] 9Prepared by: Dr. Hamdan Al-Sabri
  • 10.
    Requirement Elicitation[2] • RequirementElicitation: the process through which the customer and developer discover, review, articulate, and understand the users’ needs and constraints on the software and development activities • Requirements elicitation is the process of seeking, uncovering, acquiring, and elaborating requirements for computer based systems[3]. 10Prepared by: Dr. Hamdan Al-Sabri
  • 11.
    Elicitation Process[2] • Establishobjectives – Business goals – Problem to be solved – System constraints • Understand background – Organizational structure – Application domain – Existing systems 11Prepared by: Dr. Hamdan Al-Sabri • Organize knowledge – Stakeholder identification – Goal prioritization – Domain knowledge filtering • Collect requirements – Stakeholder requirements – Domain requirements – Organizational requirements
  • 12.
    Requirements Elicitation: Techniques, Approaches,and Tools[3] • Requirements Elicitation Techniques. • Requirements Elicitation Approaches. • Requirements Elicitation Tools. 12Prepared by: Dr. Hamdan Al-Sabri
  • 13.
    Techniques and Approachesfor Requirements Elicitation • Interviews • Questionnaires • Task Analysis • Domain Analysis • Introspection • Repertory Grids • Card Sorting • Laddering • Group Work • Brainstorming 13Prepared by: Dr. Hamdan Al-Sabri • Joint Application Development (JAD) • Requirements Workshops • Ethnography • Observation • Protocol Analysis • Apprenticing • Prototyping • Goal Based Approaches • Scenarios • Viewpoints
  • 14.
    Methodology Based RequirementsElicitation • Structured Analysis and Design (SAD) • Data Flow Diagrams (DFD) • Entity Relationship Diagrams (ERD) • Unified Modeling Language (UML) • Soft System Methodology (SSM) • Quality Functional Deployment (QFD) • Starting Points and Context-Free Questions • Agile Methods 14Prepared by: Dr. Hamdan Al-Sabri
  • 15.
    Tool Support forRequirements Elicitation • IEEE Std 830 Software Requirements Specification(Templates) • Volere Requirements Specification Template • DOORS • CaliberRM • RequisitPro • Objectiver for goal based modeling • ART-SCENE for scenario elicitation • The Requirements Apprentice • ACME/PRIME • AbstFinder • AMORE 15Prepared by: Dr. Hamdan Al-Sabri
  • 16.
    Tool Support forRequirements Elicitation… • Groupware • mind mapping and idea capture softwarere (meeting tools) • virtual collaboration environments (designed groups sessions) 16Prepared by: Dr. Hamdan Al-Sabri
  • 17.
    Issues and Pitfallsof Requirements Elicitation • Process and Project • Communication and Understanding • Quality of Requirements • Stakeholders • Analyst 17Prepared by: Dr. Hamdan Al-Sabri
  • 18.
    Future Directions inRequirements Elicitation Research • Reducing the gap between the theory and practice, and experts and novices • Increasing the awareness and education of analysts and stakeholders in industry • Developing guidelines for technique selection and managing the impact of factors on the process • Investigating ways of collecting and reusing knowledge about requirements elicitation 18Prepared by: Dr. Hamdan Al-Sabri
  • 19.
    Future Directions inRequirements Elicitation Research… • Integration and use of new technologies including web and agent based architectures into the next generation of support tools • Produce and publish case studies and industrial experience reports on how requirements elicitation contributed to successes and failures of projects • Exploring how requirements elicitation activities relates to new and developing fields of software engineering such as agent based systems, agile development methodologies, and web systems 19Prepared by: Dr. Hamdan Al-Sabri
  • 20.
    Elicitation Techniques[1] • Traditionaltechniques • Cognitive techniques • Collaborative techniques • Contextual approaches 20Prepared by: Dr. Hamdan Al-Sabri
  • 21.
    Elicitation Techniques • Traditionaltechniques – Introspection – Reading existing documents – Analyzing hard data – Interviews • Open-ended • Structured – Surveys / Questionnaires – Meetings 21Prepared by: Dr. Hamdan Al-Sabri
  • 22.
    Elicitation Techniques • Cognitivetechniques – Task analysis – Protocol analysis – Knowledge Acquisition Techniques • Card Sorting • Laddering • Repertory Grids • Proximity Scaling Techniques 22Prepared by: Dr. Hamdan Al-Sabri
  • 23.
    Elicitation Techniques • Collaborativetechniques – Group techniques • Focus Groups • Brainstorming – JAD/RAD workshops – Prototyping – Participatory Design 23Prepared by: Dr. Hamdan Al-Sabri
  • 24.
    Elicitation Techniques • Contextualapproaches – Ethnographic techniques • Participant Observation • Enthnomethodology – Discourse Analysis • Conversation Analysis • Speech Act Analysis – Sociotechnical Methods • Soft Systems Analysis 24Prepared by: Dr. Hamdan Al-Sabri