10 Requirements Engineering 2024 1.2
10 Requirements Engineering 2024 1.2
Requirements analysis
l specifies software’s operational characteristics.
l indicates software's interface with other system elements.
l establishes constraints that software must meet.
1
RQ2 : Does Analysis Model Work as a
Bridge?
2
RQ3 : Describe Requirements Modeling Principles
3
Non-Functional Requirements
Non-functional requirements are the ones that act to
constrain the solution. Non-functional requirements are
some times known as constraints or quality
requirements.
Ø Often apply to the system as a whole rather than individual
features or services
Ø They can be further classified according to whether they
are performance requirements, maintainability
requirements, safety requirements, reliability
requirements or one of many other types of software
requirements
4
Types of nonfunctional requirement
Non-functional classifications
l Product requirements
l Requirements which specify that the delivered product must behave in a
particular way e.g. execution speed, reliability, etc.
l Organisational requirements
l Requirements which are a consequence of organisational policies and
procedures e.g. process standards used, implementation requirements,
etc.
l External requirements
l Requirements which arise from factors which are external to the system
and its development process e.g. interoperability requirements,
legislative requirements, etc.
Metrics for specifying nonfunctional
requirements
Property Measure
Speed Processed transactions/second
User/event response time
Screen refresh time
Size Mbytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
Emergent Properties
l Some requirements represent emergent properties of software;
that is, requirements which cannot be addressed by a single
component, but which depend for their satisfaction on how all
the software components interoperate.
l For example, the throughput requirement for a call center
would depend on how the telephone system, information
system, and the operators all interacted under actual
operating conditions.
l Emergent properties are crucially dependent on the system
architecture
Emergent properties are characteristics or behaviors that arise
from the interactions of simpler components within a system,
which cannot be predicted simply by analyzing those components
in isolation.
9
Requirements Elicitation
l Requirements elicitation is concerned with where software
requirement come from and how the software engineer can
collect them
l It is the first stage in building an understanding of the problem
the software is required to solve
l One of the fundamental tenets of good software engineering is
that there be good communication between software users and
software engineers
l The process through which the customers, buyers, users of a
software system discover, reveal, articulate and
understand their requirements.
10
The requirements elicitation and
analysis process
11
General Elicitation Procedure
l Five Steps
l Identify relevant source of requirements
l Ask appropriate questions to gain an understanding of
their needs.
l Analyze the gathered information, looking for implications,
inconsistencies, or unresolved issues.
l Confirm your understanding of the requirements with
the users.
l Synthesize appropriate statements of the requirements
Requirements Sources
Goals : The term goal or business concern or critical success
factor refers to the overall, high level objective of the
software.
Domain Knowledge : The software engineer needs to
acquire, or have available, knowledge about the
application domain. This enables them to infer tacit
knowledge that the stakeholders do not articulate,
assess the trade-offs that will be necessary between
conflicting requirements
Stakeholders : Much software has proved unsatisfactory
because it has stressed the requirement of one group of
stakeholder at the expense of those of others. The
software engineers needs to identify, represent, and
manage the ‘view-points’ of many different types of
stakeholders 13
Requirements Sources
The Operational Environment : Requirements will be
derived from the environment in which the software
will be executed. These may be, e.g. timing constraints
in real-time software or interoperability constraints in
an office environment. These must be actively sought
out, because they can greatly affect software cost, and
restrict design choices
The organizational environment : Software is often
required to support a business process, the selection
of which may be conditioned by the structure, culture,
and internal politics of the organization. The software
engineer needs to be sensitive to these, since, in
general, new software should not force unplanned 14
change of the business process
Deliverables and Outcomes
15
Requirements evolution
16
Problems of requirements elicitation
17
Methods of Requirement Elicitation
Methods of Requirement Elicitation
l Background Reading
l Study of Documents and software systems
l Interviewing Customers and Domain Expert
l Questionnaires
l Observation/Ethnography
l Prototyping
l Brainstorming
l JAD (Joint Application Development)
l RAD (Rapid Application Development)
Background Reading
l Company reports
l Job description
l Policy manuals
l Documentation of existing systems
l Organization charts
22
Analyzing Procedures and Other Documents (Cont.)
23
Interviewing and Listening
l One of the primary ways analysts gather information
about an information systems project
l An interview guide is a document for developing,
planning and conducting an interview.
25
FIGURE Typical interview guide
Interviewing and Listening (Cont.)
26
FIGURE Typical interview guide (cont.)
Choosing Interview Questions
27
Interviewing Guidelines
28
Interviewing Groups
l Drawbacks to individual interviews:
l Contradictions and inconsistencies between
interviewees
l Follow-up discussions are time consuming
l New interviews may reveal new questions that require
additional interviews with those interviewed earlier
Disadvantages
29 l More difficult to schedule than individual interviews
Questionnaires
l Questionnaires are special-purpose documents that allow
the analyst to collect information and opinions from
respondents
l The document can be mass produced and distributed to
respondents, who can then complete the questionnaires or
their own time.
l Questionnaires allows the Analyst to collect facts from a
large number of people while maintaining uniform
responses.
Types of Observations
l Passive observation
l Active observation
l Explanatory observation
Ethnography
l A social scientist spends a considerable time observing and
analysing how people actually work.
l People do not have to explain or articulate their work.
l Social and organisational factors of importance may be
observed.
l Ethnographic studies have shown that work is usually richer and
more complex than suggested by simple system models.
l Ethnography is a research method that involves the in-depth
study of people and cultures in their natural environments.
l Researchers/ethnographers, immerse themselves in the
community or social setting they are studying to observe and
sometimes participate in daily activities.
l Ethnographers keep detailed field notes to record their
observations, interactions, and reflections. These notes are
crucial for analyzing and interpreting the data collected. 34
Prototyping
36
Using Prototyping During Requirements Determination
(Contd...)
37
Using Prototyping During Requirements Determination
(Cont.)
38
Using Prototyping During Requirements Determination
(Cont.)
l Drawbacks
l Tendency to avoid formal documentation
l Difficult to adapt to more general user audience
l Sharing data with other systems is often not considered
l Systems Development Life Cycle (SDLC) checks are often
bypassed
39
Brainstorming
l Conference technique.
l Not for problem analysis or for design making.
l Meant for generating new ideas and possible solutions
l Requires a person to lead and to moderate the session- the
facilitator
l Brainstorming applies to requirements elicitation because of
the difficulty of reaching consensus among stakeholder on
what the concrete requirements are
Brainstorming contd..
l Prior to the meeting, the facilitator should define the
Probortunity (Problem+opportunity) for which the ideas will
be generated
l Restricted to 12 to 20 people
l Ideas are prioritized
l Examples of trigger question in Brainstorming
l What features should be supported by the system?
l What are the input data and what are the output of the system?
l What questions should be raised in interviews or in
questionnaires
l What issues still need to be considered
l What are the main risks in the project
Joint Application Development
l Brainstorming like technique
l Introduced by IBM in late 1970.
l There are many consulting firms that offer the services of
organizing and running a JAD Sessions
l A JAD meeting can take a few hours, a few days or even a
couple of weeks
l Number of participants should not exceed 25 to 30.
l Meeting Participants are:-
l Leader :
l Scribe
l Customers
l Developers
JAD (Cont.)
44
Joint Application Development
l Leader :
l The person who conducts and moderates the meeting. This
person has excellent communication skills, is not a
stakeholder in the project and has a good knowledge of the
business domain
l Scribe
l The person who records the JAD session on computer. This
person should have touch-typing skills and should possess
strong knowledge of software development. The scribe can
use CASE tools to document the session and to develop initial
solution models
l Customers (users and managers)
l Are the main participants, who communicate and discuss
requirements, take decisions, approve project objectives etc.
l Developers
l Business analysts and other members of the development
team. They listen rather than speak – they are at the meeting
to find facts and gather information, not to dominate the
process
Joint Application Development
46
Rapid Application Development
l More than a requirements elicitation method
l Aims at delivering system solutions fast
l Technical excellence is secondary to the speed of delivery
l RAD combines five techniques:
l Evolutionary Prototyping
l CASE Tools with code generation
l SWAT (specialist with advance tools) – the RAD
development team
l The best analysts, designers, and programmers that the
organization can get. The team works under a strict time
regime and is co-located with the users
l Interactive JAD during which the scribe is replaced with
SWAT team with CASE Tools
l Time boxing – a project management method that imposes
a fixed time period on the SWAT team to complete the
project
Rapid Application Development
l RAD Objectives
l To cut development time and expense by involving the users in
every phase of systems development
l Successful RAD team must have IT resources, skills, and
management support
l Helps a development team design a system that requires a highly
interactive or complex user interface
48
Rapid Application Development
49
Problems Associated with RAD
51
Disruptive Technologies
l Information technologies must be applied to radically improve
business processes.
l Disruptive technologies are technologies that enable the
breaking of long-held business rules that inhibit organizations
from making radical business changes.
52
The Relationship between Information Gathering and Model
Building
Home Work
https://doi.org/10.1145/3477314.3507004
54