Professional Documents
Culture Documents
By:
Hailemichael Kefie
Software Engineering Dept.
What are Requirement?
A requirement is some aspect of a system’s content or
behavior, which is necessary or desired by the customer or
client
Provides a clear understanding of the problem domain
Establishes a context of the need/problem
Requirements define
What the system must do
What characteristics the system must have
What information is involved
What degree of quality is expected
What constraints apply to the solution
Who will use the system
How the system is to be used
What are Requirement cont.…?
Proper Planning
Realistic Expectations
They add detail and explain how the user requirements should be
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.
Functional requirements
Non functional requirements - Quality Attributes
Domain requirements
Functional requirements
Describes system services or functions which are expected by the users
of the system.
How it should react to particular inputs,
How it should behave in particular situations.
Examples:
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.
Example
The product must be available at the beginning of the next year
The system shall respond to every user action in less than 3 seconds
Domain Requirements
Requirements that come from the application domain of the system
and that reflect characteristics of that domain.
Functional or non-functional requirements derived from
application domain (e.G., Legal requirements or physical laws).
Derived from the application domain rather than user needs.
A train control system has to take into account the braking characteristics in
different weather conditions. This is a domain requirement for a train
protection system.
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.
Organizational requirements(Process)
Are a consequence of organizational policies and procedures e.G.
Process standards used, implementation requirements, etc.
The system must be developed using the XYZ suite of CASE tools
Examples
Medical data system - the organisation’s data protection officer must certify that
all data is maintained according to data protection legislation before the system
is put into operation
What are Quality Attributes…?
A set of constraints the system must satisfy and the standards which
must be met by the delivered system.
Performance,
Reliability,
Usability,
Efficiency,
Maintainability,
Portability, Scalability,
Security,
Integration etc.,
Requirements elicitation
Requirements analysis
Requirements specification
System modeling
Requirements management
Feasibility Study
Feasibility Report….
Based on information assessment (what is required),information
collection, Feasibility report writing will be carried over…..
Requirements Elicitation
Is the process through which the customer and developer
discover, review, articulate, and understand the users needs and
constraints on the software and development activities.
Organization process where the system will be used to determine what the
stakeholders need.
Requirements Elicitation
It certainly seems simple enough to ask the customer, the users,
and others
What the objectives of the system are….?
What is to be accomplished…?
How the system or product fits into the needs of the business and
Finally, how the system or product is to be used on a day-to-day basis…..?
Implemented
Expressed in By
Structured By Realized By
Terms Of Verified
By
class...
class...
class... ?
class.... ?
Use Case Application Solution
Domain Subsystems Source Test
Model Domain
Objects Code Cases
Objects
Components of requirements elicitation
Stakeholder
Application
Problem to context
Domain
be solved
Business
Needs and constraints
Components of requirements elicitation
Application domain understanding : Application domain knowledge
is knowledge of the general area where the system is applied.
Elicitation problems:
Not enough time for elicitation.
Insufficient preparation by engineers.
Stakeholders are unconvinced of the need for a new system.
Specific Elicitation Techniques
Specific Elicitation Techniques
1. Review of Literature
All documentation on data carriers (forms, records, report, manuals
etc.) are organized and evaluated as and when available.
It is time- consuming
4. Interview:
The requirements engineer or analyst discusses the system with different
stakeholders and builds up an understanding of their requirements.
5. Requirements reuse
Reuse involves taking the requirements which have been developed for
one system and using them in a different system.