SlideShare a Scribd company logo
Introduction to
Software
Engineering
Prepared by Dr.T.Thendral
06.07.2023
Course Objectives:
 The main objectives of this course are to:
1. To enhance the basics of Software
engineering methods and practices
2. To earn the techniques for developing
software systems
3. To understand the object orient
4. To understand software testing approaches
Prepared by Dr.T.Thendral
06.07.2023
On the successful completion of
the course,student will be able to:
 Understand the basic concepts of software
engineering
 Apply the software engineering models in developing
software application
 Implement the object oriented design in various
projects
 Knowledge on how to do a software project within-
depth analysis
 To inculcate knowledge on Software engineering
concepts in turn gives a road map to design a new
software project
Prepared by Dr.T.Thendral
06.07.2023
What is Software?
 Software is a set of instructions to acquire inputs and to
manipulate them to produce the desired output in terms of
functions and performance as determined by the user of
the software
 Also include a set of documents, such as the software
manual, meant for users to understand the software system
Prepared by Dr.T.Thendral
06.07.2023
Description of the Software
 A software is described by its capabilities. The capabilities relate to
the functions it executes, the features it provides and the facilities it
offers.
EXAMPLE
Software written for Sales-order processing would have
different functions to process different types of sales order from
different market segments .
 The features for example, would be to handle multi-currency
computing, updating product, sales and Tax status.
 The facilities could be printing of sales orders, email to customers
and reports to the store department to dispatch the goods.
Prepared by Dr.T.Thendral
06.07.2023
Classes of Software
Software is classified into two classes:
 Generic Software:
is designed for broad customer market whose requirements are very
common, fairly stable and well understood by the software engineer
 Customized Software:
is developed for a customer where domain, environment and
requirements are being unique to that customer and cannot be satisfied
by generic products
Prepared by Dr.T.Thendral
06.07.2023
What is Good Software?
 Software has number of attributes which decide whether it is a good
or bad .
 The definition of a good software changes with the person who
evaluates it.
 The software is required by the customer, used by the end users of an
organization and developed by software engineer
 Each one will evaluate the different attributes differently in order to
decide whether the software is good
Prepared by Dr.T.Thendral
06.07.2023
What are the attributes of good
software?
The software should deliver the required functionality and performance to
the user and should be maintainable, dependable and usable.
• Maintainability
– Software must evolve to meet changing needs
 Dependability
– Software must be trustworthy
 Efficiency
– Software should not make wasteful use of system resources
 Usability
– Software must be usable by the users for which it was designed
Prepared by Dr.T.Thendral
06.07.2023
Software - Characteristics
 Software has a dual role. It is a product, but also a vehicle for delivering a
product.
 Software is a logical rather than a physical system element.
 Software has characteristics that differ considerably from those of hardware.
 Software is developed or engineered, it is not manufactured in the
classical sense
 Software doesn’t “wear out”
 Most software is custom-built, rather than being assembled from
existing components.
Prepared by Dr.T.Thendral
06.07.2023
Changing nature of
software(Types)
 System Software- A collection of programs written to service other
programs at system level.
For example, compiler, operating systems.
 Real-time Software- Programs that monitor/analyze/control real
world events as they occur.
 Business Software- Programs that access, analyze and process
business information.
 Engineering and Scientific Software - Software using “number
crunching” algorithms for different science and applications. System
simulation, computer-aided design.
Prepared by Dr.T.Thendral
06.07.2023
Changing nature of
software(Types)
 Embedded Software-:
Embedded software resides in read-only memory and is used to
control products and systems for the consumer and industrial markets.
It has very limited and esoteric functions and control capability.
 Artificial Intelligence (AI) Software:
Programs make use of AI techniques and methods to solve complex
problems. Active areas are expert systems, pattern recognition, games
 Internet Software :
Programs that support internet accesses and applications. For example,
search engine, browser, e-commerce software, authoring tools.
Prepared by Dr.T.Thendral
06.07.2023
Software Engineering
 “A systematic approach to the analysis, design, implementation and
maintenance of software.”
(The Free On-Line Dictionary of Computing)
 “The systematic application of tools and techniques in the
development of computer-based applications.”
(Sue Conger in The New Software Engineering)
 “Software Engineering is about designing and developing high-quality
