SlideShare a Scribd company logo
1 of 36
Introduction Software Engineering Basics
Software Crisis
• Software Crisis is a term used in computer science for the difficulty of
writing useful and efficient computer programs in the required time.
• The software crisis was due to using the same workforce, same
methods, same tools even though rapidly increasing in software
demand, the complexity of software, and software challenges.
Causes of Software Crisis:
• The cost of owning and maintaining software was as expensive as
developing the software
• At that time Projects were running over-time
• At that time Software was very inefficient
• The quality of the software was low quality
• Software often did not meet user requirements
• The average software project overshoots its schedule by half
• At that time Software was never delivered
• Non-optimal resource utilization.
• Difficult to alter, debug, and enhance.
• The software complexity is harder to change.
Factors are contributing to the software crisis
• Poor project management.
• Lack of adequate training in software engineering.
• Less skilled project members.
• Low productivity improvements.
Solution of Software Crisis
• Reduction in software over budget.
• The quality of software must be high.
• Less time is needed for a software project.
• Experienced and skilled people working over the software project.
• Software must be delivered.
• Software must meet user requirements.
What is Software Engineering?
• The term software engineering is the product of two words, software and engineering.
• The software is a collection of integrated programs.
• Engineering is the application of scientific and practical knowledge to invent, design, build,
maintain, and improve frameworks, processes, etc.
• Software Engineering is an engineering branch related to the evolution of software product using
well-defined scientific principles, techniques, and procedures. The result of software engineering is
an effective and reliable software product.
Why is Software Engineering required?
• To manage Large software
• For more Scalability
• Cost Management
• To manage the dynamic nature of software
• For better quality Management
Need of Software Engineering
• Huge Programming
• Adaptability
• Cost
• Dynamic Nature
• Quality Management
Characteristics of a good software engineer
• Exposure to systematic methods, i.e., familiarity with software engineering principles.
• Good technical knowledge of the project range (Domain knowledge).
• Good programming abilities.
• Good communication skills. These skills comprise of oral, written, and interpersonal skills.
• High motivation.
• Sound knowledge of fundamentals of computer science.
• Intelligence.
• Ability to work in a team
• Discipline, etc.
Importance of Software Engineering
The importance of Software engineering is as follows
• Reduces complexity
• To minimize software cost
• To decrease time
• Handling big projects
• Reliable software
• Effectiveness
Software Processes
• 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.
• A software process is the set of activities and associated outcome
that produce a software product. Software engineers mostly carry out
these activities.
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.
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. Process models may contain activities, which are part of
the software process, software product, and the roles of people
involved in software engineering.
Types of software process models
• A workflow model
• A dataflow or activity model
• A role/action model
There are several various general models or paradigms of
software development
• The waterfall approach
• Evolutionary development
• Formal transformation
• System assembly from reusable components
Program vs. Software
Documentation
Operating Procedures
Software Development Life Cycle (SDLC)
• A software life cycle model (also termed process model) is a pictorial
and diagrammatic representation of the software life cycle.
• A life cycle model represents all the methods required to make a
software product transit through its life cycle stages.
Need of SDLC
• The development team must determine a suitable life cycle model for
a particular plan and then observe to it.
• When a team is developing a software product, there must be a clear
understanding among team representative about when and what to
do
SDLC Cycle
The stages of SDLC are as follows
• Stage1: Planning and requirement analysis
• The senior members of the team perform it with inputs from all the
stakeholders and domain experts or SMEs in the industry.
• Planning for the quality assurance requirements and identifications of
the risks associated with the projects is also done at this stage.
Stage2: Defining Requirements
• Once the requirement analysis is done, the next stage is to certainly
represent and document the software requirements and get them
accepted from the project stakeholders.
•
Stage3: Designing the Software
• The next phase is about to bring down all the knowledge of
requirements, analysis, and design of the software project. This phase
is the product of the last two, like inputs from the customer and
requirement gathering.
Stage4: Developing the project
• In this phase of SDLC, the actual development begins, and the
programming is built. The implementation of design begins
concerning writing code. Developers have to follow the coding
guidelines described by their management and programming tools
like compilers, interpreters, debuggers, etc. are used to develop and
implement the code.
Stage5: Testing
• After the code is generated, it is tested against the requirements to
make sure that the products are solving the needs addressed and
gathered during the requirements stage.
Stage6: Deployment
• Once the software is certified, and no bugs or errors are stated, then
it is deployed.
• Then based on the assessment, the software may be released as it is
or with suggested enhancement in the object segment.
Stage7: Maintenance
• Once when the client starts using the developed systems, then the
real issues come up and requirements to be solved from time to time.
SDLC Models
Thank You

More Related Content

Similar to Introduction Software Engineering Basics-Module(01).pptx

Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
gururguru01
 

Similar to Introduction Software Engineering Basics-Module(01).pptx (20)

Software Development
Software DevelopmentSoftware Development
Software Development
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
Project 1 & 2.pptx
Project 1 & 2.pptxProject 1 & 2.pptx
Project 1 & 2.pptx
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gateSoftware Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gate
 
Software Engineering - Introdution.ppt
Software Engineering - Introdution.pptSoftware Engineering - Introdution.ppt
Software Engineering - Introdution.ppt
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle
 
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
Software Design Architecture SDA SDLC DETAILS
Software Design Architecture  SDA SDLC DETAILSSoftware Design Architecture  SDA SDLC DETAILS
Software Design Architecture SDA SDLC DETAILS
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 

