SlideShare a Scribd company logo
B.VISHALAKSHI
R.SUBHASHINI
What is Software?
 The product that software professionals build and then
support over the long term.
 Software encompasses: (1) instructions (computer
programs) that when executed provide desired features,
function, and performance; (2) data structures that
enable the programs to adequately store and manipulate
information and (3) documentation that describes the
operation and use of the programs.
Software products
 Generic products
 Stand-alone systems that are marketed and sold to any
customer who wishes to buy them.
 Examples – PC software such as editing
 Customized products
 Software that is commissioned by a specific customer to
meet their own needs.
 Examples – embedded control systems, air traffic control
software, traffic monitoring systems.
Why Software is Important?
 The economies of ALL developed nations are dependent
on software.
 More and more systems are software controlled (
transportation, medical, telecommunications, military,
industrial, entertainment,)
 Software engineering is concerned with theories,
methods and tools for professional software
development.
 Expenditure on software represents a
significant fraction of GNP in all developed countries.
Software Applications
 1. System software
 2. Application software
 3. Engineering/scientific software
 4. Embedded software
 5. Product-line software
 6. WebApps
 7. AI
Engineering
 Engineering is …
 The application of scientific principles and methods to the
construction of useful structures & machines
 Examples
 Mechanical engineering
 Computer engineering
 Civil engineering
 Chemical engineering
 Electrical engineering
 Nuclear engineering
 Aeronautical engineering
Software Engineering
• Software Engineering is the science and art of
 building significant software systems that are:
 1) on time
 2) on budget
 3) with acceptable performance
 4) with correct operation.
Software Costs
 Software costs often dominate system costs. The costs of
software on a PC are often greater than the hardware
cost.
 Software costs more to maintain than it does to develop.
 Software engineering is concerned with cost-effective
software development.
Efficiency Costs
Cost
Efficiency
The Software Process
 Structured set of activities required to develop a
software system
 Specification
 Design
 Validation
 Evolution
 Activities vary depending on the organization
and the type of system being developed.
 Must be explicitly modeled if it is to be
managed.
Engineering Process Model
 Specification: Set out the requirements and
constraints on the system.
 Design: Produce a model of the system.
 Manufacture: Build the system.
 Test: Check the system meets the required
specifications.
 Install: Deliver the system to the customer and
ensure it is operational.
 Maintain: Repair faults in the system as they
are discovered.
Software Engineering is Different
 Normally, specifications are incomplete.
 Very blurred distinction between specification,
design and manufacture.
 No physical realization of the system for testing.
 Software does not wear out - maintenance
does not mean component replacement.
Generic Software Process Models
 Waterfall
 Separate and distinct phases of specification and
development
 Evolutionary
 Specification and development are interleaved
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
Waterfall process model
Evolutionary Process Model
Validation
Final
version
Development
Intermediate
versions
Specification
Initial
version
Outline
description
Concurrent
activities
Hybrid Process Models
 Large systems are usually made up of several
sub-systems.
 The same process model need not be used for
all subsystems.
 Prototyping for high-risk specifications.
 Waterfall model for well-understood
developments.
Process Model Problems
 Waterfall
 High risk for new systems because of specification and
design problems.
 Low risk for well-understood developments using familiar
technology.
 evolutionary
 Low risk for new applications because specification and
program stay in step.
 High risk because of lack of process visibility.
 hybird
 High risk because of need for advanced technology and
staff skills.
Process Visibility
 Software systems are intangible so managers need
documents to assess progress.
 Waterfall model is still the most widely used model.
Ethical Issues
 Confidentiality
 Competence
 Intellectual property rights
 Computer misuse
Software Development Stages
 Requirements Analysis & Specification
 Implementation/Coding
 System Testing/Validation
 System Delivery/Deployment
 Maintenance
Component-based software engineering
 Based on systematic reuse where systems are integrated
from existing components or COTS (Commercial-off-
the-shelf) systems.
 Process stages
 Component analysis;
 Requirements modification;
 System design with reuse;
 Development and integration.
 This approach is becoming increasingly used as
component standards have emerged.
Software evolution
 Software is inherently flexible and can change.
 As requirements change through changing business
circumstances, the software that supports the business
must also evolve and change.
 Although there has been a demarcation between
development and evolution (maintenance) this is
increasingly irrelevant as fewer and fewer systems are
completely new.
Computer-aided software engineering
 Computer-aided software engineering (CASE) is
software to support software development and
evolution processes.
 Activity automation
 Graphical editors for system model development;
 Data dictionary to manage design entities;
 Graphical UI builder for user interface construction;
 Debuggers to support program fault finding;
 Automated translators to generate new versions of a
program.
conclusion
 Software processes are the activities involved in
producing and evolving a software system.
 General activities are specification, design and
