Module 1 - Software Engineering
Module 1 - Software Engineering
2
Assessment/ Examination Scheme:
Weightage (%) 10 8 7 5 70
4
Lab/ Practical/ Studio Assessment:
Continuous End Term
Assessment/Internal Examination
Assessment
30
Components Lab Lab Viv Attendan
Performance File a ce
5
Weightage (%) 10 10 5 5 70
Text Reading:
1. K. K. Aggarwal & Yogesh Singh, “Software Engineering”, 2nd Ed, New Age
International, 2005.
2. R. S. Pressman, “Software Engineering – A practitioner’s approach”, 5th Ed.,
McGraw Hill Int. Ed., 2001.
3. Rajib Mall, Fundamentals of Software Engineering, Prentice Hall India.
4. Ian Summerville, Software Engineering, Addison-Wesley.
References:
S. NO Topic
1 Software life cycle models: Waterfall
2 Software life cycle models: Prototype
4 Agile Methodology
7
8
What is software?
9
What is software?
10
What is software?
Programs
Documentation Operating
Procedures
Software=Program+Documentation+Operating
Procedures Components of software
11
What is software
12
What is Engineering
13
Software Engineering
14
IEEE Defination
15
What is software
16
Types of software
17
Types of software
18
Types of software
19
Types of software
20
Types of software
21
Difference between H/W and S/W
22
Difference between H/W and S/W
23
Difference between H/W and S/W
24
Difference between H/W and S/W
25
Characteristics of software
26
Characteristics of software
27
Characteristics of software
28
Principles of S/W Engineering
29
Principles of S/W Engineering
30
Principles of S/W Engineering
31
Principles of S/W Engineering
32
Principles of S/W Engineering
33
Principles of S/W Engineering
34
Principles of S/W Engineering
35
Software Product
36
Software Product
Software product is a product designated for
delivery to the user
Source code Documents
Reports
Manual
Object Code
plans
plans
Data
37
Software Process
• Lack of knowledge
38
Software Process
• Wrong motivations
• Insufficient commitment
Improved future state
Process improvement
begins
Initial state
state
Productivity
Learning curve
Time
39
Software
Characteristics:
✓Software does not wear
out.
Burn-in
phase Wear out
phase
Failure Intensity
Useful life
phase
Time
40
Software
✓ Software is not Characteristics:
manufactured
✓ Reusability of components
✓ Software is flexible
41
Software Characteristics:
Comparison of constructing a bridge vis-à-vis writing a
program. Constructing a bridge
Sr Writing a program
.
N
o
1. The problem is well understood Only some parts the problem are
of
understood, others are
not
2. There are many existing bridges Every program is different and designed
for special applications.
3. The requirement for a bridge typically Requirements typically change
do not change much during construction
during all phases of
development.
4. The strength and stability of a bridge can Not possible to calculate correctness of a
be calculated with reasonable precision
program with existing methods.
5. When a bridge collapses, is a When a program fails, the reasons are
there detailed often unavailable or even deliberately
investigation and report concealed.
6. Engineers have been constructing Developers have been writing
bridges for thousands of years programs for 50 years or so. 42
7. Materials (wood, stone,iron, steel) and Hardware and software changes rapidly.
The Changing Nature of
Software
System Real
Software Time
Software
Engineering Embedded
and Scientific Software
Software
43
The Changing Nature of
Software
Trend has emerged to provide source code to the
customer and organizations.
44
Software Myths
(Management
Management mayPerspectives
be confident about)good
standards and clear procedures of the company.
45
Software Myths (Management
Perspectives)
Company has latest computers and state-of-
the-art software tools, so we shouldn’t worry
about the quality of the product.
The infrastructure is
only one of the several factors
that determine the quality
of the product!
46
Software Myths (Management
Perspectives)
Addition of more software specialists, those
with higher skills and longer experience may
bring the schedule back on the track!
Unfortunately,
that may further delay the
schedule!
47
Software Myths (Management
Perspectives)
Software is easy to change
48
Software Myths (Management
Perspectives)
49
Software Myths (Customer
Perspectives)
A general statement of objectives is sufficient to get started with
the development of software. Missing/vague requirements can
easily be incorporated/detailed out as they get concretized.
50
Software Myths (Customer
Perspectives)
Software with more features is
better software
51
Software Myths (Developer
Perspectives)
Once the software is demonstrated, the job is done.
52
Software Myths (Developer
Perspectives)
Software quality can not be assessed
before testing.
53
Software Myths (Developer
Perspectives)
The only deliverable for a
software development project is the tested
code.
54
Software Myths (Developer
Perspectives)
Aim is to develop working programs
55
Some Terminologies
➢ Deliverables and Milestones
56
Some Terminologies
➢ Product and Process
Product: What is delivered to the customer, is called a product.
It may include source code, specification document, manuals,
documentation etc. Basically, it is nothing but a set of deliverables
only.
If the process is weak, the end product will undoubtedly suffer, but
an obsessive over reliance on process is also dangerous.
57
Some Terminologies
➢ Measures, Metrics and Measurement
58
Some Terminologies
➢ Software Process and Product Metrics
59
Some Terminologies
➢ Productivity and Effort
60
Some Terminologies
➢ Module and Software Components
There are many definitions of the term module. They range from “a
module is a FORTRAN subroutine” to “a module is an Ada
Package”, to “Procedures and functions of PASCAL and C”, to
“C++ Java classes” to “Java packages” to “a module is a work
assignment for an individual developer”. All these definition are
correct. The term subprogram is also used sometimes in place of
module.
61
Some
Terminologies
“An independently deliverable piece of functionality providing
access to its services through interfaces”.
62
Some Terminologies
➢ Generic and Customized Software Products
People
Project
Product Process
64
Role of Management in Software
Development People
Process
65
SDLC
66
SDLC
67
SDLC
68
Software Life Cycle M o d e l s
3
Build & Fix Model
4
Build & Fix Model
5
Water fall model
72
Water Fall Model
73
Water fall model
74
Waterfall Model
Implementatio
n and unit
testing
Integr ation
and system
testing
Operation
and
maintenance
6
Water fall model
76
Water fall model
77
Water fall model
78
Water fall model
79
Waterfall Model
80
Waterfall Model
81
Waterfall Model
82
Water fall Model
83
Water fall Model
84
Water Fall Model
85
Water Fall model
86
Waterfall model
87
Logical Design
88
Water Fall Model
89
Water Fall Model
90
Water Fall Model
91
Waterfall model
92
Advantage of water fall model
93
Waterfall Model
8
Incremental Process M o d e l s
9
Iterative Enhancement Model
This model has the same phases as the waterfall model, but with
fewer restrictions. Generally the phases occur in the same order
as in the waterfall model, but they may be conducted in several
cycles. Useable product is released at the end of the each cycle,
with each release providing additional functionality.
10
Iterative Enhancement Model
97
Iterative Enhancement Model
98
Iterative Enhancement Model
99
Iterative Enhancement Model
100
Iterative Enhancement Model
101
Evolutionary development
102
Evolutionary development
103
Prototype Model
104
Prototype Model
105
Prototype Model
106
Prototype Model
107
Prototyping Model
17
Prototype Model
109
The Rapid Application Development (RAD)
Model
110
The Rapid Application Development (RAD)
Model
13
The Rapid Application Development
(RAD) Model
112
The Rapid Application Development
(RAD) Model
113
The Rapid Application Development
(RAD) Model
114
The Rapid Application Development
(RAD) Model
115
The Rapid Application Development
(RAD) Model
116
The Rapid Application Development
(RAD) Model
117
The Rapid Application Development
(RAD) Model
118
The Rapid Application Development
(RAD) Model
119
The Rapid Application Development
(RAD) Model
120
The Rapid Application Development
(RAD) Model
121
The Rapid Application Development (RAD) Model
14
Spiral Model
19
Risk Involved in project
124
Spiral Model
125
Spiral Model
20
Spiral Model
▪ An important feature of the spiral model is that each phase is
completed with a review by the people concerned with the
project (designers and programmers)
▪ The advantage of this model is the wide range of options to
accommodate the good features of other life cycle models.
▪ It becomes equivalent to another life cycle
appropriate
model in situations.
The spiral model has some difficulties that need to be resolved
before it can be a universally applied life cycle model. These
difficulties include lack of explicit process guidance in
determiningconstraints, alternatives; relying on risk assessment
objectives,
expertise; and provides more flexibility than required for many
applications.
22
Spiral Model
128
Different phases of spiral model
129
Different phases of spiral model
130
Different types of risk involved.
1. Schedule Risk
2. Budget Risk
3. Operational Risks
4. Technical Risks
5. Programmatic
Risks
131
Different phases of spiral model
132
Different phases of spiral model
133
Advantage of spiral model
136
Agile Methodology
137
Agile Methodology
138
Agile Methodology
139
Agile Methodology
140
Agile Methodology
141
Agile Methodology
142
Agile Methodology
143
Agile Methodology
144
Agile Methodology
145
Agile Methodology
146
Agile Methodology
Product is delivered
as per customer
needs 147
Agile Methodology
Both KanBan and Scrum uses the pull technique to
allocate new tasks but used in two different ways
148
Agile Methodology
149
Agile VS. Waterfall
150
Agile VS. Waterfall
151
Agile VS. Waterfall
152
Agile VS. Waterfall
153
Agile VS. Waterfall
154
Agile VS. Waterfall
155
Agile VS. Waterfall
156
Agile VS. Waterfall
158
Agile VS. Waterfall
159
Agile VS. Waterfall
160
Agile VS. Waterfall
161
Agile VS. Waterfall
162
Selection of a Life Cycle Model
163
Selection of a Life Cycle Model
164
Selection of a Life Cycle Model
b) Development team
c) Users
d) Project type and associated
risk
36
Based On Characteristics Of Requirements
Can we define
requirements Yes No Yes Yes No Yes
early in the
cycle?
Requirements are
indicating a No Yes Yes Yes Yes No
complex system to
be built
37
Based on Development Team
Less experience
on similar No Yes No No Yes No
projects?
Less domain
knowledge (new Yes No Yes Yes Yes No
to the
technology)
Less experience
on tools to be Yes No No No Yes No
used
Availability of
No No Yes Yes No Yes
training if
required
38
Based On User’s Participation
User involvement
in all phases No Yes No No No Yes
Limited user
participation Yes No Yes Yes Yes No
User have no
previous experience No Yes Yes Yes Yes No
of participation in
similar projects
39
Based On Type Of Project With Associated Risk
Project is the
enhancement of the No No Yes Yes No Yes
existing system
Funding is stable
for the project Yes Yes No No No Yes
High reliability
requirements No No Yes Yes Yes No
40
ISO 9001
170
ISO
171
ISO 9001
• ISO 9001 is the internationally recognized
Quality Management System (QMS)
standard that can benefit any size
organization.
172
ISO 9001
173
ISO 9001
174
ISO family
175
ISO family
176
ISO 9001
177
How ISO 9001 helps
• It helps you to
measure client
satisfaction
178
How ISO 9001 helps
179
How ISO 9001 helps
• It makes you assess
risks and identify
opportunities for your
business
• It makes you
continually examine
opportunities for
improvement
• You need to put in
place the operational
controls to effectively
manage and measure
your performance 180
How ISO 9001 helps
• Demonstrates your
commitment to quality
products and services
• It is the most widely
recognized international
management system
standard
• Helps safeguard the
quality of your products
and services
181
How ISO 9001 helps
• Requires you to identify al
internal and external
stakeholders relevant to your
Quality Management System
and their needs
• Requires you to communicate
the quality policy and ensure
that the workforce
understands how they
contribute to it
• You are expected to show
how you meet customer
requirements and regulatory
and statutory requirements
182
What Are the Myths of ISO
9000?
• It guarantees customers.
• If you’re certified, your products must be
top quality.
• A consultant can prepare the certification
documentation for you.
• It’s a waste of money and time.
• The ISO 9000 requirements are
complicated.
• Certification is the job of the quality-control
183
department.
SEI CMM(Software Engineering Institute
Capability Maturity Model)
185
Key Process Areas (KPA) of a
software organization
186
Module 1
187