UNIT - (II) PDF
UNIT - (II) PDF
UNIT - (II) PDF
2. Elicitation(Extraction)
Elicitation means to find the requirements from anybody.
The requirements are difficult because the following problems occur in
elicitation.
1
3. Elaboration(explanation)
In this task, the information taken from user during inception and
elaboration and are expanded and refined in elaboration.
Its main task is developing pure model of software using functions,
feature and constraints of a software.
4. Negotiation(Cooperation)
In negotiation task, a software engineer decides the how will
the project be achieved with limited business resources.
To create rough guesses of development and access the impact of the
requirement on the project cost and delivery time.
5. Specification
In this task, the requirement engineer constructs a final work product.
The work product is in the form of software requirement specification.
In this task, formalize the requirement of the proposed software such
as informative, functional and behavioral.
The requirement are formalize in both graphical and textual formats.
6. Validation
The work product is built as an output of the requirement engineering
and that is accessed for the quality through a validation step.
The formal technical reviews from the software engineer, customer
and other stakeholders helps for the primary requirements validation
mechanism.
7. Requirement management
It is a set of activities that help the project team to identify, control
and track the requirements and changes can be made to the requirements at
any time of the ongoing project.
These tasks start with the identification and assign a unique identifier
to each of the requirement.
3
1. Feasibility Study:
The objective behind the feasibility study is to create the reasons for
developing the software that is acceptable to users, flexible to change and
conformable to established standards.
Types of Feasibility:
1. Technical Feasibility - Technical feasibility evaluates the current
technologies, which are needed to accomplish customer requirements
within the time and budget.
2. Operational Feasibility - Operational feasibility assesses the range in
which the required software performs a series of levels to solve
business problems and customer requirements.
3. Economic Feasibility - Economic feasibility decides whether the
necessary software can generate financial profits for an organization.
4
3. Software Requirement Specification:
The models used at this stage include ER diagrams, data flow diagrams
(DFDs), function decomposition diagrams (FDDs), data dictionaries, etc.
o Data Flow Diagrams: Data Flow Diagrams (DFDs) are used widely
for modeling the requirements. DFD shows the flow of data through a
system. The system may be a company, an organization, a set of
procedures, a computer hardware system, a software system, or any
combination of the preceding. The DFD is also known as a data flow
graph or bubble chart.
o Data Dictionaries: Data Dictionaries are simply repositories to store
information about all data items defined in DFDs. At the requirements
stage, the data dictionary should at least define customer data items, to
ensure that the customer and developers use the same definition and
terminologies.
o Entity-Relationship Diagrams: Another tool for requirement
specification is the entity-relationship diagram, often called an "E-R
diagram." It is a detailed logical representation of the data for the
organization and uses three main constructs i.e. data entities,
relationships, and their associated attributes.
5
4. Software Requirement Validation:
After requirement specifications developed, the requirements discussed in
this document are validated.
Requirements can be the check against the following conditions -
o If they can practically implement
o If they are correct and as per the functionality and specially of
software
o If there are any ambiguities
o If they are full
o If they can describe
Requirements Validation Techniques
o Requirements reviews/inspections: systematic manual analysis of
the requirements.
o Prototyping: Using an executable model of the system to check
requirements.
o Test-case generation: Developing tests for requirements to check
testability.
o Automated consistency analysis: checking for the consistency of
structured requirements descriptions.
Normal requirements
The objective and goal are stated for the system through the meetings
with the customer.
For the customer satisfaction these requirements should be there.
Expected requirement
These requirements are implicit.
These are the basic requirement that not be clearly told by the
customer, but also the customer expect that requirement.
Exciting requirements
These features are beyond the expectation of the customer.
The developer adds some additional features or unexpected feature
into the software to make the customer more satisfied.
For example, the mobile phone with standard features, but the developer
adds few additional functionalities like voice searching, multi-touch screen
etc. then the customer more exited about that feature.
3. Usage scenarios
Till the software team does not understand how the features and
function are used by the end users it is difficult to move technical activities.
To achieve above problem the software team produces a set of
structure that identify the usage for the software.
This structure is called as 'Use Cases'.
7
Building the Analysis Model -
Analysis model operates as a link between the 'system description' and
the 'design model'.
In the analysis model, information, functions and the behaviour of the
system is defined and these are translated into the architecture, interface
and component level design in the 'design modeling'.
Elements of the analysis model
3. Behavioral elements
Behavioral elements represent state of the system and how it is
changed by the external events.
The behavioral elements are sequenced diagram, state diagram.
8
Analysis Rules of Thumb
The rules of thumb that must be followed while creating the analysis model.
Requirement Analysis
definition
Requirement Analysis, also known as Requirement Engineering, is the
process of defining user expectations for a new software being built or
modified.
9
The various steps of requirement analysis are shown in fig:
(i) Draw the context diagram: The context diagram is a simple model that
defines the boundaries and interfaces of the proposed systems with the
external world. It identifies the entities outside the proposed system that
interact with the system. The context diagram of student result management
system is given below:
10
(ii) Development of a Prototype (optional): One effective way to find out
what the customer wants is to construct a prototype, something that looks
and preferably acts as part of the system they say they want.
The prototype should be built quickly and at a relatively low cost. Hence it
will always have limitations and would not be acceptable in the final
system. This is an optional activity.
Entity-Relationship Diagrams
ER-modeling is a data modeling method used in software engineering to
produce a conceptual data model of an information system. Diagrams
created using this ER-modeling method are called Entity-Relationship
Diagrams or ER diagrams or ERDs.
Components of an ER Diagrams
1. 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.
For example, in a school database, students, teachers, classes, and courses
11
offered can be treated as entities. All these entities have some attributes or
properties that give them their identity.
Entity Set
An entity set is a collection of related types of entities. An entity set may
include entities with attribute sharing similar values. For example, a Student
set may contain all the students of a school; likewise, a Teacher set may
include all the teachers of a school from all faculties. Entity set need not be
disjoint.
2. Attributes
Entities are denoted utilizing their properties, known as attributes. All
attributes have values. For example, a student entity may have name, class,
and age as attributes.
There exists a domain or range of values that can be assigned to attributes.
For example, a student's name cannot be a numeric value. It has to be
alphabetic. A student's age cannot be negative, etc.
12
There are four types of Attributes:
1. Key attribute
2. Composite attribute
3. Single-valued attribute
4. Multi-valued attribute
5. Derived attribute
5. Derived attribute: Derived attributes are the attribute that does not exist
in the physical database, but their values are derived from other attributes
present in the database. For example, age can be derived from date_of_birth.
In the ER diagram, Derived attributes are depicted by the dashed ellipse.
14
3. Relationships
The association among entities is known as relationship. Relationships are
represented by the diamond-shaped box. For example, an employee
works_at a department, a student enrolls in a course. Here, Works_at and
Enrolls are called relationships.
15
Relationship set
A set of relationships of a similar type is known as a relationship set. Like
entities, a relationship too can have attributes. These attributes are called
descriptive attributes.
16
3. Ternary relationship: It is a relationship amongst instances of three
entity types. In fig, the relationships "may have" provide the association of
three entities, i.e., TEACHER, STUDENT, and SUBJECT. All three entities
are many-to-many participants. There may be one or many participants in a
ternary relationship.
In general, "n" entities can be related by the same relationship and is known
as n-ary relationship.
Cardinality
Cardinality describes the number of entities in one entity set, which can be
associated with the number of entities of other sets via relationship set.
Types of Cardinalities
1. One to One: One entity from entity set A can be contained with at most
one entity of entity set B and vice versa. Let us assume that each student has
only one student ID, and each student ID is assigned to only one person. So,
the relationship will be one to one.
17
Using Sets, it can be represented as:
3. Many to One: More than one entity from entity set A can be associated
with at most one entity of entity set B, however an entity from entity set B
can be associated with more than one entity from entity set A. For example -
many students can study in a single college, but a student cannot study in
many colleges at the same time.
18
Using Sets, it can be represented as:
4. Many to Many: One entity from A can be associated with more than one
entity from B and vice-versa. For example, the student can be assigned to
many projects, and a project can be assigned to many students.
19