Recently uploaded

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
AS
 

Recently uploaded (9)

Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Mobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android InstallationMobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android Installation
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pureBromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
 
Abortion pills in Riyadh+966572737505 cytotec jeddah
Abortion pills in Riyadh+966572737505 cytotec jeddahAbortion pills in Riyadh+966572737505 cytotec jeddah
Abortion pills in Riyadh+966572737505 cytotec jeddah
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 

Introduction Software Engineering Basics-Module(01).pptx

  • 2. Software Crisis • Software Crisis is a term used in computer science for the difficulty of writing useful and efficient computer programs in the required time. • The software crisis was due to using the same workforce, same methods, same tools even though rapidly increasing in software demand, the complexity of software, and software challenges.
  • 3.
  • 4. Causes of Software Crisis: • The cost of owning and maintaining software was as expensive as developing the software • At that time Projects were running over-time • At that time Software was very inefficient • The quality of the software was low quality • Software often did not meet user requirements • The average software project overshoots its schedule by half • At that time Software was never delivered • Non-optimal resource utilization. • Difficult to alter, debug, and enhance. • The software complexity is harder to change.
  • 5. Factors are contributing to the software crisis • Poor project management. • Lack of adequate training in software engineering. • Less skilled project members. • Low productivity improvements.
  • 6. Solution of Software Crisis • Reduction in software over budget. • The quality of software must be high. • Less time is needed for a software project. • Experienced and skilled people working over the software project. • Software must be delivered. • Software must meet user requirements.
  • 7. What is Software Engineering? • The term software engineering is the product of two words, software and engineering. • The software is a collection of integrated programs. • Engineering is the application of scientific and practical knowledge to invent, design, build, maintain, and improve frameworks, processes, etc. • Software Engineering is an engineering branch related to the evolution of software product using well-defined scientific principles, techniques, and procedures. The result of software engineering is an effective and reliable software product.
  • 8.
  • 9. Why is Software Engineering required? • To manage Large software • For more Scalability • Cost Management • To manage the dynamic nature of software • For better quality Management
  • 10. Need of Software Engineering • Huge Programming • Adaptability • Cost • Dynamic Nature • Quality Management
  • 11. Characteristics of a good software engineer • Exposure to systematic methods, i.e., familiarity with software engineering principles. • Good technical knowledge of the project range (Domain knowledge). • Good programming abilities. • Good communication skills. These skills comprise of oral, written, and interpersonal skills. • High motivation. • Sound knowledge of fundamentals of computer science. • Intelligence. • Ability to work in a team • Discipline, etc.
  • 12. Importance of Software Engineering
  • 13. The importance of Software engineering is as follows • Reduces complexity • To minimize software cost • To decrease time • Handling big projects • Reliable software • Effectiveness
  • 14. Software Processes • 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. • A software process is the set of activities and associated outcome that produce a software product. Software engineers mostly carry out these activities.
  • 15. Software specifications • The functionality of the software and constraints on its operation must be defined.
  • 16. Software development • The software to meet the requirement must be produced.
  • 17. Software validation • The software must be validated to ensure that it does what the customer wants.
  • 18. Software evolution • The software must evolve to meet changing client needs.
  • 19. 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. Process models may contain activities, which are part of the software process, software product, and the roles of people involved in software engineering.
  • 20. Types of software process models • A workflow model • A dataflow or activity model • A role/action model
  • 21. There are several various general models or paradigms of software development • The waterfall approach • Evolutionary development • Formal transformation • System assembly from reusable components
  • 25. Software Development Life Cycle (SDLC) • A software life cycle model (also termed process model) is a pictorial and diagrammatic representation of the software life cycle. • A life cycle model represents all the methods required to make a software product transit through its life cycle stages.
  • 26. Need of SDLC • The development team must determine a suitable life cycle model for a particular plan and then observe to it. • When a team is developing a software product, there must be a clear understanding among team representative about when and what to do
  • 28. The stages of SDLC are as follows • Stage1: Planning and requirement analysis • The senior members of the team perform it with inputs from all the stakeholders and domain experts or SMEs in the industry. • Planning for the quality assurance requirements and identifications of the risks associated with the projects is also done at this stage.
  • 29. Stage2: Defining Requirements • Once the requirement analysis is done, the next stage is to certainly represent and document the software requirements and get them accepted from the project stakeholders. •
  • 30. Stage3: Designing the Software • The next phase is about to bring down all the knowledge of requirements, analysis, and design of the software project. This phase is the product of the last two, like inputs from the customer and requirement gathering.
  • 31. Stage4: Developing the project • In this phase of SDLC, the actual development begins, and the programming is built. The implementation of design begins concerning writing code. Developers have to follow the coding guidelines described by their management and programming tools like compilers, interpreters, debuggers, etc. are used to develop and implement the code.
  • 32. Stage5: Testing • After the code is generated, it is tested against the requirements to make sure that the products are solving the needs addressed and gathered during the requirements stage.
  • 33. Stage6: Deployment • Once the software is certified, and no bugs or errors are stated, then it is deployed. • Then based on the assessment, the software may be released as it is or with suggested enhancement in the object segment.
  • 34. Stage7: Maintenance • Once when the client starts using the developed systems, then the real issues come up and requirements to be solved from time to time.