nscet e-learning presentation notes/unit 2/cs8494_se.pdf · difference verification validation...
TRANSCRIPT
NSCET
E-LEARNING
PRESENTATION
LISTEN … LEARN… LEAD…
Department of CSE, NSCET, Theni 1
COMPUTER SCIENCE AND
ENGINEERING
Mr.C.PRATHAP M.Tech.,(Phd)., Assistant Professor
Nadar Saraswathi College of Engineering & Technology, Vadapudupatti, Annanji (po), Theni – 625531.
CS8494 – SOFTWARE ENGINEERING
II YEAR / IV SEMESTER
PHOTO
Department of CSE, NSCET, Theni 2
UNIT 02 – Requirement Analysis and
Specification
Department of CSE, NSCET, Theni
It is the process of Establishing the services tat the customer requires from a system. And the constraints under which it operates and its developed.
Requirement Engineering
Department of CSE, NSCET, Theni
Types of Requirements • User
• System
• Software Specification
Department of CSE, NSCET, Theni 5
Functional Requirements These form the behavior of the product. Some
examples of functional requirements are,
• New features
• Bug fixes
• New behavior
Department of CSE, NSCET, Theni 6
Non-functional Requirements
These are implicit expectations from the product. Since these are expected features and not specifically documented requirements, they are also known as ‘Quality Attributes’. Some examples of non-functional requirements are,
• Performance
• Reliability
• Error handling
• Ease of use
Department of CSE, NSCET, Theni 7
Department of CSE, NSCET, Theni 8
System Requirements • Its more detailed specifications of system functions ,
services and constraints than user requirements.
• It can be expressed using system models.
• It specify what the system does and design specifies
how it does.
• It describe the external behavior of the system and
its operational constraints.
Department of CSE, NSCET, Theni 9
Department of CSE, NSCET, Theni 10
Verification and Validation • Verification:
The process of evaluating software to
determine whether the products of a given
development phase satisfy the conditions imposed at
the start of that phase.
• Validation:
The process of evaluating software during or at
the end of the development process to determine
whether it satisfies specified requirements.
Department of CSE, NSCET, Theni 11
Difference
Verification Validation
1.Verification is a static practice of verifying documents, design, code and program.
1. Validation is a dynamic mechanism of validating and testing the actual product.
2. It does not involve executing the code. 2. It always involves executing the code.
3. It is human based checking of documents and files.
3. It is computer based execution of program.
4. Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc.
4. Validation uses methods like black box (functional) testing, gray box testing, and white box (structural) testing etc.
5. Verification is to check whether the software conforms to specifications.
5. Validation is to check whether software meets the customer expectations and requirements.
Department of CSE, NSCET, Theni 12
Requirement Engineering Process
Department of CSE, NSCET, Theni 13
Introduction to requirement engineering
• The process of collecting the software requirement
from the client then understand, evaluate and
document it is called as requirement engineering.
• Requirement engineering constructs a bridge for
design and construction.
Department of CSE, NSCET, Theni 14
Requirement engineering consists of
seven different tasks as follow: Inception
• Inception is a task where the requirement engineering
asks a set of questions to establish a software process.
• it understands the problem and evaluates with the
proper solution.
• It collaborates with the relationship between the
customer and the developer.
• The developer and customer decide the overall scope
and the nature of the question.
Department of CSE, NSCET, Theni 15
Elicitation
Elicitation means to find the requirements
from anybody. The requirements are difficult
because the following problems occur in
elicitation.
• Problem of scope
• Problem of understanding
• Problem of volatility
Department of CSE, NSCET, Theni 16
Elaboration • 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.
Department of CSE, NSCET, Theni 17
Negotiation
• In negotiation task, a software engineer decides
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.
Department of CSE, NSCET, Theni 18
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.
Department of CSE, NSCET, Theni 19
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.
Department of CSE, NSCET, Theni 20
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.
• After finalizing the requirement traceability table is
developed.
Department of CSE, NSCET, Theni 21
Feasibility Study • Feasibility Study is essential to evaluate cost &
benefits of the proposed system.
• On the basis of the feasibility study decision is taken
on whether to proceed or to postpone the project
or to cancel the project Steering Committee
Department of CSE, NSCET, Theni 22
Needs of feasibility study • It determine the potential of the existing system .It finds
or determine all the problem of existing system.
• To determine all the goals of the system.
• It finds all possible solutions of the problem of existing
system.(that becomes proposed system).
• It find technology required to solve these problems.
• It determines really which solution is easy for operational
from the point of view of customer or employees such
that it requires very less time with 100% accuracy
Department of CSE, NSCET, Theni 23
Needs of feasibility study • It determines what hardware and software is
required to obtain solution of each problem or
proposed system.
• It determines cost requirements of the complete
proposed system in terms of cost of hardware
required, software required, designing new system,
implementation and training, proposed
maintenance cost.
Department of CSE, NSCET, Theni 24
Types of feasibility study 1) Technical Feasibility.
2) Operational Feasibility.
3) Economical Feasibility.
Department of CSE, NSCET, Theni 25
Technical Feasibility: Following things should be considered
• Determine available hardware.
• Determine available computer with configuration.
• Determine available software.
Find out technical feasibility required for proposed system
• It mentions new hardware requirements of proposed system.
• It Mentions Computer with new configuration requirements of proposed system
• It mentions New software requirements of the proposed system
Department of CSE, NSCET, Theni 26
Operational Feasibility (Behavioral feasibility)
It find out whether the proposed System will be suitable using three types of aspects;
That are human, organizational, and political aspects • It finds out whether there is any direct-indirect resistance from the user of
this system or not? • It finds whether the operations of proposed system is easy or not as
compare to existing system. • It find out whether the user or customer of the system requires extra
training or not? • It finds if any job reconstruction is required or not?
• Watches the feelings of the customers as well as user. • System should provide right & accurate information to user or customer
at right place as well as at right time.
Department of CSE, NSCET, Theni 27
Economical Feasibility: • Here, Steering committee finds total cost and all
benefits of the proposed system.
• There are two types of costs:
One time cost & recurring cost
Department of CSE, NSCET, Theni 28
One time cost involve following :
Feasibility study cost:
Cost converting existing system to proposed system
Cost to remolding architecture of the office, machinaries, rooms etc.
Cost of hardware‘s.
Cost of operating Software’s.
Cost of Application software’s.
Cost of training.
Cost of documentation preparation.
Department of CSE, NSCET, Theni 29
Recurring cost involves following :
• Cost involves in purchase or rental of equipment.
• Cost of phones & mobile communication
equipment.
• Cost of salaries of employee .
• Cost of maintenance of equipment.
Department of CSE, NSCET, Theni 30
Schedule Feasibility • It is the establishment of time limit for completion of
the project.
• This kind of feasibility is dependent upon available
manpower and economical support for the project.
Department of CSE, NSCET, Theni 31
Requirement Elicitation and Analysis
• It means discovery of all possible requirements .
• After identifying all possible requirements
the analysis on these requirements can be done.
• It’s a process of interacting with customers and
end-users to find out about the domain
requirements, what services the system should
provide, and the other constrains.
Department of CSE, NSCET, Theni 32
Stake Holders • It means the persons who will be affected by the
system.
eg: end-user , System maintenance engineers
or software engineers can be stake holders.
Department of CSE, NSCET, Theni 33
Problems Encountered in
Understanding the Requirements • Unrealistic expectations.
• Differences in the requirements.
• Economic and business environment.
• Political changes.
Department of CSE, NSCET, Theni 34
Requirement and Elicitation
process
Department of CSE, NSCET, Theni 35
Requirement and Elicitation
process • Requirement Discovery:
By having effective communication with
the customer the requirements can be identified.
• Requirement classification and organization:
Unstructured requirements can be
categorized systematically depending upon their
nature. And they are arranged in groups.
Department of CSE, NSCET, Theni 36
Requirement and Elicitation
process • Requirement Prioritization:
There are some conflicting requirements.
Hence the requirements are prioritized first.
if there are some unrealistic
requirements then negotiations are made and only
realistic prioritized requirements are collected.
Department of CSE, NSCET, Theni 37
Requirement and Elicitation process • Requirement documentation:
This is the specification of all the
requirements. And important requirements are
document is created.
Department of CSE, NSCET, Theni 38
Requirement Discovery • It means finding all relevant information about the
system.
• The Sources of information for requirement
gathering are documentation , System stake
holders and specification some other system which
is of similar kind.
Department of CSE, NSCET, Theni 39
Various methods of Requirement Discovery
• Interviewing
Effective method of requirement gathering.
Two types
Closed Interview
Open Interview
Department of CSE, NSCET, Theni 40
Characteristics of Interview • It Should be conducted in free environment.
• Open mind approach.
• Patience
• Unrealistic expectations are try to change their
mind.
• Start the discussion by asking questions.
Department of CSE, NSCET, Theni 41
Scenario • It is the sequence of interactions made by the user
with the software systems.
• From this scenarios to formulate the actual system
requirements.
• Each scenario covers one or more interaction
sessions.
Department of CSE, NSCET, Theni 42
Scenario • Each Scenario Includes
A description of what the system and the users want at the beginning of the scenario.
A description of normal flow of events.
A description of something that went wrong and handling of it.
A description of other activities occurring in parallel
A description of finish state.
Department of CSE, NSCET, Theni 43
VIEW POINT • It provides the perspective to the system and using
these perspectives the requirements can be
discovered.
Interactor
Indirect
Domain
Department of CSE, NSCET, Theni 44
VIEW POINT
Department of CSE, NSCET, Theni 45
USECASES • It is the fundamental units of modelling language, in
which functionalities are distinctly presented.
• Use cases help to identify individual interactions
with the system.
Department of CSE, NSCET, Theni 46
USECASES
Department of CSE, NSCET, Theni 47
Department of CSE, NSCET, Theni 48
Requirement Validation • It is a process in which it is checked that whether the
gathered requirements represent the same system that customer really wants.
• Requirement checking can be done in the following manner :
Validity
Consistency
Completeness
Realism
Verifiability
Department of CSE, NSCET, Theni 49
Techniques • Requirements review
• Prototyping
• Test Case Generation
Department of CSE, NSCET, Theni 50
Requirement Management
It is the process of managing changing
requirements during the requirements engineering
process and system development.
Department of CSE, NSCET, Theni 51
Why Requirements Get Change • Requirements are always incomplete and
inconsistent.
• System Customers may specify the requirements
from business perspective that can conflict with end
user requirements.
• During the development of the system, the
technical environment get changed.
Department of CSE, NSCET, Theni 52
Enduring and Volatile Requirements ENDURING:
• These are relatively stable requirements that derive
from the core activity of the organization and which
relate directly to the domain of the system.
VOLATILE:
• Requirements that are likely to change during the
system development process or after the system
has been become operational
Department of CSE, NSCET, Theni 53
Types of Volatile Requirements • Mutable Requirements.
Requirements that change because of
changes to the environment in which the
organization is operating.
• Consequential Requirements
Requirements that result from the introduction of the computer system. Introducing the computer system may change the organizations processes and open up new ways of working which generate new system requirements.
Department of CSE, NSCET, Theni 54
Types of Volatile Requirements • Emergent Requirements :
Requirements that emerge as the customer's
understanding of the system develops during the
system development.
• Compatibility Requirements :
Requirements that depend on the particular
systems or business processes within an
organization.
Department of CSE, NSCET, Theni 55
Requirement Management Planning • Traceability is concerned with relationship between
requirements their sources and the system design.
• Using Traceability the requirement finding become
easy.
Department of CSE, NSCET, Theni 56
Types • Source Traceability :
These are basically the links from requirement to stake holders who propose these requirements.
• Requirement Traceability :
These are the links between dependent Requirements.
• Design Traceability:
These are the links from requirements to design.
Department of CSE, NSCET, Theni 57
Requirement Change Management
Problem Analysis and change specification
Change Analysis and Costing
Change Implementation
Department of CSE, NSCET, Theni 58
Structured System Analysis • Structured analysis is a software engineering
technique that uses graphical diagrams to develop
and portray system specifications that are easily
understood by users.
• These diagrams describe the steps that need to
occur and the data required to meet the design
function of a particular software.
Department of CSE, NSCET, Theni 59
Structured System Analysis • The structured analysis is mapping of problem
domain to flows and transformations.
• The System Modeling can be modeled Using :
* Entity Relationship diagram are used to
represent data model.
* Data Flow diagram and Control flow
diagrams are used to represent the functional
model.
Department of CSE, NSCET, Theni 60
Designing Data Flow Diagrams • A data flow diagram (DFD) maps out the flow of
information for any process or system.
• It uses defined symbols like rectangles, circles and
arrows, plus short text labels, to show data inputs,
outputs, storage points and the routes between
each destination.
Department of CSE, NSCET, Theni 61
NOTATIONS • The following table shows the symbols used in
designing a DFD and their significance −
Symbol Name Symbol Meaning
Square Source or Destination of Data
Arrow Data flow
Circle Process transforming data flow
Open Rectangle Data Store
Department of CSE, NSCET, Theni 62
Guide Line • Level 0 DFD i.e Context level DFD should depict the
system as a single bubble.
• Primary input and primary output should be carefully identified.
• While doing the refinement isolate processes , data objects and data stores to represent the next level.
• All the bubbles and arrows should be appropriately named.
• One bubble at a time should be refined.
• Information flow continuity must be maintained from level to level.
Department of CSE, NSCET, Theni 63
Petri Nets • Petri nets are specific types of modeling constructs
useful in data analysis, simulations, business process
modeling and other scenarios.
• This type of mathematical construct can help to
plan workflows or present data on complicated
systems.
Department of CSE, NSCET, Theni 64
Data Dictionary • It is defined as an organized collection of all the
data elements of the system with precise and
rigorous definitions.
• The data models are less detail hence there is a
need for data dictionary.
• Description of the entities, relationships and
attributes are also included in data dictionary.
Department of CSE, NSCET, Theni 65
Data Dictionary • The data dictionary stores following type of
information:
Name Description
Name Primary name of data or control item , the data store or external entity.
Alias Other name used for the Name
Where used or How is used
Data or Control item where is used. It also describes how is used
Department of CSE, NSCET, Theni 66
Notations Data Construct Notation Meaning
Composition = Is Composed of
Sequence + And
Selection [|] Or
Repetition {}n Repetition for n times
() Optional Data
*…..* Commented information
Department of CSE, NSCET, Theni 67
Department of CSE, NSCET, Theni 68