SlideShare a Scribd company logo
Introduction to Software Engineering
B.Tech CSE/II Sem-II
Term: 2016-2017
Text Books:Software Engineering, A practitioner’s approach
Roger s. Pressman 6th
edition McGraw-Hill
Introduction to Software Engineering by P.Bharath Kumar Chowdary is licensed under a
Creative Commons Attribution 4.0 International License.
1
• Introduction to Software Engineering : The
evolving role of software, Changing Nature of
Software, Software myths.
• A Generic view of process : Software
engineering- A layered technology, a process
framework, The Capability Maturity Model
Integration (CMMI)
2
INDEX
Unit-1
S.No Topic Lecture No PPTSlides
1
Introduction to software
Engineering: Evolving role
software
L1 4
2 The changing nature of software
& legacy software
L2 10
3 Software myths L3 15
4 A generic view of process:
Software Engineering-A layered
technology
L4 19
5 A Process Framework L5
21
5 The Capability maturity model
Integration(CMMI)
L6 25
3
Introduction to software Engineering
The Evolving role of software
• Dual role of Software
A Product
- Information transformer-
producing, managing and displaying
A Vehicle for delivering a product
- Control of computer(operating system),the
communication of
information(networks) and the creation of
other programs
4
Introduction to software Engineering
• Software is defined as
1. Instructions
- Programs that when executed provide
desired function
2. Data structures
-Enable the programs to adequately
manipulate information
3. Documents
-Describe the operation and use of the
programs.
5
Introduction to software Engineering
• Definition of Engineering
-Application of science, tools and methods
to find cost effective solution to problems
Definition of SOFTWARE ENGINEERING
- SE is defined as systematic, disciplined and
quantifiable approach for the development, operation
and maintenance of software
6
Introduction to software Engineering
Characteristics of software
• Software is developed or engineered, it is not
manufactured in the classical sense.
• Software does not wear out. However it
deteriorates due to change.
• Software is custom built rather than
assembling existing components.
-Although the industry is moving towards
component based construction, most software
continues to be custom built
7
CHARACTERISTICS OF HARDWARE
Failurerate
Time
“Infant
mortality” “Wear out”
Fig: FAILURE CURVE FOR HARDWARE
8
CHARACTERISTICS OF SOFTWARE
Fig: FAILURE CURVE FOR SOFTWARE
9
THE CHANGING NATURE OF
SOFTWARE
• Seven Broad Categories of software are
challenges for software engineers
 System software
 Application software
 Engineering and scientific software
 Embedded software
 Product-line software
 Web-applications
 Artificial intelligence software
10
THE CHANGING NATURE OF
SOFTWARE
• System software. System software is a collection of programs
written to service other programs
• Embedded software
-- resides in read-only memory
--is used to control products and systems for the consumer and
industrial markets.
• Artificial intelligence software. Artificial intelligence (AI) software
makes use of nonnumeric algorithms to solve complex problems
that are not amenable to computation or straightforward analysis
• Engineering and scientific software. Engineering and scientific
software have been characterized by "number crunching"
algorithms.
11
LEGACY SOFTWARE
• Legacy software are older programs that
are developed decades ago.
• The quality of legacy software is poor
because it has inextensible
design,convoluted code,poor and
nonexistent documentation,test cases and
results that are not achieved.
12
• As time passes legacy systems evolve
due to following reasons:
The software must be adapted to meet the
needs of new computing environment or
technology.
The software must be enhanced to implement
new business requirements.
The software must be extended to make it
interoperable with more modern systems or
database
The software must be rearchitected to make it
viable within a network environment.
13
Software Evolution
• Software evolves due to changes
• Changes occur due to correction,adaption and enhancement
• 8 Laws of unified theory
 The Law of Continuing Change.
 The Law of Increasing Complexity.
 The Law of Self-Regulation
 The Law of Conservation of Organizational Stability.
 The Law of Conservation of Familiarity
 The Law of Continuing Growth
 The Law of Declining Quality
 The Feedback System Law
