Software Engineering Process Models

Satya P. Joshi
Satya P. JoshiLearner um Tutsmaster
Software Process
1. Software Process Model
2. Process Iteration
3. Software Specifications
4. Software design and implementation
5. Software validation
6. Software evolution
1
Satya Prakash Joshi (012BIM31)
Bipin Thapa (012BIM11)
Harish Chand (012BIM15)
Ganesh Pant (012BIM14)
Software Process Models
 Software process model is organizing a structured set of activities to
develop a software systems. [i.e. known as life cycle]
 Specification
 Design and implementation
 Validation
 Evolution
 A software process model is an abstract representation of process. It
presents a description of a process from particular perspective.
2
Generic Process Models
 The waterfall model
 Defines specification, development, validation and evolution and represent
separate process phases requirement specifications, software design,
implementation, testing etc…
 Evolutionary development
 Initial system is developed from abstract specifications. Refined with customer
input to produce a system that satisfies the customers needs.
 Component-based software engineering
 The system is assembled from existing components rather then developing them
developing from scratch.
3
Waterfall Model
 First published model of the software development process.
 System development method that is linear and sequential.
 Once a phase of development is competed, the development proceeds
to the next phase and never turns back.
4
Figure of Waterfall Model5
Advantage and Disadvantage
 The advantages of the waterfall model are that documentation is
produced at each phase and that it fits with other engineering process
models.
 Easy to understand and use.
 It’s major problem is it’s inflexible portioning of the project into distinct
stages.
 Difficult to change customers requirement at the middle of the software
development process.
6
Conclusion of Waterfall
 The waterfall model should only be used when the requirements are well
understood and unlikely to change radically during system development.
7
Evolutionary Development
 Evolutionary development is based on the idea of developing an initial
implementation, exposing this to user comment and refining it through
many version until an adequate system has been developed.
 An Evolutionary approach to software development is often more effective
than the waterfall approach in producing system that meet the immediate
needs of customer.
 The advantage of a software process that is based on an evolutionary
approach is that the specification can be developed incrementally.
8
Figure of Evolutionary Development9
Type of Evolutionary Development
 Exploratory development :
 Explores the customers requirement and develop the final system for customer.
 Developer will know the parts of system and add new features proposed by the
customer.
 Throwaway prototyping
 Process is to understand the customers requirement and develop.
 Concentrates on experimenting with the customer requirement that are poorly
understood.
10
Problems with Evolutionary Approach
 The process is not visible
 Managers need regular deliverables to measure progress. If systems are
developed quickly, it is not cost-effective to produce documents that reflect
every version of the system.
 Systems are often poorly structured
 Continual changes tends to corrupt the software structure. Incorporating
software changes becomes increasingly difficult and costly.
11
Component-based software
engineering
 Majority of software projects, there is some software reuse.
 When people working on the project known of the designs or code which is
similar to that required. They look for these, modify them as needed and
incorporated them into their system.
 This information reuse takes place irrespective of the development process
that is used. [increasingly used.]
 Reuse oriented approach relies on a large base of reusable software
components and some integrating framework for these components. [they
claim their own rights i.e. COTS – Commercial off –the shelf systems]
12
Figure of CBSE13
Advantage of CBSE
 ROSE (Reuse-Oriented Software Engineering) has the obvious
advantages of reduces software development complexity
 Reduce cost and risks.
 Easy to develop and modify.
 Faster delivery of software.
 Easy to maintenance and code reusability.
14
Process Iteration
 Iterative development is a way of breaking down the software
development of a large application into smaller chunks.
 In iterative development, feature code is designed, developed and tested
in repeated cycles.
 With each iteration, additional features can be designed, developed and
tested until there is a fully functional software application ready to be
deployed to customers.
 Iterative and incremental development are key practices in Agile
development methodologies.
15
Incremental Delivery
 The software specifications, design and implementation are broken down
into a series of increments that are each developed in turn.
 Incremental delivery process will combine the advantages of waterfall,
evolutionary and CBSE.
 In an incremental development process, customer identify the services to
be provided by the system.
 They identify which of the services are most important and which are least
important to them.
16
Figure of Incremental Delivery17
Advantages of Incremental Delivery
 Customers do not have to wait until the entire system is delivered before
they can gain value from it. The first incremental satisfies their most critical
requirements so they can use the software immediately.
 Customers can use the early increments as prototypes and gain
experiences that information for later system increments.
 There is a lower risk of overall project failure. Although problems may be
encountered in some increments.
 As the highest priority services are delivered first.