software.”
(Shari Lawrence Pfleeger in Software Engineering -- The Production
of Quality Software)
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Engineering: The Application of Science to the Solution of Practical
Problems
 Software Engineering: The Application of CS to Building Practical Software
Systems
 Programming
– Individual Writes Complete Program
– One Person, One Computer
– Well-Defined Problem
– Programming-in-the-Small
 Software Engineering
– Individuals Write Program Components
– Team Assembles Complete Program
– Programming-in-the-Large Prepared by Dr.T.Thendral
06.07.2023
What is the difference between software engineering and
computer science?
Computer Science Software Engineering
is concerned with
Computer science theories are currently insufficient to act as a complete
underpinning for software engineering, but it is a foundation for practical aspects
of software engineering
 theory
 fundamentals
 the practicalities of developing
 delivering useful software
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
Although hundreds of authors have developed personal definitions of software
engineering, a definition proposed by Fritz Bauer provides a basis:
 “[Software engineering is] the establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and works efficiently on real machines.”
The IEEE [IEE93] has developed a more comprehensive definition when it
states:
 “Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach
to the development, operation and maintenance of software; that is, the application of
engineering to software. (2) The study of approaches as in (1).” Prepared by Dr.T.Thendral
06.07.2023
Software engineering is a layered
technology - Pressman’s view:
Software Engineering Layers
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Software methods:
 Software engineering methods provide the technical “how to’s” for
building software.
 Methods --> how to encompass a broad array of tasks:
- requirements analysis, design, coding, testing, and maintenance
 Software engineering methods rely on a set of basic principles.
Prepared by Dr.T.Thendral
06.07.2023
Software methods
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Software Process:
Software engineering process is the glue that holds:
- technology together
- enables rational and timely development of computer software
Software engineering process is a framework of a set of key process
areas
It forms a basis for:
- project management, budget and schedule control
- applications of technical methods
- product quality control
Prepared by Dr.T.Thendral
06.07.2023
Software Process
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Software Tools:
- programs provide automated or semi-automated support for the
process and methods
- programs support engineers to perform their tasks in a systematic
and/or automatic manner
Prepared by Dr.T.Thendral
06.07.2023
Why Software Engineering?
 Objectives:
- Identify new problems and solutions in
software production
- Study new systematic methods, principles,
approaches for system analysis, design,
implementation, testing and maintenance.
- Provide new ways to control, manage, and
monitor software process
- Build new software tools and environment to
support software engineering
Prepared by Dr.T.Thendral
06.07.2023
Why Software Engineering?
Major Goals:
- To increase software productivity and quality
- To effectively control software schedule and planning
- To reduce the cost of software development
- To meet the customers’ needs and requirements
- To enhance the conduction of software engineering
process
- To improve the current software engineering practice
- To support the engineers’ activities in a systematic and
efficient manner
Prepared by Dr.T.Thendral
06.07.2023
A Process Framework
Prepared by Dr.T.Thendral
06.07.2023
Process Framework Activities
 Communication
 Planning
 Modeling
 Construction
 Deployment
Prepared by Dr.T.Thendral
06.07.2023
Umbrella Activities
 Software Project Tracking & Control
 Risk Management
 Formal Technical Reviews
 Software Configuration Management
 Reusability Management
Prepared by Dr.T.Thendral
06.07.2023
PROCESS
MODELS
Prepared by Dr.T.Thendral
06.07.2023
SDLC Process Model
SDLC – Software Development Life Cycle
Process model is a framework that describes
the activities,actions,tasks,milestones,and
work products performed at each stage of a
software development project that leads to a
high quality software
Prepared by Dr.T.Thendral
06.07.2023
Life cycle models
 Waterfall model
 Incremental process models
– Incremental model
– RAD model
 Evolutionary Process Models
– Prototyping model
– Spiral model
 Object oriented process model
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
a.k.as Linear life cycle model or classic life cycle model
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
 Project initiation & requirement gathering
– What is the Problem to Solve?
– What Does Customer Need/Want?
– Interactions Between SE and Customer
– Identify and Document System Requirements
– Generate User Manuals and Test Plans
• Planning
– Prioritize the requirements
– Plan the process
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
 Analysis and design