14
SOFTWARE MYTHS
• Widely held but false view
• Propagate misinformation and confusion
• Three types of myth
- Management myth
- Customer myth
- Practitioner’s myth
15
MANAGEMENT MYTHS
• Myth(1)
-The available standards and procedures
for software are
enough.
• Myth(2)
-Each organization feel that they have state-of-art
software development tools since they have latest
computer.
• Myth(3)
-Adding more programmers when the work is behind
schedule can catch up.
• Myth(4)
-Outsourcing the software project to third party, we can
relax and let that party build it. 16
CUSTOMER MYTH
• Myth(1)
- General statement of objective is
enough to begin writing programs, the
details can be filled in later.
• Myth(2)
-Software is easy to change because
software is flexible
17
PRACTITIONER’S MYTH
• Myth(1)
-Once the program is written, the job has been done.
• Myth(2)
-Until the program is running, there is no way of
assessing the quality.
• Myth(3)
-The only deliverable work product is the working
program
• Myth(4)
-Software Engineering creates voluminous and
unnecessary documentation and invariably slows down
software development.
18
SOFTWARE ENGINEERING-A LAYERED
TECHNOLOGY
19
Fig: Software Engineering-A layered technology
SOFTWARE ENGINEERING-A
LAYERED TECHNOLOGY
• Quality focus
- Bedrock that supports software
Engineering.
• Process
- Foundation for software Engineering
• Methods
- Provide technical How-to’s for building
software
• Tools
- Provide semi-automatic and automatic
support to methods
20
A PROCESS FRAMEWORK
• Establishes the foundation for a complete
software process
• Identifies a number of framework activities
applicable to all software projects
• Also include a set of umbrella activities
that are applicable across the entire
software process.
21
A PROCESS FRAMEWORK
Common process frameworkCommon process framework
Umbrella activitiesUmbrella activities
Framework activities
TTTasks
Milestones,delierables
SQA points
22
A PROCESS FRAMEWORK
• Used as a basis for the description of
process models
• Generic process activities
Communication
Planning
Modeling
Construction
Deployment
23
A PROCESS FRAMEWORK
• Generic view of engineering complimented
by a number of umbrella activities
– Software project tracking and control
– Formal technical reviews
– Software quality assurance
– Software configuration management
– Document preparation and production
– Reusability management
– Measurement
– Risk management
24
CAPABILITY MATURITY MODEL
INTEGRATION(CMMI)
• Developed by SEI(Software Engineering institute)
• Assess the process model followed by an organization and rate the
organization with different levels
• A set of software engineering capabilities should be present as
organizations reach different levels of process capability and
maturity.
• CMMI process meta model can be represented in different ways
1.A continuous model
2.A staged model
Continuous model:
-Lets organization select specific improvement that best meet its
business objectives and minimize risk
-Levels are called capability levels.
-Describes a process in 2 dimensions
-Each process area is assessed against specific goals and practices
and is rated according to the following capability
levels. 25
CMMI
• Six levels of CMMI
– Level 0:Incomplete
– Level 1:Performed
– Level 2:Managed
– Level 3:Defined
– Level 4:Quantitatively managed
– Level 5:Optimized
26
CMMI
• INCOMPLETE
-Process is adhoc.Objective and goal of process areas are not known
• Performed
-Goal,objective,work tasks,work products and other activities of software
process are carried out
• Managed
-Activities are monitored, reviewed, evaluated and controlled
• Defined
-Activities are standardized, integrated and documented
• Quantitatively Managed
-Metrics and indicators are available to measure the process and quality
• Optimized
- Continuous process improvement based on quantitative feed back from the
user
-Use of innovative ideas and techniques, statistical quality control and other
methods for process improvement.
27
CMMI
Staged model
- This model is used if you have no clue of how to improve the
process for quality software.
- It gives a suggestion of what things other organizations have
found helpful to work first
- Levels are called maturity levels
28
LEVEL FOCUS PROCESS AREA
Optimizing Continuous process
Improvement
-Organizational Innovation and
Deployment
-Causal Analysis and Resolution
Quantitatively
managed
Quantitative
management
-Organizational process performance
-Quantitative project management
Defined Process standardized Requirements Development
Technical Solution
Product Integration
Verification
Validation
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Management
Risk Management
29
−Integrated Teaming
−Integrated Supplier
Management
−Decision Analysis and
Resolution
−Organizational
Environment for Integration
Managed Basic project management Requirements Management
Project Planning
Project Monitoring and
Control
Supplier Agreement
Measurement and Analysis
Process and Product
Quality Assurance
Configuration Management
Performed
30

More Related Content

PPTX
PPTX
CS8494 SOFTWARE ENGINEERING Unit-1
PPT
Unit 1
PPTX
Software Engineering- Crisis and Process Models
PPT
Introduction to Software Engineering
PPT
Software Engineering (Introduction to Software Engineering)
PPT
Software System Engineering - Chapter 1
PDF
Software engineering
CS8494 SOFTWARE ENGINEERING Unit-1
Unit 1
Software Engineering- Crisis and Process Models
Introduction to Software Engineering
Software Engineering (Introduction to Software Engineering)
Software System Engineering - Chapter 1
Software engineering