18
Spiral Development
 Represent the software process as a sequence of activities with some
backtracking one activity to another, the process is represented as a spiral.
 This model is risk oriented and comprises the features of the prototype and
waterfall model.
 This model is used for larger projects, expensive and complicated projects
because of where proper risk assessment is essential.
 Users can see the system earl because of rapid prototyping features. Risk
evaluation may take longer time in the system development process.
19
20
Process Activities
 Specifications
 Development
 Validation
 Evolution
21
System Requirement Specification (SRS)
22
Definitions:
 A software requirements specification (SRS) is a description of a software system to be
developed, laying out functional and non-functional requirements, and may include a set
of use cases that describe interactions the users will have with the software.
 Software specifications, or specs, are documents which define the functionality and
technical details of a software application or system.
 A software requirements specification (SRS) is a comprehensive description of the
intended purpose and environment for software under development.
23
 The SRS fully describes what the software will do and how it will be expected to perform.
 A good SRS defines how an application will interact with system hardware, other programs and human users
in a wide variety of real-world situations.
 The basic purpose of SRS is to bridge the communication gap between the parties involved in the
development of the software.
 It provides feedback to the customer.
24
Characteristics of SRS
 Correct
 Unambiguous
 Complete
 Consistent
 Ranked Importance
 Verifiable
 Modifiable
 Traceable
25
Advantages of SRS
 It establishes the basis of agreement between the client and the supplier on what the software product will
do.
 An SRS minimizes the time and effort required by developers to achieve desired goals and also minimizes
the development cost.
 It provides a reference for validation of the final product.
26
System Design
 the process of defining the architecture, components, modules,
interfaces, and data for a system to satisfy specified requirements
 seen as the application of systems theory to product development
 design implies a systematic approach to the design of a system
 the process is systematic wherein it takes into account all related
variables of the system that needs to be created—from the
architecture, to the required hardware and software, right down to
the data and how it travels and transforms throughout its travel
through the system
27
Things to be aware of
 What is the system?
 What is the environment?
 What goal does the system have in relation to its environment?
 What is the feedback loop by which the system corrects its actions?
 How does the system measure whether it has achieved its goal?
 Who defines the system, environment, goal, etc.—and monitors it?
 What resources does the system have for maintaining the
relationship it desires?
 Are its resources sufficient to meet its purpose?
28
System design steps
 Define project goal and objectives
 Develop the project system requirements
 Identify the major system components that satisfy
the system requirements
 Identify the major system interfaces
 Refine the system design
 Define subsystems making up each component
 Specify interfaces between subsystems
 Establish management controls for the system
interfaces
29
Types of design
1) Architectural design:- The architectural design of a system
emphasizes on the design of the systems architecture which
describes the structure, behavior, and more views of that
system and analysis.
2) Logical design:- The logical design of a system pertains to an
abstract representation of the data flows, inputs and outputs
of the system. In the context of systems design are included.
Logical design includes ER Diagrams i.e. Entity Relationship
Diagrams.
30
3) Physical design:- The physical design relates to the actual input and
output processes of the system. This is laid down in terms of how data
is input into a system, how it is verified/authenticated, how it is
processed, and how it is displayed as In Physical design, the following
requirements about the system are decided.
Input requirement,
Output requirements,
Storage requirements,
Processing Requirements,
System control and backup or recovery.
31
System Implementation
 This is one of the most vital phase as in this phase the analyst
actually gives the system to the customer and expects for a positive
feedback.
 Is the process of converting the design in a real system through
coding.
 Implementation phase includes coding and testing.
 This Phase will provide users with the documentation and training
required to use the system effectively.
 Data Conversion will only occur once, but user documentation will
be required.
32
Coding Phase
 In the coding/development phase the individual objects or
components of the application are coded from the physical model.
 Once the system objects have been developed, they are gathered
and connected together (integrated) to create a working
application.
 The integrated application is placed on a staging server for testing.
 Developers have to follow the coding guidelines defined by their
organization and programming tools like compilers, interpreters,
debuggers etc are used to generate the code
 For E.g. C, C++, Pascal, Java, and PHP are used for coding.
33
Testing Phase
 Once the engineer is through with the coding stage he tests the
systems and sees to it that it is working as per the expectations or
not.
 He corrects the flaws in the system if any.
 Testing is becoming more and more important to ensure customer’s
satisfaction, and it requires no knowledge in coding, hardware
configuration or design.
34
Testing Types
1) Static Testing :-
 Static testing refers to testing something that’s not running.
 It is examining and reviewing it. i.e., to check whether the work done
