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???
5. Cumulative number of publications since
[4,2012]
5Prepared by: Dr. Hamdan Al-Sabri
6. 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
7. 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]
8. 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 .
9. The Inputs and Outputs for RE[2]
9Prepared by: Dr. Hamdan Al-Sabri
10. 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
11. 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
13. 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
14. 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
15. 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
16. 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
17. Issues and Pitfalls of Requirements Elicitation
• Process and Project
• Communication and Understanding
• Quality of Requirements
• Stakeholders
• Analyst
17Prepared by: Dr. Hamdan Al-Sabri
18. 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
19. 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
20. Elicitation Techniques[1]
• Traditional techniques
• Cognitive techniques
• Collaborative techniques
• Contextual approaches
20Prepared by: Dr. Hamdan Al-Sabri
21. Elicitation Techniques
• Traditional techniques
– Introspection
– Reading existing documents
– Analyzing hard data
– Interviews
• Open-ended
• Structured
– Surveys / Questionnaires
– Meetings
21Prepared by: Dr. Hamdan Al-Sabri