What's hot (20)

PPT
Unit1
PPTX
Quality and productivity factors
PDF
Introduction to software engineering
PPTX
Software Engineering Unit 1
PPT
Intoduction to software engineering part 1
DOCX
Swe notes
PPT
Introduction to Software Engineering
PDF
software engineering
PPTX
Software Engineering
PPTX
Fundamentals of software development
PPTX
Software Engineering
PDF
Cs504 handouts 1_45
PPT
Chapter3 part3-cmm-for-cis6516
PPTX
CSC426 - Software Engineering Lecture Note Cont'd
DOCX
Software engineering Questions and Answers
PDF
Software systems engineering PRINCIPLES
DOCX
Software engineering
PPTX
Software engineer
PPTX
Introduction to Software Engineering
PDF
Software engineering lecture notes
Unit1
Quality and productivity factors
Introduction to software engineering
Software Engineering Unit 1
Intoduction to software engineering part 1
Swe notes
Introduction to Software Engineering
software engineering
Software Engineering
Fundamentals of software development
Software Engineering
Cs504 handouts 1_45
Chapter3 part3-cmm-for-cis6516
CSC426 - Software Engineering Lecture Note Cont'd
Software engineering Questions and Answers
Software systems engineering PRINCIPLES
Software engineering
Software engineer
Introduction to Software Engineering
Software engineering lecture notes
Ad

Similar to Unit1.. (20)

PDF
unit1kiran.ppt.pdfr4weaidhiqw4jehdciueshdfbrejhb
PPT
Software Engineering.ppt
PPTX
Module 1(Introduction to Software Engineering).pptx
PPTX
20CS4103 SE UNIT 1-1.pptx software engineering
PPT
OOSE Unit 1 PPT.ppt
PPT
Oose unit 1 ppt
PPTX
Week_01-Intro to Software Engineering (1).pptx
PDF
Introduction to Software Engineering & Project Management.pdf
PPTX
SOFTWARE ENGINEERING-UNIT-1SOFTWARE ENGINEERING
PPT
SF 9_Unit 1.ppt software engineering ppt
PPTX
Lecture 1.pptx
PPT
1. Introduction to Software Engineering and Software Process.ppt
PPTX
Unit_I.pptx
PPT
INTRODUCTION TO SOFTWARE ENGINEERING
PDF
The Nature of Software and Software Engineering ppt.pdf
PPTX
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
PDF
Module 1.pdf
PPTX
Software Engineering _ Introduction
PPTX
Software Engineering and management project development
PPTX
Unit 1 OOSE
unit1kiran.ppt.pdfr4weaidhiqw4jehdciueshdfbrejhb
Software Engineering.ppt
Module 1(Introduction to Software Engineering).pptx
20CS4103 SE UNIT 1-1.pptx software engineering
OOSE Unit 1 PPT.ppt
Oose unit 1 ppt
Week_01-Intro to Software Engineering (1).pptx
Introduction to Software Engineering & Project Management.pdf
SOFTWARE ENGINEERING-UNIT-1SOFTWARE ENGINEERING
SF 9_Unit 1.ppt software engineering ppt
Lecture 1.pptx
1. Introduction to Software Engineering and Software Process.ppt
Unit_I.pptx
INTRODUCTION TO SOFTWARE ENGINEERING
The Nature of Software and Software Engineering ppt.pdf
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
Module 1.pdf
Software Engineering _ Introduction
Software Engineering and management project development
Unit 1 OOSE
Ad

Recently uploaded (20)

