Unit 4 Software Requirement Analysis
Unit 4 Software Requirement Analysis
It is a group technique
It is intended to generate lots of new ideas hence providing a platform to share
views
A highly trained facilitator is required to handle group bias and group conflicts.
Every idea is documented so that everyone can see it.
Finally, a document is prepared which consists of the list of requirements and
their priority if possible.
This technique combines text and pictures to provide a better understanding of the
requirements. The use cases describe the ‘what’, of a system and not ‘how’. Hence,
they only give a functional view of the system. The components of the use case
design includes three major things – Actor, Use cases, use case diagram.
1. Actor –
It is the external agent that lies outside the system but interacts with it in some
way. An actor maybe a person, machine etc. It is represented as a stick figure.
Actors can be primary actors or secondary actors.
Primary actors – It requires assistance from the system to achieve a goal.
Secondary actor – It is an actor from which the system needs assistance.
2. Use cases
They describe the sequence of interactions between actors and the system. They
capture who(actors) do what(interaction) with the system. A complete set of use
cases specifies all possible ways to use the system.
3. Use case diagram
A use case diagram graphically represents what happens when an actor interacts
with a system. It captures the functional aspect of the system.
A stick figure is used to represent an actor.
An oval is used to represent a use case.
A line is used to represent a relationship between an actor and a use case.
A Data Flow Diagram (DFD) is a traditional visual representation of the information flows
within a system. A neat and clear DFD can depict the right amount of the system
requirement graphically. It can be manual, automated, or a combination of both.
It shows how data enters and leaves the system, what changes the information, and
where data is stored. The objective of a DFD is to show the scope and boundaries of a
system as a whole. It may be used as a communication tool between a system analyst
and any person who plays a part in the order that acts as a starting point for
redesigning a system. The DFD is also called as a data flow graph or bubble chart.
4.3.2. Data dictionary
A data dictionary is a file or a set of files that includes a database's metadata. The data
dictionary hold records about other objects in the database, such as data ownership,
data relationships to other objects, and other data. The data dictionary is an essential
component of any relational database.
The data dictionary, in general, includes information about the following:
Name of the data item
Aliases include other names by which this data item is called DEO for Data Entry
Operator and DR for Deputy Registrar.
Description/purpose is a textual description of what the data item is used for or why it
exists.
Related data items capture relationships between data items e.g., total_marks must
always equal to internal_marks plus external_marks.
Range of values records all possible values, e.g. total marks must be positive and
between 0 to 100.
Data structure Forms: Data flows capture the name of processes that generate or
receive the data items. If the data item is primitive, then data structure form captures the
physical structures of the data item. If the data is itself a data aggregate, then data
structure form capture the composition of the data items in terms of other data items.
Entity: An entity can be a real-world object, either animate or inanimate, that can be
merely identifiable. An entity is denoted as a rectangle in an ER diagram.
Attributes: Entities are denoted utilizing their properties, known as attributes. All
attributes have values.
2. External Interfaces: How does the software interact with people, system's hardware, other hardware
and other software?
3. Performance: What is the speed, availability, response time, recovery time etc.
4. Attributes: What are the considerations for portability, correctness, maintainability, security, reliability
etc.
5. Design Constraints Imposed on an Implementation: Are there any required standards in effect,
implementation language, policies for database integrity, resource limits, operating environment etc.
2. Overall Description:
- Product Perspective
- Product Functions
- User Characteristics
- Constraints
- Assumptions and Dependencies
3. Specific Requirements:
- Functional Requirements
- Non-Functional Requirements
- External Interface Requirements
- System Features
- Data Requirements
- Performance Requirements
- Security Requirements
- Software Quality Attributes
- Design Constraints
4. Other Requirements:
- Documentation Requirements
- Legal and Regulatory Requirements
- Support and Maintenance Requirements