– How is the Problem to be Solved?
– High-Level Design
– Determine Components/Modules
– Transition to Detailed Design
– Detail Functionality of Components/Modules
 Coding and Testing
– Writing Code to Meet Component/Module Design Specifications
– Individual Test Modules in Isolation
– Integration of Components/Modules into Subsystems
– Integration of Subsystems into Final Program
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
 Deployment
– System Delivered to Customer/Market
– Bug Fixes and Version Releases Over Time
Strengths
 Easy to understand, easy to use
 Provides structure to inexperienced staff
 Milestones are well understood
 Sets requirements stability
 Good for management control (plan, staff, track)
 Works well when quality is more important than cost or schedule
Prepared by Dr.T.Thendral
06.07.2023
Waterfall Drawbacks
 All projects cannot follow linear process
 All requirements must be known upfront
 Few business systems have stable requirements
 The customer must have patience
 A working version of the program will not be
available until late in the project time-span
 Leads to ‘blocking states’
 Inappropriate to changes
Prepared by Dr.T.Thendral
06.07.2023
When to use the Waterfall Model
 Requirements are very well known
 Product definition is stable
 Technology is understood
 New version of an existing product
 Porting an existing product to a new platform
Prepared by Dr.T.Thendral
06.07.2023

More Related Content

PPTX
Introduction to Software Engineering
PDF
Html notes
PPTX
Software prototyping.pptx
PPT
PROCESS MODELS.ppt
PPT
Unit 1 - Introduction to Software Engineering.ppt
PPTX
Ch1 introduction
PPTX
Software design and Software engineering.pptx
PPTX
Software Engineering Practice
Introduction to Software Engineering
Html notes
Software prototyping.pptx
PROCESS MODELS.ppt
Unit 1 - Introduction to Software Engineering.ppt
Ch1 introduction
Software design and Software engineering.pptx
Software Engineering Practice

What's hot (20)

PPTX
Software process
PPTX
Software quality
PPT
1.1 The nature of software.ppt
PPTX
Software Project Management - Staffing
PPTX
A presentation on software crisis
PDF
Software engineering lecture notes
PPT
Software architecture design ppt
PDF
Software Engineering : Requirement Analysis & Specification
PPT
REQUIREMENT ENGINEERING
PPTX
Software Engineering
PPTX
Artifacts
PPT
Open Source Technology
PPT
Organization and team structures
PPTX
Software myths | Software Engineering Notes
PPTX
Software Configuration Management (SCM)
PPT
Function Oriented Design
PPT
Architecture design in software engineering
PPTX
Software quality assurance
PPTX
Requirements analysis and modeling
PPTX
Software Cost Estimation Techniques
Software process
Software quality
1.1 The nature of software.ppt
Software Project Management - Staffing
A presentation on software crisis
Software engineering lecture notes
Software architecture design ppt
Software Engineering : Requirement Analysis & Specification
REQUIREMENT ENGINEERING
Software Engineering
Artifacts
Open Source Technology
Organization and team structures
Software myths | Software Engineering Notes
Software Configuration Management (SCM)
Function Oriented Design
Architecture design in software engineering
Software quality assurance
Requirements analysis and modeling
Software Cost Estimation Techniques
Ad

Similar to Unit 1 - Introduction to Software Engineering.ppt (20)

PDF
lecture01softwareengineering-151017024008-lva1-app6892.pdf
PPT
Introduction to Software Engineering
PPTX
SE chp1 update and learning management .pptx
PPTX
Lecture 1 SE.pptx
PPTX
Lecture-1,2-Introduction to SE.pptx
PDF
Chapter 1 Introduction to Software Engineering.pdf
PPT
Ian Sommerville, Software Engineering, 9th Edition Ch1
PPTX
Software Engineering UPTU
PDF
Software engineering study materials
PDF
Software Engineering Unit-1
PDF
Lecture 1- Introduction to SE Lecture 1- Introduction to SE
PDF
Software Engineering notes by K. Adisesha.pdf
PPT
PPT
Soft Eng - Introduction
PPT
PPTX
Software engineering tutorial
PPTX
Chapter 1 1 - intro ppt
DOCX
Swe notes
PPTX
Lecture 1.pptx
lecture01softwareengineering-151017024008-lva1-app6892.pdf
Introduction to Software Engineering
SE chp1 update and learning management .pptx
Lecture 1 SE.pptx
Lecture-1,2-Introduction to SE.pptx
Chapter 1 Introduction to Software Engineering.pdf
Ian Sommerville, Software Engineering, 9th Edition Ch1
Software Engineering UPTU
Software engineering study materials
Software Engineering Unit-1
Lecture 1- Introduction to SE Lecture 1- Introduction to SE
Software Engineering notes by K. Adisesha.pdf
Soft Eng - Introduction
Software engineering tutorial
Chapter 1 1 - intro ppt
Swe notes
Lecture 1.pptx
Ad