PDF
Indian roads congress 037 - 2012 Flexible pavement
PDF
HVAC Specification 2024 according to central public works department
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PPTX
Virtual and Augmented Reality in Current Scenario
PDF
Weekly quiz Compilation Jan -July 25.pdf
PPTX
Computer Architecture Input Output Memory.pptx
PDF
Hazard Identification & Risk Assessment .pdf
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PDF
1_English_Language_Set_2.pdf probationary
PPTX
Introduction to pro and eukaryotes and differences.pptx
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Trump Administration's workforce development strategy
PDF
Empowerment Technology for Senior High School Guide
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
IGGE1 Understanding the Self1234567891011
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
Indian roads congress 037 - 2012 Flexible pavement
HVAC Specification 2024 according to central public works department
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Unit 4 Computer Architecture Multicore Processor.pptx
Virtual and Augmented Reality in Current Scenario
Weekly quiz Compilation Jan -July 25.pdf
Computer Architecture Input Output Memory.pptx
Hazard Identification & Risk Assessment .pdf
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
1_English_Language_Set_2.pdf probationary
Introduction to pro and eukaryotes and differences.pptx
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
Chinmaya Tiranga quiz Grand Finale.pdf
Trump Administration's workforce development strategy
Empowerment Technology for Senior High School Guide
AI-driven educational solutions for real-life interventions in the Philippine...
TNA_Presentation-1-Final(SAVE)) (1).pptx
IGGE1 Understanding the Self1234567891011
A powerpoint presentation on the Revised K-10 Science Shaping Paper
FORM 1 BIOLOGY MIND MAPS and their schemes

