Professional Documents
Culture Documents
Engineering (LECT 1)
Prof. R. Mall
Dept. of CSE, IIT, Kharagpur
Summary
2
Construction Analogy.
Engineering Practice
Technology Development
Pattern
Technology
Engineering
EsotericPast
Experience
Craft
Art
SystematicUseofPast
ExperienceandScientificBasis
UnorganizedUseof
PastExperience
Time
Exploratory
Software
Engineering
Machine
Program Size
Processing Center
11
What is an Item?
Chunking
Implication in Program
Development
Implication in Program
Development
19
Abstraction
Decomposition
Decomposition
growth in complexity
and difficulty level with size.
The
23
To acquire skills to be a
better programmer:
Higher Productivity
25
Software Crisis
Software products:
Fail
Software Crisis
(cont.)
Hw cost
Sw cost
1960
Year
2008
Larger problems,
Lack of adequate training in
software engineering,
28
Large
Large number of users
Team of developers
Well-designed
interface
Well documented &
user-manual prepared
Systematic
development
Ad hoc development.
29
Software products
Outsourced projects
30
Computer Systems
Engineering
software engineering .
Computer Systems
Engineering
Which
ones by hardware.
32
Project
Hardware
Development
Software
Development
Integration
and Testing
Management
34
Emergence of Software
Engineering
Programs
to his intuition
(exploratory programming).
36
High-Level Language
Programming (Early 60s)
reduced software
development efforts greatly.
37
High-Level Language
Programming (Early 60s)
38
programming style
proved to be insufficient.
Programmers found:
Very
Programmers found:
programs
(late 60s)
41
(late 60s)
42
debug.
to understand and
43
(Late 60s)
It was found:
GO
GO
The
(Late 60s)
Programmers
considered use of GO TO
statements inevitable.
45
(Late 60s)
46
(Late 60s)
the advantages
and inevitability of GO TO
statements.
47
(Late 60s)
iteration
48
(Late 60s)
Everyone accepted:
It
This
Structured Programming
sequence,
selection,
iteration
50
Structured Programs
51
Structured Programs
to practical considerations
such as:
52
Structured programs
Easier
to maintain,
Require
53
Structured Programming
errors:
Data Structure-Oriented
Design (Early 70s)
Data Structure-Oriented
Design (Early 70s)
56
Structured
Programming(JSP) methodology
JSP technique:
58
In JSP methodology:
A
Then
e.g., Warnier-Orr
Methodology.
60
Processing
processing stations
(functions) in a system.
The
62
(Late 70s)
Fit
Engine
Door
Chassis with
Engine
Chassis Store
Fit
Doors
Store
Partly
Assembled
Car
Fit
Wheels Assembled
Paint and
Test
Car
Car
Wheel Store
64
Object-Oriented Design
(80s)
Object-oriented technique:
An
Natural
65
Object-Oriented Design
(80s)
as composition, reference,
and inheritance are determined.
66
Object-Oriented Techniques
have gained wide acceptance:
Simplicity
Reuse
possibilities
Lower
More
robust code
Easy
maintenance
67
Evolution of Design
Techniques
Object-Oriented
Data flow-based
Data structurebased
Control flowbased
Ad hoc
68
cycle models,
specification techniques,
project management techniques,
testing techniques,
debugging techniques,
quality assurance techniques,
software measurement techniques,
CASE tools, etc.
70
specification,
design,
coding,
testing, etc.
analysis and
71
of errors as close to
their point of introduction as
possible.
72
In exploratory style,
errors
Now,
In exploratory style,
coding
is synonymous with
program development.
Now,
coding
is considered only a
small part of program
development effort.
74
specification.
used.
75
available.
76
78
estimation,
scheduling,
monitoring mechanisms.
79
Feasibility study
Design,
Coding,
Testing
maintenance.
80
81
(CONT.)
82
A written description:
83
84
(CONT.)
85
(CONT.)
86
(CONT.)
87
(CONT.)
88
(CONT.)
89
(CONT.)
90
(CONT.)
91
(CONT.)
(CONT.)
93
(CONT.)
Iterative waterfall,
Evolutionary,
Prototyping, and
Spiral model
94
Summary
collection of decades
of programming experience
Together
95
Summary
96
Summary
97