SOE202 System Requirements
SOE202 System Requirements
SOE202 System Requirements
By
Engr. Dr. (Mrs)F.O. Elei
Objective and Outline
When you have read the chapter, you will
To introduce the concepts of user and system requirements
The requirements themselves are the description of the system services and constraints that are generated
during the requirements engineering process.
Business Requirements are the essential activities of an enterprise. Business requirements are derived from
business goals (the objectives of the enterprise or organization). Business scenarios may be used as a
technique for understanding business requirements. A key factor in the success of a system is the extent to
which the system supports the business requirements and facilitates an organization in achieving them. If
our systems and software do not support the business requirements effectively and efficiently, they have no
reason for being. Businesses exist to be profitable for stakeholders; organizations exist to meet the needs of
their members. It’s vital that we consider our systems and software development work totally within the
context of business and organizational objectives. This forms and informs the foundation for modeling
software and its requirements.
TYPES OF REQUIREMENT
U
USER REQUIREMENT
Statements in natural language plus diagrams of what services the system is
expected to provide and its operational constraints. Written for customers.
SYSTEM REQUIREMENT
A structured document setting out detailed descriptions of the system’s
functions, services and operational constraints. Defines what should be
implemented so may be part of a contract between
USER REQUIREMENT
•Let us assume that we have a word-processing system that does not have a spell checker. In order to be able
to sell the product, it is determined that it must have a spell checker. Hence the business requirement could
be stated as:
•User Requirement:
•Let us assume that we have a word-processing system that does not have a spell checker. In order to be able
to sell the product, it is determined that it must have a spell checker. Hence the business requirement could
be stated as:
user will be able to correct spelling errors in a document efficiently.
• User requirements are defined using natural language, tables and diagrams as these can be
understood by all users.
• t requirements
• Requirements which specify that the delivered product must behave in a particular way e.g. execution speed,
reliability, etc.
• Organisational requirements
• Requirements which are a consequence of organisational policies and procedures e.g. process standards used,
implementation requirements, etc.
• External requirements
• Requirements may arise from factors which are external to the system and its development process e.g.
interoperability requirements, legislative requirements, etc.
Guideline for writing user requirements
To minimise misunderstandings when writing user requ
• Invent a standard format and use it for all requirements.
• Users can search for, download and print these articles for personal study.
• 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.
ROLE OF FUNCTIONAL REQUIREMENT
• It documents what the customer expects to be delivered and provide
the contractual basis for the development
• To the managers, it may provide the basis for scheduling a yardstick
for progress
• To software engineer, it specified the constraint on behaviour and
performance.
• To developer, it defines the range of acceptable system behaviour and
is the final authority on the outputs produced.
• To tester, it is the basis for test planning and verification.
NON-FUNCTIONAL REQUIREMENTS
• Non-functional requirements may be more critical than functional requirements. If these are not met, the
system is useless.
Non-Functional requirements: Nonfunctional requirements deal with the characteristics of the system which
cannot be expressed as functions - such as the maintainability of the system, portability of the system,
usability of the system, etc.
• These define system properties and constraints e.g. reliability, response time and storage
requirements,accuracy of results, human - computer interface, constraints on the system implementation,
etc.
• They may define constraints on the system such as the capabilities of I/O devices and the data
representations used in system interfaces.
• Process requirements may also be specified mandating a particular CASE system, programming language or
development method.
System requirement
• More detailed specifications of system functions, services and constraints than user
requirements.
• They add detail and explain how the user requirements should be provided by the
system.
• The system requirements should simply describe the external behaviour of the system
and its operational constraints.
• They should not be concerned with how the system should be designed or
implemented.
User requirement / user storey scenario
• 3w criteria(who,why,what)
• Acceptance criteria
• Test criteria
USER STORY
• User story is a requirement expressed from the perspective of an end-user goal.it defines the req in a lag
that has meaning to the role.it helps to bring out real objectives of the project
• For example: as a human res manager, HRM, I need a better way to deal with the employer records,so that
employee history can be tracked including their training and carrier moves.
• Other than
• An organization will implement a human resources system.
The front card
• Who is the primary stakeholder
• What effect the stakeholder want the story to have
• What bus valve the stakeholder will derive from this effect
• It helps uncover hidden or implicit requirement requirement and foster good atm among
participant
• It encourages sharing of diverse ideas, knowledge and experience allowing the creation of
novel and creative solutions
• It can stimulate innovation by encouraging participant to think outside the box
• To invent new way of doing things or when much is unknown
• When there are few or too many ideas
• Early on in a project particularly when:
• Terrain is uncertain
• There is little expertise for the type of applications
• Innovation is important (e.g., novel system)
• Two main activities:
• The Storm: Generating as many ideas as possible (quantity, not quality) – wild is good!
• The Calm: Filtering out of ideas (combine, clarify,
prioritize, improve…) to keep the best one(s) –
may require some voting strategy
• Roles: scribe, moderator (may also provoke),
participants
interview
• Interviews can be conducted with stakeholders and experts to gain a
better understanding of their needs and expectations
• Functional requirements
• What will the system do?
• When will the system do it?
• Are there several modes of operations?
• What kinds of computations or data transformations must be performed?
• What are the appropriate reactions to possible stimuli?
• For both input and output, what should be the format of the data?
• Must any data be retained for any period of time?
Interview question
• Design Constraints
• Physical environment
• Where is the equipment to be located?
• Is there one location or several?
• Are there any environmental restrictions, such as temperature, humidity, or magnetic interference?
• Are there any constraints on the size of the system?
• Are there any constraints on power, heating, or air conditioning?
• Are there constraints on the programming language because of existing software components?
• Interfaces
• Is input coming from one or more other systems?
• Is output going to one or more other systems?
• Is there a prescribed way in which input/output need to be formatted?
• Is there a prescribed way for storing data?
• Is there a prescribed medium that the data must use?
• Standards
• Are there any standards relevant to the system?
Survey and questionnaires/pilot experiment
• Questionnaire's: Used to collect qualitative or quantitative data from
a large number of users. Piolt experiment : is a small scale-study
conducted prior to conducting an actual experiment; designed to test
and refine procedures.
• Example: asking people to fill/complete a survey to find out whether a
question results in the requested information.
Observation and prototying
• Obervation of how stakeholder react to a prototyped design can help
identify problems, challenges or opportunities for improvement.
• The principal use of prototyping is to help customers and developers
understand the requirements for the system
• Requirements elicitation. Users can experiment with a prototype to see how
the system supports their work
• Requirements validation. The prototype can reveal errors and omissions in
the requirements
• Prototyping can be considered as a risk reduction activity which
reduces requirements risks
Prototyping contd
• Improved maintainability
• Reduced overall development effort
• Evolutionary prototyping
• An approach to system development where an initial prototype is produced
and refined through a number of stages to the final system
• Throw-away prototyping
Scenarios/ use cases
• it can be created to illustrate the requirements in a concrete and
realistic way.
• Create a set of use cases/ Scenarios to identify a thread of usage for
the system.
• It provide description of how the system will be used.
Cost analysis and risk analysis in requirement
development