meets the standards of the organization.
 Reviews, Inspections and Walk-throughs are static testing
methodologies.
 Example: The specification is a document and not an executing
program. When we read it to find out the issues, it is considered as static
testing.
35
2) Dynamic Testing:-
 Dynamic Testing involves working with the software, giving
input values and checking if the output is as expected.
 These are the Validation activities.
 Unit Tests, Integration Tests, System Tests and Acceptance
Tests are few of the Dynamic Testing methodologies.
Techniques used are determined by type of testing that must be conducted.
 Functional ("black box") testing :- Black box testing involves looking at the
specifications and does not require examining the code of a program. Tests that
examine the observable behavior of software as evidenced by its outputs without
referencing to internal functions is black box testing.
 Structural (usually called "white box") testing:- white box testing requires
programming knowledge to know the internals of the code. Also it is time
consuming. So only a developer can become a white box tester.
36
System Documentation
 Software documentation is an important part of software process.
 A well written document provides a great tool and means of
information repository necessary to know about software process.
 Software documentation also provides information about how to
use the product.
37
Requirement documentation
 This documentation works as key tool for software designer,
developer and the test team to carry out their respective tasks.
 This document contains all the functional, non-functional and
behavioral description of the intended software.
38
Software Design documentation
 These documentations contain all the necessary information, which
are needed to build the software.
 It contains:
(a) High-level software architecture
(b) Software design details
(c) Data flow diagrams
(d) Database design
39
Technical documentation
 These documentations are maintained by the developers and
actual coders.
 These documents, as a whole, represent information about the
code.
 While writing the code, the programmers also mention objective of
the code, who wrote it, where will it be required, what it does and
how it does, what other resources the code uses, etc.
40
User documentation
 This documentation is different from all the above explained.
 All previous documentations are maintained to provide information
about the software and its development process.
 But user documentation explains how the software product should
work and how it should be used to get the desired results.
41
Software Validation
42
 Software Validation is the process of checking that a software system meets specifications and
that it fulfills its intended purpose.
 It may also be referred to as software quality control.
 Validation checks that the product design satisfies or fits the intended use (high-level checking),
i.e., the software meets the user requirements. This is done through dynamic testing and other
forms of review.
 It verifies that the software being developed implements all the requirements specified in the SRS
document.
 Software validation is the process of ensuring that your application meets functional and non-
functional requirements before coding and during development.
43
Software Evolution
 Generally, software evolution refers to the study and management of the
process of making changes to software over time.
 software evolution comprises:
• Development activities:
Sometimes, software evolution is used to refer to the activity of adding new
functionality to existing software.
• Maintenance activities:
Maintenance refers to the activity of modifying software after it has been put to
use in order to maintain its usefulness.
• Reengineering activities:
Rewriting all or parts of the system to Improve the program structure system
performance
44
Importance of Evolution
 Organizations have huge investments in their software systems - they are critical
business assets.
 To maintain the value of these assets to the business, they must be changed and
updated.
 The majority of the software budget in large companies is devoted to evolving
existing software rather than developing new software.
 Saves money and Time
 Accuracy can be maintained
 Flexibility
45
46
1 von 46

Recomendados

Introduction to Software Engineering von
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
2.5K views35 Folien
Software process von
Software processSoftware process
Software processJennifer Polack
9K views51 Folien
Process Models IN software Engineering von
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software EngineeringArid Agriculture university rawalpindi
2.5K views35 Folien
Waterfall model in SDLC von
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLCHND Assignment Help
4.8K views16 Folien
Unit 2 von
Unit 2Unit 2
Unit 2Jignesh Kariya
5.4K views87 Folien
Software requirements von
Software requirementsSoftware requirements
Software requirementsDr. Loganathan R
29.7K views48 Folien

Más contenido relacionado

Was ist angesagt?

3. ch 2-process model von
3. ch 2-process model3. ch 2-process model
3. ch 2-process modelDelowar hossain
2.7K views36 Folien
Requirements Engineering von
Requirements EngineeringRequirements Engineering
Requirements EngineeringBenoy Ramachandran
17K views56 Folien
Software Development Life Cycle von
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
4.7K views31 Folien
Software process von
Software processSoftware process
Software processAmisha Patel
1.7K views55 Folien
Software Engineering : Requirement Analysis & Specification von
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
11.4K views39 Folien
Software development process models von
Software development process modelsSoftware development process models
Software development process modelsMuhammed Afsal Villan
6.9K views41 Folien

