ISE Lecture 07
ISE Lecture 07
Software Engineering
LECTURER: SYED HASNAIN ABBAS BUKHARI
Outcome
of
a
Good
Elicita0on
Process
q Users Perspective
q The users will have a better understanding of their needs and
constraints.
q The users will be in a position to evaluate alternatives and
understand the implications of their decisions.
q This level of understanding is extremely important since it is
usually the users who drives the requirements, which in turn
drives the design and implementation of the entire software
system.
q Thus, the quality of the requirements document is related to the
users understanding of the issues and tradeoffs involved.
S y e d
H a s n a i n
A b b a s
B u k h a r i
Outcome
of
a
Good
Elicita0on
Process
q Users
Perspec0ve
q The users and the developers form a common vision of the problem
S y e d
H a s n a i n
A b b a s
B u k h a r i
Difficulties in Requirement
Elicitation
Difficulties in Requirement Elicitation
q Articulation of the users needs
S y e d
H a s n a i n
A b b a s
B u k h a r i
Difficulties in Requirement Elicitation
q Articulation of the users needs (developers point of view)
S y e d
H a s n a i n
A b b a s
B u k h a r i
Difficulties in Requirement Elicitation
q Communication Barriers
q Communication is not a single direction information flow.
S y e d
H a s n a i n
A b b a s
B u k h a r i
Difficulties in Requirement Elicitation
q Problem Complexity
q The complexity of modern software system makes the process of
requirements elicitation extremely difficult.
q These systems have interconnections between subsystems and
environments that even expert in specialized disciplines have difficulty
in understanding.
q Nature of Requirements
q Requirements change and migrate.
q Users learn and grow.
q Requirements are diverse and conflicting.
q Multiple views can be difficult to integrate.
q Requirements can be difficult to evaluate.
S y e d
H a s n a i n
A b b a s
B u k h a r i
Difficulties in Requirement Elicitation
q Knowledge and Cognitive Limitations
q Tunnel vision.
q User and Developers don’t have adequate domain
knowledge.
q No person has perfect memory.
q Interpretation of statistics.
q Problem simplification and ignoring part of the problem
because of complexity.
q Some people are uncomfortable or impatient with
exploration.
S y e d
H a s n a i n
A b b a s
B u k h a r i
Difficulties in Requirement Elicitation
q Human Behavioral Issues
q Elicitation is a social process.
q Everyone (users) assumes that it is not his/her responsibility to tell the
developers.
q Developer may assume that user will give the information.
q User may assume that developer will ask appropriate questions.
q Expectation and /or fears from proposed system.
q Technical Issues
q Obsolete requirement by the time the elicitation process is completed.
q Software and hardware technologies (corporate management,
government regulations, sales and marketing department).
q Unprecedented system.
S y e d
H a s n a i n
A b b a s
B u k h a r i
Requirement Elicitation Techniques
q Joint Application Development (JAD)
q Quality Function Deployment (QFD)
q Adaptive Loops Framework
q Prototyping
q Contextual Inquiry
q Critical Success Factors Analysis
q Brainstorming
q Interviewing
q PIECES framework
q Performance information and data, Economy
q Control, Efficiency, and services
S y e d
H a s n a i n
A b b a s
B u k h a r i
Key Points
q Requirements set out what the system should do and define constraints on
its operation and implementation.
q User requirements are high-level statements of what the system should do.
User requirements should be written using natural language, tables and
diagrams.
S y e d
H a s n a i n
A b b a s
B u k h a r i
Key Points
q A software requirements document is an agreed statement of the
system requirements.
q The IEEE standard is a useful starting point for defining more detailed
specific requirements standards.
q A requirements definition, a requirements specification and a software
specification are ways of specifying software for different types of
reader.
q The requirements document is a description for customers and
developers.
q Requirements errors are usually very expensive to correct after
system delivery.
q Reviews involving client and contractor staff are used to validate the
system requirements.
S y e d H a s n a i n A b b a s B u k h a r i