SlideShare a Scribd company logo
1 of 27
Software Engineering
Mrs. R.K.Santhia /Assistant Professor-CSE
Program Vs Products
Program Vs Products (conts..)
Types of software development projects
• There are two types of software development
projects. They are,
 Software products
 Outsourced projects
Software Products
Software such as Microsoft’s Windows and the Office
suite, Oracle DBMS, or a laser printer, etc. These are
called generic software products since many users
essentially use the same software.
Outsourced projects
A software service usually involves either
development of a customized software or
development of some specific part of software in an
outsourced mode.
Types of software development projects
Evolution of S/W Engineering Methodologies
1. Early Computer Programming
2. High-level Language Programming
3. Control Flow-based Design
4. Data Structure-oriented Design
5. Data Flow-oriented Design
6. Object-oriented Design
Early Computer Programming
• Early commercial computers were very slow and too
elementary as compared to today’s standards.
• Even simple processing tasks took considerable
computation time on those computers.
• Programs at that time were very small in size
• Those programs were usually written in assembly
languages
• Programmers wrote programs without formulating
any proper solution strategy, plan, or design and
jump to the terminal and start coding immediately
on hearing out the problem.
• This style of programming is called as the build and
fix (or the exploratory programming) style.
Early Computer Programming
Early Computer Programming
High-level Language Programming
• Computers became faster with the introduction of the
semiconductor technology in the early 1960s.
• Faster semiconductor transistors replaced the prevalent
vacuum tube-based circuits in a computer.
• With the availability of more powerful computers, it
became possible to solve larger and more complex
problems.
• At this time, high-level languages such as FORTRAN,
ALGOL, and COBOL were introduced.
High-level Language Programming
• Writing each high-level programming construct in effect
enables the programmer to write several machine
instructions.
• Also, the machine details (registers, flags, etc.) are
abstracted from the programmer.
• However, programmers were still using the exploratory
style of software development. Typical programs were
limited to sizes of around a few thousands of lines of
source code.
High-level Language Programming
Control Flow-based Design
• A program’s control flow structure indicates the
sequence in which the program’s instructions are
executed.
• To develop programs having good control flow
structures, the flow charting technique was
developed. The flow charting technique is being
used to represent and design algorithms.
Control Flow-based Design
• Unstructured program consists of number of GOTO
statements, but structured programs are very simple to look.
• A program is called structured when it uses only the
sequence, selection, and iteration types of constructs and is
modular.
• Several languages such as PASCAL, MODULA, C, etc., became
available which were specifically designed to support
structured programming.
Control Flow-based Design
Data Structure-oriented Design
• Computers became even more powerful with the
advent o f integrated circuits (ICs) in the early
seventies.
• These could now be used to solve more complex
problems. Software developers were tasked to
develop larger and more complicated software
Data Structure-oriented Design
• It often required writing in excess of several tens of
thousands of lines of source code.
• The control flow-based program development
techniques could not be used satisfactorily any more
to write those programs, and more effective program
development techniques were needed.
• It is much more important to pay attention to the
design the important data structures of the program
than to the design of its control structure.
• Design techniques based on this principle are called
data structure- oriented design techniques.
Data Structure-oriented Design
Data Flow-oriented Design
• As computers became still faster and more powerful
with the introduction of very large scale integrated
(VLSI) Circuits and some new architectural concepts,
more complex and sophisticated software were
needed to solve further challenging problems
Data Flow-oriented Design
• Therefore, software developers looked out for more
effective techniques for designing software and soon
data flow-oriented techniques were proposed
• The functions (also called as processes) and the data
items that are exchanged between the different functions
are represented in a diagram known as a data flow
diagram (DFD).
• Data flow-oriented techniques evolved into object-
oriented design (OOD) techniques in the late seventies.
• Object-oriented design technique is naturally an
attractive approach, where the natural objects (such as
employees, pay-roll-register, etc.) relevant to a problem
are first identified and then the relationships among the
objects such as composition, reference, and inheritance
are determined.
Object-oriented Design
Object-oriented Design
• Each object essentially acts as a data hiding (also known as
data abstraction ) entity.
• Object-oriented techniques have gained wide spread
acceptance because of their simplicity, the scope for code and
design reuse, lower development time, lower development
cost, more robust code, and easier maintenance.
Evolution of software design techniques

More Related Content

What's hot

What's hot (20)

Generic process model
Generic process modelGeneric process model
Generic process model
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Operating system architecture
Operating system architectureOperating system architecture
Operating system architecture
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
operating system structure
operating system structureoperating system structure
operating system structure
 
Context model
Context modelContext model
Context model
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
Software development process
Software development processSoftware development process
Software development process
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
 
Strategy of software design
Strategy of software designStrategy of software design
Strategy of software design
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
software characteristics
software characteristicssoftware characteristics
software characteristics
 
Types Of Operating Systems
Types Of Operating SystemsTypes Of Operating Systems
Types Of Operating Systems
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
Lecture2 general structure of a compiler
Lecture2 general structure of a compilerLecture2 general structure of a compiler
Lecture2 general structure of a compiler
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 

Similar to The Software Engineering Discipline and Evolution of S/W Engineering Methodologies

Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptxJAGADEESWARIS6
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxAbcXyz302255
 
Unit 2 computer software
Unit 2 computer softwareUnit 2 computer software
Unit 2 computer softwareHardik Patel
 
Project 1 & 2.pptx
Project 1 & 2.pptxProject 1 & 2.pptx
Project 1 & 2.pptxOkianWarner
 