implementation, validation and evolution.
 Software process models are abstract representations of
these processes.
software engineering

More Related Content

PPTX
Software Engineering Diversity
PPTX
Requirements engineering
PPTX
Agile software process
PPTX
Software Engineering
PPTX
Ch2 sw processes
PPT
Software engineering introduction
DOCX
Swe notes
PPTX
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Software Engineering Diversity
Requirements engineering
Agile software process
Software Engineering
Ch2 sw processes
Software engineering introduction
Swe notes
Ian Sommerville, Software Engineering, 9th Edition Ch 4

What's hot (16)

PDF
Intro softwareeng
PPTX
Agile and plan based development processes
PPTX
PDF
software engineering
PPTX
Introduction to Software Engineering
PPTX
Ch19 systems engineering
PPT
3 introduction
PPTX
Software re engineering
PDF
Software evolution and maintenance
PPT
Introduction to Software Engineering
DOCX
Ch 01 s.e introduction
PPT
Intro
PPT
Introduction to Software Engineering SE1
PPT
香港六合彩
PPTX
Software Engineering - Lecture 01
PPT
Chapter 01
Intro softwareeng
Agile and plan based development processes
software engineering
Introduction to Software Engineering
Ch19 systems engineering
3 introduction
Software re engineering
Software evolution and maintenance
Introduction to Software Engineering
Ch 01 s.e introduction
Intro
Introduction to Software Engineering SE1
香港六合彩
Software Engineering - Lecture 01
Chapter 01
Ad

Similar to software engineering (20)

PDF
LESSON FOR SOFTWARE ENGINEERING BASED ON MODELS
PPTX
what is software Engineering for students
PPT
1. Introduction to software engineering.ppt
PPT
Chapter_01.ppt
PPTX
17CS45_CBCS_Moulde 1 ppt
PPT
六合彩|香港六合彩
PPT
六合彩,香港六合彩
PPT
香港六合彩-六合彩
PPT
香港六合彩 » SlideShare
PPT
六合彩|香港六合彩
PDF
Introduction to Software Engineering - What is Software Engineering?
PDF
lecture01softwareengineering-151017024008-lva1-app6892.pdf
PPTX
Software Engineering
PPTX
software engineering BASICS ARCHITECTURE
PPT
SE_MAIN_OKhsjsjshsndndjdjndndmdnnnxnxmd.ppt
PPTX
What is software engineering
PDF
software engineering
PPTX
Software engineering : Layered Architecture
PPTX
Lecture-1,2-Introduction to SE.pptx
LESSON FOR SOFTWARE ENGINEERING BASED ON MODELS
what is software Engineering for students
1. Introduction to software engineering.ppt
Chapter_01.ppt
17CS45_CBCS_Moulde 1 ppt
六合彩|香港六合彩
六合彩,香港六合彩
香港六合彩-六合彩
香港六合彩 » SlideShare
六合彩|香港六合彩
Introduction to Software Engineering - What is Software Engineering?
lecture01softwareengineering-151017024008-lva1-app6892.pdf
Software Engineering
software engineering BASICS ARCHITECTURE
SE_MAIN_OKhsjsjshsndndjdjndndmdnnnxnxmd.ppt
What is software engineering
software engineering
Software engineering : Layered Architecture
Lecture-1,2-Introduction to SE.pptx
Ad

Recently uploaded (20)

PPTX
Taita Taveta Laboratory Technician Workshop Presentation.pptx
PDF
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
PPT
Chemical bonding and molecular structure
PPTX
Vitamins & Minerals: Complete Guide to Functions, Food Sources, Deficiency Si...
PPT
protein biochemistry.ppt for university classes
PDF
HPLC-PPT.docx high performance liquid chromatography
PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PPTX
2. Earth - The Living Planet earth and life
PPTX
Microbiology with diagram medical studies .pptx
PPTX
Derivatives of integument scales, beaks, horns,.pptx
PPTX
ECG_Course_Presentation د.محمد صقران ppt
PDF
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
PDF
AlphaEarth Foundations and the Satellite Embedding dataset
PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PPTX
7. General Toxicologyfor clinical phrmacy.pptx
PDF
MIRIDeepImagingSurvey(MIDIS)oftheHubbleUltraDeepField
PPTX
The KM-GBF monitoring framework – status & key messages.pptx
PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
PPTX
SCIENCE10 Q1 5 WK8 Evidence Supporting Plate Movement.pptx
PDF
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
Taita Taveta Laboratory Technician Workshop Presentation.pptx
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
Chemical bonding and molecular structure
Vitamins & Minerals: Complete Guide to Functions, Food Sources, Deficiency Si...
protein biochemistry.ppt for university classes
HPLC-PPT.docx high performance liquid chromatography
Introduction to Fisheries Biotechnology_Lesson 1.pptx
2. Earth - The Living Planet earth and life
Microbiology with diagram medical studies .pptx
Derivatives of integument scales, beaks, horns,.pptx
ECG_Course_Presentation د.محمد صقران ppt
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
AlphaEarth Foundations and the Satellite Embedding dataset
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
7. General Toxicologyfor clinical phrmacy.pptx
MIRIDeepImagingSurvey(MIDIS)oftheHubbleUltraDeepField
The KM-GBF monitoring framework – status & key messages.pptx
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
SCIENCE10 Q1 5 WK8 Evidence Supporting Plate Movement.pptx
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS

software engineering

  • 2. What is Software?  The product that software professionals build and then support over the long term.  Software encompasses: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to adequately store and manipulate information and (3) documentation that describes the operation and use of the programs.
  • 3. Software products  Generic products  Stand-alone systems that are marketed and sold to any customer who wishes to buy them.  Examples – PC software such as editing  Customized products  Software that is commissioned by a specific customer to meet their own needs.  Examples – embedded control systems, air traffic control software, traffic monitoring systems.
  • 4. Why Software is Important?  The economies of ALL developed nations are dependent on software.  More and more systems are software controlled ( transportation, medical, telecommunications, military, industrial, entertainment,)  Software engineering is concerned with theories, methods and tools for professional software development.  Expenditure on software represents a significant fraction of GNP in all developed countries.
  • 5. Software Applications  1. System software  2. Application software  3. Engineering/scientific software  4. Embedded software  5. Product-line software  6. WebApps  7. AI
  • 6. Engineering  Engineering is …  The application of scientific principles and methods to the construction of useful structures & machines  Examples  Mechanical engineering  Computer engineering  Civil engineering  Chemical engineering  Electrical engineering  Nuclear engineering  Aeronautical engineering
  • 7. Software Engineering • Software Engineering is the science and art of  building significant software systems that are:  1) on time  2) on budget  3) with acceptable performance  4) with correct operation.
  • 8. Software Costs  Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost.  Software costs more to maintain than it does to develop.  Software engineering is concerned with cost-effective software development.
  • 10. The Software Process  Structured set of activities required to develop a software system  Specification  Design  Validation  Evolution  Activities vary depending on the organization and the type of system being developed.  Must be explicitly modeled if it is to be managed.
  • 11. Engineering Process Model  Specification: Set out the requirements and constraints on the system.  Design: Produce a model of the system.  Manufacture: Build the system.  Test: Check the system meets the required specifications.  Install: Deliver the system to the customer and ensure it is operational.  Maintain: Repair faults in the system as they are discovered.
  • 12. Software Engineering is Different  Normally, specifications are incomplete.  Very blurred distinction between specification, design and manufacture.  No physical realization of the system for testing.  Software does not wear out - maintenance does not mean component replacement.
  • 13. Generic Software Process Models  Waterfall  Separate and distinct phases of specification and development  Evolutionary  Specification and development are interleaved
  • 14. Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Waterfall process model
  • 16. Hybrid Process Models  Large systems are usually made up of several sub-systems.  The same process model need not be used for all subsystems.  Prototyping for high-risk specifications.  Waterfall model for well-understood developments.
  • 17. Process Model Problems  Waterfall  High risk for new systems because of specification and design problems.  Low risk for well-understood developments using familiar technology.  evolutionary  Low risk for new applications because specification and program stay in step.  High risk because of lack of process visibility.  hybird  High risk because of need for advanced technology and staff skills.
  • 18. Process Visibility  Software systems are intangible so managers need documents to assess progress.  Waterfall model is still the most widely used model.
  • 19. Ethical Issues  Confidentiality  Competence  Intellectual property rights  Computer misuse
  • 20. Software Development Stages  Requirements Analysis & Specification  Implementation/Coding  System Testing/Validation  System Delivery/Deployment  Maintenance
  • 21. Component-based software engineering  Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off- the-shelf) systems.  Process stages  Component analysis;  Requirements modification;  System design with reuse;  Development and integration.  This approach is becoming increasingly used as component standards have emerged.
  • 22. Software evolution  Software is inherently flexible and can change.  As requirements change through changing business circumstances, the software that supports the business must also evolve and change.  Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new.
  • 23. Computer-aided software engineering  Computer-aided software engineering (CASE) is software to support software development and evolution processes.  Activity automation  Graphical editors for system model development;  Data dictionary to manage design entities;  Graphical UI builder for user interface construction;  Debuggers to support program fault finding;  Automated translators to generate new versions of a program.
  • 24. conclusion  Software processes are the activities involved in producing and evolving a software system.  General activities are specification, design and implementation, validation and evolution.  Software process models are abstract representations of these processes.