SlideShare una empresa de Scribd logo
1 de 22
An Introduction to
Software Engineering
By: M. B Suratkar, Dept. of Computer Science
Bangurnagar Degree College, Dandeli
www.bndc.co.in
Lecture 1
Objectives:
1. To identify the scope and necessity of software
engineering
2. To know the terms of software, software engineering and
to explain why it is important
3. To know the terms of software product and the attributes
of good software
4. To know the Software process model,
Introduction: The main objective of software engineering is to
produce software products. Software Engineering is concerned with
the methods, tools and techniques which are needed to develop
and managing the process of creating and evolving the software
products.
Software engineering is an engineering approach for software
development. Various methodologies and guidelines adopted to
develop the software.
A small program can be written without using software engineering
principles. But if one wants to develop a large software product,
then software engineering principles are essential to achieve a good
quality software cost effectively.
Introduction
Software Engineering
Methods Techniques
Tools Programs
Why software engineering?
1) In the late 1960’s hardware price were falling but software price
rising.
2) Many software projects failed.
3) Large software project required large development
4) Many software project late and over budget.
5) Complicity of software project is increased.
6) Demand for new software on the market.
1. To acquire skills to develop large programs.
2. Ability to solve complex programming problems.
3. Learn techniques of specification design.
4. Higher productivity.
5. Better quality programmers.
Why study software engineering?
• Computer programs and associated documentation
such as requirements, design models and user
manuals.
• Software products may be developed for a particular
customer or may be developed for a general market.
What is software?
1. Generic - developed to be sold to a range of different
customers e.g. PC software such as Excel or Word.
2. Bespoke (custom) - developed for a single customer
according to their specification.
New software can be created by developing new
programs, configuring generic software systems or
reusing existing software.
Software products
Attributes of good software
Difference between system engineering and system engineering
• System engineering is concerned with all aspects of computer-based
systems [CBSE] development including hardware, software and
process engineering. Software engineering is part of this process
concerned with developing the software infrastructure, control,
applications and databases in the system.
• System Engineers are involved in system specification,
architectural design, integration and deployment.
Program & Engineering
Program Engineering
1) Small project.
2) You
3) One product.
4) Cheap
5) Few sequential
changes.
1) large product
2) team
3) family of product
4) costly
5) Many parallel changes.
What is Software process ?
The software process is the set of activities and associated results which
produce a software product. These activities are mostly carried out by
software engineers. CASE tools may be used to help with some process
activities.
There are four fundamental process activities which are common to all
software processes. The activities are:
1. Software spacification - what the system should do and its
development constraints
2. Software development - production of the software system
3. Software validation - checking that the software is what the customer
wants
4. Software evolution - changing the software in response to changing
customer needs
What are software process attributes or characteristics
Process
characteristics
Description
1. Understandability To what extent is the process defined and how
easy is it understand the process definition
2. Visibility Making process visible
3. Supportability Process activities must be supported by CASE
tools
4. Acceptability Acceptable by engineers and responsible for
producing software product
5. Reliability Process errors are avoided
6. Robustness Process continue in spite of unexpected problems
7. Maintainability Process evolve to reflect changing organisational
requirements/improvements
8. Rapidity How fast can the process of the delivering a
system from a given specification be completed?
Software processes are complex and involve a very large number
of activities. Like product, processes, requirements specification,
software design, software implementation, software testing etc.
following software process models is used for practical systems
development.
1) Waterfall model
2) Evolutionary development model
3) Bohemia’s spiral model
SOFTWARE PROCESS MODEL
WATERFALL MODEL
This model offers the sequential development process. Because of
the cascade from one phase to another this model is called as
waterfall model. (Software life cycle)
1. Requirements: During this phase research is being
conducted which includes brainstorming about the
software, what it is going to be and what purpose is it
going to fulfil. In this phase system user study system’s
services, constraints and goals.
2. System and software design: If the first phase gets
successfully completed and a well thought out plan for
the software development then the next step involves
formulating the basic design of the software on paper.
This phase involves representing the software system
functions in a form that may be transformed into one or
more executable programs.
3. Implementation: During this stage, the software
design is realized as a set of programs or program unit.
In this phase the source code of the programs is written.
Unit test involves verifying that each unit meets its
specification.
4. Integration/system testing: The individual programs units or
programs are integrated and tested as a complete system to
ensure that all the software requirements. After testing, the
software system is delivered to the customer. The company puts it
in use after the system has been successfully tested.
5. Operation and maintenance: this is the longest life cycle
phase. The system is installed and put into practical use.
Maintenance involves correcting errors which were not discovered
in earlier stages of the life cycle. Improving the implementation of
system units and enhancing the system services as new
requirements are discovered.
CONCLUSION OF WATERFALL MODEL :
• Stages overlap and feed information to each other.
• During design problems with requirements are identified;
• During coding, design problems are found.
• The software process model but involves a sequences of
iterations of the development activities.
• Modifications are necessary for the software
Thank you

Más contenido relacionado

La actualidad más candente

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture designLen Bass
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineeringghayour abbas
 
Process models
Process modelsProcess models
Process modelsStudent
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineeringMuhammadTalha436
 
Chapter 03
Chapter 03Chapter 03
Chapter 03ppp mmm
 
Waterfall Methodology
Waterfall MethodologyWaterfall Methodology
Waterfall MethodologyNehaHaroon1
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Mohamed Sami El-Tahawy
 
