Unit 2 Notes
Unit 2 Notes
UNIT-II
REQUIREMENTS ANALYSIS AND SPECIFICATION
Requirements of a system are the descriptions of the services provided by the system and
its operational constraints.
The requirements reflect the needs of customers for a system that helps solve the problem
Requirements specify what the system is supposed to do but not how the system is to
accomplish the task.
Requirements should be precise, complete, and consistent
Precise - They should state exactly what is desired of the system
Complete - They should include descriptions of all facilities required
Consistent - There should be no conflicts in the descriptions o f the system
facilities
Requirement analysis
specifies soft war e’ s operational charact eri stics
indicates software's interface with other system elements
establishes constraints that software must meet
Requirements analysis allows the software engineer to:
elaborate on basic requirements established during earlier requirement
engineering tasks
Build models that depict user scenarios, functional activities, problem classes and
their relationships, system and class behavior, and the flow of data as it is
transformed.
Requirement can be
Functional
Non-functional
Domain
1
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Non f unctional requirements are the constraints on the services offered b sy the system
such atiming constraints, constraints on the development process, standard s, etc.
Non functional requirements are not directly concerned with specific functions delivered
by the system.
They specify system performance, security, availability, and other emergent properties.
Types of non-functional requirements:
1. Product requirements:
These requirements specify the product behavior.
Ex: execution speed, memory requirement, reliability requirements that set out the
acceptable failure rate; portability requirements; and usability requirements etc
2. Organisational requirements
These requirements are derived from policies and procedures of the organization.
2
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Ex: process standards that must be used; implementation requirements such as the
programming language or design method used and delivery requirements that specify
when the product and its documentation are to be delivered.
No n-fu nct io nal
requ ir ement s
3
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
4
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
5
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
6
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
7
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
8
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Graphical models are most useful to show how state changes and to describe a sequence
of actions
Eg: sequence diagram for ATM withdrawal
9
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Requ irement s
d ocumen t
10
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
The amount of time and effort for each activity in the iteration depends on the stage of
the overall process and the type of system being developed.
Early stage includes understanding the non-functional requirements and the user
requirements. Later stages are devoted to system requirements engineering and system
modeling.
The number of iterations around the spiral can vary
Requirements engineering is the process of applying a structured analysis method such as
object-oriented analysis
This involves analyzing the system and developing a set of graphical system models,
such as use-case models, that then serve as a system specification.
2.2.1 FEASIBILITY STUDY
Feasib ility study is used to determine if the user needs can be satisfied with the available
technology and budget
Feasib ility study checks the following:
Does the system contribute to organisational objectives?
Can the system can be implemented using current technology and within budget
Can the system can be integrated with other systems that are used
If a system does not support these objectives, it has no real value to the business.
Feasibility study is based on the information assessment, information c ollection and
report writing.
Sample Questions that may be asked for information collection are:
1. What if the system wasn’t implemented?
2. What are current process problems?
3. How will the proposed system help?
4. What will be the integration problems?
5. Is new technology needed? What skills?
6. What facilities must be supported by the proposed system?
Information sources are the managers of the departments, software engineers, technology
experts and end-users of the system.
The feasibility study should be completed in two or three weeks.
After collecting the information, the feasibility report is created.
11
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
In the report, changes to the scope, budget and schedule of the system can be proposed
and also suggest further high-level requirements for the system.
1.2.2 REQUIREMENTS ELICITATION AND ANALYSIS
Requirements elicitation is nothing but identifying the application domain, the services
that the system should provide and the constraints.
Requirements are gathered from the stakeholders
Stakeholders are any person or group who will be affected by the system, directly or
indirectly. Eg: end-users, managers, engineers, domain experts etc
Drawbacks of Eliciting and understanding stakeholder requirements:
1. Stakeholders don’t know what they really want.
2. Stakeholders express requirements in their own terms.
3. Different stakeholders may have conflicting requirements.
4. Organisational and political factors may influence the system requirements.
5. The requirements change during the analysis process. New stak eholders may
emerge and the business environment change.
Steps involved in requirements elicitation and analysis
1. Requ irements discovery
This is the process of interacting with stakeholders in the system t o collect their
requirements. Domain requirements are also identified.
2. Requ irements classification and organisation
This activity takes the unstructured collection of requirements, g roups related
requirements and organises them into coherent clusters.
3. Requirements prioritisation and negotiation
Since multiple stakeholders are involved, requirements will conflict. This activity
is concerned with prioritizing the requirements, and finding and resolving requirements
conflicts through negotiation.
4. Requirements documentation
The requirements are documented and input into the next round of the spiral for
further requirements discovery. Formal or informal requirements documents may be
produced.
12
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Re quir e me n t s Re quir e me n t s
c la ssif ic at io n an d p r ior i t iz at i on and
o r ga n isat ion n ego t ia t ion
13
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
14
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Almost all organisational systems must interoperate with other systems in the
organisation. When a new system is planned, the interactions with other systems must be
planned which may place requirements and constraints on the new system.
Finally organise and structure the viewpoints into a hierarchy.
Eg: viewpoint hierarchy for LIBSYS
Once viewpoints have been identified and structured, identify the most important
viewpoints and start with them to discover the system requirements.
Interviewing
RE te am asks questions to stakeholders about the system they are using and the system to
be developed and derive the requirements from their answers.
Interv iews may be of two types:
1. Clo sed interviews where the stakeholder answers a predefined set of questions.
2. Op en interviews where there is no predefined agenda and a range of issues are
explored with stakeholders.
Completely open-ended discussions rarely work well; most interviews require some
questions to get started and to keep the interview focused on the system to be developed.
Interviews are good for getting an overall understanding of what stakeholders do, how
they might interact with the system and the difficulties that they face with current
systems.
Interviews are not good for understanding the domain requirements
Interviews are not an effective technique for eliciting knowledge about organisational
requirements and constraints
It is hard to elicit domain knowledge during interviews for two reasons:
o Requirements engineers cannot understand specific domain specific terminology;
15
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
o Some domain knowledge is so familiar that people find to explain or they think it
is so fundamental that it isn't worth mentioning.
Scenarios
Scenarios are real-life examples of how a system can be used.
Scenarios are useful for adding detail to an outline requirements description. They are
descriptions of example interaction sessions.
Each scenario covers one or more possible interactions.
The scenario starts with an outline of the interaction, and, during elicitation, details are
added to create a complete description of that interaction.
Scenarios should include
o A description of the starting situation;
o A description of the normal flow of events;
o A description of what can go wrong and how it is handled;
o Information about other concurrent activities;
o A description of the state when the scenario finishes.
Scena rios may be written as text, diagrams, screen shots etc
Alternatively, a more structured approach such as event scenarios or use cases may be
adopted
Use cases
Use-c ases are a scenario based technique in the UML (Unified Modellin g Language)
notation for describing object oriented system model.
Use cases identify the actors involved and the type of interaction between them.
Eg:
16
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
A set of use cases should describe all possible interactions with the system.
Actors in the process are represented as stick figures, and each class of interaction is
represented as a named ellipse.
Sequence diagrams
Sequence diagrams are used to add detail to use-cases by showing the sequence of event
processing in the system.
Eg:
17
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
18
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
19
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
1.4 References
1.5 Overview of the remainder of the document
2. General description
2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 General constraints
2.5 Assumptions and dependencies
3. Specific requirements cover functional, non functional and interface
requirements.
The requirements may document external interfaces, desc ribe system
functionality and performance, specify logical database requirements, design
constraints, emergent system properties and quality characteristics.
4. Appendices
5. Index
It is a general framework that can be tailored and adapted to define a st andard to the
needs of a particular organization
Requirements documents are essential when an outside contractor is de veloping the
software system.
The focus will be on defining the user requirements and high-level, non-functional
system requirements.
When the software is part of a large system engineering project that includes interacting
hardware and software systems, it is essential to define the requirements to a fine level of
detail.
2.2.4 REQUIREMENTS VALIDATION
Requirements validation is concerned with showing that the requirements actually define
the system that the customer wants.
Requirements error costs are high so validation is very important
When the requirements change that the system design and implementation must also be
changed and then the system must be tested again. So the cost of fixing a requirement
problem is greater than repairing the design or coding errors
20
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Requirements checking:
1. Validity checks
A user needs the system to perform certain functions.
Does the system provide the functions which best support the customer’s
needs?
2. Consistency checks
Are there any requirements conflicts?
3. Completeness checks
The requirements document should include requirements, which define all
functions, and constraints intended by the system user.
Are all functions required by the customer included?
4. Realism checks
Can the requirements be implemented given available budget and technology?
5. Verifiability
To reduce the potential for dispute between customer and contr actor, system
requirements should always be written so that they are verifiable.
Can the requirements be checked?
Requirements validation techniques
1. Requ irements reviews
The requirements are analysed systematically by a team of reviewers.
2. Protot yping
An executable model of the system is demonstrated to end-users and customers to see
if it meets their real needs
3. Test-case generation
Requirements should be testable. This approach is for developing tests for
requirements to check testability.
If the tests for the requirements are devised as part of the validation process, this often
reveals requirements problems. If a test is difficult or impossible to design, then the
requirements will be difficult to implement and should be reconsidered.
21
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Requirements reviews
A requirements review is a manual process that involves people from both client and
contractor organisations to check the requirements document for anomalies and
omissions.
Requirements reviews can be informal or formal.
Informal reviews involve contractors discussing requirements with the system
stakeholders. Good communications can help to resolve problems at an early stage.
In a formal requirements review, the development team explains the implications of each
requirement to the client. The review team should check each requirement for
consistency as well as completeness.
Reviewers may also check for:
1. Verifiability. Is the requirement realistically testable?
2. Comprehensibility. Is the requirement properly understood?
3. Traceability. Is the origin of the requirement clearly stated? Traceability is important
as it allows the impact of change on the rest of the system to be assessed
4. Adaptability. Can the requirement be changed without a large impact on other
requirements?
Conflicts, contradictions, errors and omissions in the requirements should be pointed out
by reviewers and formally recorded in the review report.
It is then up to the users, the system procurer and the system developer to negotiate a
solution to these identified problems.
1.3 REQUIREMENTS MANAGEMENT
Requirements management is the process of managing changing requirements during the
requirements engineering process and system development.
Requirements management is the process of understanding and controlling changes to
system requirements.
Requirements are incomplete and inconsistent because:
o New requirements arise during the process as business needs change and a better
understanding of the system is developed;
o Different viewpoints have different requirements and these are often
contradictory.
22
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
23
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Consequential requirements
Requirements that result from the introduction of the computer system.
Introducing the computer system may change the organisations processes and open up
new ways of working which generate new system requirements
Compatibility requirements
Requirements that depend on the particular systems or business processes within
an organisation. As these change, the compatibility requirements on the commissioned or
delivered system may also have to evolve.
Requirements management planning:
During the requirements engineering process, you have to plan:
o Requirements identification
Each requirement must be uniquely identified so that it can be cross-
referenced by other requirements and so that it may be used in traceability
assessments.
o A change management process
This is the set of activities that assess the impact and cost of changes
o Traceability policies
These policies define the relationships between requirements, and between
the requirements and the system design that should be recorded and how
these records should be maintained.
o CASE tool support
The tool support required to help manage requirements change;
Traceability
Traceability is concerned with the relationships between requirements, their sources and
the system design
Types of traceability information:
o Source traceability
Links from requirements to stakeholders who proposed these
requirements;
o Requirements traceability
Links between dependent requirements;
24
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
25
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Requirement problem
Change Implementation
26
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
DATA MODELLING:
Entity-Relationship Diagram is a very useful method for data modeling.
It repr esents:
o data objects, object attributes, and relationships between objects
Eg:
27
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
PROCESS MODELLING
Process model represents the system’s function.
This graphically represent the process that capture, manipulate, store and distribute data
between the system and its environment
Eg: Data Flow Diagram
DATA FLOW DIAGRAM
A Data Flow Diagram (DFD) is a graphical representation of the flow of data through an
information system, modeling its process aspects.
This is used to create an overview of the system
Elements of DFD:
external entity - people or organisations that send data into the system or receive data
from t he system
proce ss - models what happens to the data i.e. transforms incoming data into outgoing
data
data s tore - represents permanent data that is used by the system
data f low - models the actual flow of the data between the other elements
28
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Developing DFDs
Context diagram is an overview of an organizational system that shows:
o The system boundaries.
o External entities that interact with the system.
o Major information flows between the entities and the system.
Note: only one process symbol, and no data stores shown
Eg:
29
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
Level-n Diagram shows how the system is divided into sub-systems (processes), each of
which deals with one or more of the data flows to or from an external agent, and which
together provide all of the functionality of the system as a whole.
Eg:
Fig: level 2 DFD for Process 1: Register student for the course
Class Diagram
A cla ss is a collection of objects with common structure, common behav ior, common
relationships and common semantics
Classes are found by examining the objects in sequence and collaboration diagram
A class is drawn as a rectangle with three compartments
A class diagram shows the existence of classes and their relationships in the logical view
of a system
UML modeling elements in class diagrams
Classes and their structure and behavior
Association, aggregation, dependency, and inheritance relationships
Multiplicity and navigation indicators
Role names
30
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
31
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
A transition is firable or enabled when there are sufficient tokens in its input places.
After firing, tokens will be transferred from the input places (old state) to the output
places, denoting the new state.
Eg: firing event
32
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
33
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
34
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
35
NADAR SARASWATHI COLLEGE OF ENGINEERING AND TECHNOLOGY, THENI.
36