More from DrTThendralCompSci (19)

PPTX
Loader and linker.pptx
PPT
The Application Layer.ppt
PPTX
Transport Layer.pptx
PPT
SOFTWARE QUALITY ASSURANCE.ppt
PPT
Software Configuration Management.ppt
PPTX
UNIT TESTING.pptx
PPTX
SOFTWARE TESTING.pptx
PPT
Wireless LANs PPT.ppt
PPT
NETWORK LAYER.ppt
PPT
Bluetooth.ppt
PPT
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
PPT
Ethernet.ppt
PPT
DATA-LINK LAYER.ppt
PPTX
Software design and Software engineering.pptx
PPT
Requirement Engineering.ppt
PPTX
EFFECTIVE MODULAR DESIGN.pptx
PPT
UNIT I.ppt
PPT
PHYSICAL LAYER.ppt
PPT
COMPUTER NETWORK
Loader and linker.pptx
The Application Layer.ppt
Transport Layer.pptx
SOFTWARE QUALITY ASSURANCE.ppt
Software Configuration Management.ppt
UNIT TESTING.pptx
SOFTWARE TESTING.pptx
Wireless LANs PPT.ppt
NETWORK LAYER.ppt
Bluetooth.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
Ethernet.ppt
DATA-LINK LAYER.ppt
Software design and Software engineering.pptx
Requirement Engineering.ppt
EFFECTIVE MODULAR DESIGN.pptx
UNIT I.ppt
PHYSICAL LAYER.ppt
COMPUTER NETWORK

Recently uploaded (20)

PPTX
Institutional Correction lecture only . . .
PPTX
master seminar digital applications in india
PDF
01-Introduction-to-Information-Management.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Classroom Observation Tools for Teachers
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Presentation on HIE in infants and its manifestations
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Pharma ospi slides which help in ospi learning
Institutional Correction lecture only . . .
master seminar digital applications in india
01-Introduction-to-Information-Management.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Supply Chain Operations Speaking Notes -ICLT Program
Complications of Minimal Access Surgery at WLH
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
human mycosis Human fungal infections are called human mycosis..pptx
Final Presentation General Medicine 03-08-2024.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Classroom Observation Tools for Teachers
O7-L3 Supply Chain Operations - ICLT Program
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Presentation on HIE in infants and its manifestations
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Pharma ospi slides which help in ospi learning