Was ist angesagt?(20)

Software Development Life Cycle von Slideshare
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
Slideshare4.7K views
Software Engineering : Requirement Analysis & Specification von Ajit Nayak
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak11.4K views
Formal Specification in Software Engineering SE9 von koolkampus
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus30.3K views
Software Engineering - Software Models von Reddhi Basu
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
Reddhi Basu7K views
Design Concept software engineering von Darshit Metaliya
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya24.5K views
Software development life cycle (SDLC) von Simran Kaur
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
Simran Kaur4.8K views
Planning the development process von Siva Priya
Planning the development processPlanning the development process
Planning the development process
Siva Priya1.6K views
Chapter 1 2 - some size factors von NancyBeaulah_R
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
NancyBeaulah_R6.8K views
Analysis modeling & scenario based modeling von Benazir Fathima
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
Benazir Fathima5.9K views
Incremental model von Hpibmx
Incremental modelIncremental model
Incremental model
Hpibmx19.7K views
Design concept -Software Engineering von Varsha Ajith
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith8.2K views
Writing software requirement document von Sunita Sahu
Writing software requirement documentWriting software requirement document
Writing software requirement document
Sunita Sahu150.7K views

Destacado

Software Process Models von
Software Process ModelsSoftware Process Models
Software Process ModelsJesse Manalansan
68.1K views50 Folien
process models- software engineering von
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
17.6K views30 Folien
Software Engg. process models von
Software Engg. process modelsSoftware Engg. process models
Software Engg. process modelsTauseef Ahmad
29.3K views24 Folien
Generic Software Process Models von
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process ModelsEducation Front
19.1K views32 Folien
Software Process Models von
Software Process ModelsSoftware Process Models
Software Process ModelsAhmed Alageed
7.4K views88 Folien
Software Process Models von
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
34.7K views34 Folien

Destacado(20)

process models- software engineering von Arun Nair
process models- software engineeringprocess models- software engineering
process models- software engineering
Arun Nair17.6K views
Software Engg. process models von Tauseef Ahmad
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
Tauseef Ahmad29.3K views
Generic Software Process Models von Education Front
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
Education Front19.1K views
Software Process Models von Ahmed Alageed
Software Process ModelsSoftware Process Models
Software Process Models
Ahmed Alageed7.4K views
Software Process Models von Atul Karmyal
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal34.7K views
List of Software Development Model and Methods von Riant Soft
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
Riant Soft157.8K views
Software engineering -core topics von Amnah_Ch
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topics
Amnah_Ch730 views
Software engineering von nidhi5388
Software engineeringSoftware engineering
Software engineering
nidhi53882.7K views
software Engineering process von Raheel Aslam
software Engineering processsoftware Engineering process
software Engineering process
Raheel Aslam8.1K views
Software Engineering: Models von David Millard
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
David Millard14.7K views

Similar a Software Engineering Process Models

SE2.ppt von
SE2.pptSE2.ppt
SE2.pptAaMir519591
10 views60 Folien
se02_SW_Process.ppt von
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.pptNhân Công
1 view59 Folien
2. Software process von
2. Software process2. Software process
2. Software processAshis Kumar Chanda
823 views39 Folien
Ch2 von
Ch2Ch2
Ch2Keith Jasper Mier
124 views55 Folien
Ch 2 Software Engineering von
Ch 2 Software EngineeringCh 2 Software Engineering
Ch 2 Software EngineeringImran Mirza
211 views55 Folien
SOFTWARE ENGINEERING PART 1 von
SOFTWARE ENGINEERING PART 1SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1ravi gupta
726 views55 Folien

Similar a Software Engineering Process Models (20)

Ch 2 Software Engineering von Imran Mirza
Ch 2 Software EngineeringCh 2 Software Engineering
Ch 2 Software Engineering
Imran Mirza211 views
SOFTWARE ENGINEERING PART 1 von ravi gupta
SOFTWARE ENGINEERING PART 1SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1
ravi gupta726 views
Ian Sommerville, Software Engineering, 9th Edition Ch2 von Mohammed Romi
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
Mohammed Romi13K views
Software Engineering Past Papers (Short Questions) von MuhammadTalha436
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)
MuhammadTalha436262 views
SE18_Lec 02_Software Life Cycle Model von Amr E. Mohamed
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
Amr E. Mohamed1.3K views
Process in Software Engineering/4'ps in Software Engineerin von MuhammadSufianJani
Process in Software Engineering/4'ps in Software EngineerinProcess in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software Engineerin
Ch2 von Limkri
Ch2Ch2
Ch2
Limkri859 views
Sofware Engineering Important Past Paper 2019 von MuhammadTalha436
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
MuhammadTalha43675 views
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES von suthi
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESSOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
suthi 130 views

