SlideShare a Scribd company logo
1 of 44
Download to read offline
Software Engineering
DR. K. ADISESHA
Software Engineering
Unit-1
Introduction
Software Engineering
SDLC
SDLC Model
Process Model
2
Software Engineering
Dr. K. Adisesha
Introduction
Dr. K. Adisesha
3
Software:
The term software specifies to the set of computer programs, procedures and associated
documents (Flowcharts, manuals, etc.) that describe the program and how they are to
be used.
➢ Software is more than programs. Any program is a subset of software, and it becomes
software only if documentation & operating procedures manuals are prepared.
➢ There are three components of the software:
➢ Program: Program is a combination of source code & object code.
➢ Documentation: Documentation consists of different types of manuals. Examples of
documentation manuals are: Data Flow Diagram, Flow Charts, ER diagrams, etc.
➢ Operating Procedures: Operating Procedures consist of instructions to set up and use the
software system and instructions on how react to the system failure.
Introduction
Dr. K. Adisesha
4
Components of Software :
Operating Procedures –Set of step-by-step instructions compiled by an organization to
help workers carry out complex routine operations.
➢ Code: the instructions that a computer executes in order to perform a specific task or
set of tasks.
➢ Data: the information that the software uses or manipulates.
➢ User interface: the means by which the user interacts with the software, such as
buttons, menus, and text fields.
➢ Libraries: pre-written code that can be reused by the software to perform common
tasks.
➢ Documentation: information that explains how to use and maintain the software, such
as user manuals and technical guides.
Introduction
Dr. K. Adisesha
5
Characteristics of Software:
Software products may be developed for a particular customer or may be developed for
a general market.
➢ Software is engineered not manufactured.
❖ Software does not wear out, failed components must be re-engineered.
❖ Software is intangible – It has no mass, no volume, no color, no odor and it cannot
be touched.
❖ Maintainability – Software should meet the changing needs of customers.
❖ Usability – The software should have appropriate user interface and enough
number of documentations.
❖ Dependability – Means reliability, it should be safe and secure to use the software
without causing system failure.
Introduction
Dr. K. Adisesha
6
Components of Software :
Operating Procedures –Set of step-by-step instructions compiled by an organization to
help workers carry out complex routine operations.
➢ Test cases: a set of inputs, execution conditions, and expected outputs that are used to
test the software for correctness and reliability.
➢ Configuration files: files that contain settings and parameters that are used to
configure the software to run in a specific environment.
➢ Build and deployment scripts: scripts or tools that are used to build, package, and
deploy the software to different environments.
➢ Metadata: information about the software, such as version numbers, authors, and
copyright information.
Introduction
Dr. K. Adisesha
7
Software:
The term software specifies to the set of computer programs, procedures and associated
documents (Flowcharts, manuals, etc.) that describe the program and how they are to
be used.
➢ Process: A process is the sequence of steps executed to achieve a goal. A process is
defined by cycles. Similar to a project, a process also has a beginning, middle, and end;
however, this cycle repeats itself over an average period of time.
➢ Project: A project is defined by a fixed time, scope, and resources. When
implementing a project, the goal is to execute change, usually drastic, and to
incorporate that change into the day-to-day processes of the company.
Introduction
Dr. K. Adisesha
8
Software Crisis:
There are several various general models or paradigms of software development:
➢ Size: Software is becoming more expensive and more complex with the growing complexity
and expectation out of software. For example, the code in the consumer product is doubling
every couple of years.
➢ Quality: Many software products have poor quality, i.e., the software products defects after
putting into use due to ineffective testing technique.
➢ Cost: Software development is costly i.e. in terms of time taken to develop and the money
involved.
➢ Delayed Delivery: Serious schedule overruns are common. Very often the software takes longer
than the estimated time to develop, which in turn leads to cost shooting up.
Software Engineering
Dr. K. Adisesha
9
Software Engineering:
A systematic approach to the development, operation, maintenance and retirement of
software.
➢ Definition by IEEE (Institute of Electrical and Electronics Engineers): The application
of systematic, disciplined, quantifiable approach to the development, operation,
maintenance of software that is the application of engineering to the software.
➢ Goals of Software Engineering
❖ To improve the quality of the software product
❖ To increase productivity and
❖ To give job satisfaction to the Software engineers.
Software Engineering
Dr. K. Adisesha
10
Software Engineering:
Key Challenges of Software Engineering.
➢ The legacy challenge: The challenging method of maintaining and updating the
software in such a way that high costs are avoided and essential business services
continue to be delivered.
➢ The Heterogeneity challenge: Systems are required to operate as distributed systems
across networks. The challenge of developing techniques to build dependable software
which is flexible to cope with is called heterogeneity.
➢ The delivery challenge: A challenge of shortening delivery time for large and complex
systems without compromising system quality.
Software Engineering
Dr. K. Adisesha
11
Software Product:
Software products are software systems that are delivered to a customer with
documentation which describes how to install and use this system.
➢ Software products may be classified into two types.
❖ Generic products: Generic products are stand-alone systems
that are developed by a production unit and sold on the open
market to any customer who is able to buy them.
❖ Customized Products: Customized products are the systems
that are commissioned by a particular customer. Some
contractor develops the software for that customer.
Software Processes
Dr. K. Adisesha
12
Software Processes:
A software process is the set of activities and associated outcome that produce a
software product. Software engineers mostly carry out these activities.
➢ These are four key process activities, which are common to all software processes:
❖ Software specifications: The functionality of the software and constraints on its
operation must be defined.
❖ Software development: The software to meet the requirement must be produced.
❖ Software validation: The software must be validated to ensure that it does what the
customer wants.
❖ Software evolution: The software must evolve to meet changing client needs.
Software Development Life Cycle
Dr. K. Adisesha
13
Software Development Life Cycle (SDLC):
SDLC is a sequence of activities carried out by analyst, designer and user to develop
and implement an information system.
➢ SDLC can be broadly classified into 7 phases.
➢ Feasibility Study
➢ Requirement analysis
➢ System Design
➢ Development
➢ Testing
➢ Deployment
➢ Software Maintenance
Software Development Life Cycle
Dr. K. Adisesha
14
Software Development Life Cycle (SDLC):
SDLC is a sequence of activities carried out by analyst, designer and user to develop
and implement an information system.
➢ SDLC can be broadly classified into 7 phases.
➢ Feasibility Study: The main aim is to determine whether the product is financially
worthwhile and technically feasible.
➢ Requirement analysis: In this phase the aim is to find exact requirement of the
customers,
➢ System Design: Software architecture is derived from SRS document. A new system is
designed according to the needs of the user.
➢ Development: This is the actual phase where the system is developed. The whole
design is built and implemented.
Software Development Life Cycle
Dr. K. Adisesha
15
Software Development Life Cycle (SDLC):
SDLC is a sequence of activities carried out by analyst, designer and user to develop
and implement an information system.
➢ SDLC can be broadly classified into 7 phases.
➢ Testing: During implementation phase each module of the design is coded and each
module is unit tested individually. This is to check if each individual module works
correctly. This is the most critical phase.
➢ Deployment: The developed system is handed over to the client. The old system is
dispensed and the new system is put to operations and used.
➢ Software Maintenance: In this phase adding enhancements, improvements and updates
to the new versions are done.
SDLC Models
Dr. K. Adisesha
16
SDLC Models:
Software Development life cycle (SDLC) is a spiritual model used in project
management that defines the stages include in an information system development
project.
➢ Each process model follows a series of phase unique to its type to ensure success in the
step of software development.
➢ Different types of SDLC Models are:
❖ Waterfall Model
❖ Iterative Model
❖ Prototype model
❖ Iterative enhancement model
❖ Agile Model
SDLC Models
Dr. K. Adisesha
17
Waterfall Model:
This model is a software life cycle where the stages are depicted as cascading from one
to another. It was described by W.W. Royce in 1970.
➢ The waterfall model arranges all the phases sequentially so that each new phase
depends on the outcome of the previous phase. Conceptually, the design flows from
one phase down to the next, like that of a waterfall.
SDLC Models
Dr. K. Adisesha
18
Waterfall Model:
This model is a software life cycle where the stages are depicted as cascading from one
to another. It was described by W.W. Royce in 1970.
➢ Advantages of Waterfall Model
❖ Easy to explain to the user.
❖ Stages and activities are well defined
❖ Verification at each stage ensures early detection of errors
❖ Widely used to identify and meet the milestones
❖ Establishes communication between customer and developer to meet the
specifications.
SDLC Models
Dr. K. Adisesha
19
Waterfall Model:
This model is a software life cycle where the stages are depicted as cascading from one
to another. It was described by W.W. Royce in 1970.
➢ Disadvantages of Waterfall Model
❖ The next stage begins only after the previous stage is complete, making it rigid.
❖ User training is not given much importance.
❖ Interaction with the user takes place right at the beginning and then at the time of
deployment, which creates a gap between the phases.
❖ Due to its cascading flow there is very little interaction from the user.
SDLC Models
Dr. K. Adisesha
20
Iterative Model:
The iterative process suggests that teams begin software development with a small
subset of requirements. Then, they iteratively enhance versions over time until the
complete software is ready for production.
➢ iterative development is a way of breaking down the software development of a large
application into smaller pieces.
➢ The team produces a new software version at the end of each iteration.
➢ Pros and cons
❖ It’s easy to identify and manage risks, as
requirements can change between iterations.
However, repeated cycles could lead to scope
change and underestimation of resources.
SDLC Models
Dr. K. Adisesha
21
Prototype model:
Prototype is a partially developed product /dummy model that allow customers and
developers to analyze if the proposed system is suitable for the finished product.
➢ A prototype is a toy implementation which is built before starting actual development.
❖ The reason for developing a prototype is it is impossible to
“get it right” the first time; we must plan to throw away
the first product in order to develop a good product.
❖ The developed prototype is submitted to the customer/user
for evaluation, based on the customer feedback the model
is modified/refined. The cycle continues until the customer
approves the prototype.
SDLC Models
Dr. K. Adisesha
22
Prototype model:
Prototype is a partially developed product /dummy model that allow customers and
developers to analyze if the proposed system is suitable for the finished product.
➢ Advantages of Prototype Model
❖ Modification in prototype is faster.
❖ Helps determine feasibility of the system.
❖ Software Developers commitment is higher.
➢ Disadvantages of Prototype Model
❖ Prototyping tools are expensive.
❖ Design and code for the prototype is usually thrown away.
❖ In order to get the prototype work quickly the quality is compromised.
SDLC Models
Dr. K. Adisesha
23
Spiral model:
The spiral model is a risk-driven process model. This SDLC model helps the group to
adopt elements of one or more process models like a waterfall, incremental, waterfall, etc.
➢ Spiral model was proposed by Boehm in 1988.
➢ Innermost loop is concerned with system feasibility, next loop system requirement,
followed by system design and so on.
➢ Each loop in the spiral represents a phase of the software process.
➢ Each loop is split into 4 sectors:
❖ Objective setting
❖ Risk assessment and reduction
❖ Development and Validation
❖ Planning
SDLC Models
Dr. K. Adisesha
24
Spiral model:
The spiral model is a risk-driven process model. This SDLC model helps the group to
adopt elements of one or more process models like a waterfall, incremental, waterfall, etc.
➢ Advantages of Spiral Model
❖ High amount of risk analysis
❖ Supports large and high risk projects
❖ Spiral model is one of the most flexible SDLC models.
❖ Changes can be introduced later in the life cycle as well
➢ Disadvantages of Spiral model
❖ When to stop the spiral process is not clear.
❖ Cost involved in this model is usually high.
❖ Does not work well for smaller projects.
❖ Project’s success is highly dependent on the risk analysis phase.
SDLC Models
Dr. K. Adisesha
25
Agile Model:
The agile model was mainly designed to adapt to changing requests quickly. The main
goal of the Agile model is to facilitate quick project completion.
➢ Agile methodology is a practice which promotes continues interaction of development
and testing during the SDLC process of any project.
➢ In the Agile method, the entire project is
divided into small incremental builds.
➢ All of these builds are provided in iterations,
and each iteration lasts from one to three
weeks.
SDLC Models
Dr. K. Adisesha
26
The Agile software development cycle:
Agile software development refers to a group of software development methodologies
based on iterative development, where requirements and solutions evolve through
collaboration between self-organizing cross-functional teams.
➢ The Agile software development cycle can be broken down into the following six steps:
❖ Concept
❖ Inception
❖ Iteration/construction
❖ Release
❖ Production
❖ Retirement
SDLC Models
Dr. K. Adisesha
27
Advantages of Agile methodologies:
The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible.
➢ Advantages:
❖ Deployment of software is quicker and thus helps in increasing the trust of the
customer.
❖ Helps in getting immediate feedback which can be used to improve the software in
the next increment.
❖ Increased collaboration and communication
❖ Flexibility and adaptability
❖ Improved quality and reliability
SDLC Models
Dr. K. Adisesha
28
Disadvantages of Agile methodologies:
In the case of large software projects, it is difficult to assess the effort required at the
initial stages of the software development life cycle.
➢ Disadvantages:
❖ Lack of predictability
❖ Limited scope control
❖ Lack of emphasis on testing
❖ Risk of team burnout
❖ Lack of structure and governance
Software Processes
Dr. K. Adisesha
29
The Software Process Model:
A software process model is a specified definition of a software process, which is
presented from a particular perspective.
➢ Models, by their nature, are a simplification, so a software process model is an
abstraction of the actual process, which is being described.
➢ Some examples of the types of software process models that may be produced are:
❖ A workflow model
❖ A dataflow or activity model
❖ A role/action model
Software Processes
Dr. K. Adisesha
30
Software Process Model:
Some examples of the types of software process models that may be produced are:
➢ A workflow model: This shows the series of activities in the process along with their inputs,
outputs and dependencies.
❖ The activities in this model perform human actions.
➢ A dataflow or activity model: This represents the process as a set of activities, each of which
carries out some data transformations.
❖ The activities here may be at a lower level than activities in a workflow model.
❖ They may perform transformations carried out by people or by computers.
➢ 3. A role/action model: This means the roles of the people involved in the software process
and the activities for which they are responsible.
Software Processes
Dr. K. Adisesha
31
Software Process Model :
A software process model is a specified few Software Crisis, which is presented from a
particular perspective:
➢ The waterfall approach: This takes the above activities and produces them as separate process
phases such as requirements specification, software design, implementation, testing, and so on.
➢ Evolutionary development: This method interleaves the activities of specification,
development, and validation. An initial system is rapidly developed from a very abstract
specification.
➢ Formal transformation: This method is based on producing a formal mathematical system
specification and transforming this specification, using mathematical methods to a program.
These transformations are 'correctness preserving
➢ System assembly from reusable components: This method assumes the parts of the system
already exist.
Software Process Model
Dr. K. Adisesha
32
Software Process Model:
The software development team must decide the process model that is to be used for
software product development and then the entire team must adhere to it.:
➢ The Waterfall Model – It is a sequential design process in which progress is seen as
flowing steadily downwards.
➢ A workflow Model – It is the sequential series of tasks and decisions that make up a business
process.
➢ Phases in waterfall model:
(i) Requirements Specification
(ii) Software Design
(iii) Implementation
(iv) Testing
Software Process Model
Dr. K. Adisesha
33
Agile software development:
Agile software development refers to a group of software development methodologies
based on iterative development, where requirements and solutions evolve through
collaboration between self-organizing cross-functional teams.
➢ In 2001, 17 software development professionals gathered to discuss concepts around the idea
of lightweight software development and ended up creating the Agile Manifesto.
➢ The four core values outlined in the Agile Manifesto are as follows:
❖ Individual interactions are more important than processes and tools.
❖ A focus on working software rather than thorough documentation.
❖ Collaboration instead of contract negotiations.
❖ A focus on responding to change.
Software Process Model
Dr. K. Adisesha
34
Agile software development:
Here is the working of Agile -
➢ Define the project: The team, along with the customer, defines the project's goals,
objectives, and requirements.
➢ Create a backlog: A backlog is a prioritized list of tasks that need to be completed. The
customer, product owner, and the team work together to create the backlog.
➢ Plan the sprint: The team plans the sprint by selecting the highest-priority tasks from
the backlog and determining how much work can be completed in the upcoming sprint.
➢ Execute the sprint: The team works on completing the tasks planned for the sprint, with
daily meetings to check progress and address any issues.
Software Process Model
Dr. K. Adisesha
35
Agile software development:
Here is the working of Agile -
➢ Review and demo: At the end of the sprint, the team demonstrates the completed work
to the customer and gets feedback.
➢ Retrospect: The team retrospects on the sprint, discussing what went well, what didn't,
and what can be improved for the next sprint.
➢ Repeat: The process is repeated for each sprint until the project is completed. The
product is incrementally developed and delivered to the customer in small chunks.
➢ Continuously improve: Agile methodologies focus on continuous improvement. The
team reflects on its progress and makes adjustments as necessary to improve processes,
tools, and communication for the next sprint.
Software Process Model
Dr. K. Adisesha
36
Types of Agile methodologies:
The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible.
➢ The most widely used Agile methods include the following:
❖ Scrum
❖ Kanban
❖ Crystal
❖ Continuous Integration
❖ Test-Driven Development
❖ Dynamic systems development method
❖ Feature-driven development
Software Process Model
Dr. K. Adisesha
37
Types of Agile methodologies:
The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible.
➢ The most widely used Agile methods include the following:
❖ Scrum: Scrum is a framework for agile software development that involves
iterative cycles called sprints, daily stand-up meetings, and a product backlog that
is prioritized by the customer.
❖ Kanban: Kanban is a visual system that helps teams manage their work and
improve their processes. It involves using a board with columns to represent
different stages of the development process, and cards or sticky notes to represent
work items.
Software Process Model
Dr. K. Adisesha
38
Types of Agile methodologies:
The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible.
➢ The most widely used Agile methods include the following:
❖ Continuous Integration: Continuous Integration is the practice of frequently merging code
changes into a shared repository, which helps to identify and resolve conflicts early in the
development process.
❖ Test-Driven Development: Test-Driven Development (TDD) is a development practice that
involves writing automated tests before writing the code. This helps to ensure that the code
meets the requirements and reduces the likelihood of defects.
❖ Pair Programming: Pair programming involves two developers working together on the
same code. This helps to improve code quality, share knowledge, and reduce the defects.
Software Process Model
Dr. K. Adisesha
39
Types of Agile methodologies:
The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible.
➢ The most widely used Agile methods include the following:
❖ Continuous Integration: Continuous Integration is the practice of frequently merging code
changes into a shared repository, which helps to identify and resolve conflicts early in the
development process.
❖ Test-Driven Development: Test-Driven Development (TDD) is a development practice that
involves writing automated tests before writing the code. This helps to ensure that the code
meets the requirements and reduces the likelihood of defects.
❖ Pair Programming: Pair programming involves two developers working together on the
same code. This helps to improve code quality, share knowledge, and reduce the defects.
Software Process Model
Dr. K. Adisesha
40
Scrum methodologies:
Scrum is a subset of Agile. It is a lightweight process framework for agile development,
and the most widely-used one..
➢ A Scrum process is distinguished from other agile processes by specific concepts and
practices, divided into the three categories of the ScrumMaster, the Product Owner, and the
Team.
➢ An agile Scrum process benefits the organization by helping it to
❖ Increase the quality of the deliverables
❖ Cope better with change (and expect the changes)
❖ Provide better estimates while spending less time creating them
❖ Be more in control of the project schedule and state
Software Process Model
Dr. K. Adisesha
41
Scrum methodologies:
Scrum is a popular framework that enables teams to work together. Based on Agile
principles, Scrum enables the development, delivery, and sustenance of complex
projects.
➢ It enables teams to hypothesize how they think something works, try it out, learn and
reflect from their experiences, and make appropriate changes.
❖ Project deliverables are completed quickly and efficiently
❖ Time and money are used properly
❖ Projects are manageable since they’re divided into smaller units called sprints
❖ Teams have greater visibility, thanks to scrum meetings and stand-up sessions
❖ There’s constant feedback from customers and clients
❖ Individual efforts of the team members can be focused on
Software Process Model
Dr. K. Adisesha
42
Kanban board template:
The main benefit of using a template for your Kanban board is that it allows you to
quickly set up your project task list, especially when you create your template in project
management software.
➢ Kanban board templates are simple workflow management tools.
➢ From there, you and your team can see project work in real time, watching as other team
members move tasks from “to-do” to “in progress.”
❖ Software development teams working through product backlogs.
❖ Startups who need a clear and easy way to coordinate work with limited team members or
resources.
❖ Content marketing teams who need to assign articles to a variety of writers. The article
can move through different stages, in this example the columns could be: to-do, assigned,
drafting, editing, and published.
Software Process Model
Dr. K. Adisesha
43
Kanban board template:
Discussion
Dr. K. Adisesha
44
Queries ?
Prof. K. Adisesha
9449081542
Reference: Sommerville, Software Engineering, 10 ed.,