Programming using C++ - slides.pptx
Programming using C++ - slides.pptxProgramming using C++ - slides.pptx
Programming using C++ - slides.pptxHeadoftheDepartment
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...yaminohime
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system softwareRai University
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareRai University
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system softwareRai University
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system softwareRai University
 
Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptxcrAmth
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.Sumit Biswas
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdfHasankaNayanjith
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxSherinRappai1
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxSherinRappai
 

Similar to The Software Engineering Discipline and Evolution of S/W Engineering Methodologies (20)

Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptx
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptx
 
Unit 2 computer software
Unit 2 computer softwareUnit 2 computer software
Unit 2 computer software
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Project 1 & 2.pptx
Project 1 & 2.pptxProject 1 & 2.pptx
Project 1 & 2.pptx
 
Programming using C++ - slides.pptx
Programming using C++ - slides.pptxProgramming using C++ - slides.pptx
Programming using C++ - slides.pptx
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
 
Uc13.chapter.13
Uc13.chapter.13Uc13.chapter.13
Uc13.chapter.13
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system software
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system software
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system software
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system software
 
Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptx
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.
 
software engineering
software engineeringsoftware engineering
software engineering
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdf
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
 

Recently uploaded

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 

Recently uploaded (20)

young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 

The Software Engineering Discipline and Evolution of S/W Engineering Methodologies

  • 1. Software Engineering Mrs. R.K.Santhia /Assistant Professor-CSE
  • 4. Types of software development projects • There are two types of software development projects. They are,  Software products  Outsourced projects
  • 5. Software Products Software such as Microsoft’s Windows and the Office suite, Oracle DBMS, or a laser printer, etc. These are called generic software products since many users essentially use the same software.
  • 6. Outsourced projects A software service usually involves either development of a customized software or development of some specific part of software in an outsourced mode.
  • 7. Types of software development projects
  • 8. Evolution of S/W Engineering Methodologies 1. Early Computer Programming 2. High-level Language Programming 3. Control Flow-based Design 4. Data Structure-oriented Design 5. Data Flow-oriented Design 6. Object-oriented Design
  • 9. Early Computer Programming • Early commercial computers were very slow and too elementary as compared to today’s standards. • Even simple processing tasks took considerable computation time on those computers. • Programs at that time were very small in size • Those programs were usually written in assembly languages
  • 10. • Programmers wrote programs without formulating any proper solution strategy, plan, or design and jump to the terminal and start coding immediately on hearing out the problem. • This style of programming is called as the build and fix (or the exploratory programming) style. Early Computer Programming
  • 12. High-level Language Programming • Computers became faster with the introduction of the semiconductor technology in the early 1960s. • Faster semiconductor transistors replaced the prevalent vacuum tube-based circuits in a computer. • With the availability of more powerful computers, it became possible to solve larger and more complex problems. • At this time, high-level languages such as FORTRAN, ALGOL, and COBOL were introduced.
  • 13. High-level Language Programming • Writing each high-level programming construct in effect enables the programmer to write several machine instructions. • Also, the machine details (registers, flags, etc.) are abstracted from the programmer. • However, programmers were still using the exploratory style of software development. Typical programs were limited to sizes of around a few thousands of lines of source code.
  • 15. Control Flow-based Design • A program’s control flow structure indicates the sequence in which the program’s instructions are executed. • To develop programs having good control flow structures, the flow charting technique was developed. The flow charting technique is being used to represent and design algorithms.
  • 17. • Unstructured program consists of number of GOTO statements, but structured programs are very simple to look. • A program is called structured when it uses only the sequence, selection, and iteration types of constructs and is modular. • Several languages such as PASCAL, MODULA, C, etc., became available which were specifically designed to support structured programming. Control Flow-based Design
  • 18. Data Structure-oriented Design • Computers became even more powerful with the advent o f integrated circuits (ICs) in the early seventies. • These could now be used to solve more complex problems. Software developers were tasked to develop larger and more complicated software
  • 19. Data Structure-oriented Design • It often required writing in excess of several tens of thousands of lines of source code. • The control flow-based program development techniques could not be used satisfactorily any more to write those programs, and more effective program development techniques were needed.
  • 20. • It is much more important to pay attention to the design the important data structures of the program than to the design of its control structure. • Design techniques based on this principle are called data structure- oriented design techniques. Data Structure-oriented Design
  • 21. Data Flow-oriented Design • As computers became still faster and more powerful with the introduction of very large scale integrated (VLSI) Circuits and some new architectural concepts, more complex and sophisticated software were needed to solve further challenging problems
  • 22. Data Flow-oriented Design • Therefore, software developers looked out for more effective techniques for designing software and soon data flow-oriented techniques were proposed • The functions (also called as processes) and the data items that are exchanged between the different functions are represented in a diagram known as a data flow diagram (DFD).
  • 23.
  • 24.
  • 25. • Data flow-oriented techniques evolved into object- oriented design (OOD) techniques in the late seventies. • Object-oriented design technique is naturally an attractive approach, where the natural objects (such as employees, pay-roll-register, etc.) relevant to a problem are first identified and then the relationships among the objects such as composition, reference, and inheritance are determined. Object-oriented Design
  • 26. Object-oriented Design • Each object essentially acts as a data hiding (also known as data abstraction ) entity. • Object-oriented techniques have gained wide spread acceptance because of their simplicity, the scope for code and design reuse, lower development time, lower development cost, more robust code, and easier maintenance.
  • 27. Evolution of software design techniques