Más de Satya P. Joshi

Intergroup Conflict Management.pptx von
Intergroup Conflict Management.pptxIntergroup Conflict Management.pptx
Intergroup Conflict Management.pptxSatya P. Joshi
45 views14 Folien
Training methods in human resource managment von
Training methods in human resource managmentTraining methods in human resource managment
Training methods in human resource managmentSatya P. Joshi
90 views8 Folien
Selection tests in human resource management von
Selection tests in human resource managementSelection tests in human resource management
Selection tests in human resource managementSatya P. Joshi
799 views12 Folien
Interview and it’s types - human resource managmenet von
Interview and it’s types - human resource managmenetInterview and it’s types - human resource managmenet
Interview and it’s types - human resource managmenetSatya P. Joshi
62 views12 Folien
Motivation, achievement theory, goal setting theory von
Motivation, achievement theory, goal setting theoryMotivation, achievement theory, goal setting theory
Motivation, achievement theory, goal setting theorySatya P. Joshi
113 views8 Folien
Characteristics, objectives & challenges of human resource manager von
Characteristics, objectives & challenges of human resource managerCharacteristics, objectives & challenges of human resource manager
Characteristics, objectives & challenges of human resource managerSatya P. Joshi
59 views9 Folien

Más de Satya P. Joshi(20)

Intergroup Conflict Management.pptx von Satya P. Joshi
Intergroup Conflict Management.pptxIntergroup Conflict Management.pptx
Intergroup Conflict Management.pptx
Satya P. Joshi45 views
Training methods in human resource managment von Satya P. Joshi
Training methods in human resource managmentTraining methods in human resource managment
Training methods in human resource managment
Satya P. Joshi90 views
Selection tests in human resource management von Satya P. Joshi
Selection tests in human resource managementSelection tests in human resource management
Selection tests in human resource management
Satya P. Joshi799 views
Interview and it’s types - human resource managmenet von Satya P. Joshi
Interview and it’s types - human resource managmenetInterview and it’s types - human resource managmenet
Interview and it’s types - human resource managmenet
Satya P. Joshi62 views
Motivation, achievement theory, goal setting theory von Satya P. Joshi
Motivation, achievement theory, goal setting theoryMotivation, achievement theory, goal setting theory
Motivation, achievement theory, goal setting theory
Satya P. Joshi113 views
Characteristics, objectives & challenges of human resource manager von Satya P. Joshi
Characteristics, objectives & challenges of human resource managerCharacteristics, objectives & challenges of human resource manager
Characteristics, objectives & challenges of human resource manager
Satya P. Joshi59 views
Technology and work design in Organizational Relation von Satya P. Joshi
Technology and work design in Organizational RelationTechnology and work design in Organizational Relation
Technology and work design in Organizational Relation
Satya P. Joshi795 views
Techniques of achieving google quality of service von Satya P. Joshi
Techniques of achieving google quality of serviceTechniques of achieving google quality of service
Techniques of achieving google quality of service
Satya P. Joshi5.4K views
Overview of digital communication in HSN and Multimedia von Satya P. Joshi
Overview of digital communication in HSN and MultimediaOverview of digital communication in HSN and Multimedia
Overview of digital communication in HSN and Multimedia
Satya P. Joshi428 views
Introduction to human resource management von Satya P. Joshi
Introduction to human resource managementIntroduction to human resource management
Introduction to human resource management
Satya P. Joshi316 views
Security and control in Management Information System von Satya P. Joshi
Security and control in Management Information SystemSecurity and control in Management Information System
Security and control in Management Information System
Satya P. Joshi10.4K views
Designing the supply chain network von Satya P. Joshi
Designing the supply chain networkDesigning the supply chain network
Designing the supply chain network
Satya P. Joshi25.6K views
Introduction to Organizational Behavior and Organizational Relation von Satya P. Joshi
Introduction to Organizational Behavior and Organizational RelationIntroduction to Organizational Behavior and Organizational Relation
Introduction to Organizational Behavior and Organizational Relation
Satya P. Joshi817 views
Selection tests and Reliability and Validity in HRM von Satya P. Joshi
Selection tests and Reliability and Validity in HRMSelection tests and Reliability and Validity in HRM
Selection tests and Reliability and Validity in HRM
Satya P. Joshi50.8K views
Analog and digital signal system : digital logic von Satya P. Joshi
Analog and digital signal system : digital logicAnalog and digital signal system : digital logic
Analog and digital signal system : digital logic
Satya P. Joshi3.6K views
Transmission media on Client server and high speed network von Satya P. Joshi
Transmission media on Client server and high speed networkTransmission media on Client server and high speed network
Transmission media on Client server and high speed network
Satya P. Joshi1.7K views
Remote procedure call on client server computing von Satya P. Joshi
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computing
Satya P. Joshi5.5K views
Physical and logical topologies in computer network and client server von Satya P. Joshi
Physical  and logical topologies in computer network and client serverPhysical  and logical topologies in computer network and client server
Physical and logical topologies in computer network and client server
Satya P. Joshi4.7K views