Software reliability
Software reliabilitySoftware reliability
Software reliabilityAnand Kumar
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4Siddharth Ayer
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance sundas Shabbir
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementSaqib Raza
 
Software process Models
Software process ModelsSoftware process Models
Software process ModelsSADEED AMEEN
 

La actualidad más candente (20)

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Process models
Process modelsProcess models
Process models
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Waterfall Methodology
Waterfall MethodologyWaterfall Methodology
Waterfall Methodology
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software design
Software designSoftware design
Software design
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 

Similar a Basics of software engineering

Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)YamunaP6
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materialssmruti sarangi
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirementcricket2ime
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1Samura Daniel
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 

Similar a Basics of software engineering (20)

Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
San se unit
San se unitSan se unit
San se unit
 

Último

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Último (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Basics of software engineering

  • 1. An Introduction to Software Engineering By: M. B Suratkar, Dept. of Computer Science Bangurnagar Degree College, Dandeli www.bndc.co.in
  • 2. Lecture 1 Objectives: 1. To identify the scope and necessity of software engineering 2. To know the terms of software, software engineering and to explain why it is important 3. To know the terms of software product and the attributes of good software 4. To know the Software process model,
  • 3. Introduction: The main objective of software engineering is to produce software products. Software Engineering is concerned with the methods, tools and techniques which are needed to develop and managing the process of creating and evolving the software products. Software engineering is an engineering approach for software development. Various methodologies and guidelines adopted to develop the software. A small program can be written without using software engineering principles. But if one wants to develop a large software product, then software engineering principles are essential to achieve a good quality software cost effectively. Introduction
  • 5. Why software engineering? 1) In the late 1960’s hardware price were falling but software price rising. 2) Many software projects failed. 3) Large software project required large development 4) Many software project late and over budget. 5) Complicity of software project is increased. 6) Demand for new software on the market.
  • 6. 1. To acquire skills to develop large programs. 2. Ability to solve complex programming problems. 3. Learn techniques of specification design. 4. Higher productivity. 5. Better quality programmers. Why study software engineering?
  • 7. • Computer programs and associated documentation such as requirements, design models and user manuals. • Software products may be developed for a particular customer or may be developed for a general market. What is software?
  • 8. 1. Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. 2. Bespoke (custom) - developed for a single customer according to their specification. New software can be created by developing new programs, configuring generic software systems or reusing existing software. Software products
  • 10. Difference between system engineering and system engineering • System engineering is concerned with all aspects of computer-based systems [CBSE] development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. • System Engineers are involved in system specification, architectural design, integration and deployment.
  • 11. Program & Engineering Program Engineering 1) Small project. 2) You 3) One product. 4) Cheap 5) Few sequential changes. 1) large product 2) team 3) family of product 4) costly 5) Many parallel changes.
  • 12. What is Software process ? The software process is the set of activities and associated results which produce a software product. These activities are mostly carried out by software engineers. CASE tools may be used to help with some process activities. There are four fundamental process activities which are common to all software processes. The activities are: 1. Software spacification - what the system should do and its development constraints 2. Software development - production of the software system 3. Software validation - checking that the software is what the customer wants 4. Software evolution - changing the software in response to changing customer needs
  • 13. What are software process attributes or characteristics Process characteristics Description 1. Understandability To what extent is the process defined and how easy is it understand the process definition 2. Visibility Making process visible 3. Supportability Process activities must be supported by CASE tools 4. Acceptability Acceptable by engineers and responsible for producing software product 5. Reliability Process errors are avoided 6. Robustness Process continue in spite of unexpected problems 7. Maintainability Process evolve to reflect changing organisational requirements/improvements 8. Rapidity How fast can the process of the delivering a system from a given specification be completed?
  • 14. Software processes are complex and involve a very large number of activities. Like product, processes, requirements specification, software design, software implementation, software testing etc. following software process models is used for practical systems development. 1) Waterfall model 2) Evolutionary development model 3) Bohemia’s spiral model SOFTWARE PROCESS MODEL
  • 15. WATERFALL MODEL This model offers the sequential development process. Because of the cascade from one phase to another this model is called as waterfall model. (Software life cycle)
  • 16. 1. Requirements: During this phase research is being conducted which includes brainstorming about the software, what it is going to be and what purpose is it going to fulfil. In this phase system user study system’s services, constraints and goals.
  • 17. 2. System and software design: If the first phase gets successfully completed and a well thought out plan for the software development then the next step involves formulating the basic design of the software on paper. This phase involves representing the software system functions in a form that may be transformed into one or more executable programs.
  • 18. 3. Implementation: During this stage, the software design is realized as a set of programs or program unit. In this phase the source code of the programs is written. Unit test involves verifying that each unit meets its specification.
  • 19. 4. Integration/system testing: The individual programs units or programs are integrated and tested as a complete system to ensure that all the software requirements. After testing, the software system is delivered to the customer. The company puts it in use after the system has been successfully tested.
  • 20. 5. Operation and maintenance: this is the longest life cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle. Improving the implementation of system units and enhancing the system services as new requirements are discovered.
  • 21. CONCLUSION OF WATERFALL MODEL : • Stages overlap and feed information to each other. • During design problems with requirements are identified; • During coding, design problems are found. • The software process model but involves a sequences of iterations of the development activities. • Modifications are necessary for the software