More Related Content

Similar to Software Engineering-Unit 1 by Adisesha.pdf

Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Ramandeep Singh
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineeringinfinitetechnology20
 
Software engineering-Light presentation
Software engineering-Light presentationSoftware engineering-Light presentation
Software engineering-Light presentationBadr KACIMI
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdfKieveBarreto1
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleAfrasiyab Haider
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdfSoftware Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdfProf. Dr. K. Adisesha
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 

Similar to Software Engineering-Unit 1 by Adisesha.pdf (20)

SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
Software ee1
Software ee1Software ee1
Software ee1
 
Software ee111
Software ee111Software ee111
Software ee111
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
Software engineering-Light presentation
Software engineering-Light presentationSoftware engineering-Light presentation
Software engineering-Light presentation
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdf
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
SE
SESE
SE
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
3
33
3
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdfSoftware Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 

More from Prof. Dr. K. Adisesha

Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfSoftware Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfProf. Dr. K. Adisesha
 
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfSoftware Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfProf. Dr. K. Adisesha
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfSoftware Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfProf. Dr. K. Adisesha
 
Computer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. AdiseshaComputer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. AdiseshaProf. Dr. K. Adisesha
 
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. AdiaeshaCCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. AdiaeshaProf. Dr. K. Adisesha
 
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. AdiseshaCCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. AdiseshaProf. Dr. K. Adisesha
 
CCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. AdiseshaCCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. AdiseshaProf. Dr. K. Adisesha
 
CCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdfCCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdfProf. Dr. K. Adisesha
 

More from Prof. Dr. K. Adisesha (20)

Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfSoftware Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
 
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfSoftware Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfSoftware Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
 
Computer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. AdiseshaComputer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. Adisesha
 
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. AdiaeshaCCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
 
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. AdiseshaCCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
 
CCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. AdiseshaCCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. Adisesha
 
CCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdfCCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdf
 
Introduction to Computers.pdf
Introduction to Computers.pdfIntroduction to Computers.pdf
Introduction to Computers.pdf
 
R_Programming.pdf
R_Programming.pdfR_Programming.pdf
R_Programming.pdf
 
Scholarship.pdf
Scholarship.pdfScholarship.pdf
Scholarship.pdf
 
Operating System-2 by Adi.pdf
Operating System-2 by Adi.pdfOperating System-2 by Adi.pdf
Operating System-2 by Adi.pdf
 
Operating System-1 by Adi.pdf
Operating System-1 by Adi.pdfOperating System-1 by Adi.pdf
Operating System-1 by Adi.pdf
 
Operating System-adi.pdf
Operating System-adi.pdfOperating System-adi.pdf
Operating System-adi.pdf
 