Último

STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf von
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdfDr. Jimmy Schwarzkopf
20 views29 Folien
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
92 views32 Folien
Business Analyst Series 2023 - Week 3 Session 5 von
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
300 views20 Folien
Info Session November 2023.pdf von
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
13 views15 Folien
20231123_Camunda Meetup Vienna.pdf von
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
41 views73 Folien
Future of AR - Facebook Presentation von
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentationssuserb54b561
15 views27 Folien

Último(20)

STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf von Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson92 views
Business Analyst Series 2023 - Week 3 Session 5 von DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10300 views
Future of AR - Facebook Presentation von ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56115 views
Data Integrity for Banking and Financial Services von Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 views
Serverless computing with Google Cloud (2023-24) von wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive von Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
STPI OctaNE CoE Brochure.pdf von madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... von Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors von sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab21 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... von TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc11 views
Special_edition_innovator_2023.pdf von WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
Five Things You SHOULD Know About Postman von Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman36 views
Powerful Google developer tools for immediate impact! (2023-24) von wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views

Software Engineering Process Models

  • 1. Software Process 1. Software Process Model 2. Process Iteration 3. Software Specifications 4. Software design and implementation 5. Software validation 6. Software evolution 1 Satya Prakash Joshi (012BIM31) Bipin Thapa (012BIM11) Harish Chand (012BIM15) Ganesh Pant (012BIM14)
  • 2. Software Process Models  Software process model is organizing a structured set of activities to develop a software systems. [i.e. known as life cycle]  Specification  Design and implementation  Validation  Evolution  A software process model is an abstract representation of process. It presents a description of a process from particular perspective. 2
  • 3. Generic Process Models  The waterfall model  Defines specification, development, validation and evolution and represent separate process phases requirement specifications, software design, implementation, testing etc…  Evolutionary development  Initial system is developed from abstract specifications. Refined with customer input to produce a system that satisfies the customers needs.  Component-based software engineering  The system is assembled from existing components rather then developing them developing from scratch. 3
  • 4. Waterfall Model  First published model of the software development process.  System development method that is linear and sequential.  Once a phase of development is competed, the development proceeds to the next phase and never turns back. 4
  • 6. Advantage and Disadvantage  The advantages of the waterfall model are that documentation is produced at each phase and that it fits with other engineering process models.  Easy to understand and use.  It’s major problem is it’s inflexible portioning of the project into distinct stages.  Difficult to change customers requirement at the middle of the software development process. 6
  • 7. Conclusion of Waterfall  The waterfall model should only be used when the requirements are well understood and unlikely to change radically during system development. 7
  • 8. Evolutionary Development  Evolutionary development is based on the idea of developing an initial implementation, exposing this to user comment and refining it through many version until an adequate system has been developed.  An Evolutionary approach to software development is often more effective than the waterfall approach in producing system that meet the immediate needs of customer.  The advantage of a software process that is based on an evolutionary approach is that the specification can be developed incrementally. 8
  • 9. Figure of Evolutionary Development9
  • 10. Type of Evolutionary Development  Exploratory development :  Explores the customers requirement and develop the final system for customer.  Developer will know the parts of system and add new features proposed by the customer.  Throwaway prototyping  Process is to understand the customers requirement and develop.  Concentrates on experimenting with the customer requirement that are poorly understood. 10
  • 11. Problems with Evolutionary Approach  The process is not visible  Managers need regular deliverables to measure progress. If systems are developed quickly, it is not cost-effective to produce documents that reflect every version of the system.  Systems are often poorly structured  Continual changes tends to corrupt the software structure. Incorporating software changes becomes increasingly difficult and costly. 11
  • 12. Component-based software engineering  Majority of software projects, there is some software reuse.  When people working on the project known of the designs or code which is similar to that required. They look for these, modify them as needed and incorporated them into their system.  This information reuse takes place irrespective of the development process that is used. [increasingly used.]  Reuse oriented approach relies on a large base of reusable software components and some integrating framework for these components. [they claim their own rights i.e. COTS – Commercial off –the shelf systems] 12
  • 14. Advantage of CBSE  ROSE (Reuse-Oriented Software Engineering) has the obvious advantages of reduces software development complexity  Reduce cost and risks.  Easy to develop and modify.  Faster delivery of software.  Easy to maintenance and code reusability. 14
  • 15. Process Iteration  Iterative development is a way of breaking down the software development of a large application into smaller chunks.  In iterative development, feature code is designed, developed and tested in repeated cycles.  With each iteration, additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed to customers.  Iterative and incremental development are key practices in Agile development methodologies. 15
  • 16. Incremental Delivery  The software specifications, design and implementation are broken down into a series of increments that are each developed in turn.  Incremental delivery process will combine the advantages of waterfall, evolutionary and CBSE.  In an incremental development process, customer identify the services to be provided by the system.  They identify which of the services are most important and which are least important to them. 16
  • 17. Figure of Incremental Delivery17
  • 18. Advantages of Incremental Delivery  Customers do not have to wait until the entire system is delivered before they can gain value from it. The first incremental satisfies their most critical requirements so they can use the software immediately.  Customers can use the early increments as prototypes and gain experiences that information for later system increments.  There is a lower risk of overall project failure. Although problems may be encountered in some increments.  As the highest priority services are delivered first. 18
  • 19. Spiral Development  Represent the software process as a sequence of activities with some backtracking one activity to another, the process is represented as a spiral.  This model is risk oriented and comprises the features of the prototype and waterfall model.  This model is used for larger projects, expensive and complicated projects because of where proper risk assessment is essential.  Users can see the system earl because of rapid prototyping features. Risk evaluation may take longer time in the system development process. 19
  • 20. 20
  • 21. Process Activities  Specifications  Development  Validation  Evolution 21
  • 23. Definitions:  A software requirements specification (SRS) is a description of a software system to be developed, laying out functional and non-functional requirements, and may include a set of use cases that describe interactions the users will have with the software.  Software specifications, or specs, are documents which define the functionality and technical details of a software application or system.  A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. 23
  • 24.  The SRS fully describes what the software will do and how it will be expected to perform.  A good SRS defines how an application will interact with system hardware, other programs and human users in a wide variety of real-world situations.  The basic purpose of SRS is to bridge the communication gap between the parties involved in the development of the software.  It provides feedback to the customer. 24
  • 25. Characteristics of SRS  Correct  Unambiguous  Complete  Consistent  Ranked Importance  Verifiable  Modifiable  Traceable 25
  • 26. Advantages of SRS  It establishes the basis of agreement between the client and the supplier on what the software product will do.  An SRS minimizes the time and effort required by developers to achieve desired goals and also minimizes the development cost.  It provides a reference for validation of the final product. 26
  • 27. System Design  the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements  seen as the application of systems theory to product development  design implies a systematic approach to the design of a system  the process is systematic wherein it takes into account all related variables of the system that needs to be created—from the architecture, to the required hardware and software, right down to the data and how it travels and transforms throughout its travel through the system 27
  • 28. Things to be aware of  What is the system?  What is the environment?  What goal does the system have in relation to its environment?  What is the feedback loop by which the system corrects its actions?  How does the system measure whether it has achieved its goal?  Who defines the system, environment, goal, etc.—and monitors it?  What resources does the system have for maintaining the relationship it desires?  Are its resources sufficient to meet its purpose? 28
  • 29. System design steps  Define project goal and objectives  Develop the project system requirements  Identify the major system components that satisfy the system requirements  Identify the major system interfaces  Refine the system design  Define subsystems making up each component  Specify interfaces between subsystems  Establish management controls for the system interfaces 29
  • 30. Types of design 1) Architectural design:- The architectural design of a system emphasizes on the design of the systems architecture which describes the structure, behavior, and more views of that system and analysis. 2) Logical design:- The logical design of a system pertains to an abstract representation of the data flows, inputs and outputs of the system. In the context of systems design are included. Logical design includes ER Diagrams i.e. Entity Relationship Diagrams. 30
  • 31. 3) Physical design:- The physical design relates to the actual input and output processes of the system. This is laid down in terms of how data is input into a system, how it is verified/authenticated, how it is processed, and how it is displayed as In Physical design, the following requirements about the system are decided. Input requirement, Output requirements, Storage requirements, Processing Requirements, System control and backup or recovery. 31
  • 32. System Implementation  This is one of the most vital phase as in this phase the analyst actually gives the system to the customer and expects for a positive feedback.  Is the process of converting the design in a real system through coding.  Implementation phase includes coding and testing.  This Phase will provide users with the documentation and training required to use the system effectively.  Data Conversion will only occur once, but user documentation will be required. 32
  • 33. Coding Phase  In the coding/development phase the individual objects or components of the application are coded from the physical model.  Once the system objects have been developed, they are gathered and connected together (integrated) to create a working application.  The integrated application is placed on a staging server for testing.  Developers have to follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers etc are used to generate the code  For E.g. C, C++, Pascal, Java, and PHP are used for coding. 33
  • 34. Testing Phase  Once the engineer is through with the coding stage he tests the systems and sees to it that it is working as per the expectations or not.  He corrects the flaws in the system if any.  Testing is becoming more and more important to ensure customer’s satisfaction, and it requires no knowledge in coding, hardware configuration or design. 34
  • 35. Testing Types 1) Static Testing :-  Static testing refers to testing something that’s not running.  It is examining and reviewing it. i.e., to check whether the work done meets the standards of the organization.  Reviews, Inspections and Walk-throughs are static testing methodologies.  Example: The specification is a document and not an executing program. When we read it to find out the issues, it is considered as static testing. 35
  • 36. 2) Dynamic Testing:-  Dynamic Testing involves working with the software, giving input values and checking if the output is as expected.  These are the Validation activities.  Unit Tests, Integration Tests, System Tests and Acceptance Tests are few of the Dynamic Testing methodologies. Techniques used are determined by type of testing that must be conducted.  Functional ("black box") testing :- Black box testing involves looking at the specifications and does not require examining the code of a program. Tests that examine the observable behavior of software as evidenced by its outputs without referencing to internal functions is black box testing.  Structural (usually called "white box") testing:- white box testing requires programming knowledge to know the internals of the code. Also it is time consuming. So only a developer can become a white box tester. 36
  • 37. System Documentation  Software documentation is an important part of software process.  A well written document provides a great tool and means of information repository necessary to know about software process.  Software documentation also provides information about how to use the product. 37
  • 38. Requirement documentation  This documentation works as key tool for software designer, developer and the test team to carry out their respective tasks.  This document contains all the functional, non-functional and behavioral description of the intended software. 38
  • 39. Software Design documentation  These documentations contain all the necessary information, which are needed to build the software.  It contains: (a) High-level software architecture (b) Software design details (c) Data flow diagrams (d) Database design 39
  • 40. Technical documentation  These documentations are maintained by the developers and actual coders.  These documents, as a whole, represent information about the code.  While writing the code, the programmers also mention objective of the code, who wrote it, where will it be required, what it does and how it does, what other resources the code uses, etc. 40
  • 41. User documentation  This documentation is different from all the above explained.  All previous documentations are maintained to provide information about the software and its development process.  But user documentation explains how the software product should work and how it should be used to get the desired results. 41
  • 43.  Software Validation is the process of checking that a software system meets specifications and that it fulfills its intended purpose.  It may also be referred to as software quality control.  Validation checks that the product design satisfies or fits the intended use (high-level checking), i.e., the software meets the user requirements. This is done through dynamic testing and other forms of review.  It verifies that the software being developed implements all the requirements specified in the SRS document.  Software validation is the process of ensuring that your application meets functional and non- functional requirements before coding and during development. 43
  • 44. Software Evolution  Generally, software evolution refers to the study and management of the process of making changes to software over time.  software evolution comprises: • Development activities: Sometimes, software evolution is used to refer to the activity of adding new functionality to existing software. • Maintenance activities: Maintenance refers to the activity of modifying software after it has been put to use in order to maintain its usefulness. • Reengineering activities: Rewriting all or parts of the system to Improve the program structure system performance 44
  • 45. Importance of Evolution  Organizations have huge investments in their software systems - they are critical business assets.  To maintain the value of these assets to the business, they must be changed and updated.  The majority of the software budget in large companies is devoted to evolving existing software rather than developing new software.  Saves money and Time  Accuracy can be maintained  Flexibility 45
  • 46. 46