Unit1..

  • 1. Introduction to Software Engineering B.Tech CSE/II Sem-II Term: 2016-2017 Text Books:Software Engineering, A practitioner’s approach Roger s. Pressman 6th edition McGraw-Hill Introduction to Software Engineering by P.Bharath Kumar Chowdary is licensed under a Creative Commons Attribution 4.0 International License. 1
  • 2. • Introduction to Software Engineering : The evolving role of software, Changing Nature of Software, Software myths. • A Generic view of process : Software engineering- A layered technology, a process framework, The Capability Maturity Model Integration (CMMI) 2
  • 3. INDEX Unit-1 S.No Topic Lecture No PPTSlides 1 Introduction to software Engineering: Evolving role software L1 4 2 The changing nature of software & legacy software L2 10 3 Software myths L3 15 4 A generic view of process: Software Engineering-A layered technology L4 19 5 A Process Framework L5 21 5 The Capability maturity model Integration(CMMI) L6 25 3
  • 4. Introduction to software Engineering The Evolving role of software • Dual role of Software A Product - Information transformer- producing, managing and displaying A Vehicle for delivering a product - Control of computer(operating system),the communication of information(networks) and the creation of other programs 4
  • 5. Introduction to software Engineering • Software is defined as 1. Instructions - Programs that when executed provide desired function 2. Data structures -Enable the programs to adequately manipulate information 3. Documents -Describe the operation and use of the programs. 5
  • 6. Introduction to software Engineering • Definition of Engineering -Application of science, tools and methods to find cost effective solution to problems Definition of SOFTWARE ENGINEERING - SE is defined as systematic, disciplined and quantifiable approach for the development, operation and maintenance of software 6
  • 7. Introduction to software Engineering Characteristics of software • Software is developed or engineered, it is not manufactured in the classical sense. • Software does not wear out. However it deteriorates due to change. • Software is custom built rather than assembling existing components. -Although the industry is moving towards component based construction, most software continues to be custom built 7
  • 8. CHARACTERISTICS OF HARDWARE Failurerate Time “Infant mortality” “Wear out” Fig: FAILURE CURVE FOR HARDWARE 8
  • 9. CHARACTERISTICS OF SOFTWARE Fig: FAILURE CURVE FOR SOFTWARE 9
  • 10. THE CHANGING NATURE OF SOFTWARE • Seven Broad Categories of software are challenges for software engineers  System software  Application software  Engineering and scientific software  Embedded software  Product-line software  Web-applications  Artificial intelligence software 10
  • 11. THE CHANGING NATURE OF SOFTWARE • System software. System software is a collection of programs written to service other programs • Embedded software -- resides in read-only memory --is used to control products and systems for the consumer and industrial markets. • Artificial intelligence software. Artificial intelligence (AI) software makes use of nonnumeric algorithms to solve complex problems that are not amenable to computation or straightforward analysis • Engineering and scientific software. Engineering and scientific software have been characterized by "number crunching" algorithms. 11
  • 12. LEGACY SOFTWARE • Legacy software are older programs that are developed decades ago. • The quality of legacy software is poor because it has inextensible design,convoluted code,poor and nonexistent documentation,test cases and results that are not achieved. 12
  • 13. • As time passes legacy systems evolve due to following reasons: The software must be adapted to meet the needs of new computing environment or technology. The software must be enhanced to implement new business requirements. The software must be extended to make it interoperable with more modern systems or database The software must be rearchitected to make it viable within a network environment. 13
  • 14. Software Evolution • Software evolves due to changes • Changes occur due to correction,adaption and enhancement • 8 Laws of unified theory  The Law of Continuing Change.  The Law of Increasing Complexity.  The Law of Self-Regulation  The Law of Conservation of Organizational Stability.  The Law of Conservation of Familiarity  The Law of Continuing Growth  The Law of Declining Quality  The Feedback System Law 14
  • 15. SOFTWARE MYTHS • Widely held but false view • Propagate misinformation and confusion • Three types of myth - Management myth - Customer myth - Practitioner’s myth 15
  • 16. MANAGEMENT MYTHS • Myth(1) -The available standards and procedures for software are enough. • Myth(2) -Each organization feel that they have state-of-art software development tools since they have latest computer. • Myth(3) -Adding more programmers when the work is behind schedule can catch up. • Myth(4) -Outsourcing the software project to third party, we can relax and let that party build it. 16
  • 17. CUSTOMER MYTH • Myth(1) - General statement of objective is enough to begin writing programs, the details can be filled in later. • Myth(2) -Software is easy to change because software is flexible 17
  • 18. PRACTITIONER’S MYTH • Myth(1) -Once the program is written, the job has been done. • Myth(2) -Until the program is running, there is no way of assessing the quality. • Myth(3) -The only deliverable work product is the working program • Myth(4) -Software Engineering creates voluminous and unnecessary documentation and invariably slows down software development. 18
  • 19. SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY 19 Fig: Software Engineering-A layered technology
  • 20. SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY • Quality focus - Bedrock that supports software Engineering. • Process - Foundation for software Engineering • Methods - Provide technical How-to’s for building software • Tools - Provide semi-automatic and automatic support to methods 20
  • 21. A PROCESS FRAMEWORK • Establishes the foundation for a complete software process • Identifies a number of framework activities applicable to all software projects • Also include a set of umbrella activities that are applicable across the entire software process. 21
  • 22. A PROCESS FRAMEWORK Common process frameworkCommon process framework Umbrella activitiesUmbrella activities Framework activities TTTasks Milestones,delierables SQA points 22
  • 23. A PROCESS FRAMEWORK • Used as a basis for the description of process models • Generic process activities Communication Planning Modeling Construction Deployment 23
  • 24. A PROCESS FRAMEWORK • Generic view of engineering complimented by a number of umbrella activities – Software project tracking and control – Formal technical reviews – Software quality assurance – Software configuration management – Document preparation and production – Reusability management – Measurement – Risk management 24
  • 25. CAPABILITY MATURITY MODEL INTEGRATION(CMMI) • Developed by SEI(Software Engineering institute) • Assess the process model followed by an organization and rate the organization with different levels • A set of software engineering capabilities should be present as organizations reach different levels of process capability and maturity. • CMMI process meta model can be represented in different ways 1.A continuous model 2.A staged model Continuous model: -Lets organization select specific improvement that best meet its business objectives and minimize risk -Levels are called capability levels. -Describes a process in 2 dimensions -Each process area is assessed against specific goals and practices and is rated according to the following capability levels. 25
  • 26. CMMI • Six levels of CMMI – Level 0:Incomplete – Level 1:Performed – Level 2:Managed – Level 3:Defined – Level 4:Quantitatively managed – Level 5:Optimized 26
  • 27. CMMI • INCOMPLETE -Process is adhoc.Objective and goal of process areas are not known • Performed -Goal,objective,work tasks,work products and other activities of software process are carried out • Managed -Activities are monitored, reviewed, evaluated and controlled • Defined -Activities are standardized, integrated and documented • Quantitatively Managed -Metrics and indicators are available to measure the process and quality • Optimized - Continuous process improvement based on quantitative feed back from the user -Use of innovative ideas and techniques, statistical quality control and other methods for process improvement. 27
  • 28. CMMI Staged model - This model is used if you have no clue of how to improve the process for quality software. - It gives a suggestion of what things other organizations have found helpful to work first - Levels are called maturity levels 28
  • 29. LEVEL FOCUS PROCESS AREA Optimizing Continuous process Improvement -Organizational Innovation and Deployment -Causal Analysis and Resolution Quantitatively managed Quantitative management -Organizational process performance -Quantitative project management Defined Process standardized Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management 29
  • 30. −Integrated Teaming −Integrated Supplier Management −Decision Analysis and Resolution −Organizational Environment for Integration Managed Basic project management Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Measurement and Analysis Process and Product Quality Assurance Configuration Management Performed 30