SlideShare a Scribd company logo
UNIT- 2
SOFTWARE
REQUIREMENTS
ANALYSIS AND
SPECIFICATIONS
1
Anubhav Sharma (A.P) CSE
RequirementEngineering
Crucial process steps
Quality of product
Without well written document
2
-- Developers do not know what to build
-- Customers do not know what to expect
-- What to validate
Requirements describe
What not How
Produces one large document written in natural
language contains a description of what the system will
do without describing how it will do it.
Process that creates it
Anubhav Sharma (A.P) CSE
Anubhav Sharma (A.P) CSE
RequirementEngineering
SRS may act as a contract between developer and customer.
4
-- State of practice
• Requirements are difficult to uncover
• Requirements change
• Tight project Schedule
• Communication barriers
• Market driven software development
• Lack of resources
Requirement Engineering is the disciplined application of
proven principles, methods, tools, and notations to describe a
proposed system’s intended behavior and its associated
constraints.
Anubhav Sharma (A.P) CSE
Requirement Engineering
EXAMPLE:
A university wishes to develop a software system for library management
activities. Design the problem statement for the software company.
SOLUTION:
1. Issue of books
2. Return of books
3. Query processing
5
Anubhav Sharma (A.P) CSE
Types of Requirements
Types of Requirements
Known Unknown Undreamed
Requirements Requirements Requirements
Requirements
Functional Non-Functional
7
Anubhav Sharma (A.P) CSE
Types of Requirements
Functional requirements describe what the software has to
do. They are often called product features.
Non Functional requirements are mostly quality
requirements. That stipulate how well the software does,
what it has to do.
Availability
Reliability
Usability
Flexibility
Maintainability
Portability
Testability
For Users
For Developers
Anubhav Sharma (A.P) CSE
Perhaps
• Most difficult
• Most critical
• Most error prone
• Most communication intensive
Succeed
effective customer developer partnership
Selection of any method
1. It is the only method that we know
2. It is our favorite method for all situations
3. We understand intuitively that the method is effective in the
present circumstances.
Normally we rely on first two reasons.
Requirements Elicitation
8
Anubhav Sharma (A.P) CSE
There are number of requirement elicitation methods:-
1.Interviews
2.Brainstorming Sessions
3.FAST
4.Quality function deployment
5.Use Case Approach
Requirements Elicitation
9
Anubhav Sharma (A.P) CSE
1. Interviews
Both parties have a common goal
Selection of stakeholder: Groups to be considered
for interviews:-
1. Entry level personnel
2. Middle level stakeholder
3. Managers
4. Users of the software (Most important)
Success of the
project
10
Anubhav Sharma (A.P) CSE
Types of questions.
1. Any problems with existing system
2. Any Calculation errors
3. Possible reasons for malfunctioning
4. Possible benefits
5. Satisfied with current policies
6. Any requirement of data from other system
7. Any specific problems
8. Any additional functionality
9. Most important goal of the proposed development
At the end, we may have wide variety of expectations from the
proposed software.
11
1. Interviews
Anubhav Sharma (A.P) CSE
It is a group technique
Creative Thinking
New ideas Quickly
2. Brainstorming Sessions
12
1. Users 2. Middle Level managers 3. Total Stakeholders
group discussions
Groups
Anubhav Sharma (A.P) CSE
A Facilitator may handle group bias, conflicts carefully.
-- Facilitator may follow a published agenda
-- Every idea will be documented in a way that everyone
can see it.
--A detailed report is prepared.
13
2. Brainstorming Sessions
Anubhav Sharma (A.P) CSE
3. Facilitated Application
specification Techniques (FAST)
Objective is to bridge the expectation gap.
-- Similar to brainstorming sessions.
-- Team oriented approach
-- Creation of joint team of customers and developers.
14
Anubhav Sharma (A.P) CSE
3. Facilitated Application
specification Techniques (FAST)
1. Arrange a meeting at a neutral site.
2. Establish rules for participation.
3. Informal agenda to encourage free flow of ideas.
4. Appoint a facilitator.
5. Prepare definition mechanism board, worksheets,
wall stickier.
6. Participants should not criticize or debate.
15
Guidelines
Anubhav Sharma (A.P) CSE
3. Facilitated Application
specification Techniques (FAST)
16
FAST session Preparations
Each attendee is asked to make a list of objects that
are:
1. Part of environment that surrounds the system.
2. Produced by the system.
3. Used by the system.
A. List of constraints
B. Functions
C. Performance criteria
Anubhav Sharma (A.P) CSE
Activities of FAST session
1. Every participant presents his/her list
2. Combine list for each topic
3. Discussion
4. Consensus list
5. Sub teams for mini specifications
6. Presentations of mini-specifications
7. Validation criteria
8. A sub team to draft specifications
3. Facilitated Application specification
Techniques (FAST)
17
Anubhav Sharma (A.P) CSE
-- Incorporate voice of the customer
Technical requirements.
Documented
Prime concern is customer satisfaction
What is important for customer?
-- Normal requirements
-- Expected requirements
-- Exciting requirements
18
4. Quality Function Deployment
Anubhav Sharma (A.P) CSE
Steps
1. Identify stakeholders
2. List out requirements
3. Degree of importance to each
requirement.
19
Requirements Elicitation
Anubhav Sharma (A.P) CSE
Requirement Engineer may categorize like:
(i)
(ii)
(iii)
It is possible to achieve
It should be deferred & Why
It is impossible and should be dropped
from consideration
First Category requirements will be implemented as
per priority assigned with every requirement.
Requirements Elicitation
20
5 Points : V. Important
4 Points : Important
3 Points : Not Important but nice to have
2 Points : Not important
1 Points : Unrealistic, required
further exploration
Anubhav Sharma (A.P) CSE
• Ivar Jacobson & others introduced Use Case
approach for elicitation & modeling.
• Use Case – give functional view
• The terms
Use Case
Use Case Scenario
Use Case Diagram
Use Cases are structured outline or template for
the description of user requirements modeled in a
structured language like English. 21
Often Interchanged
But they are different
5. The Use Case Approach
Anubhav Sharma (A.P) CSE
Use case Scenarios are unstructured descriptions of user
requirements.
Use case diagrams are graphical representations
that may be decomposed into further levels of
abstraction.
Components of Use Case approach
Actor:
An actor or external agent, lies outside the system model,
but interacts with it in some way.
Actor Person, machine, information
System
22
Anubhav Sharma (A.P) CSE
Use Cases
A use case is initiated by a user with a particular goal
in mind, and completes successfully when that goal
is satisfied.
23
Anubhav Sharma (A.P) CSE
* It describes the sequence of interactions between
actors and the system necessary to deliver the
services that satisfies the goal.
* Alternate sequence
* System is treated as black box.
Thus
Use Case captures who (actor) does what
(interaction) with the system, for what purpose (goal),
without dealing with system internals.
24
Anubhav Sharma (A.P) CSE
Use case Diagrams
-- represents what happens when actor interacts with a
system.
-- captures functional aspect of the system.
Use Case
Relationship between
actors and use case
and/or between the
use cases.
-- Actors appear outside the rectangle.
--Use cases within rectangle providing functionality.
--Relationship association is a solid line between actor &
use cases.
25
Actor
Anubhav Sharma (A.P) CSE
*Use cases should not be used to capture all the details of
the system.
*Only significant aspects of the required functionality
*No design issues
*Use Cases are for “what” the system is , not “how” the
system will be designed
* Free of design characteristics
26
Anubhav Sharma (A.P) CSE
Use case diagram for Result Management System
Maintain
Student
Details
Maintain
Subject
Details
Maintain
Result
Details
Login
Generate
Result
Reports
View Results
Data Entry
Operator
Administrator/D
R
Student/Teacher
27
Anubhav Sharma (A.P) CSE
1. Maintain student Details
Add/Modify/update students details like name, address.
2.Maintain subject Details
Add/Modify/Update Subject information semester wise
3.Maintain Result Details
Include entry of marks and assignment of credit points for each
paper.
4. Login
Use to Provide way to enter through user id & password.
5. Generate Result Report
Use to print various reports
6. View Result
(i) According to course code
(ii) According to Enrollment number/roll number
28
Anubhav Sharma (A.P) CSE
29
REQUIREMENT ANALYSIS Anubhav Sharma (A.P) CSE
30
Draw the Context Diagram
• This is also called as Fundamental System Model or Level-0 DFD.
• It represents the entire system element as a Single Bubble with input
and output data indicated by incoming and outgoing arrows.
• For example, if bubble A has two inputs x1 and x2, and one output y that
represents A should have exactly two external inputs and one external
output.
Anubhav Sharma (A.P) CSE
31
Context Diagram of Result Mgmt System
Anubhav Sharma (A.P) CSE
This process usually consists of various graphical representations of the
functions, data entities, external entities and the relationships between
them.
This graphical view may help to find incorrect, inconsistent, and missing
requirements.
Such model include –
• Data flow Diagrams
• ER Diagrams
32
Model the Requirements
Anubhav Sharma (A.P) CSE
DFD show the flow of data through the system.
--All names should be unique
-- It is not a flow chart
-- Suppress logical decisions
-- Defer error conditions & error handling until the end of
the analysis
33
Data Flow Diagrams
Anubhav Sharma (A.P) CSE
Symbol Name Function
34
Standard Symbols for DFD’s
Source or sink
A source of system inputs or sink of
System outputs
Data Store
A repository of data, the arrowheads
Indicate net inputs and net outputs
to store.
Process
Performs some transformation of
input data to yield output data
Data flow Used to connect processes to each
other
Anubhav Sharma (A.P) CSE
35
DFD for QUIZ SOFTWARE
Anubhav Sharma (A.P) CSE
36
DFD for UNIVERSITY COURSE REGISTRATION SYSTEM
Anubhav Sharma (A.P) CSE
Entity – Relationship
Model
(ER model)
37
Anubhav Sharma (A.P) CSE
• An Entity – Relationship model (ER model) is an abstract
way to describe a database.
• It is a visual representation of different data using
conventions that describe how these data are related to
each other.
38
Introduction Anubhav Sharma (A.P) CSE
There are three basic elements in ER models:
Entities are the “things” about which we seek
information.
Attributes are the data we collect about the entities.
Relationships provide the structure needed to draw
information from multiple entities.
39
Basic elements in ER modelAnubhav Sharma (A.P) CSE
Entity – rectangle
Attribute -oval
Relationship – diamond
Link - line
40
Symbols used in E-R Diagram
Anubhav Sharma (A.P) CSE
Entity
Entities are represented by means of rectangles. Rectangles are named with the
entity set they represent.
[Image: Entities in a school database]
Attributes
Attributes are properties of entities. Attributes are represented by means of
eclipses. Every ellipse represents one attribute and is directly connected to its
entity (rectangle).
41
ER Model Anubhav Sharma (A.P) CSE
Relationship
A relationship describes how entities interact. For example, the entity
“carpenter” may be related to the entity “table” by the relationship “builds” or
“makes”. Relationships are represented by diamond shapes.
42
ER Model Anubhav Sharma (A.P) CSE
43
TYPES OF ATTRIBUTES
There are total six types of attributes :-
1. Simple attribute
2. Composite attribute
3. Derived attribute
4. Stored attribute
5. Single valued attribute
6. Multi valued attribute
Anubhav Sharma (A.P) CSE
44
TYPES OF ATTRIBUTES
•Simple attribute: Cannot be split in to further attributes(indivisible). Also
known as Atomic attribute. Ex: Ssn(Social Security Number) or Roll No
Anubhav Sharma (A.P) CSE
45
TYPES OF ATTRIBUTES
•Composite attribute:
Can be divided in to smaller subparts which represent more basic attributes
with independent meaning
Even form hierarchy
Ex: Address, Name
Anubhav Sharma (A.P) CSE
46
TYPES OF ATTRIBUTES
•Derived attribute:
Attribute values are derived from another attribute.
Denoted by dotted oval
Ex - Age
Anubhav Sharma (A.P) CSE
47
TYPES OF ATTRIBUTES
Stored attribute:
Attributes from which the values of other attributes are derived.
For example ‘Date of birth’ of a person is a stored attribute.
Anubhav Sharma (A.P) CSE
48
TYPES OF ATTRIBUTES
Single-valued attribute:
A single valued attribute can have only a single value.
For example a person can have only one ‘date of birth’, ‘age’ ,
Social_Security_Number.etc.
That is a single valued attributes can have only single value. But
it can be simple or composite attribute.
That is ‘date of birth’ is a composite attribute , ‘age’ is a simple
attribute. But both are single valued attributes.
Anubhav Sharma (A.P) CSE
49
TYPES OF ATTRIBUTES
Multi-value attribute:
Attribute may contain more than one values. Denoted by double circled oval
line connecting to the entity in the ER diagram.
Ex: Phone-number, College-degree, email addresses etc
Anubhav Sharma (A.P) CSE
50
KEYS
Keys are of following types:-
1. Candidate Key
2. Composite Key
3. Primary key
4. Foreign Key
The name of each primary key attribute is
underlined.
Anubhav Sharma (A.P) CSE
51
CANDIDATE KEY
• a simple or composite key that is unique and minimal
•unique – no two rows in a table may have the same value at
any time
•minimal – every column must be necessary for uniqueness
•For example, for the entity
Employee(EID, First Name, Last Name, SIN, Address, Phone,
BirthDate, Salary, DepartmentID)
•Possible candidate keys are EID, SIN
Anubhav Sharma (A.P) CSE
52
COMPOSITE KEY
•Composed of more than one attribute
•For example, First Name and Last Name – assuming there is
no one else in the company with the same name, Last Name
and Department ID – assuming two people with the same last
name don’t work in the same department.
•A composite key can have two or more attributes, but it must
be minimal.
Anubhav Sharma (A.P) CSE
53
PRIMARY KEY
•A candidate key is selected by the designer to uniquely
identify tuples in a table. It must not be null.
•A key is chosen by the database designer to be used as an
identifying mechanism for the whole entity set. This is
referred to as the primary key. This key is indicated by
underlining the attribute in the ER model.
•For example Employee(EID, First Name, Last Name, SIN,
Address, Phone, BirthDate, Salary, DepartmentID) – EID is
the Primary key.
Anubhav Sharma (A.P) CSE
54
FOREIGN KEY
•An attribute in one table that references the primary key of
another table OR it can be null.
•Both foreign and primary keys must be of the same data type
•For example: Employee(EID, First Name, Last Name, SIN,
Address, Phone, BirthDate, Salary, DepartmentID) –
DepartmentID is the Foreign key.
Anubhav Sharma (A.P) CSE
55
Graphical Representation in E-R diagram
Anubhav Sharma (A.P) CSE
If there are two entity types involved it is a binary relationship type
If there are three entity types involved it is a ternary relationship type
It is possible to have a n-array relationship (quaternary)
56
DEGREE OF A RELATIONSHIP
It is the number of entity types that participate in a relationship
SALESASSIST PRODUCT
SELLS
CUSTOMER
Anubhav Sharma (A.P) CSE
If we have two entity types A and B, the cardinality constraint
specifies the number of instances of entity B that can (or must) be
associated with entity A.
Four possible categories are
One to one (1:1) relationship
One to many (1:m) relationship
Many to one (m:1) relationship
Many to many (m:n) relationship
57
CARDINALITY CONSTRAINTS
The number of instances of one entity that can or must be
associated with each instance of another entity.
Anubhav Sharma (A.P) CSE
58
CARDINALITY CONSTRAINTS
one-to-one
EMPLOYEE DEPARTMENT
MANAGES
1 1
Anubhav Sharma (A.P) CSE
59
CARDINALITY CONSTRAINTS
one to many
EMPLOYEE DEPARTMENT
WORKS-
FOR
M
1
Anubhav Sharma (A.P) CSE
60
CARDINALITY CONSTRAINTS
many-to-one
EMPLOYEE DEPARTMENT
WORKS-
FOR
Anubhav Sharma (A.P) CSE
61
CARDINALITY CONSTRAINTS
many-to-many
EMPLOYEE PROJECT
WORKS-
ON
M N
Anubhav Sharma (A.P) CSE
PARITICIPATION CONSTRAINTS
(OPTIONALITY)
• Specifies minimum number of relationship instances each entity
can participate in .
• This is called minimum cardinality constraint.
• Two type of the participation are : Total And Partial
Specifies if existence of an entity depends on it being related to another entity
via relationship.
PARTICIPATION
TOTAL
PARTIAL
Anubhav Sharma (A.P) CSE
• Ex: if company policy says that every employee must work for the
department then participation of employee in work-for is total.
• Total participation is also called existence dependencies.
• Every entity in total set of employee must be related to a department via
WORKS-FOR
• But we can’t say that every employee must MANAGE a department
• Hence relationship is partial.
• Total participation is indicated by double line and partial participation by
single line.
EMPLOYEE DEPARTMENT
WORKS-
FOR
1
N
Anubhav Sharma (A.P) CSE
GENERALIZATION
The process of generalizing entities, where the generalized entities contain the
properties of all the generalized entities is called Generalization. In
generalization, a number of entities are brought together into one generalized
entity based on their similar characteristics. For an example, pigeon, house
sparrow, crow and dove all can be generalized as Birds.
Anubhav Sharma (A.P) CSE
SPECIALIZATION
Specialization is a process, which is opposite to generalization, as mentioned above. In
specialization, a group of entities is divided into sub-groups based on their
characteristics. Take a group Person for example. A person has name, date of birth,
gender etc. These properties are common in all persons, human beings. But in a
company, a person can be identified as employee, employer, customer or vendor
based on what role do they play in company
Anubhav Sharma (A.P) CSE
INHERITANCE
One of the important features of Generalization and Specialization, is inheritance, that
is, the attributes of higher-level entities are inherited by the lower level entities.
For example, attributes of a person like name, age, and gender can
be inherited by lower level entities like student and teacher etc.
Anubhav Sharma (A.P) CSE
Benefits of ER diagrams
ER diagrams constitute a very useful framework for creating and
manipulating databases.
First, ER diagrams are easy to understand and do not require a person to
undergo extensive training to be able to work with it efficiently and
accurately. This means that designers can use ER diagrams to easily
communicate with developers, customers, and end users, regardless of their
IT proficiency.
Second, ER diagrams are readily translatable into relational tables which can
be used to quickly build databases. In addition, ER diagrams can directly be
used by database developers as the blueprint for implementing data in
specific software applications.
Lastly, ER diagrams may be applied in other contexts such as describing the
different relationships and operations within an organization.
Anubhav Sharma (A.P) CSE
CONSTRUCTING AN ER MODEL
• Before beginning to draw the ER model, read the requirements
specification carefully.
• Document any assumptions you need to make.
1.Identify entities
• list all potential entity types. These are the object
of interest in the system. It is better to put too
many entities in at this stage and them discard
them later if necessary.
Anubhav Sharma (A.P) CSE
2.Remove duplicate entities
• Ensure that they really separate entity types or just
two names for the same thing
• Also do not include the system as an entity type
• e.g. if modelling a library, the entity types might be
books, borrowers, etc.
• The library is the system, thus should not be an entity
type.
Anubhav Sharma (A.P) CSE
3.List the attributes of each entity
• Ensure that the entity types are really needed.
• Are any of them just attributes of another entity
type?
• If so keep them as attributes a nd cross them off
the entity list.
• Do not have attributes of one entity as attributes
of another entity!
Anubhav Sharma (A.P) CSE
4.Mark the primary keys
• Which attributes uniquely identify instances of
that entity type?
5.Define the relationships
• Examine each entity type to see its relationship to
the others.
Anubhav Sharma (A.P) CSE
6.Describe the cardinality and optionality
of the relationships
• Examine the constraints betwee n participating
entities.
7.Remove redundant relationships
• Examine the ER model for redundant
relationships.
• ER modelling is an iterative process, so draw several versions,
refining each one until you are happy with it. Note that there
is no one right answer to the problem, but some solutions
are better than others!
Anubhav Sharma (A.P) CSE
Anubhav Sharma (A.P) CSE
Anubhav Sharma (A.P) CSE
EXAMPLE
• “A Country Bus Company owns a number of busses. Each
bus is allocated to a particular route, although some routes may
have several busses. Each route passes through a number of
towns. One or more drivers are allocated to each stage of a
route, which corresponds to a journey through some or all of the
towns on a route. Some of the towns have a garage where
busses are kept and each of the busses are identified by the
registration number and can carry different numbers of
passengers, since the vehicles vary in size and can be single or
double-decked. Each route is identified by a route number and
information is available on the average number of passengers
carried per day for each route. Drivers have an employee number,
name , address, and sometimes a telephone number.”
Anubhav Sharma (A.P) CSE
ENTITIES
• Bus - Company owns busses and will hold information about them.
• Route - Buses travel on routes and will need described.
• Town - Buses pass through towns and need to know about them
• Driver - Company employs drivers, personnel will hold their data.
• Stage - Routes are made up of stages
• Garage - Garage houses buses, and need to know where they are.
Anubhav Sharma (A.P) CSE
RELATIONSHIPS
• A bus is allocated to a route and a route may have several buses.
Bus-route (m:1) - is serviced by
• A route comprises of one or more stages.
route-stage (1:m) comprises/has
• One or more drivers are allocated to each stage.
driver-stage (m:1) is allocated
• A stage passes through some or all of the towns on a route.
stage-town (m:n) passes-through
• A route passes through some or all of the towns
route-town (m:n) passes-through
• Some of the towns have a garage
garage-town (1:1) is situated
• A garage keeps buses and each bus has one `home' garage
garage-bus (m:1) is garaged
Anubhav Sharma (A.P) CSE
ER DIAGRAM
Anubhav Sharma (A.P) CSE
ATTRIBUTES
• Bus (reg- no,make,size,deck,no-pass)
• Route (route-no,avg-pass)
• Driver (emp - no,name,address,tel-no)
• Town (name)
• Stage (stage - no)
• Garage (name,address)
Anubhav Sharma (A.P) CSE
MORE TECHNIQUES
Anubhav Sharma (A.P) CSE
More techniques for data analysis
There are two main techniques available to
analyze and represent complex processing
logic:
1. Decision trees and
2. Decision tables.
Anubhav Sharma (A.P) CSE
DECISION TREES
A decision tree gives a graphic view of the
processing logic involved in decision
making and the corresponding actions
taken.
The edges of a decision tree represent
conditions and the leaf nodes represent
the actions to be performed depending on
the outcome of testing the condition.
Anubhav Sharma (A.P) CSE
EXAMPLE
Consider Library Membership Automation Software (LMS) where it should
support the following three options:
1. New member
2. Renewal
3. Cancel membership
New member option
Decision: When the 'new member' option is selected, the software asks
details about the member like member's name, address, phone number etc.
Action: If proper information is entered, then a membership record for the
member is created and a bill is printed for the annual membership charge
plus the security deposit payable.
Anubhav Sharma (A.P) CSE
Example Contd..
Renewal option
Decision: If the 'renewal' option is chosen, the LMS asks for the member's
name and his membership number to check whether he is a valid member or
not.
Action: If the membership is valid then membership expiry date is updated
and the annual membership bill is printed, otherwise an error message is
displayed.
Cancel membership option
Decision: If the 'cancel membership' option is selected, then the software
asks for member's name and his membership number.
Action: The membership is cancelled, a cheque for the balance amount due
to the member is printed and finally the membership record is deleted from
the database.
Anubhav Sharma (A.P) CSE
Decision Tree Representation
Anubhav Sharma (A.P) CSE
DECISION TABLES
Decision tables are used mainly because of their visibility,
clearness, coverage capabilities, low maintenance and
automation fitness.
STRUCTURE
The four quadrants
Conditions Condition alternatives
Actions Action entries
Anubhav Sharma (A.P) CSE
Decision Table for LMS
Anubhav Sharma (A.P) CSE
EXAMPLE
Suppose a technical support company
writes a decision table to diagnose printer
problems based upon symptoms
described to them over the phone from
their clients.
Anubhav Sharma (A.P) CSE
Decision Table
Anubhav Sharma (A.P) CSE
BENEFITS
Decision tables, especially when coupled with the use of
a domain-specific language, allow developers and policy experts
to work from the same information, the decision tables
themselves.
Tools to render nested if statements from traditional
programming languages into decision tables can also be used as
a debugging tool.
Decision tables have proven to be easier to understand and
review than code, and have been used extensively and
successfully to produce specifications for complex systems.
Anubhav Sharma (A.P) CSE
REQUIREMENTS
DOCUMENTATION
Anubhav Sharma (A.P) CSE
REQUIREMENTS DOCUMENTATION
This is the way of representing requirements in a consistent
format.
It is called Software Requirement Specification(SRS).
SRS serves many purpose depending upon who is writing it.
 written by customer
 written by developer
Serves as contract between customer & developer.
Anubhav Sharma (A.P) CSE
Nature of the SRS
The basic issues that the SRS writer(s) shall address are the
following:
a) Functionality
b) External Interfaces
c) Performance
d) Attributes
e) Design Constraints imposed on an implementation.
SRS Should
-- Correctly define all requirements
-- not describe any design details
-- not impose any additional constraints
Anubhav Sharma (A.P) CSE
Characteristics of a good SRS
SRS should be
1. Correct
2. Unambiguous
3. Complete
4. Consistent
5. Ranked for importance and/or stability
6. Verifiable
7. Modifiable
8. Traceable
Anubhav Sharma (A.P) CSE
Advantages of a SRS
Software SRS establishes the basic for agreement between the
client and the supplier on what the software product will do.
1. A SRS provides a reference for validation of the final product.
2. A high-quality SRS is a prerequisite to high-quality software.
3. A high-quality SRS reduces the development cost.
Anubhav Sharma (A.P) CSE
Problems without a SRS Document
The important problems that an organization would face if it does not
develop an SRS document are as follows:
• Without developing the SRS document, the system would not be
implemented according to customer needs.
• Software developers would not know whether what they are
developing is what exactly is required by the customer.
• Without SRS document, it will be very difficult for the maintenance
engineers to understand the functionality of the system.
• It will be very difficult for user document writers to write the users’
manuals properly without understanding the SRS document.
Anubhav Sharma (A.P) CSE
Organization of the SRS
IEEE has published guidelines and standards to organize an SRS.
1. Introduction
1.1
1.2
1.3
1.4
1.5
Purpose
Scope
Definition, Acronyms and abbreviations
References
Overview
2. The Overall Description
2.1 Product Perspective
2.1.1 System Interfaces
2.1.2 Interfaces
2.1.3 Hardware Interfaces
2.1.4 Software Interfaces
2.1.5 Communication Interfaces
2.1.6 Memory Constraints
2.1.7 Operations
2.1.8 Site Adaptation Requirements
Anubhav Sharma (A.P) CSE
Organization of the SRS
2.2
2.3
2.4
2.5
2.6
Product Functions
User Characteristics
Constraints
Assumptions for dependencies
Apportioning of requirements
3. Specific Requirements
3.1External Interfaces
3.2Functions
3.3Performance requirements
3.4Logical database requirements
3.5Design Constraints
3.6Software System attributes
3.7Organization of specific requirements
3.8Additional Comments.
4. Change Management Process
5. Document Approvals
6. Supporting Information
Anubhav Sharma (A.P) CSE
SOFTWARE QUALITY
ASSURANCE
Anubhav Sharma (A.P) CSE
SoftwareQuality
1
0
0
Our objective of software engineering is to produce good quality
maintainable software in time and within budget.
Here, quality is very important.
Different people understand different meaning of quality like:
•Conformance to requirements
•Fitness for the purpose
•Level of satisfaction
When user uses the product, and finds the product fit for its
purpose, he/she feels that product is of good quality.
Anubhav Sharma (A.P) CSE
SoftwareQualityAssurance
1
0
1
Software quality assurance (SQA) consists of a means of
monitoring the software engineering processes and methods
used to ensure quality.
Every software developers will agree that high-quality software is
an important goal. Once said, "Every program does something
right, it just may not be the thing that we want it to do."
Anubhav Sharma (A.P) CSE
SoftwareQualityAssurance
1
0
2
The definition serves to emphasize three important points:
1. Software requirements are the foundation from which quality
is measured. Lack of conformance to requirements is lack of
quality.
2. Specified standards define a set of development criteria that
guide the manner in which software is engineered. If the criteria
are not followed, lack of quality will almost surely result.
3. A set of implicit requirements often goes unmentioned (e.g.,
the desire for ease of use and good maintainability). If software
conforms to its explicit requirements but fails to meet implicit
requirements, software quality is suspect.
Anubhav Sharma (A.P) CSE
VerificationandValidation
1
0
3
It is the name given to the checking and analysis process.
The purpose is to ensure that the software conforms to its
specifications and meets the need of the customer.
Verification represents the set of activities that are carried
out to confirm that the software correctly implements the
specific functionality.
Validation represents set of activities that ensure that the
software that has built is satisfying the customer
requirements.
Anubhav Sharma (A.P) CSE
VerificationandValidation
1
0
4
Verification Validation
Are we building the product right? Are we building the right product?
Ensure that the software system
meets all the functionality
Ensure that the functionalities meet
the intended behavior.
Verifications take place first and
include the checking for
documentation, code etc
Validation occurs after verification and
mainly involves the checking of the
overall product.
Done by developers Done by testers
Have static activities as it includes the
reviews, walk-throughs and
inspections to verify that software is
correct or not
Have dynamic activities as it includes
executing the software against the
requirements.
Anubhav Sharma (A.P) CSE
VerificationandValidation
1
0
5
In the verification and validation, two techniques of system
checking and analysis may be used:-
1. Software Inspection
2. System testing
The testing can be carried out using following tests:-
i. Unit testing
ii. Module testing
iii. System testing
iv. Acceptance testing
Anubhav Sharma (A.P) CSE
SQAPlans
1
0
6
The SQA Plan provides a road map for instituting software quality
assurance. Developed by the SQA group, the plan serves as a
template for SQA activities that are instituted for each software
project.
The documentation section describes (by reference) each of the
work products produced as part of the software process. These
include –
• project documents (e.g., project plan)
• models (e.g., ERDs, class hierarchies)
• technical documents (e.g., specifications, test plans)
• user documents (e.g., help files)
Anubhav Sharma (A.P) CSE
MethodsforSQA
1
0
7
The methods by which quality assurance
is accomplished are many and varied,
out of which, two are mentioned as
follows:
1. ISO 9000
2. Capability Maturity Model
Anubhav Sharma (A.P) CSE
ISO 9000
• “ISO” in greek means “equal”, so the association
wanted to convey the idea of equality.
• It is an attempt to improve software quality
based on ISO 9000 series standards.
• It has been adopted by over 130 countries
including India and Japan.
• One of the problem with ISO-9000 series
standard is that it is not industry specific.
• It can be interpreted by the developers to diverse
projects such as hair dryers, automobiles,
televisions as well as software.
Anubhav Sharma (A.P) CSE
ISO 9000 Series
The types of software industries to which the different ISO
standards apply are as follows:
ISO 9001 : This standard applies to the organization engaged
in design, development, production & servicing of goods.
This is the standard that is applicable to most software
development organization.
ISO 9002 : This standard applies to the organization which do
not design products but only involved in production. E.g,
Car manufacturing industries.
ISO 9003 : This standard applies to the organization involved
only in installation and testing of the products.
Anubhav Sharma (A.P) CSE
Benefits of ISO 9000 Certification
1. Continuous Improvement
2. Improved Customer Satisfaction
3. Eliminate Variations
4. Better product and Services
5. Improved Profit levels
6. Improved Communication
7. Reduced Cost
Anubhav Sharma (A.P) CSE
Capability Maturity Model
• It was developed by Software Engineering
Institute (SEI) of Carnegie-Mellon University in
1986.
• It specifies an increasing series of levels of a
software development organization. The higher
the level, the better the software development
process.
• It can be used in two ways: Capability evaluation
and Software process assessment.
Anubhav Sharma (A.P) CSE
CMM Levels
Anubhav Sharma (A.P) CSE
CMM Levels
• Level One :Initial - The software process is characterized as inconsistent, and
occasionally even chaotic. Defined processes and standard practices that
exist are abandoned during a crisis. Success of the organization majorly
depends on an individual effort, talent, and heroics. The heroes eventually
move on to other organizations taking their wealth of knowledge or lessons
learnt with them.
• Level Two: Repeatable - This level of Software Development Organization has
a basic and consistent project management processes to track cost, schedule,
and functionality. The process is in place to repeat the earlier successes on
projects with similar applications. Program management is a key
characteristic of a level two organization.
• Level Three: Defined - The software process for both management and
engineering activities are documented, standardized, and integrated into a
standard software process for the entire organization and all projects across
the organization use an approved, tailored version of the organization's
standard software process for developing, testing and maintaining the
application.
Anubhav Sharma (A.P) CSE
CMM Levels
• Level Four: Managed - Management can effectively control the software
development effort using precise measurements. At this level, organization
set a quantitative quality goal for both software process and software
maintenance. At this maturity level, the performance of processes is
controlled using statistical and other quantitative techniques, and is
quantitatively predictable.
• Level Five: Optimizing - The Key characteristic of this level is focusing on
continually improving process performance through both incremental and
innovative technological improvements. At this level, changes to the process
are to improve the process performance and at the same time maintaining
statistical probability to achieve the established quantitative process-
improvement objectives.
Anubhav Sharma (A.P) CSE
Key ProcessAreas of each Level
CMM Level Focus Key Process Areas
Initial Competent people -
Repeatable Project Management Software Project Planning
Software Configuration Management
Defined Definition of Processes Process Definition
Training Program
Peer Reviews
Managed Product and process quality Quantitative Process Metrics
Software Quality Management
Optimizing Continuous Process
Improvement
Defect Prevention
Process Change Management
Technology Change Management
Anubhav Sharma (A.P) CSE
ComparisonofISO-9000Certification&SEI-CMM
1
1
6
ISO focus on the “customer-supplier relationship”, whereas CMM focus on software
supplier to improve its processes to achieve a higher quality product for the benefit
of the customer.
ISO 9000 standard is written for a wide range of industries whereas CMM
framework is specifies for the software industry.
CMM is a five level framework for measuring software engineering practices, and
ISO 9000 defines a minimum level of attributes for a quality management program.
The ISO 9000’s concept is to follow a set of standards to make success repeatable.
The CMM emphasizes a process of continuous improvement.
Once an organization has met the criteria to be ISO certified by an independent
audit, the next step is only to maintain that level of certification. CMM is an on-
going process of evaluation and improvement, moving from one level of
achievement to the next. Even at the highest level of maturity, the focus is on
continuous improvement.
Anubhav Sharma (A.P) CSE
END OF UNIT-2
Anubhav Sharma (A.P) CSE

More Related Content

PPTX
SDLC and Software Process Models
PPTX
Introduction to database
PPT
Requirement specification (SRS)
PDF
Structured analysis and structured design
PPS
Software design principles
PPTX
Apriori algorithm
SDLC and Software Process Models
Introduction to database
Requirement specification (SRS)
Structured analysis and structured design
Software design principles
Apriori algorithm

What's hot (20)

PDF
Identifying classes and objects ooad
DOCX
Modelo 4+1
PDF
Software Engineering unit 1 Notes AKTU ppt
PPTX
Ch 5 - Requirement Validation.pptx
PPT
Introduction to Software Engineering
PDF
Software Engineering - Ch1
DOCX
Software engineering Questions and Answers
PPT
Software Process Improvement
ODP
Evolutionary process models se.ppt
PDF
Database lab manual
PPTX
Lecture 3 Computer Science Research SEM1 22_23 (1).pptx
PPTX
Adaptive software development
PPTX
Model of information retrieval (3)
PPS
Data models
PPTX
Data analytics unit 1 aktu updated syllabus new
PPT
OO Development 2 - Software Development Methodologies
PPTX
Software Engineering Layered Technology Software Process Framework
PPTX
NAMED ENTITY RECOGNITION
PPTX
Interface specification
PDF
Big Data Analytics with R
Identifying classes and objects ooad
Modelo 4+1
Software Engineering unit 1 Notes AKTU ppt
Ch 5 - Requirement Validation.pptx
Introduction to Software Engineering
Software Engineering - Ch1
Software engineering Questions and Answers
Software Process Improvement
Evolutionary process models se.ppt
Database lab manual
Lecture 3 Computer Science Research SEM1 22_23 (1).pptx
Adaptive software development
Model of information retrieval (3)
Data models
Data analytics unit 1 aktu updated syllabus new
OO Development 2 - Software Development Methodologies
Software Engineering Layered Technology Software Process Framework
NAMED ENTITY RECOGNITION
Interface specification
Big Data Analytics with R
Ad

Similar to Unit 2 of software Engineering aktu sem6 (20)

PDF
SE UNIT-2.pdf
PPT
chap3 seq5.ppt
PPTX
As Applied ICT term 3 Ex 10
PPTX
Unit2 Software engineering UPTU
PPTX
Exam – june 2010 – qp 11
PPTX
Software Engineering unit 2
PPTX
Scenario 4
PPT
Five Point Solutions Slide Presentation
PPTX
requirement-engineering-task-unit-2.pptx
PPTX
Timetable management system(chapter 3)
PPTX
Sdlc process
PPT
SE chapters 6-7
PPT
Slides chapters 6-7
PPTX
Software development life cycle
PPTX
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
DOCX
75629 Topic prevention measures for vulneranbilitiesNumber of.docx
PPTX
Software engineering
PPTX
PPT ch 3 Requirement Analysis and Specification.pptx
DOCX
software engineering
DOCX
IFSM 461 Inspiring Innovation/tutorialrank.com
SE UNIT-2.pdf
chap3 seq5.ppt
As Applied ICT term 3 Ex 10
Unit2 Software engineering UPTU
Exam – june 2010 – qp 11
Software Engineering unit 2
Scenario 4
Five Point Solutions Slide Presentation
requirement-engineering-task-unit-2.pptx
Timetable management system(chapter 3)
Sdlc process
SE chapters 6-7
Slides chapters 6-7
Software development life cycle
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
75629 Topic prevention measures for vulneranbilitiesNumber of.docx
Software engineering
PPT ch 3 Requirement Analysis and Specification.pptx
software engineering
IFSM 461 Inspiring Innovation/tutorialrank.com
Ad

Recently uploaded (20)

PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Cell Types and Its function , kingdom of life
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Pre independence Education in Inndia.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Institutional Correction lecture only . . .
PDF
01-Introduction-to-Information-Management.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
Cell Structure & Organelles in detailed.
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Basic Mud Logging Guide for educational purpose
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Anesthesia in Laparoscopic Surgery in India
GDM (1) (1).pptx small presentation for students
Cell Types and Its function , kingdom of life
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Renaissance Architecture: A Journey from Faith to Humanism
Pre independence Education in Inndia.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Institutional Correction lecture only . . .
01-Introduction-to-Information-Management.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPH.pptx obstetrics and gynecology in nursing
STATICS OF THE RIGID BODIES Hibbelers.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Classroom Observation Tools for Teachers
Cell Structure & Organelles in detailed.
O7-L3 Supply Chain Operations - ICLT Program
Basic Mud Logging Guide for educational purpose

Unit 2 of software Engineering aktu sem6

  • 2. RequirementEngineering Crucial process steps Quality of product Without well written document 2 -- Developers do not know what to build -- Customers do not know what to expect -- What to validate Requirements describe What not How Produces one large document written in natural language contains a description of what the system will do without describing how it will do it. Process that creates it Anubhav Sharma (A.P) CSE
  • 4. RequirementEngineering SRS may act as a contract between developer and customer. 4 -- State of practice • Requirements are difficult to uncover • Requirements change • Tight project Schedule • Communication barriers • Market driven software development • Lack of resources Requirement Engineering is the disciplined application of proven principles, methods, tools, and notations to describe a proposed system’s intended behavior and its associated constraints. Anubhav Sharma (A.P) CSE
  • 5. Requirement Engineering EXAMPLE: A university wishes to develop a software system for library management activities. Design the problem statement for the software company. SOLUTION: 1. Issue of books 2. Return of books 3. Query processing 5 Anubhav Sharma (A.P) CSE
  • 6. Types of Requirements Types of Requirements Known Unknown Undreamed Requirements Requirements Requirements Requirements Functional Non-Functional 7 Anubhav Sharma (A.P) CSE
  • 7. Types of Requirements Functional requirements describe what the software has to do. They are often called product features. Non Functional requirements are mostly quality requirements. That stipulate how well the software does, what it has to do. Availability Reliability Usability Flexibility Maintainability Portability Testability For Users For Developers Anubhav Sharma (A.P) CSE
  • 8. Perhaps • Most difficult • Most critical • Most error prone • Most communication intensive Succeed effective customer developer partnership Selection of any method 1. It is the only method that we know 2. It is our favorite method for all situations 3. We understand intuitively that the method is effective in the present circumstances. Normally we rely on first two reasons. Requirements Elicitation 8 Anubhav Sharma (A.P) CSE
  • 9. There are number of requirement elicitation methods:- 1.Interviews 2.Brainstorming Sessions 3.FAST 4.Quality function deployment 5.Use Case Approach Requirements Elicitation 9 Anubhav Sharma (A.P) CSE
  • 10. 1. Interviews Both parties have a common goal Selection of stakeholder: Groups to be considered for interviews:- 1. Entry level personnel 2. Middle level stakeholder 3. Managers 4. Users of the software (Most important) Success of the project 10 Anubhav Sharma (A.P) CSE
  • 11. Types of questions. 1. Any problems with existing system 2. Any Calculation errors 3. Possible reasons for malfunctioning 4. Possible benefits 5. Satisfied with current policies 6. Any requirement of data from other system 7. Any specific problems 8. Any additional functionality 9. Most important goal of the proposed development At the end, we may have wide variety of expectations from the proposed software. 11 1. Interviews Anubhav Sharma (A.P) CSE
  • 12. It is a group technique Creative Thinking New ideas Quickly 2. Brainstorming Sessions 12 1. Users 2. Middle Level managers 3. Total Stakeholders group discussions Groups Anubhav Sharma (A.P) CSE
  • 13. A Facilitator may handle group bias, conflicts carefully. -- Facilitator may follow a published agenda -- Every idea will be documented in a way that everyone can see it. --A detailed report is prepared. 13 2. Brainstorming Sessions Anubhav Sharma (A.P) CSE
  • 14. 3. Facilitated Application specification Techniques (FAST) Objective is to bridge the expectation gap. -- Similar to brainstorming sessions. -- Team oriented approach -- Creation of joint team of customers and developers. 14 Anubhav Sharma (A.P) CSE
  • 15. 3. Facilitated Application specification Techniques (FAST) 1. Arrange a meeting at a neutral site. 2. Establish rules for participation. 3. Informal agenda to encourage free flow of ideas. 4. Appoint a facilitator. 5. Prepare definition mechanism board, worksheets, wall stickier. 6. Participants should not criticize or debate. 15 Guidelines Anubhav Sharma (A.P) CSE
  • 16. 3. Facilitated Application specification Techniques (FAST) 16 FAST session Preparations Each attendee is asked to make a list of objects that are: 1. Part of environment that surrounds the system. 2. Produced by the system. 3. Used by the system. A. List of constraints B. Functions C. Performance criteria Anubhav Sharma (A.P) CSE
  • 17. Activities of FAST session 1. Every participant presents his/her list 2. Combine list for each topic 3. Discussion 4. Consensus list 5. Sub teams for mini specifications 6. Presentations of mini-specifications 7. Validation criteria 8. A sub team to draft specifications 3. Facilitated Application specification Techniques (FAST) 17 Anubhav Sharma (A.P) CSE
  • 18. -- Incorporate voice of the customer Technical requirements. Documented Prime concern is customer satisfaction What is important for customer? -- Normal requirements -- Expected requirements -- Exciting requirements 18 4. Quality Function Deployment Anubhav Sharma (A.P) CSE
  • 19. Steps 1. Identify stakeholders 2. List out requirements 3. Degree of importance to each requirement. 19 Requirements Elicitation Anubhav Sharma (A.P) CSE
  • 20. Requirement Engineer may categorize like: (i) (ii) (iii) It is possible to achieve It should be deferred & Why It is impossible and should be dropped from consideration First Category requirements will be implemented as per priority assigned with every requirement. Requirements Elicitation 20 5 Points : V. Important 4 Points : Important 3 Points : Not Important but nice to have 2 Points : Not important 1 Points : Unrealistic, required further exploration Anubhav Sharma (A.P) CSE
  • 21. • Ivar Jacobson & others introduced Use Case approach for elicitation & modeling. • Use Case – give functional view • The terms Use Case Use Case Scenario Use Case Diagram Use Cases are structured outline or template for the description of user requirements modeled in a structured language like English. 21 Often Interchanged But they are different 5. The Use Case Approach Anubhav Sharma (A.P) CSE
  • 22. Use case Scenarios are unstructured descriptions of user requirements. Use case diagrams are graphical representations that may be decomposed into further levels of abstraction. Components of Use Case approach Actor: An actor or external agent, lies outside the system model, but interacts with it in some way. Actor Person, machine, information System 22 Anubhav Sharma (A.P) CSE
  • 23. Use Cases A use case is initiated by a user with a particular goal in mind, and completes successfully when that goal is satisfied. 23 Anubhav Sharma (A.P) CSE
  • 24. * It describes the sequence of interactions between actors and the system necessary to deliver the services that satisfies the goal. * Alternate sequence * System is treated as black box. Thus Use Case captures who (actor) does what (interaction) with the system, for what purpose (goal), without dealing with system internals. 24 Anubhav Sharma (A.P) CSE
  • 25. Use case Diagrams -- represents what happens when actor interacts with a system. -- captures functional aspect of the system. Use Case Relationship between actors and use case and/or between the use cases. -- Actors appear outside the rectangle. --Use cases within rectangle providing functionality. --Relationship association is a solid line between actor & use cases. 25 Actor Anubhav Sharma (A.P) CSE
  • 26. *Use cases should not be used to capture all the details of the system. *Only significant aspects of the required functionality *No design issues *Use Cases are for “what” the system is , not “how” the system will be designed * Free of design characteristics 26 Anubhav Sharma (A.P) CSE
  • 27. Use case diagram for Result Management System Maintain Student Details Maintain Subject Details Maintain Result Details Login Generate Result Reports View Results Data Entry Operator Administrator/D R Student/Teacher 27 Anubhav Sharma (A.P) CSE
  • 28. 1. Maintain student Details Add/Modify/update students details like name, address. 2.Maintain subject Details Add/Modify/Update Subject information semester wise 3.Maintain Result Details Include entry of marks and assignment of credit points for each paper. 4. Login Use to Provide way to enter through user id & password. 5. Generate Result Report Use to print various reports 6. View Result (i) According to course code (ii) According to Enrollment number/roll number 28 Anubhav Sharma (A.P) CSE
  • 30. 30 Draw the Context Diagram • This is also called as Fundamental System Model or Level-0 DFD. • It represents the entire system element as a Single Bubble with input and output data indicated by incoming and outgoing arrows. • For example, if bubble A has two inputs x1 and x2, and one output y that represents A should have exactly two external inputs and one external output. Anubhav Sharma (A.P) CSE
  • 31. 31 Context Diagram of Result Mgmt System Anubhav Sharma (A.P) CSE
  • 32. This process usually consists of various graphical representations of the functions, data entities, external entities and the relationships between them. This graphical view may help to find incorrect, inconsistent, and missing requirements. Such model include – • Data flow Diagrams • ER Diagrams 32 Model the Requirements Anubhav Sharma (A.P) CSE
  • 33. DFD show the flow of data through the system. --All names should be unique -- It is not a flow chart -- Suppress logical decisions -- Defer error conditions & error handling until the end of the analysis 33 Data Flow Diagrams Anubhav Sharma (A.P) CSE
  • 34. Symbol Name Function 34 Standard Symbols for DFD’s Source or sink A source of system inputs or sink of System outputs Data Store A repository of data, the arrowheads Indicate net inputs and net outputs to store. Process Performs some transformation of input data to yield output data Data flow Used to connect processes to each other Anubhav Sharma (A.P) CSE
  • 35. 35 DFD for QUIZ SOFTWARE Anubhav Sharma (A.P) CSE
  • 36. 36 DFD for UNIVERSITY COURSE REGISTRATION SYSTEM Anubhav Sharma (A.P) CSE
  • 37. Entity – Relationship Model (ER model) 37 Anubhav Sharma (A.P) CSE
  • 38. • An Entity – Relationship model (ER model) is an abstract way to describe a database. • It is a visual representation of different data using conventions that describe how these data are related to each other. 38 Introduction Anubhav Sharma (A.P) CSE
  • 39. There are three basic elements in ER models: Entities are the “things” about which we seek information. Attributes are the data we collect about the entities. Relationships provide the structure needed to draw information from multiple entities. 39 Basic elements in ER modelAnubhav Sharma (A.P) CSE
  • 40. Entity – rectangle Attribute -oval Relationship – diamond Link - line 40 Symbols used in E-R Diagram Anubhav Sharma (A.P) CSE
  • 41. Entity Entities are represented by means of rectangles. Rectangles are named with the entity set they represent. [Image: Entities in a school database] Attributes Attributes are properties of entities. Attributes are represented by means of eclipses. Every ellipse represents one attribute and is directly connected to its entity (rectangle). 41 ER Model Anubhav Sharma (A.P) CSE
  • 42. Relationship A relationship describes how entities interact. For example, the entity “carpenter” may be related to the entity “table” by the relationship “builds” or “makes”. Relationships are represented by diamond shapes. 42 ER Model Anubhav Sharma (A.P) CSE
  • 43. 43 TYPES OF ATTRIBUTES There are total six types of attributes :- 1. Simple attribute 2. Composite attribute 3. Derived attribute 4. Stored attribute 5. Single valued attribute 6. Multi valued attribute Anubhav Sharma (A.P) CSE
  • 44. 44 TYPES OF ATTRIBUTES •Simple attribute: Cannot be split in to further attributes(indivisible). Also known as Atomic attribute. Ex: Ssn(Social Security Number) or Roll No Anubhav Sharma (A.P) CSE
  • 45. 45 TYPES OF ATTRIBUTES •Composite attribute: Can be divided in to smaller subparts which represent more basic attributes with independent meaning Even form hierarchy Ex: Address, Name Anubhav Sharma (A.P) CSE
  • 46. 46 TYPES OF ATTRIBUTES •Derived attribute: Attribute values are derived from another attribute. Denoted by dotted oval Ex - Age Anubhav Sharma (A.P) CSE
  • 47. 47 TYPES OF ATTRIBUTES Stored attribute: Attributes from which the values of other attributes are derived. For example ‘Date of birth’ of a person is a stored attribute. Anubhav Sharma (A.P) CSE
  • 48. 48 TYPES OF ATTRIBUTES Single-valued attribute: A single valued attribute can have only a single value. For example a person can have only one ‘date of birth’, ‘age’ , Social_Security_Number.etc. That is a single valued attributes can have only single value. But it can be simple or composite attribute. That is ‘date of birth’ is a composite attribute , ‘age’ is a simple attribute. But both are single valued attributes. Anubhav Sharma (A.P) CSE
  • 49. 49 TYPES OF ATTRIBUTES Multi-value attribute: Attribute may contain more than one values. Denoted by double circled oval line connecting to the entity in the ER diagram. Ex: Phone-number, College-degree, email addresses etc Anubhav Sharma (A.P) CSE
  • 50. 50 KEYS Keys are of following types:- 1. Candidate Key 2. Composite Key 3. Primary key 4. Foreign Key The name of each primary key attribute is underlined. Anubhav Sharma (A.P) CSE
  • 51. 51 CANDIDATE KEY • a simple or composite key that is unique and minimal •unique – no two rows in a table may have the same value at any time •minimal – every column must be necessary for uniqueness •For example, for the entity Employee(EID, First Name, Last Name, SIN, Address, Phone, BirthDate, Salary, DepartmentID) •Possible candidate keys are EID, SIN Anubhav Sharma (A.P) CSE
  • 52. 52 COMPOSITE KEY •Composed of more than one attribute •For example, First Name and Last Name – assuming there is no one else in the company with the same name, Last Name and Department ID – assuming two people with the same last name don’t work in the same department. •A composite key can have two or more attributes, but it must be minimal. Anubhav Sharma (A.P) CSE
  • 53. 53 PRIMARY KEY •A candidate key is selected by the designer to uniquely identify tuples in a table. It must not be null. •A key is chosen by the database designer to be used as an identifying mechanism for the whole entity set. This is referred to as the primary key. This key is indicated by underlining the attribute in the ER model. •For example Employee(EID, First Name, Last Name, SIN, Address, Phone, BirthDate, Salary, DepartmentID) – EID is the Primary key. Anubhav Sharma (A.P) CSE
  • 54. 54 FOREIGN KEY •An attribute in one table that references the primary key of another table OR it can be null. •Both foreign and primary keys must be of the same data type •For example: Employee(EID, First Name, Last Name, SIN, Address, Phone, BirthDate, Salary, DepartmentID) – DepartmentID is the Foreign key. Anubhav Sharma (A.P) CSE
  • 55. 55 Graphical Representation in E-R diagram Anubhav Sharma (A.P) CSE
  • 56. If there are two entity types involved it is a binary relationship type If there are three entity types involved it is a ternary relationship type It is possible to have a n-array relationship (quaternary) 56 DEGREE OF A RELATIONSHIP It is the number of entity types that participate in a relationship SALESASSIST PRODUCT SELLS CUSTOMER Anubhav Sharma (A.P) CSE
  • 57. If we have two entity types A and B, the cardinality constraint specifies the number of instances of entity B that can (or must) be associated with entity A. Four possible categories are One to one (1:1) relationship One to many (1:m) relationship Many to one (m:1) relationship Many to many (m:n) relationship 57 CARDINALITY CONSTRAINTS The number of instances of one entity that can or must be associated with each instance of another entity. Anubhav Sharma (A.P) CSE
  • 59. 59 CARDINALITY CONSTRAINTS one to many EMPLOYEE DEPARTMENT WORKS- FOR M 1 Anubhav Sharma (A.P) CSE
  • 62. PARITICIPATION CONSTRAINTS (OPTIONALITY) • Specifies minimum number of relationship instances each entity can participate in . • This is called minimum cardinality constraint. • Two type of the participation are : Total And Partial Specifies if existence of an entity depends on it being related to another entity via relationship. PARTICIPATION TOTAL PARTIAL Anubhav Sharma (A.P) CSE
  • 63. • Ex: if company policy says that every employee must work for the department then participation of employee in work-for is total. • Total participation is also called existence dependencies. • Every entity in total set of employee must be related to a department via WORKS-FOR • But we can’t say that every employee must MANAGE a department • Hence relationship is partial. • Total participation is indicated by double line and partial participation by single line. EMPLOYEE DEPARTMENT WORKS- FOR 1 N Anubhav Sharma (A.P) CSE
  • 64. GENERALIZATION The process of generalizing entities, where the generalized entities contain the properties of all the generalized entities is called Generalization. In generalization, a number of entities are brought together into one generalized entity based on their similar characteristics. For an example, pigeon, house sparrow, crow and dove all can be generalized as Birds. Anubhav Sharma (A.P) CSE
  • 65. SPECIALIZATION Specialization is a process, which is opposite to generalization, as mentioned above. In specialization, a group of entities is divided into sub-groups based on their characteristics. Take a group Person for example. A person has name, date of birth, gender etc. These properties are common in all persons, human beings. But in a company, a person can be identified as employee, employer, customer or vendor based on what role do they play in company Anubhav Sharma (A.P) CSE
  • 66. INHERITANCE One of the important features of Generalization and Specialization, is inheritance, that is, the attributes of higher-level entities are inherited by the lower level entities. For example, attributes of a person like name, age, and gender can be inherited by lower level entities like student and teacher etc. Anubhav Sharma (A.P) CSE
  • 67. Benefits of ER diagrams ER diagrams constitute a very useful framework for creating and manipulating databases. First, ER diagrams are easy to understand and do not require a person to undergo extensive training to be able to work with it efficiently and accurately. This means that designers can use ER diagrams to easily communicate with developers, customers, and end users, regardless of their IT proficiency. Second, ER diagrams are readily translatable into relational tables which can be used to quickly build databases. In addition, ER diagrams can directly be used by database developers as the blueprint for implementing data in specific software applications. Lastly, ER diagrams may be applied in other contexts such as describing the different relationships and operations within an organization. Anubhav Sharma (A.P) CSE
  • 68. CONSTRUCTING AN ER MODEL • Before beginning to draw the ER model, read the requirements specification carefully. • Document any assumptions you need to make. 1.Identify entities • list all potential entity types. These are the object of interest in the system. It is better to put too many entities in at this stage and them discard them later if necessary. Anubhav Sharma (A.P) CSE
  • 69. 2.Remove duplicate entities • Ensure that they really separate entity types or just two names for the same thing • Also do not include the system as an entity type • e.g. if modelling a library, the entity types might be books, borrowers, etc. • The library is the system, thus should not be an entity type. Anubhav Sharma (A.P) CSE
  • 70. 3.List the attributes of each entity • Ensure that the entity types are really needed. • Are any of them just attributes of another entity type? • If so keep them as attributes a nd cross them off the entity list. • Do not have attributes of one entity as attributes of another entity! Anubhav Sharma (A.P) CSE
  • 71. 4.Mark the primary keys • Which attributes uniquely identify instances of that entity type? 5.Define the relationships • Examine each entity type to see its relationship to the others. Anubhav Sharma (A.P) CSE
  • 72. 6.Describe the cardinality and optionality of the relationships • Examine the constraints betwee n participating entities. 7.Remove redundant relationships • Examine the ER model for redundant relationships. • ER modelling is an iterative process, so draw several versions, refining each one until you are happy with it. Note that there is no one right answer to the problem, but some solutions are better than others! Anubhav Sharma (A.P) CSE
  • 75. EXAMPLE • “A Country Bus Company owns a number of busses. Each bus is allocated to a particular route, although some routes may have several busses. Each route passes through a number of towns. One or more drivers are allocated to each stage of a route, which corresponds to a journey through some or all of the towns on a route. Some of the towns have a garage where busses are kept and each of the busses are identified by the registration number and can carry different numbers of passengers, since the vehicles vary in size and can be single or double-decked. Each route is identified by a route number and information is available on the average number of passengers carried per day for each route. Drivers have an employee number, name , address, and sometimes a telephone number.” Anubhav Sharma (A.P) CSE
  • 76. ENTITIES • Bus - Company owns busses and will hold information about them. • Route - Buses travel on routes and will need described. • Town - Buses pass through towns and need to know about them • Driver - Company employs drivers, personnel will hold their data. • Stage - Routes are made up of stages • Garage - Garage houses buses, and need to know where they are. Anubhav Sharma (A.P) CSE
  • 77. RELATIONSHIPS • A bus is allocated to a route and a route may have several buses. Bus-route (m:1) - is serviced by • A route comprises of one or more stages. route-stage (1:m) comprises/has • One or more drivers are allocated to each stage. driver-stage (m:1) is allocated • A stage passes through some or all of the towns on a route. stage-town (m:n) passes-through • A route passes through some or all of the towns route-town (m:n) passes-through • Some of the towns have a garage garage-town (1:1) is situated • A garage keeps buses and each bus has one `home' garage garage-bus (m:1) is garaged Anubhav Sharma (A.P) CSE
  • 79. ATTRIBUTES • Bus (reg- no,make,size,deck,no-pass) • Route (route-no,avg-pass) • Driver (emp - no,name,address,tel-no) • Town (name) • Stage (stage - no) • Garage (name,address) Anubhav Sharma (A.P) CSE
  • 81. More techniques for data analysis There are two main techniques available to analyze and represent complex processing logic: 1. Decision trees and 2. Decision tables. Anubhav Sharma (A.P) CSE
  • 82. DECISION TREES A decision tree gives a graphic view of the processing logic involved in decision making and the corresponding actions taken. The edges of a decision tree represent conditions and the leaf nodes represent the actions to be performed depending on the outcome of testing the condition. Anubhav Sharma (A.P) CSE
  • 83. EXAMPLE Consider Library Membership Automation Software (LMS) where it should support the following three options: 1. New member 2. Renewal 3. Cancel membership New member option Decision: When the 'new member' option is selected, the software asks details about the member like member's name, address, phone number etc. Action: If proper information is entered, then a membership record for the member is created and a bill is printed for the annual membership charge plus the security deposit payable. Anubhav Sharma (A.P) CSE
  • 84. Example Contd.. Renewal option Decision: If the 'renewal' option is chosen, the LMS asks for the member's name and his membership number to check whether he is a valid member or not. Action: If the membership is valid then membership expiry date is updated and the annual membership bill is printed, otherwise an error message is displayed. Cancel membership option Decision: If the 'cancel membership' option is selected, then the software asks for member's name and his membership number. Action: The membership is cancelled, a cheque for the balance amount due to the member is printed and finally the membership record is deleted from the database. Anubhav Sharma (A.P) CSE
  • 86. DECISION TABLES Decision tables are used mainly because of their visibility, clearness, coverage capabilities, low maintenance and automation fitness. STRUCTURE The four quadrants Conditions Condition alternatives Actions Action entries Anubhav Sharma (A.P) CSE
  • 87. Decision Table for LMS Anubhav Sharma (A.P) CSE
  • 88. EXAMPLE Suppose a technical support company writes a decision table to diagnose printer problems based upon symptoms described to them over the phone from their clients. Anubhav Sharma (A.P) CSE
  • 90. BENEFITS Decision tables, especially when coupled with the use of a domain-specific language, allow developers and policy experts to work from the same information, the decision tables themselves. Tools to render nested if statements from traditional programming languages into decision tables can also be used as a debugging tool. Decision tables have proven to be easier to understand and review than code, and have been used extensively and successfully to produce specifications for complex systems. Anubhav Sharma (A.P) CSE
  • 92. REQUIREMENTS DOCUMENTATION This is the way of representing requirements in a consistent format. It is called Software Requirement Specification(SRS). SRS serves many purpose depending upon who is writing it.  written by customer  written by developer Serves as contract between customer & developer. Anubhav Sharma (A.P) CSE
  • 93. Nature of the SRS The basic issues that the SRS writer(s) shall address are the following: a) Functionality b) External Interfaces c) Performance d) Attributes e) Design Constraints imposed on an implementation. SRS Should -- Correctly define all requirements -- not describe any design details -- not impose any additional constraints Anubhav Sharma (A.P) CSE
  • 94. Characteristics of a good SRS SRS should be 1. Correct 2. Unambiguous 3. Complete 4. Consistent 5. Ranked for importance and/or stability 6. Verifiable 7. Modifiable 8. Traceable Anubhav Sharma (A.P) CSE
  • 95. Advantages of a SRS Software SRS establishes the basic for agreement between the client and the supplier on what the software product will do. 1. A SRS provides a reference for validation of the final product. 2. A high-quality SRS is a prerequisite to high-quality software. 3. A high-quality SRS reduces the development cost. Anubhav Sharma (A.P) CSE
  • 96. Problems without a SRS Document The important problems that an organization would face if it does not develop an SRS document are as follows: • Without developing the SRS document, the system would not be implemented according to customer needs. • Software developers would not know whether what they are developing is what exactly is required by the customer. • Without SRS document, it will be very difficult for the maintenance engineers to understand the functionality of the system. • It will be very difficult for user document writers to write the users’ manuals properly without understanding the SRS document. Anubhav Sharma (A.P) CSE
  • 97. Organization of the SRS IEEE has published guidelines and standards to organize an SRS. 1. Introduction 1.1 1.2 1.3 1.4 1.5 Purpose Scope Definition, Acronyms and abbreviations References Overview 2. The Overall Description 2.1 Product Perspective 2.1.1 System Interfaces 2.1.2 Interfaces 2.1.3 Hardware Interfaces 2.1.4 Software Interfaces 2.1.5 Communication Interfaces 2.1.6 Memory Constraints 2.1.7 Operations 2.1.8 Site Adaptation Requirements Anubhav Sharma (A.P) CSE
  • 98. Organization of the SRS 2.2 2.3 2.4 2.5 2.6 Product Functions User Characteristics Constraints Assumptions for dependencies Apportioning of requirements 3. Specific Requirements 3.1External Interfaces 3.2Functions 3.3Performance requirements 3.4Logical database requirements 3.5Design Constraints 3.6Software System attributes 3.7Organization of specific requirements 3.8Additional Comments. 4. Change Management Process 5. Document Approvals 6. Supporting Information Anubhav Sharma (A.P) CSE
  • 100. SoftwareQuality 1 0 0 Our objective of software engineering is to produce good quality maintainable software in time and within budget. Here, quality is very important. Different people understand different meaning of quality like: •Conformance to requirements •Fitness for the purpose •Level of satisfaction When user uses the product, and finds the product fit for its purpose, he/she feels that product is of good quality. Anubhav Sharma (A.P) CSE
  • 101. SoftwareQualityAssurance 1 0 1 Software quality assurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality. Every software developers will agree that high-quality software is an important goal. Once said, "Every program does something right, it just may not be the thing that we want it to do." Anubhav Sharma (A.P) CSE
  • 102. SoftwareQualityAssurance 1 0 2 The definition serves to emphasize three important points: 1. Software requirements are the foundation from which quality is measured. Lack of conformance to requirements is lack of quality. 2. Specified standards define a set of development criteria that guide the manner in which software is engineered. If the criteria are not followed, lack of quality will almost surely result. 3. A set of implicit requirements often goes unmentioned (e.g., the desire for ease of use and good maintainability). If software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspect. Anubhav Sharma (A.P) CSE
  • 103. VerificationandValidation 1 0 3 It is the name given to the checking and analysis process. The purpose is to ensure that the software conforms to its specifications and meets the need of the customer. Verification represents the set of activities that are carried out to confirm that the software correctly implements the specific functionality. Validation represents set of activities that ensure that the software that has built is satisfying the customer requirements. Anubhav Sharma (A.P) CSE
  • 104. VerificationandValidation 1 0 4 Verification Validation Are we building the product right? Are we building the right product? Ensure that the software system meets all the functionality Ensure that the functionalities meet the intended behavior. Verifications take place first and include the checking for documentation, code etc Validation occurs after verification and mainly involves the checking of the overall product. Done by developers Done by testers Have static activities as it includes the reviews, walk-throughs and inspections to verify that software is correct or not Have dynamic activities as it includes executing the software against the requirements. Anubhav Sharma (A.P) CSE
  • 105. VerificationandValidation 1 0 5 In the verification and validation, two techniques of system checking and analysis may be used:- 1. Software Inspection 2. System testing The testing can be carried out using following tests:- i. Unit testing ii. Module testing iii. System testing iv. Acceptance testing Anubhav Sharma (A.P) CSE
  • 106. SQAPlans 1 0 6 The SQA Plan provides a road map for instituting software quality assurance. Developed by the SQA group, the plan serves as a template for SQA activities that are instituted for each software project. The documentation section describes (by reference) each of the work products produced as part of the software process. These include – • project documents (e.g., project plan) • models (e.g., ERDs, class hierarchies) • technical documents (e.g., specifications, test plans) • user documents (e.g., help files) Anubhav Sharma (A.P) CSE
  • 107. MethodsforSQA 1 0 7 The methods by which quality assurance is accomplished are many and varied, out of which, two are mentioned as follows: 1. ISO 9000 2. Capability Maturity Model Anubhav Sharma (A.P) CSE
  • 108. ISO 9000 • “ISO” in greek means “equal”, so the association wanted to convey the idea of equality. • It is an attempt to improve software quality based on ISO 9000 series standards. • It has been adopted by over 130 countries including India and Japan. • One of the problem with ISO-9000 series standard is that it is not industry specific. • It can be interpreted by the developers to diverse projects such as hair dryers, automobiles, televisions as well as software. Anubhav Sharma (A.P) CSE
  • 109. ISO 9000 Series The types of software industries to which the different ISO standards apply are as follows: ISO 9001 : This standard applies to the organization engaged in design, development, production & servicing of goods. This is the standard that is applicable to most software development organization. ISO 9002 : This standard applies to the organization which do not design products but only involved in production. E.g, Car manufacturing industries. ISO 9003 : This standard applies to the organization involved only in installation and testing of the products. Anubhav Sharma (A.P) CSE
  • 110. Benefits of ISO 9000 Certification 1. Continuous Improvement 2. Improved Customer Satisfaction 3. Eliminate Variations 4. Better product and Services 5. Improved Profit levels 6. Improved Communication 7. Reduced Cost Anubhav Sharma (A.P) CSE
  • 111. Capability Maturity Model • It was developed by Software Engineering Institute (SEI) of Carnegie-Mellon University in 1986. • It specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process. • It can be used in two ways: Capability evaluation and Software process assessment. Anubhav Sharma (A.P) CSE
  • 113. CMM Levels • Level One :Initial - The software process is characterized as inconsistent, and occasionally even chaotic. Defined processes and standard practices that exist are abandoned during a crisis. Success of the organization majorly depends on an individual effort, talent, and heroics. The heroes eventually move on to other organizations taking their wealth of knowledge or lessons learnt with them. • Level Two: Repeatable - This level of Software Development Organization has a basic and consistent project management processes to track cost, schedule, and functionality. The process is in place to repeat the earlier successes on projects with similar applications. Program management is a key characteristic of a level two organization. • Level Three: Defined - The software process for both management and engineering activities are documented, standardized, and integrated into a standard software process for the entire organization and all projects across the organization use an approved, tailored version of the organization's standard software process for developing, testing and maintaining the application. Anubhav Sharma (A.P) CSE
  • 114. CMM Levels • Level Four: Managed - Management can effectively control the software development effort using precise measurements. At this level, organization set a quantitative quality goal for both software process and software maintenance. At this maturity level, the performance of processes is controlled using statistical and other quantitative techniques, and is quantitatively predictable. • Level Five: Optimizing - The Key characteristic of this level is focusing on continually improving process performance through both incremental and innovative technological improvements. At this level, changes to the process are to improve the process performance and at the same time maintaining statistical probability to achieve the established quantitative process- improvement objectives. Anubhav Sharma (A.P) CSE
  • 115. Key ProcessAreas of each Level CMM Level Focus Key Process Areas Initial Competent people - Repeatable Project Management Software Project Planning Software Configuration Management Defined Definition of Processes Process Definition Training Program Peer Reviews Managed Product and process quality Quantitative Process Metrics Software Quality Management Optimizing Continuous Process Improvement Defect Prevention Process Change Management Technology Change Management Anubhav Sharma (A.P) CSE
  • 116. ComparisonofISO-9000Certification&SEI-CMM 1 1 6 ISO focus on the “customer-supplier relationship”, whereas CMM focus on software supplier to improve its processes to achieve a higher quality product for the benefit of the customer. ISO 9000 standard is written for a wide range of industries whereas CMM framework is specifies for the software industry. CMM is a five level framework for measuring software engineering practices, and ISO 9000 defines a minimum level of attributes for a quality management program. The ISO 9000’s concept is to follow a set of standards to make success repeatable. The CMM emphasizes a process of continuous improvement. Once an organization has met the criteria to be ISO certified by an independent audit, the next step is only to maintain that level of certification. CMM is an on- going process of evaluation and improvement, moving from one level of achievement to the next. Even at the highest level of maturity, the focus is on continuous improvement. Anubhav Sharma (A.P) CSE
  • 117. END OF UNIT-2 Anubhav Sharma (A.P) CSE