Unit 1 - Introduction to Software Engineering.ppt

  • 2. Course Objectives:  The main objectives of this course are to: 1. To enhance the basics of Software engineering methods and practices 2. To earn the techniques for developing software systems 3. To understand the object orient 4. To understand software testing approaches Prepared by Dr.T.Thendral 06.07.2023
  • 3. On the successful completion of the course,student will be able to:  Understand the basic concepts of software engineering  Apply the software engineering models in developing software application  Implement the object oriented design in various projects  Knowledge on how to do a software project within- depth analysis  To inculcate knowledge on Software engineering concepts in turn gives a road map to design a new software project Prepared by Dr.T.Thendral 06.07.2023
  • 4. What is Software?  Software is a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software  Also include a set of documents, such as the software manual, meant for users to understand the software system Prepared by Dr.T.Thendral 06.07.2023
  • 5. Description of the Software  A software is described by its capabilities. The capabilities relate to the functions it executes, the features it provides and the facilities it offers. EXAMPLE Software written for Sales-order processing would have different functions to process different types of sales order from different market segments .  The features for example, would be to handle multi-currency computing, updating product, sales and Tax status.  The facilities could be printing of sales orders, email to customers and reports to the store department to dispatch the goods. Prepared by Dr.T.Thendral 06.07.2023
  • 6. Classes of Software Software is classified into two classes:  Generic Software: is designed for broad customer market whose requirements are very common, fairly stable and well understood by the software engineer  Customized Software: is developed for a customer where domain, environment and requirements are being unique to that customer and cannot be satisfied by generic products Prepared by Dr.T.Thendral 06.07.2023
  • 7. What is Good Software?  Software has number of attributes which decide whether it is a good or bad .  The definition of a good software changes with the person who evaluates it.  The software is required by the customer, used by the end users of an organization and developed by software engineer  Each one will evaluate the different attributes differently in order to decide whether the software is good Prepared by Dr.T.Thendral 06.07.2023
  • 8. What are the attributes of good software? The software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable. • Maintainability – Software must evolve to meet changing needs  Dependability – Software must be trustworthy  Efficiency – Software should not make wasteful use of system resources  Usability – Software must be usable by the users for which it was designed Prepared by Dr.T.Thendral 06.07.2023
  • 9. Software - Characteristics  Software has a dual role. It is a product, but also a vehicle for delivering a product.  Software is a logical rather than a physical system element.  Software has characteristics that differ considerably from those of hardware.  Software is developed or engineered, it is not manufactured in the classical sense  Software doesn’t “wear out”  Most software is custom-built, rather than being assembled from existing components. Prepared by Dr.T.Thendral 06.07.2023
  • 10. Changing nature of software(Types)  System Software- A collection of programs written to service other programs at system level. For example, compiler, operating systems.  Real-time Software- Programs that monitor/analyze/control real world events as they occur.  Business Software- Programs that access, analyze and process business information.  Engineering and Scientific Software - Software using “number crunching” algorithms for different science and applications. System simulation, computer-aided design. Prepared by Dr.T.Thendral 06.07.2023
  • 11. Changing nature of software(Types)  Embedded Software-: Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. It has very limited and esoteric functions and control capability.  Artificial Intelligence (AI) Software: Programs make use of AI techniques and methods to solve complex problems. Active areas are expert systems, pattern recognition, games  Internet Software : Programs that support internet accesses and applications. For example, search engine, browser, e-commerce software, authoring tools. Prepared by Dr.T.Thendral 06.07.2023
  • 12. Software Engineering  “A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing)  “The systematic application of tools and techniques in the development of computer-based applications.” (Sue Conger in The New Software Engineering)  “Software Engineering is about designing and developing high-quality software.” (Shari Lawrence Pfleeger in Software Engineering -- The Production of Quality Software) Prepared by Dr.T.Thendral 06.07.2023
  • 13. What is Software Engineering?  Engineering: The Application of Science to the Solution of Practical Problems  Software Engineering: The Application of CS to Building Practical Software Systems  Programming – Individual Writes Complete Program – One Person, One Computer – Well-Defined Problem – Programming-in-the-Small  Software Engineering – Individuals Write Program Components – Team Assembles Complete Program – Programming-in-the-Large Prepared by Dr.T.Thendral 06.07.2023
  • 14. What is the difference between software engineering and computer science? Computer Science Software Engineering is concerned with Computer science theories are currently insufficient to act as a complete underpinning for software engineering, but it is a foundation for practical aspects of software engineering  theory  fundamentals  the practicalities of developing  delivering useful software Prepared by Dr.T.Thendral 06.07.2023
  • 15. What is Software Engineering? Although hundreds of authors have developed personal definitions of software engineering, a definition proposed by Fritz Bauer provides a basis:  “[Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” The IEEE [IEE93] has developed a more comprehensive definition when it states:  “Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).” Prepared by Dr.T.Thendral 06.07.2023
  • 16. Software engineering is a layered technology - Pressman’s view: Software Engineering Layers Prepared by Dr.T.Thendral 06.07.2023
  • 17. What is Software Engineering?  Software methods:  Software engineering methods provide the technical “how to’s” for building software.  Methods --> how to encompass a broad array of tasks: - requirements analysis, design, coding, testing, and maintenance  Software engineering methods rely on a set of basic principles. Prepared by Dr.T.Thendral 06.07.2023
  • 18. Software methods Prepared by Dr.T.Thendral 06.07.2023
  • 19. What is Software Engineering?  Software Process: Software engineering process is the glue that holds: - technology together - enables rational and timely development of computer software Software engineering process is a framework of a set of key process areas It forms a basis for: - project management, budget and schedule control - applications of technical methods - product quality control Prepared by Dr.T.Thendral 06.07.2023
  • 20. Software Process Prepared by Dr.T.Thendral 06.07.2023
  • 21. What is Software Engineering?  Software Tools: - programs provide automated or semi-automated support for the process and methods - programs support engineers to perform their tasks in a systematic and/or automatic manner Prepared by Dr.T.Thendral 06.07.2023
  • 22. Why Software Engineering?  Objectives: - Identify new problems and solutions in software production - Study new systematic methods, principles, approaches for system analysis, design, implementation, testing and maintenance. - Provide new ways to control, manage, and monitor software process - Build new software tools and environment to support software engineering Prepared by Dr.T.Thendral 06.07.2023
  • 23. Why Software Engineering? Major Goals: - To increase software productivity and quality - To effectively control software schedule and planning - To reduce the cost of software development - To meet the customers’ needs and requirements - To enhance the conduction of software engineering process - To improve the current software engineering practice - To support the engineers’ activities in a systematic and efficient manner Prepared by Dr.T.Thendral 06.07.2023
  • 24. A Process Framework Prepared by Dr.T.Thendral 06.07.2023
  • 25. Process Framework Activities  Communication  Planning  Modeling  Construction  Deployment Prepared by Dr.T.Thendral 06.07.2023
  • 26. Umbrella Activities  Software Project Tracking & Control  Risk Management  Formal Technical Reviews  Software Configuration Management  Reusability Management Prepared by Dr.T.Thendral 06.07.2023
  • 28. SDLC Process Model SDLC – Software Development Life Cycle Process model is a framework that describes the activities,actions,tasks,milestones,and work products performed at each stage of a software development project that leads to a high quality software Prepared by Dr.T.Thendral 06.07.2023
  • 29. Life cycle models  Waterfall model  Incremental process models – Incremental model – RAD model  Evolutionary Process Models – Prototyping model – Spiral model  Object oriented process model Prepared by Dr.T.Thendral 06.07.2023
  • 30. WATERFALL MODEL a.k.as Linear life cycle model or classic life cycle model Prepared by Dr.T.Thendral 06.07.2023
  • 31. WATERFALL MODEL Prepared by Dr.T.Thendral 06.07.2023
  • 32. WATERFALL MODEL  Project initiation & requirement gathering – What is the Problem to Solve? – What Does Customer Need/Want? – Interactions Between SE and Customer – Identify and Document System Requirements – Generate User Manuals and Test Plans • Planning – Prioritize the requirements – Plan the process Prepared by Dr.T.Thendral 06.07.2023
  • 33. WATERFALL MODEL  Analysis and design – How is the Problem to be Solved? – High-Level Design – Determine Components/Modules – Transition to Detailed Design – Detail Functionality of Components/Modules  Coding and Testing – Writing Code to Meet Component/Module Design Specifications – Individual Test Modules in Isolation – Integration of Components/Modules into Subsystems – Integration of Subsystems into Final Program Prepared by Dr.T.Thendral 06.07.2023
  • 34. WATERFALL MODEL  Deployment – System Delivered to Customer/Market – Bug Fixes and Version Releases Over Time Strengths  Easy to understand, easy to use  Provides structure to inexperienced staff  Milestones are well understood  Sets requirements stability  Good for management control (plan, staff, track)  Works well when quality is more important than cost or schedule Prepared by Dr.T.Thendral 06.07.2023
  • 35. Waterfall Drawbacks  All projects cannot follow linear process  All requirements must be known upfront  Few business systems have stable requirements  The customer must have patience  A working version of the program will not be available until late in the project time-span  Leads to ‘blocking states’  Inappropriate to changes Prepared by Dr.T.Thendral 06.07.2023
  • 36. When to use the Waterfall Model  Requirements are very well known  Product definition is stable  Technology is understood  New version of an existing product  Porting an existing product to a new platform Prepared by Dr.T.Thendral 06.07.2023