Data_structure using C-Adi.pdf
Data_structure using C-Adi.pdfData_structure using C-Adi.pdf
Data_structure using C-Adi.pdf
 
JAVA PPT -2 BY ADI.pdf
JAVA PPT -2 BY ADI.pdfJAVA PPT -2 BY ADI.pdf
JAVA PPT -2 BY ADI.pdf
 
JAVA PPT -5 BY ADI.pdf
JAVA PPT -5 BY ADI.pdfJAVA PPT -5 BY ADI.pdf
JAVA PPT -5 BY ADI.pdf
 
JAVA PPT -3 BY ADI.pdf
JAVA PPT -3 BY ADI.pdfJAVA PPT -3 BY ADI.pdf
JAVA PPT -3 BY ADI.pdf
 
JAVA PPT -4 BY ADI.pdf
JAVA PPT -4 BY ADI.pdfJAVA PPT -4 BY ADI.pdf
JAVA PPT -4 BY ADI.pdf
 
JAVA PPT-1 BY ADI.pdf
JAVA PPT-1 BY ADI.pdfJAVA PPT-1 BY ADI.pdf
JAVA PPT-1 BY ADI.pdf
 

Recently uploaded

How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 

Recently uploaded (20)

How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 

Software Engineering-Unit 1 by Adisesha.pdf

  • 2. Software Engineering Unit-1 Introduction Software Engineering SDLC SDLC Model Process Model 2 Software Engineering Dr. K. Adisesha
  • 3. Introduction Dr. K. Adisesha 3 Software: The term software specifies to the set of computer programs, procedures and associated documents (Flowcharts, manuals, etc.) that describe the program and how they are to be used. ➢ Software is more than programs. Any program is a subset of software, and it becomes software only if documentation & operating procedures manuals are prepared. ➢ There are three components of the software: ➢ Program: Program is a combination of source code & object code. ➢ Documentation: Documentation consists of different types of manuals. Examples of documentation manuals are: Data Flow Diagram, Flow Charts, ER diagrams, etc. ➢ Operating Procedures: Operating Procedures consist of instructions to set up and use the software system and instructions on how react to the system failure.
  • 4. Introduction Dr. K. Adisesha 4 Components of Software : Operating Procedures –Set of step-by-step instructions compiled by an organization to help workers carry out complex routine operations. ➢ Code: the instructions that a computer executes in order to perform a specific task or set of tasks. ➢ Data: the information that the software uses or manipulates. ➢ User interface: the means by which the user interacts with the software, such as buttons, menus, and text fields. ➢ Libraries: pre-written code that can be reused by the software to perform common tasks. ➢ Documentation: information that explains how to use and maintain the software, such as user manuals and technical guides.
  • 5. Introduction Dr. K. Adisesha 5 Characteristics of Software: Software products may be developed for a particular customer or may be developed for a general market. ➢ Software is engineered not manufactured. ❖ Software does not wear out, failed components must be re-engineered. ❖ Software is intangible – It has no mass, no volume, no color, no odor and it cannot be touched. ❖ Maintainability – Software should meet the changing needs of customers. ❖ Usability – The software should have appropriate user interface and enough number of documentations. ❖ Dependability – Means reliability, it should be safe and secure to use the software without causing system failure.
  • 6. Introduction Dr. K. Adisesha 6 Components of Software : Operating Procedures –Set of step-by-step instructions compiled by an organization to help workers carry out complex routine operations. ➢ Test cases: a set of inputs, execution conditions, and expected outputs that are used to test the software for correctness and reliability. ➢ Configuration files: files that contain settings and parameters that are used to configure the software to run in a specific environment. ➢ Build and deployment scripts: scripts or tools that are used to build, package, and deploy the software to different environments. ➢ Metadata: information about the software, such as version numbers, authors, and copyright information.
  • 7. Introduction Dr. K. Adisesha 7 Software: The term software specifies to the set of computer programs, procedures and associated documents (Flowcharts, manuals, etc.) that describe the program and how they are to be used. ➢ Process: A process is the sequence of steps executed to achieve a goal. A process is defined by cycles. Similar to a project, a process also has a beginning, middle, and end; however, this cycle repeats itself over an average period of time. ➢ Project: A project is defined by a fixed time, scope, and resources. When implementing a project, the goal is to execute change, usually drastic, and to incorporate that change into the day-to-day processes of the company.
  • 8. Introduction Dr. K. Adisesha 8 Software Crisis: There are several various general models or paradigms of software development: ➢ Size: Software is becoming more expensive and more complex with the growing complexity and expectation out of software. For example, the code in the consumer product is doubling every couple of years. ➢ Quality: Many software products have poor quality, i.e., the software products defects after putting into use due to ineffective testing technique. ➢ Cost: Software development is costly i.e. in terms of time taken to develop and the money involved. ➢ Delayed Delivery: Serious schedule overruns are common. Very often the software takes longer than the estimated time to develop, which in turn leads to cost shooting up.
  • 9. Software Engineering Dr. K. Adisesha 9 Software Engineering: A systematic approach to the development, operation, maintenance and retirement of software. ➢ Definition by IEEE (Institute of Electrical and Electronics Engineers): The application of systematic, disciplined, quantifiable approach to the development, operation, maintenance of software that is the application of engineering to the software. ➢ Goals of Software Engineering ❖ To improve the quality of the software product ❖ To increase productivity and ❖ To give job satisfaction to the Software engineers.
  • 10. Software Engineering Dr. K. Adisesha 10 Software Engineering: Key Challenges of Software Engineering. ➢ The legacy challenge: The challenging method of maintaining and updating the software in such a way that high costs are avoided and essential business services continue to be delivered. ➢ The Heterogeneity challenge: Systems are required to operate as distributed systems across networks. The challenge of developing techniques to build dependable software which is flexible to cope with is called heterogeneity. ➢ The delivery challenge: A challenge of shortening delivery time for large and complex systems without compromising system quality.
  • 11. Software Engineering Dr. K. Adisesha 11 Software Product: Software products are software systems that are delivered to a customer with documentation which describes how to install and use this system. ➢ Software products may be classified into two types. ❖ Generic products: Generic products are stand-alone systems that are developed by a production unit and sold on the open market to any customer who is able to buy them. ❖ Customized Products: Customized products are the systems that are commissioned by a particular customer. Some contractor develops the software for that customer.
  • 12. Software Processes Dr. K. Adisesha 12 Software Processes: A software process is the set of activities and associated outcome that produce a software product. Software engineers mostly carry out these activities. ➢ These are four key process activities, which are common to all software processes: ❖ Software specifications: The functionality of the software and constraints on its operation must be defined. ❖ Software development: The software to meet the requirement must be produced. ❖ Software validation: The software must be validated to ensure that it does what the customer wants. ❖ Software evolution: The software must evolve to meet changing client needs.
  • 13. Software Development Life Cycle Dr. K. Adisesha 13 Software Development Life Cycle (SDLC): SDLC is a sequence of activities carried out by analyst, designer and user to develop and implement an information system. ➢ SDLC can be broadly classified into 7 phases. ➢ Feasibility Study ➢ Requirement analysis ➢ System Design ➢ Development ➢ Testing ➢ Deployment ➢ Software Maintenance
  • 14. Software Development Life Cycle Dr. K. Adisesha 14 Software Development Life Cycle (SDLC): SDLC is a sequence of activities carried out by analyst, designer and user to develop and implement an information system. ➢ SDLC can be broadly classified into 7 phases. ➢ Feasibility Study: The main aim is to determine whether the product is financially worthwhile and technically feasible. ➢ Requirement analysis: In this phase the aim is to find exact requirement of the customers, ➢ System Design: Software architecture is derived from SRS document. A new system is designed according to the needs of the user. ➢ Development: This is the actual phase where the system is developed. The whole design is built and implemented.
  • 15. Software Development Life Cycle Dr. K. Adisesha 15 Software Development Life Cycle (SDLC): SDLC is a sequence of activities carried out by analyst, designer and user to develop and implement an information system. ➢ SDLC can be broadly classified into 7 phases. ➢ Testing: During implementation phase each module of the design is coded and each module is unit tested individually. This is to check if each individual module works correctly. This is the most critical phase. ➢ Deployment: The developed system is handed over to the client. The old system is dispensed and the new system is put to operations and used. ➢ Software Maintenance: In this phase adding enhancements, improvements and updates to the new versions are done.
  • 16. SDLC Models Dr. K. Adisesha 16 SDLC Models: Software Development life cycle (SDLC) is a spiritual model used in project management that defines the stages include in an information system development project. ➢ Each process model follows a series of phase unique to its type to ensure success in the step of software development. ➢ Different types of SDLC Models are: ❖ Waterfall Model ❖ Iterative Model ❖ Prototype model ❖ Iterative enhancement model ❖ Agile Model
  • 17. SDLC Models Dr. K. Adisesha 17 Waterfall Model: This model is a software life cycle where the stages are depicted as cascading from one to another. It was described by W.W. Royce in 1970. ➢ The waterfall model arranges all the phases sequentially so that each new phase depends on the outcome of the previous phase. Conceptually, the design flows from one phase down to the next, like that of a waterfall.
  • 18. SDLC Models Dr. K. Adisesha 18 Waterfall Model: This model is a software life cycle where the stages are depicted as cascading from one to another. It was described by W.W. Royce in 1970. ➢ Advantages of Waterfall Model ❖ Easy to explain to the user. ❖ Stages and activities are well defined ❖ Verification at each stage ensures early detection of errors ❖ Widely used to identify and meet the milestones ❖ Establishes communication between customer and developer to meet the specifications.
  • 19. SDLC Models Dr. K. Adisesha 19 Waterfall Model: This model is a software life cycle where the stages are depicted as cascading from one to another. It was described by W.W. Royce in 1970. ➢ Disadvantages of Waterfall Model ❖ The next stage begins only after the previous stage is complete, making it rigid. ❖ User training is not given much importance. ❖ Interaction with the user takes place right at the beginning and then at the time of deployment, which creates a gap between the phases. ❖ Due to its cascading flow there is very little interaction from the user.
  • 20. SDLC Models Dr. K. Adisesha 20 Iterative Model: The iterative process suggests that teams begin software development with a small subset of requirements. Then, they iteratively enhance versions over time until the complete software is ready for production. ➢ iterative development is a way of breaking down the software development of a large application into smaller pieces. ➢ The team produces a new software version at the end of each iteration. ➢ Pros and cons ❖ It’s easy to identify and manage risks, as requirements can change between iterations. However, repeated cycles could lead to scope change and underestimation of resources.
  • 21. SDLC Models Dr. K. Adisesha 21 Prototype model: Prototype is a partially developed product /dummy model that allow customers and developers to analyze if the proposed system is suitable for the finished product. ➢ A prototype is a toy implementation which is built before starting actual development. ❖ The reason for developing a prototype is it is impossible to “get it right” the first time; we must plan to throw away the first product in order to develop a good product. ❖ The developed prototype is submitted to the customer/user for evaluation, based on the customer feedback the model is modified/refined. The cycle continues until the customer approves the prototype.
  • 22. SDLC Models Dr. K. Adisesha 22 Prototype model: Prototype is a partially developed product /dummy model that allow customers and developers to analyze if the proposed system is suitable for the finished product. ➢ Advantages of Prototype Model ❖ Modification in prototype is faster. ❖ Helps determine feasibility of the system. ❖ Software Developers commitment is higher. ➢ Disadvantages of Prototype Model ❖ Prototyping tools are expensive. ❖ Design and code for the prototype is usually thrown away. ❖ In order to get the prototype work quickly the quality is compromised.
  • 23. SDLC Models Dr. K. Adisesha 23 Spiral model: The spiral model is a risk-driven process model. This SDLC model helps the group to adopt elements of one or more process models like a waterfall, incremental, waterfall, etc. ➢ Spiral model was proposed by Boehm in 1988. ➢ Innermost loop is concerned with system feasibility, next loop system requirement, followed by system design and so on. ➢ Each loop in the spiral represents a phase of the software process. ➢ Each loop is split into 4 sectors: ❖ Objective setting ❖ Risk assessment and reduction ❖ Development and Validation ❖ Planning
  • 24. SDLC Models Dr. K. Adisesha 24 Spiral model: The spiral model is a risk-driven process model. This SDLC model helps the group to adopt elements of one or more process models like a waterfall, incremental, waterfall, etc. ➢ Advantages of Spiral Model ❖ High amount of risk analysis ❖ Supports large and high risk projects ❖ Spiral model is one of the most flexible SDLC models. ❖ Changes can be introduced later in the life cycle as well ➢ Disadvantages of Spiral model ❖ When to stop the spiral process is not clear. ❖ Cost involved in this model is usually high. ❖ Does not work well for smaller projects. ❖ Project’s success is highly dependent on the risk analysis phase.
  • 25. SDLC Models Dr. K. Adisesha 25 Agile Model: The agile model was mainly designed to adapt to changing requests quickly. The main goal of the Agile model is to facilitate quick project completion. ➢ Agile methodology is a practice which promotes continues interaction of development and testing during the SDLC process of any project. ➢ In the Agile method, the entire project is divided into small incremental builds. ➢ All of these builds are provided in iterations, and each iteration lasts from one to three weeks.
  • 26. SDLC Models Dr. K. Adisesha 26 The Agile software development cycle: Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. ➢ The Agile software development cycle can be broken down into the following six steps: ❖ Concept ❖ Inception ❖ Iteration/construction ❖ Release ❖ Production ❖ Retirement
  • 27. SDLC Models Dr. K. Adisesha 27 Advantages of Agile methodologies: The goal of every Agile methodology is to embrace and adapt to change while delivering working software as efficiently as possible. ➢ Advantages: ❖ Deployment of software is quicker and thus helps in increasing the trust of the customer. ❖ Helps in getting immediate feedback which can be used to improve the software in the next increment. ❖ Increased collaboration and communication ❖ Flexibility and adaptability ❖ Improved quality and reliability
  • 28. SDLC Models Dr. K. Adisesha 28 Disadvantages of Agile methodologies: In the case of large software projects, it is difficult to assess the effort required at the initial stages of the software development life cycle. ➢ Disadvantages: ❖ Lack of predictability ❖ Limited scope control ❖ Lack of emphasis on testing ❖ Risk of team burnout ❖ Lack of structure and governance
  • 29. Software Processes Dr. K. Adisesha 29 The Software Process Model: A software process model is a specified definition of a software process, which is presented from a particular perspective. ➢ Models, by their nature, are a simplification, so a software process model is an abstraction of the actual process, which is being described. ➢ Some examples of the types of software process models that may be produced are: ❖ A workflow model ❖ A dataflow or activity model ❖ A role/action model
  • 30. Software Processes Dr. K. Adisesha 30 Software Process Model: Some examples of the types of software process models that may be produced are: ➢ A workflow model: This shows the series of activities in the process along with their inputs, outputs and dependencies. ❖ The activities in this model perform human actions. ➢ A dataflow or activity model: This represents the process as a set of activities, each of which carries out some data transformations. ❖ The activities here may be at a lower level than activities in a workflow model. ❖ They may perform transformations carried out by people or by computers. ➢ 3. A role/action model: This means the roles of the people involved in the software process and the activities for which they are responsible.
  • 31. Software Processes Dr. K. Adisesha 31 Software Process Model : A software process model is a specified few Software Crisis, which is presented from a particular perspective: ➢ The waterfall approach: This takes the above activities and produces them as separate process phases such as requirements specification, software design, implementation, testing, and so on. ➢ Evolutionary development: This method interleaves the activities of specification, development, and validation. An initial system is rapidly developed from a very abstract specification. ➢ Formal transformation: This method is based on producing a formal mathematical system specification and transforming this specification, using mathematical methods to a program. These transformations are 'correctness preserving ➢ System assembly from reusable components: This method assumes the parts of the system already exist.
  • 32. Software Process Model Dr. K. Adisesha 32 Software Process Model: The software development team must decide the process model that is to be used for software product development and then the entire team must adhere to it.: ➢ The Waterfall Model – It is a sequential design process in which progress is seen as flowing steadily downwards. ➢ A workflow Model – It is the sequential series of tasks and decisions that make up a business process. ➢ Phases in waterfall model: (i) Requirements Specification (ii) Software Design (iii) Implementation (iv) Testing
  • 33. Software Process Model Dr. K. Adisesha 33 Agile software development: Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. ➢ In 2001, 17 software development professionals gathered to discuss concepts around the idea of lightweight software development and ended up creating the Agile Manifesto. ➢ The four core values outlined in the Agile Manifesto are as follows: ❖ Individual interactions are more important than processes and tools. ❖ A focus on working software rather than thorough documentation. ❖ Collaboration instead of contract negotiations. ❖ A focus on responding to change.
  • 34. Software Process Model Dr. K. Adisesha 34 Agile software development: Here is the working of Agile - ➢ Define the project: The team, along with the customer, defines the project's goals, objectives, and requirements. ➢ Create a backlog: A backlog is a prioritized list of tasks that need to be completed. The customer, product owner, and the team work together to create the backlog. ➢ Plan the sprint: The team plans the sprint by selecting the highest-priority tasks from the backlog and determining how much work can be completed in the upcoming sprint. ➢ Execute the sprint: The team works on completing the tasks planned for the sprint, with daily meetings to check progress and address any issues.
  • 35. Software Process Model Dr. K. Adisesha 35 Agile software development: Here is the working of Agile - ➢ Review and demo: At the end of the sprint, the team demonstrates the completed work to the customer and gets feedback. ➢ Retrospect: The team retrospects on the sprint, discussing what went well, what didn't, and what can be improved for the next sprint. ➢ Repeat: The process is repeated for each sprint until the project is completed. The product is incrementally developed and delivered to the customer in small chunks. ➢ Continuously improve: Agile methodologies focus on continuous improvement. The team reflects on its progress and makes adjustments as necessary to improve processes, tools, and communication for the next sprint.
  • 36. Software Process Model Dr. K. Adisesha 36 Types of Agile methodologies: The goal of every Agile methodology is to embrace and adapt to change while delivering working software as efficiently as possible. ➢ The most widely used Agile methods include the following: ❖ Scrum ❖ Kanban ❖ Crystal ❖ Continuous Integration ❖ Test-Driven Development ❖ Dynamic systems development method ❖ Feature-driven development
  • 37. Software Process Model Dr. K. Adisesha 37 Types of Agile methodologies: The goal of every Agile methodology is to embrace and adapt to change while delivering working software as efficiently as possible. ➢ The most widely used Agile methods include the following: ❖ Scrum: Scrum is a framework for agile software development that involves iterative cycles called sprints, daily stand-up meetings, and a product backlog that is prioritized by the customer. ❖ Kanban: Kanban is a visual system that helps teams manage their work and improve their processes. It involves using a board with columns to represent different stages of the development process, and cards or sticky notes to represent work items.
  • 38. Software Process Model Dr. K. Adisesha 38 Types of Agile methodologies: The goal of every Agile methodology is to embrace and adapt to change while delivering working software as efficiently as possible. ➢ The most widely used Agile methods include the following: ❖ Continuous Integration: Continuous Integration is the practice of frequently merging code changes into a shared repository, which helps to identify and resolve conflicts early in the development process. ❖ Test-Driven Development: Test-Driven Development (TDD) is a development practice that involves writing automated tests before writing the code. This helps to ensure that the code meets the requirements and reduces the likelihood of defects. ❖ Pair Programming: Pair programming involves two developers working together on the same code. This helps to improve code quality, share knowledge, and reduce the defects.
  • 39. Software Process Model Dr. K. Adisesha 39 Types of Agile methodologies: The goal of every Agile methodology is to embrace and adapt to change while delivering working software as efficiently as possible. ➢ The most widely used Agile methods include the following: ❖ Continuous Integration: Continuous Integration is the practice of frequently merging code changes into a shared repository, which helps to identify and resolve conflicts early in the development process. ❖ Test-Driven Development: Test-Driven Development (TDD) is a development practice that involves writing automated tests before writing the code. This helps to ensure that the code meets the requirements and reduces the likelihood of defects. ❖ Pair Programming: Pair programming involves two developers working together on the same code. This helps to improve code quality, share knowledge, and reduce the defects.
  • 40. Software Process Model Dr. K. Adisesha 40 Scrum methodologies: Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one.. ➢ A Scrum process is distinguished from other agile processes by specific concepts and practices, divided into the three categories of the ScrumMaster, the Product Owner, and the Team. ➢ An agile Scrum process benefits the organization by helping it to ❖ Increase the quality of the deliverables ❖ Cope better with change (and expect the changes) ❖ Provide better estimates while spending less time creating them ❖ Be more in control of the project schedule and state
  • 41. Software Process Model Dr. K. Adisesha 41 Scrum methodologies: Scrum is a popular framework that enables teams to work together. Based on Agile principles, Scrum enables the development, delivery, and sustenance of complex projects. ➢ It enables teams to hypothesize how they think something works, try it out, learn and reflect from their experiences, and make appropriate changes. ❖ Project deliverables are completed quickly and efficiently ❖ Time and money are used properly ❖ Projects are manageable since they’re divided into smaller units called sprints ❖ Teams have greater visibility, thanks to scrum meetings and stand-up sessions ❖ There’s constant feedback from customers and clients ❖ Individual efforts of the team members can be focused on
  • 42. Software Process Model Dr. K. Adisesha 42 Kanban board template: The main benefit of using a template for your Kanban board is that it allows you to quickly set up your project task list, especially when you create your template in project management software. ➢ Kanban board templates are simple workflow management tools. ➢ From there, you and your team can see project work in real time, watching as other team members move tasks from “to-do” to “in progress.” ❖ Software development teams working through product backlogs. ❖ Startups who need a clear and easy way to coordinate work with limited team members or resources. ❖ Content marketing teams who need to assign articles to a variety of writers. The article can move through different stages, in this example the columns could be: to-do, assigned, drafting, editing, and published.
  • 43. Software Process Model Dr. K. Adisesha 43 Kanban board template:
  • 44. Discussion Dr. K. Adisesha 44 Queries ? Prof. K. Adisesha 9449081542 Reference: Sommerville, Software Engineering, 10 ed.,