SlideShare a Scribd company logo
1 of 17
Software Engineering . 
Software Engineering 
if (a < 10) 
printf(“a 
else if (a == 
if (a < 10) 
is less than 
10n”); 
than 10n”); 
printf(“a is less 
10n”); 
than 10n”); 
than 10n”); 
printf(“a is 
else if (a == 10) 
else 
greater than 10n”); 
If you have compound 
statements then use brackets 
(blocks) 
10n”); 
printf(“a is 
greater than 10n”); 
If you have compound 
statements then use brackets 
(blocks) 
address = 0x%08xn”, a, 
(uint32_t)&a); 
} else { 
greater than 10n”); 
If you have compound 
statements then use brackets 
(blocks) 
if (a < 4 && b > 10) { 
10n”); 
c = a * b; b = 0; 
printf(“a = %d, a’s 
than 10n”); 
10n”); 
greater than 10n”); 
If you have compound 
statements then use brackets 
(blocks) 
else if (a == 
} 
address = 0x%08xn”, a, 
(uint32_t)&a); 
} c else = a + { 
b; b = a; 
if (a < 10) 
printf(“a 
printf(“a 
printf(“a 
is greater than 
10n”); 
If you have compound 
statements then use 
brackets (blocks) 
if (a < 4 && b 
> 10) { 
c = a * b; b 
printf(“a = 
%d, a’s 
address = 
0x%08xn”, a, 
(uint32_t)&a); 
} else { 
c = a + b; b 
These two statements 
are equivalent: 
if (a) x = 3; 
else if (b) x = 
2; else x = 0; 
if (a) x = 3; 
else {if (b) x 
= 2; else x = 
0;} 
These two statements are 
equivalent: 
is less than 
10n”); 
is 10n”); 
Is this correct? 
if (a) x = 3; else if 
(b) x = 2; else x = 0; 
if (a) x = 3; else {if 
(b) x = 2; else x = 0;} 
else 
= 0; 
= a; 
} 
Is this correct? 
10) 
if (a) x = 3; else if 
(b) x = 2; 
else (z) x = 0; else x 
= -2; 
if (a < 10) 
printf(“a 
is less than 
10n”); 
else if (a == 
10) 
printf(“a 
is 10n”); 
else 
printf(“a 
is greater than 
10n”); 
If you have compound 
statements then use 
brackets (blocks) 
if (a < 4 && b 
> 10) { 
c = a * b; b 
= 0; 
printf(“a = 
%d, a’s 
address = 
0x%08xn”, a, 
(uint32_t)&a); 
} else { 
c = a + b; b 
= a; 
} 
These two statements 
are equivalent: 
if (a) x = 3; 
else if (b) x = 
2; else x = 0; 
if (a) x = 3; 
else {if (b) x 
= 2; else x = 
0;} 
Is this correct? 
if (a) x = 3; 
else if (b) x = 
2; 
else (z) x = 0; 
else x = -2; 
if (a < 10) 
printf(“a 
is less than 
10n”); 
else if (a == 
10) 
printf(“a 
is 10n”); 
else 
printf(“a 
is greater than 
10n”); 
If you have compound 
statements then use 
brackets (blocks) 
if (a < 4 && b 
> 10) { 
c = a * b; b 
= 0; 
printf(“a = 
%d, a’s 
address = 
0x%08xn”, a, 
(uint32_t)&a); 
} else { 
c = a + b; b 
= a; 
} 
These two statements 
are equivalent: 
if (a) x = 3; 
else if (b) x = 
2; else x = 0; 
if (a) x = 3; 
else {if (b) x 
= 2; else x = 
0;} 
Is this correct? 
if (a) x = 3; 
else if (b) x = 
2; 
else (z) x = 0; 
else x = -2; 
if (a) x = 3; 
else if (b) x = 
2; 
else (z) x = 0; 
else x = -2; 
if (a < 10) 
printf(“a 
is less than 
10n”); 
else if (a == 
10) 
printf(“a 
is 10n”); 
else 
printf(“a 
is greater than 
10n”); 
If you have compound 
statements then use 
brackets (blocks) 
if (a < 4 && b 
> 10) { 
c = a * b; b 
= 0; 
printf(“a = 
%d, a’s 
address = 
0x%08xn”, a, 
(uint32_t)&a); 
} else { 
c = a + b; b 
= a; 
} 
These two statements 
are equivalent: 
if (a) x = 3; 
else if (b) x = 
2; else x = 0; 
if (a) x = 3; 
else {if (b) x 
= 2; else x = 
0;} 
Is this correct? 
if (a) x = 3; 
else if (b) x = 
2; 
else (z) x = 0; 
else x = -2; 
10) 
printf(“a 
is 10n”); 
else 
printf(“a 
is greater than 
10n”); 
If you have compound 
statements then use 
brackets (blocks) 
if (a < 4 && b 
> 10) { 
c = a * b; b 
= 0; 
printf(“a = 
%d, a’s 
address = 
0x%08xn”, a, 
(uint32_t)&a); 
} else { 
c = a + b; b 
= a; 
} 
These two statements 
are equivalent: 
if (a) x = 3; 
else if (b) x = 
2; else x = 0; 
if (a) x = 3; 
else {if (b) x 
= 2; else x = 
0;} 
Is this correct? 
if (a) x = 3; 
else if (b) x = 
2; 
else (z) x = 0; 
else x = -2; 
if (a < 10) 
if (a < 10) 
printf(“a is less 
else if (a == 10) 
else if (a == 10) 
printf(“a is 
else 
else 
printf(“a is 
if (a < 4 && b > 10) { 
if (a < 4 && b > 10) { 
c = a * b; b = 0; 
printf(“a = %d, a’s 
} 
These two statements are 
equivalent: 
c = a + b; b = a; 
Is this correct? 
if (a) x = 3; else if 
(b) x = 2; else x = 0; 
if (a) x = 3; else {if 
(b) x = 2; else x = 0;} 
printf(“a is less 
if (a) x = 3; else if 
(b) x = 2; 
else (z) x = 0; else x 
= -2; 
printf(“a is 
printf(“a is 
address = 0x%08xn”, a, 
(uint32_t)&a); 
} else { 
printf(“a = %d, a’address = 0x%08xn”, (uint32_t)&a); 
} else { 
} 
c = a * b; b = 0; 
printf(“a = %d, a’s 
c = a + b; b = a; 
These two statements are 
equivalent: 
These two statements are 
equivalent: 
Is this correct? 
if (a) x = 3; else if 
(b) x = 2; else x = 0; 
if (a) x = 3; else {if 
(b) x = 2; else x = 0;} 
(a) x = 3; else {(b) x = 2; else x = Is this correct? 
if (a) x = 3; else if 
(b) x = 2; 
else (z) x = 0; else x 
= -2; 
if (a < 10) 
printf(“a is less 
else if (a == 10) 
printf(“a is 
else 
printf(“a is 
if (a < 4 && b > 10) c = a * b; b = 0; 
} 
c = a + b; b = a; 
if (a) x = 3; else if 
(b) x = 2; else x = if if (a) x = 3; else if 
(b) x = 2; 
else (z) x = 0; else 
= -2;
• Lecturer – Ms Hasanthi Dahanayake, 
• Student Name – G.M.D.Nuwansiri, 
• Subject – Information Technology, 
• Register No – SIBA/BABL/12-44, 
• Institution – SIBA Campus, 
• March 20/2014. 
Software Engineering 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
. . . 
} 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
import java.awt.*; 
import java.util.*; 
public class 
SomethingOrOther 
{ 
public class 
// object SomethingOrOther 
definitions 
go here 
{ 
// object definitions 
go here 
. . . 
} 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
. . . 
} 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
. . . 
} 
public class 
SomethingOrOther 
{ 
// object definitions 
go here 
. . . 
} 
{ 
// object definitions 
go here 
. . . 
} 
{ 
// object definitions 
go here 
. . . 
} 
{ 
// object definitions 
go here 
. . . 
} 
{ 
// object definitions 
go here 
. . . 
} 
. . . 
} 
. . . 
} 
. . . 
} 
. . .
Content. 
• Introduction. 
• Software Engineering. 
• Software Products. 
• Software Product Attributes. 
• Importance of Product Characteristics. 
• The Software Process. 
• Engineering Process Model. 
• Software Engineering is Different. 
• Software Process Models. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Software Software Software Software • Introduction. 
• Introduction. 
• Software Engineering. 
• Introduction. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Product Attributes. 
• Introduction. 
• Introduction. 
• Software Engineering. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Products. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Software Products. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Introduction. 
• Introduction. 
• Software Engineering. 
• Introduction. 
• Software Engineering. 
• Software Products. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Products. 
• The Software Process. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Software Products. 
• Introduction. 
• Software Engineering. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Products. 
• The Software Process. 
• Software Products. 
• The Software Process. 
• Introduction. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Products. 
• The Software Process. 
• Introduction. 
• Software Product Attributes. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Software Products. 
• The Software Process. 
• Software Engineering. 
• Software Products. 
• The Software Process. 
• Introduction. 
• Software Product Attributes. 
• Engineering Process Model. 
• Introduction. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Software Products. 
• The Software Process. 
• Introduction. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Engineering. 
• Introduction. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Engineering is Different. 
• Software Products. 
• The Software Process. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Products. 
• Software Engineering. 
• Software Products. 
• The Software Process. 
• Introduction. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Engineering. 
• Introduction. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Engineering. 
• Software Engineering. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Software Products. 
• The Software Process. 
• Software Process Models. 
• Software Engineering is Different. 
• Software Products. 
• The Software Process. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Product Attributes. 
• Software Products. 
• Software Product • • Engineering Process Model. 
• Software Engineering. 
• Software • • Importance of Product • • Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Software Products. 
• The Software Process. 
• Software Process Models. 
• Software Engineering is Different. 
• Software Products. 
• The Software Process. 
• Software Process Models. 
• Software Product Attributes. 
• Engineering Process Model. 
• Process Model Problems. 
• Software Products. 
• The Software Process. 
• Software Process Models. 
• Software Product Attributes. 
• Engineering Process Model. 
• Software Product • Importance of Product • • Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Engineering is Different. 
• The Software Process. 
• Software Process Models. 
• Software Engineering is Different. 
• Software Products. 
• The Software Process. 
• Software Process Models. 
• Software Product Attributes. 
• Engineering Process Model. 
• Process Model Problems. 
Software • The Software Process. 
• Software Process Models. 
• Software Product Attributes. 
• Engineering Process Model. 
• Process Model Problems. 
• Software Product • • Engineering Process Model. 
• Process Model Problems. 
Importance of • • Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Model Advantages. 
• The Software Process. 
• Software Process Models. 
• Engineering Process Model. 
• Process Model Problems. 
• The Software Process. 
The Software Process. 
• Software Process Models. 
• Software Product Attributes. 
• Engineering Process Model. 
• Process Model Problems. 
Software • • Engineering Process Model. 
• Process Model Problems. 
Importance • • Importance of Product Characteristics. 
• Importance of Product Characteristics. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Model Advantages. 
• Model Advantages. 
• The Software Process. 
• Software Process Models. 
• Conclusion. 
• Software Engineering is Different. 
• Model Advantages. 
• The Software Process. 
• Software Process Models. 
• Engineering Process Model. 
• Process Model Problems. 
• Engineering Process Model. 
The Software Process. 
• Engineering Process • • Process Model Problems. 
Importance • • Importance of Product Characteristics. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Model Advantages. 
• Model Advantages. 
• The Software Process. 
• Software Process Models. 
• Conclusion. 
• Software Engineering • • Model Advantages. 
• The Software Process. 
• Software Process Models. 
• Conclusion. 
• Engineering Process Model. 
• Process Model Problems. 
The Software • • Software Process Models. 
• Conclusion. 
• Engineering Process Model. 
• Process Model Problems. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Model Advantages. 
• Software Process Models. 
• Conclusion. 
• Engineering Process • Software Engineering • • Model Advantages. 
• The Software Process. 
• Software Process Models. 
• Conclusion. 
• Engineering Process Model. 
• Process Model Problems. 
• Conclusion. 
• Engineering Process Model. 
• Process Model Problems. 
The Software • Software Process Models. 
Engineering • • Process Model Problems. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Model Advantages. 
• Model Advantages. 
• Software Process Models. 
• Conclusion. 
• Process Model Problems. 
• Software Process Models. 
• Conclusion. 
• Engineering Process Model. 
• Process Model Problems. 
Software Engineering • Software Process Models. 
Engineering • • Process Model Problems. 
• Software Engineering is Different. 
• Software Engineering is Different. 
• Model Advantages. 
• Model Advantages. 
• Software Process Models. 
• Conclusion. 
• Process Model Problems. 
• Model Advantages. 
Software Engineering • • Model Advantages. 
• Software Process Models. 
• Process Model Problems. 
Software Process • • Process Model Problems. 
• Software Engineering is Different. 
• Model Advantages. 
• Software Process Models. 
• Conclusion. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
• Model Advantages. 
• Conclusion. 
• Conclusion. 
• Introduction. 
• Software Engineering. 
• Software Products. 
• Software Product Attributes. 
• Importance of Product Characteristics. 
• The Software Process. 
• Engineering Process Model. 
• Software Engineering is Different. 
• Software Process Models. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
• Conclusion. 
Software • • Model Advantages. 
• Software Process Models. 
• Conclusion. 
• Process Model Problems. 
• Model Advantages. 
Software Process • Process Model • • Model Advantages. 
• Software Process Models. 
• Conclusion. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
• Model Advantages. 
• Conclusion. 
• Conclusion. 
• Introduction. 
• Software Engineering. 
• Software Products. 
• Software Product Attributes. 
• Importance of Product Characteristics. 
• The Software Process. 
• Engineering Process Model. 
• Software Engineering is Different. 
• Software Process Models. 
• Process Model Problems. 
• Model Advantages. 
• Conclusion. 
• Conclusion. 
Software • • Conclusion. 
Process Model • Model Advantages. 
• Conclusion. 
Process • Model Advantages. 
• Conclusion. 
Model Advantages. 
• Conclusion. 
• Conclusion.
Software Engineering 
Introduction. 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
int main (void) 
{ 
int main (void) 
{ 
} 
printf(“Hello Worldn”); 
exit(0); 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
printf(“Hello Worldn”); 
exit(0); 
} 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
int main (void) 
{ 
int main (void) 
{ 
} 
printf(“Hello Worldn”); 
exit(0); 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
printf(“Hello Worldn”); 
exit(0); 
} 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
int main (void) 
{ 
int main (void) 
{ 
} 
printf(“Hello Worldn”); 
exit(0); 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
printf(“Hello Worldn”); 
exit(0); 
} 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
int main (void) 
{ 
int main (void) 
{ 
} 
printf(“Hello Worldn”); 
exit(0); 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
printf(“Hello Worldn”); 
exit(0); 
} 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
int main (void) 
{ 
printf(“Hello Worldn”); 
exit(0); 
} 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
* include stdio.h and 
* stdlib.h 
* */ 
int main (void) 
#include int { 
<main stdio.(h> 
void) 
#{ 
include <stdlib.h> 
int main (void) 
{ 
int main (void) 
{ 
printf(“Hello Worldn”); 
exit(0); 
int main (void) 
{ 
int main (void) 
{ 
printf(“Hello Worldn”); 
exit(0); 
int main (void) 
{ 
printf(“Hello Worldn”); 
exit(0); 
int main } 
(void) 
{ 
printf(“Hello Worldn”); 
exit(0); 
} 
printf(“Hello Worldn”); 
exit(0); 
} 
printf(“Hello Worldn”); 
exit(0); 
} 
printf(“Hello Worldn”); 
exit(0); 
} 
printf(“Hello Worldn”); 
exit(0); 
/* you generally want to 
} 
* include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
/* you generally want to 
} 
* } 
include stdio.h and 
* stdlib.h 
* */ 
#include <stdio.h> 
#include <stdlib.h> 
int main (void) 
{ 
int main (void) 
{ 
printf(“Hello Worldn”); 
exit(0); 
} 
printf(“Hello Worldn”); 
exit(0);
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 Engineering 
Software 
Engineering Software 
Engineering 
Software 
Engineering Software 
Engineering 
Software 
Engineering Software 
Engineering 
Software 
Engineering Software 
Engineering 
Software 
Engineering Software 
Engineering
• The economies of all developed nations are 
dependent on software. 
• More and more systems are software controlled. 
• Software engineering is concerned with theories, methods and 
tools for professional software development. 
• Software engineering expenditure represents a 
significant fraction of developed countries. 
Software Engineering
Software Products 
• Generic products: 
• Stand-alone systems which are produced by a development organization and 
sold on the open market to any customer. 
• Customized products: 
• Systems which are commissioned by a specific customer and developed 
specially by some contractor. 
Software Engineering
Software Product Attributes. 
• Maintainability 
• Dependability 
• Efficiency 
• Usability 
Software Engineering 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
public class SomethingOrOther 
import java.awt.*; 
import java.util.*; 
public class SomethingOrOther 
import java.awt.*; 
import java.util.*; 
public class SomethingOrOther 
import java.awt.*; 
import java.util.*; 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
import java.awt.*; 
import java.util.*; 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
} 
{ 
// object definitions go here 
. . . 
} 
{ 
// object definitions go here 
. . . 
}
Importance of Product Characteristics. 
• The relative importance of these characteristics depends on the 
product and the environment which is to be used. 
• In some cases, some attributes may dominate 
• In safety-critical real-time systems, key attributes may be dependability 
and efficiency. 
Software Engineering 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
import java.awt.*; 
import java.util.*; 
public class SomethingOrOther 
public class SomethingOrOther 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
} 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
public class SomethingOrOther 
{ 
// object definitions go here 
. . . 
{ 
{ 
// object definitions go here
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 open modeled if it is to be 
managed. 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
for (i = 0; i < MAXVALUE; 
i++) { 
dowork(); 
} 
while (c != 12) { 
dowork(); 
} 
do { 
dowork(); 
} while (c < 12); 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Software Software Software Software Software
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 errors in the system as they 
are discovered. 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering
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. 
Software Engineering 
class Person { 
String name; 
int age; 
void birthday ( ) { 
age++; 
System.out.println (name + 
' is now ' + age); 
} 
} 
class Person { 
String name; 
int age; 
void birthday ( ) { 
age++; 
System.out.println (name + 
' is now ' + age); 
} 
} 
class Person { 
String name; 
int age; 
void birthday ( ) { 
age++; 
System.out.println (name + 
' is now ' + age); 
} 
} 
class Person { 
String name; 
int age; 
void birthday ( ) { 
age++; 
System.out.println (name + 
' is now ' + age); 
} 
} 
class Person { 
String name; 
int age; 
void birthday ( ) { 
age++; 
System.out.println (name ' is now ' + age); 
}
Software Process Models. 
• Waterfall 
• Separate and distinct phases of specification and development 
• Evolutionary 
• Specification and development are interleaved 
• Formal Transformation 
• A mathematical system model is formally transformed to an implementation 
• Reuse-based 
• The system is assembled from existing components 
Software Engineering
Process Model Problems. 
• Waterfall 
• High risk for new systems because of specification and 
design problems. 
• Low risk for well-understood developments using familiar 
technology. 
• Prototyping 
• Low risk for new applications because specification and 
program stay in step. 
• High risk because of lack of process visibility. 
• Transformational 
• High risk because of need for advanced technology and 
staff skills. 
Software Engineering 
Software Engineering 
Software Engineering 
Software Engineering
Model Advantages. 
• Focuses attention on reuse options. 
• Focuses attention on early error elimination. 
• Puts quality objectives up front. 
• Integrates development and maintenance. 
• Provides a framework for hardware/software 
development. 
Software Engineering 
#define QINSERT_BEFORE(loc, node, field)  
do {  
*(loc)->field.prev = (node);  
(node)->field.prev =  
(loc)->field.prev;  
(loc)->field.prev =  
&((node)->field.next);  
(node)->field.next = (loc);  
} while (/* */0) 
#define QINSERT_AFTER(loc, node, field)  
do {  
((loc)->field.next)->field.prev =  
&(node)->field.next;  
(node)->field.next = (loc)->field.next;  
(loc)->field.next = (node);  
(node)->field.prev = &(loc)->field.next;  
} while ( /* */ 0) 
#define QREMOVE(node, field)  
do {  
*((node)->field.prev) = (node)->field.next; 
((node)->field.next)->field.prev =  
(node)->field.prev;  
(node)->field.next = (node);  
(node)->field.prev = &((node)->field.next); 
} while ( /* */ 0)
Conclusion. 
Software Engineering 
o 
n. 
Co 
ncl 
usi 
Co 
ncl 
usi 
o 
o 
n. 
n. 
o 
n. 
n. 
Co 
ncl 
usi 
Co 
ncl 
usi 
Co 
ncl 
usi 
n. o 
o 
n. 
Co 
ncl 
usi 
Concl 
usi 
Co 
ncl 
usi 
o 
o 
o 
n. 
n. 
n. 
Co 
ncl 
usi 
Co 
ncl 
usi o 
n. 
Co 
ncl 
usi 
Co 
ncl 
usi 
n. 
o 
n. 
o 
Co 
ncl 
usi o 
n. 
Co 
ncl 
usi 
Co 
ncl 
usi 
Co 
ncl 
usi 
o 
o 
n. 
n. 
o 
n. 
Co 
ncl 
usi 
o 
n. 
Co 
ncl 
usi 
o 
n. 
Co 
nclusi 
o 
n. 
Co 
ncl 
usi 
o 
n. 
Concl 
usi 
o 
n. 
Co 
ncl 
usi 
o 
n. 
Co 
ncl 
usi 
o 
Co 
ncl 
usi 
o 
n. 
Co 
ncl 
usi 
o 
n. 
Co 
ncl 
usi 
o 
n.
Be Creative…. 
Software Engineering 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
Be Creative…. 
BBee CCrreeaattiivvee……..Be Creative….

More Related Content

What's hot

The art of reverse engineering flash exploits
The art of reverse engineering flash exploitsThe art of reverse engineering flash exploits
The art of reverse engineering flash exploitsPriyanka Aash
 
Java Puzzle
Java PuzzleJava Puzzle
Java PuzzleSFilipp
 
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...Flink Forward
 
6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loops6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loopsCtOlaf
 
Gradient boosting in practice: a deep dive into xgboost
Gradient boosting in practice: a deep dive into xgboostGradient boosting in practice: a deep dive into xgboost
Gradient boosting in practice: a deep dive into xgboostJaroslaw Szymczak
 
C# v8 new features - raimundas banevicius
C# v8 new features - raimundas baneviciusC# v8 new features - raimundas banevicius
C# v8 new features - raimundas baneviciusRaimundas Banevičius
 
20.4 Java interfaces and abstraction
20.4 Java interfaces and abstraction20.4 Java interfaces and abstraction
20.4 Java interfaces and abstractionIntro C# Book
 
COSCUP: Introduction to Julia
COSCUP: Introduction to JuliaCOSCUP: Introduction to Julia
COSCUP: Introduction to Julia岳華 杜
 
20.3 Java encapsulation
20.3 Java encapsulation20.3 Java encapsulation
20.3 Java encapsulationIntro C# Book
 
Julia: The language for future
Julia: The language for futureJulia: The language for future
Julia: The language for future岳華 杜
 
20190907 Julia the language for future
20190907 Julia the language for future20190907 Julia the language for future
20190907 Julia the language for future岳華 杜
 

What's hot (20)

The art of reverse engineering flash exploits
The art of reverse engineering flash exploitsThe art of reverse engineering flash exploits
The art of reverse engineering flash exploits
 
Java Puzzle
Java PuzzleJava Puzzle
Java Puzzle
 
Java puzzles
Java puzzlesJava puzzles
Java puzzles
 
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
 
6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loops6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loops
 
binary_trees4
binary_trees4binary_trees4
binary_trees4
 
Gradient boosting in practice: a deep dive into xgboost
Gradient boosting in practice: a deep dive into xgboostGradient boosting in practice: a deep dive into xgboost
Gradient boosting in practice: a deep dive into xgboost
 
06slide
06slide06slide
06slide
 
C# v8 new features - raimundas banevicius
C# v8 new features - raimundas baneviciusC# v8 new features - raimundas banevicius
C# v8 new features - raimundas banevicius
 
Java cheatsheet
Java cheatsheetJava cheatsheet
Java cheatsheet
 
20.4 Java interfaces and abstraction
20.4 Java interfaces and abstraction20.4 Java interfaces and abstraction
20.4 Java interfaces and abstraction
 
COSCUP: Introduction to Julia
COSCUP: Introduction to JuliaCOSCUP: Introduction to Julia
COSCUP: Introduction to Julia
 
05slide
05slide05slide
05slide
 
Java Puzzlers
Java PuzzlersJava Puzzlers
Java Puzzlers
 
Python lec3
Python lec3Python lec3
Python lec3
 
20.3 Java encapsulation
20.3 Java encapsulation20.3 Java encapsulation
20.3 Java encapsulation
 
Julia: The language for future
Julia: The language for futureJulia: The language for future
Julia: The language for future
 
03slide
03slide03slide
03slide
 
20190907 Julia the language for future
20190907 Julia the language for future20190907 Julia the language for future
20190907 Julia the language for future
 
Los dskn
Los dsknLos dskn
Los dskn
 

Viewers also liked

Adecuación curricular
Adecuación curricularAdecuación curricular
Adecuación curricular1okatia
 
Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...
Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...
Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...агрохимцентр "Ставропольский"
 
Использование технологий дистанционного зондирования сельскохозугодий для м...
Использование технологий  дистанционного зондирования сельскохозугодий  для м...Использование технологий  дистанционного зондирования сельскохозугодий  для м...
Использование технологий дистанционного зондирования сельскохозугодий для м...агрохимцентр "Ставропольский"
 
KBlaskoEuropeanTelemedicineConference
KBlaskoEuropeanTelemedicineConferenceKBlaskoEuropeanTelemedicineConference
KBlaskoEuropeanTelemedicineConferenceKelly Blasko
 
Advanced Exam Certificate
Advanced Exam CertificateAdvanced Exam Certificate
Advanced Exam CertificateTyler Ellis
 
Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...
Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...
Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...Jack Daniel Cáceres Meza
 
Catalogue of Dery Chemical
Catalogue of Dery ChemicalCatalogue of Dery Chemical
Catalogue of Dery ChemicalRina Lu
 
RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...
RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...
RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...Matteo Moreno
 
pingyun roof tile
pingyun roof tilepingyun roof tile
pingyun roof tilePetra Wei
 
Arianna Brooke - Resume
Arianna Brooke - ResumeArianna Brooke - Resume
Arianna Brooke - Resumeariannabrooke
 

Viewers also liked (15)

Adecuación curricular
Adecuación curricularAdecuación curricular
Adecuación curricular
 
Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...
Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...
Практика проведения диагностики и подкормки озимых культур в 2015 году и зада...
 
Использование технологий дистанционного зондирования сельскохозугодий для м...
Использование технологий  дистанционного зондирования сельскохозугодий  для м...Использование технологий  дистанционного зондирования сельскохозугодий  для м...
Использование технологий дистанционного зондирования сельскохозугодий для м...
 
KBlaskoEuropeanTelemedicineConference
KBlaskoEuropeanTelemedicineConferenceKBlaskoEuropeanTelemedicineConference
KBlaskoEuropeanTelemedicineConference
 
Advanced Exam Certificate
Advanced Exam CertificateAdvanced Exam Certificate
Advanced Exam Certificate
 
Mi Creacion
Mi  CreacionMi  Creacion
Mi Creacion
 
Devins Resume
Devins ResumeDevins Resume
Devins Resume
 
Chandan bhattacharya
Chandan bhattacharyaChandan bhattacharya
Chandan bhattacharya
 
Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...
Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...
Aspectos técnicos referidos a las TIC a considerar en los Proyectos de Invers...
 
Catalogue of Dery Chemical
Catalogue of Dery ChemicalCatalogue of Dery Chemical
Catalogue of Dery Chemical
 
CERBOMED_Recommendation
CERBOMED_RecommendationCERBOMED_Recommendation
CERBOMED_Recommendation
 
RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...
RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...
RETE PER L’INDIPENDENZA - La campagna globale del movimento nazionale marocch...
 
pingyun roof tile
pingyun roof tilepingyun roof tile
pingyun roof tile
 
Unidad 01
Unidad 01Unidad 01
Unidad 01
 
Arianna Brooke - Resume
Arianna Brooke - ResumeArianna Brooke - Resume
Arianna Brooke - Resume
 

Similar to Software engineering

C Programming Interview Questions
C Programming Interview QuestionsC Programming Interview Questions
C Programming Interview QuestionsGradeup
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015ihji
 
Analysis of Microsoft Code Contracts
Analysis of Microsoft Code ContractsAnalysis of Microsoft Code Contracts
Analysis of Microsoft Code ContractsPVS-Studio
 
Cs1123 5 selection_if
Cs1123 5 selection_ifCs1123 5 selection_if
Cs1123 5 selection_ifTAlha MAlik
 
C++11 - A Change in Style - v2.0
C++11 - A Change in Style - v2.0C++11 - A Change in Style - v2.0
C++11 - A Change in Style - v2.0Yaser Zhian
 
JavaScript 2016 for C# Developers
JavaScript 2016 for C# DevelopersJavaScript 2016 for C# Developers
JavaScript 2016 for C# DevelopersRick Beerendonk
 
Idioms in swift 2016 05c
Idioms in swift 2016 05cIdioms in swift 2016 05c
Idioms in swift 2016 05cKaz Yoshikawa
 
PyCon 2011 talk - ngram assembly with Bloom filters
PyCon 2011 talk - ngram assembly with Bloom filtersPyCon 2011 talk - ngram assembly with Bloom filters
PyCon 2011 talk - ngram assembly with Bloom filtersc.titus.brown
 
Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)c.titus.brown
 
"How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur...
"How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur..."How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur...
"How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur...Fwdays
 
Embedded SW Interview Questions
Embedded SW Interview Questions Embedded SW Interview Questions
Embedded SW Interview Questions PiTechnologies
 
c++ Data Types and Selection
c++ Data Types and Selectionc++ Data Types and Selection
c++ Data Types and SelectionAhmed Nobi
 
Polymer Brush Data Processor
Polymer Brush Data ProcessorPolymer Brush Data Processor
Polymer Brush Data ProcessorCory Bethrant
 
Lecture 6 operators
Lecture 6   operatorsLecture 6   operators
Lecture 6 operatorseShikshak
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Languagevsssuresh
 

Similar to Software engineering (20)

C Programming Interview Questions
C Programming Interview QuestionsC Programming Interview Questions
C Programming Interview Questions
 
901131 examples
901131 examples901131 examples
901131 examples
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
 
Analysis of Microsoft Code Contracts
Analysis of Microsoft Code ContractsAnalysis of Microsoft Code Contracts
Analysis of Microsoft Code Contracts
 
Cs1123 5 selection_if
Cs1123 5 selection_ifCs1123 5 selection_if
Cs1123 5 selection_if
 
C++11 - A Change in Style - v2.0
C++11 - A Change in Style - v2.0C++11 - A Change in Style - v2.0
C++11 - A Change in Style - v2.0
 
JavaScript 2016 for C# Developers
JavaScript 2016 for C# DevelopersJavaScript 2016 for C# Developers
JavaScript 2016 for C# Developers
 
Idioms in swift 2016 05c
Idioms in swift 2016 05cIdioms in swift 2016 05c
Idioms in swift 2016 05c
 
CppTutorial.ppt
CppTutorial.pptCppTutorial.ppt
CppTutorial.ppt
 
Cpp tutorial
Cpp tutorialCpp tutorial
Cpp tutorial
 
PyCon 2011 talk - ngram assembly with Bloom filters
PyCon 2011 talk - ngram assembly with Bloom filtersPyCon 2011 talk - ngram assembly with Bloom filters
PyCon 2011 talk - ngram assembly with Bloom filters
 
Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)
 
"How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur...
"How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur..."How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur...
"How was it to switch from beautiful Perl to horrible JavaScript", Viktor Tur...
 
C tutorial
C tutorialC tutorial
C tutorial
 
Embedded SW Interview Questions
Embedded SW Interview Questions Embedded SW Interview Questions
Embedded SW Interview Questions
 
c++ Data Types and Selection
c++ Data Types and Selectionc++ Data Types and Selection
c++ Data Types and Selection
 
Polymer Brush Data Processor
Polymer Brush Data ProcessorPolymer Brush Data Processor
Polymer Brush Data Processor
 
Lecture 6 operators
Lecture 6   operatorsLecture 6   operators
Lecture 6 operators
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Language
 
Presentation1
Presentation1Presentation1
Presentation1
 

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Software engineering

  • 1. Software Engineering . Software Engineering if (a < 10) printf(“a else if (a == if (a < 10) is less than 10n”); than 10n”); printf(“a is less 10n”); than 10n”); than 10n”); printf(“a is else if (a == 10) else greater than 10n”); If you have compound statements then use brackets (blocks) 10n”); printf(“a is greater than 10n”); If you have compound statements then use brackets (blocks) address = 0x%08xn”, a, (uint32_t)&a); } else { greater than 10n”); If you have compound statements then use brackets (blocks) if (a < 4 && b > 10) { 10n”); c = a * b; b = 0; printf(“a = %d, a’s than 10n”); 10n”); greater than 10n”); If you have compound statements then use brackets (blocks) else if (a == } address = 0x%08xn”, a, (uint32_t)&a); } c else = a + { b; b = a; if (a < 10) printf(“a printf(“a printf(“a is greater than 10n”); If you have compound statements then use brackets (blocks) if (a < 4 && b > 10) { c = a * b; b printf(“a = %d, a’s address = 0x%08xn”, a, (uint32_t)&a); } else { c = a + b; b These two statements are equivalent: if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} These two statements are equivalent: is less than 10n”); is 10n”); Is this correct? if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} else = 0; = a; } Is this correct? 10) if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; if (a < 10) printf(“a is less than 10n”); else if (a == 10) printf(“a is 10n”); else printf(“a is greater than 10n”); If you have compound statements then use brackets (blocks) if (a < 4 && b > 10) { c = a * b; b = 0; printf(“a = %d, a’s address = 0x%08xn”, a, (uint32_t)&a); } else { c = a + b; b = a; } These two statements are equivalent: if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} Is this correct? if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; if (a < 10) printf(“a is less than 10n”); else if (a == 10) printf(“a is 10n”); else printf(“a is greater than 10n”); If you have compound statements then use brackets (blocks) if (a < 4 && b > 10) { c = a * b; b = 0; printf(“a = %d, a’s address = 0x%08xn”, a, (uint32_t)&a); } else { c = a + b; b = a; } These two statements are equivalent: if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} Is this correct? if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; if (a < 10) printf(“a is less than 10n”); else if (a == 10) printf(“a is 10n”); else printf(“a is greater than 10n”); If you have compound statements then use brackets (blocks) if (a < 4 && b > 10) { c = a * b; b = 0; printf(“a = %d, a’s address = 0x%08xn”, a, (uint32_t)&a); } else { c = a + b; b = a; } These two statements are equivalent: if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} Is this correct? if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; 10) printf(“a is 10n”); else printf(“a is greater than 10n”); If you have compound statements then use brackets (blocks) if (a < 4 && b > 10) { c = a * b; b = 0; printf(“a = %d, a’s address = 0x%08xn”, a, (uint32_t)&a); } else { c = a + b; b = a; } These two statements are equivalent: if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} Is this correct? if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; if (a < 10) if (a < 10) printf(“a is less else if (a == 10) else if (a == 10) printf(“a is else else printf(“a is if (a < 4 && b > 10) { if (a < 4 && b > 10) { c = a * b; b = 0; printf(“a = %d, a’s } These two statements are equivalent: c = a + b; b = a; Is this correct? if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} printf(“a is less if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; printf(“a is printf(“a is address = 0x%08xn”, a, (uint32_t)&a); } else { printf(“a = %d, a’address = 0x%08xn”, (uint32_t)&a); } else { } c = a * b; b = 0; printf(“a = %d, a’s c = a + b; b = a; These two statements are equivalent: These two statements are equivalent: Is this correct? if (a) x = 3; else if (b) x = 2; else x = 0; if (a) x = 3; else {if (b) x = 2; else x = 0;} (a) x = 3; else {(b) x = 2; else x = Is this correct? if (a) x = 3; else if (b) x = 2; else (z) x = 0; else x = -2; if (a < 10) printf(“a is less else if (a == 10) printf(“a is else printf(“a is if (a < 4 && b > 10) c = a * b; b = 0; } c = a + b; b = a; if (a) x = 3; else if (b) x = 2; else x = if if (a) x = 3; else if (b) x = 2; else (z) x = 0; else = -2;
  • 2. • Lecturer – Ms Hasanthi Dahanayake, • Student Name – G.M.D.Nuwansiri, • Subject – Information Technology, • Register No – SIBA/BABL/12-44, • Institution – SIBA Campus, • March 20/2014. Software Engineering import java.awt.*; import java.util.*; public class SomethingOrOther { // object definitions go here . . . } import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; public class SomethingOrOther { // object definitions go here import java.awt.*; import java.util.*; public class SomethingOrOther { // object definitions go here import java.awt.*; import java.util.*; public class SomethingOrOther { // object definitions go here import java.awt.*; import java.util.*; public class SomethingOrOther { // object definitions go here import java.awt.*; import java.util.*; public class SomethingOrOther { public class // object SomethingOrOther definitions go here { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } { // object definitions go here . . . } { // object definitions go here . . . } { // object definitions go here . . . } { // object definitions go here . . . } . . . } . . . } . . . } . . .
  • 3. Content. • Introduction. • Software Engineering. • Software Products. • Software Product Attributes. • Importance of Product Characteristics. • The Software Process. • Engineering Process Model. • Software Engineering is Different. • Software Process Models. • Process Model Problems. • Model Advantages. • Conclusion. Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Software Software Software Software • Introduction. • Introduction. • Software Engineering. • Introduction. • Software Engineering. • Software Products. • Introduction. • Software Engineering. • Software Products. • Introduction. • Software Product Attributes. • Software Engineering. • Software Products. • Introduction. • Software Product Attributes. • Introduction. • Introduction. • Software Engineering. • Software Engineering. • Software Products. • Introduction. • Software Products. • Introduction. • Software Product Attributes. • Software Engineering. • Importance of Product Characteristics. • Software Products. • Introduction. • Software Product Attributes. • Software Engineering. • Introduction. • Software Product Attributes. • Software Engineering. • Introduction. • Introduction. • Software Engineering. • Introduction. • Software Engineering. • Software Products. • Software Engineering. • Software Products. • Introduction. • Software Product Attributes. • Software Engineering. • Software Products. • Introduction. • Software Product Attributes. • Software Engineering. • Importance of Product Characteristics. • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Products. • The Software Process. • Introduction. • Software Product Attributes. • Software Engineering. • Software Products. • Introduction. • Software Engineering. • Introduction. • Software Product Attributes. • Software Engineering. • Importance of Product Characteristics. • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Products. • The Software Process. • Software Products. • The Software Process. • Introduction. • Software Product Attributes. • Engineering Process Model. • Software Products. • The Software Process. • Introduction. • Software Product Attributes. • Software Engineering. • Importance of Product Characteristics. • Software Products. • The Software Process. • Software Engineering. • Software Products. • The Software Process. • Introduction. • Software Product Attributes. • Engineering Process Model. • Introduction. • Software Engineering. • Importance of Product Characteristics. • Software Products. • The Software Process. • Introduction. • Software Product Attributes. • Engineering Process Model. • Software Engineering. • Introduction. • Software Product Attributes. • Engineering Process Model. • Software Engineering. • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Engineering is Different. • Software Products. • The Software Process. • Software Product Attributes. • Engineering Process Model. • Software Products. • Software Engineering. • Software Products. • The Software Process. • Introduction. • Software Product Attributes. • Engineering Process Model. • Software Engineering. • Introduction. • Software Product Attributes. • Engineering Process Model. • Software Engineering. • Software Engineering. • Importance of Product Characteristics. • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Engineering is Different. • Software Engineering is Different. • Software Products. • The Software Process. • Software Process Models. • Software Engineering is Different. • Software Products. • The Software Process. • Software Product Attributes. • Engineering Process Model. • Software Product Attributes. • Software Products. • Software Product • • Engineering Process Model. • Software Engineering. • Software • • Importance of Product • • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Engineering is Different. • Software Engineering is Different. • Software Products. • The Software Process. • Software Process Models. • Software Engineering is Different. • Software Products. • The Software Process. • Software Process Models. • Software Product Attributes. • Engineering Process Model. • Process Model Problems. • Software Products. • The Software Process. • Software Process Models. • Software Product Attributes. • Engineering Process Model. • Software Product • Importance of Product • • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Engineering is Different. • The Software Process. • Software Process Models. • Software Engineering is Different. • Software Products. • The Software Process. • Software Process Models. • Software Product Attributes. • Engineering Process Model. • Process Model Problems. Software • The Software Process. • Software Process Models. • Software Product Attributes. • Engineering Process Model. • Process Model Problems. • Software Product • • Engineering Process Model. • Process Model Problems. Importance of • • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Engineering is Different. • Software Engineering is Different. • Model Advantages. • The Software Process. • Software Process Models. • Engineering Process Model. • Process Model Problems. • The Software Process. The Software Process. • Software Process Models. • Software Product Attributes. • Engineering Process Model. • Process Model Problems. Software • • Engineering Process Model. • Process Model Problems. Importance • • Importance of Product Characteristics. • Importance of Product Characteristics. • Software Engineering is Different. • Software Engineering is Different. • Model Advantages. • Model Advantages. • The Software Process. • Software Process Models. • Conclusion. • Software Engineering is Different. • Model Advantages. • The Software Process. • Software Process Models. • Engineering Process Model. • Process Model Problems. • Engineering Process Model. The Software Process. • Engineering Process • • Process Model Problems. Importance • • Importance of Product Characteristics. • Software Engineering is Different. • Software Engineering is Different. • Model Advantages. • Model Advantages. • The Software Process. • Software Process Models. • Conclusion. • Software Engineering • • Model Advantages. • The Software Process. • Software Process Models. • Conclusion. • Engineering Process Model. • Process Model Problems. The Software • • Software Process Models. • Conclusion. • Engineering Process Model. • Process Model Problems. • Software Engineering is Different. • Software Engineering is Different. • Model Advantages. • Software Process Models. • Conclusion. • Engineering Process • Software Engineering • • Model Advantages. • The Software Process. • Software Process Models. • Conclusion. • Engineering Process Model. • Process Model Problems. • Conclusion. • Engineering Process Model. • Process Model Problems. The Software • Software Process Models. Engineering • • Process Model Problems. • Software Engineering is Different. • Software Engineering is Different. • Model Advantages. • Model Advantages. • Software Process Models. • Conclusion. • Process Model Problems. • Software Process Models. • Conclusion. • Engineering Process Model. • Process Model Problems. Software Engineering • Software Process Models. Engineering • • Process Model Problems. • Software Engineering is Different. • Software Engineering is Different. • Model Advantages. • Model Advantages. • Software Process Models. • Conclusion. • Process Model Problems. • Model Advantages. Software Engineering • • Model Advantages. • Software Process Models. • Process Model Problems. Software Process • • Process Model Problems. • Software Engineering is Different. • Model Advantages. • Software Process Models. • Conclusion. • Process Model Problems. • Model Advantages. • Conclusion. • Process Model Problems. • Model Advantages. • Conclusion. • Model Advantages. • Conclusion. • Conclusion. • Introduction. • Software Engineering. • Software Products. • Software Product Attributes. • Importance of Product Characteristics. • The Software Process. • Engineering Process Model. • Software Engineering is Different. • Software Process Models. • Process Model Problems. • Model Advantages. • Conclusion. • Conclusion. Software • • Model Advantages. • Software Process Models. • Conclusion. • Process Model Problems. • Model Advantages. Software Process • Process Model • • Model Advantages. • Software Process Models. • Conclusion. • Process Model Problems. • Model Advantages. • Conclusion. • Process Model Problems. • Model Advantages. • Conclusion. • Model Advantages. • Conclusion. • Conclusion. • Introduction. • Software Engineering. • Software Products. • Software Product Attributes. • Importance of Product Characteristics. • The Software Process. • Engineering Process Model. • Software Engineering is Different. • Software Process Models. • Process Model Problems. • Model Advantages. • Conclusion. • Conclusion. Software • • Conclusion. Process Model • Model Advantages. • Conclusion. Process • Model Advantages. • Conclusion. Model Advantages. • Conclusion. • Conclusion.
  • 4. Software Engineering Introduction. /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> int main (void) { int main (void) { } printf(“Hello Worldn”); exit(0); /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> printf(“Hello Worldn”); exit(0); } /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> int main (void) { int main (void) { } printf(“Hello Worldn”); exit(0); /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> printf(“Hello Worldn”); exit(0); } /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> int main (void) { int main (void) { } printf(“Hello Worldn”); exit(0); /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> printf(“Hello Worldn”); exit(0); } /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> int main (void) { int main (void) { } printf(“Hello Worldn”); exit(0); /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> printf(“Hello Worldn”); exit(0); } /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> int main (void) { printf(“Hello Worldn”); exit(0); } /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to * include stdio.h and * stdlib.h * */ int main (void) #include int { <main stdio.(h> void) #{ include <stdlib.h> int main (void) { int main (void) { printf(“Hello Worldn”); exit(0); int main (void) { int main (void) { printf(“Hello Worldn”); exit(0); int main (void) { printf(“Hello Worldn”); exit(0); int main } (void) { printf(“Hello Worldn”); exit(0); } printf(“Hello Worldn”); exit(0); } printf(“Hello Worldn”); exit(0); } printf(“Hello Worldn”); exit(0); } printf(“Hello Worldn”); exit(0); /* you generally want to } * include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> /* you generally want to } * } include stdio.h and * stdlib.h * */ #include <stdio.h> #include <stdlib.h> int main (void) { int main (void) { printf(“Hello Worldn”); exit(0); } printf(“Hello Worldn”); exit(0);
  • 5. 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 Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering
  • 6. • The economies of all developed nations are dependent on software. • More and more systems are software controlled. • Software engineering is concerned with theories, methods and tools for professional software development. • Software engineering expenditure represents a significant fraction of developed countries. Software Engineering
  • 7. Software Products • Generic products: • Stand-alone systems which are produced by a development organization and sold on the open market to any customer. • Customized products: • Systems which are commissioned by a specific customer and developed specially by some contractor. Software Engineering
  • 8. Software Product Attributes. • Maintainability • Dependability • Efficiency • Usability Software Engineering import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; public class SomethingOrOther import java.awt.*; import java.util.*; { // object definitions go here . . . } public class SomethingOrOther import java.awt.*; import java.util.*; { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . } { // object definitions go here . . . } { // object definitions go here . . . }
  • 9. Importance of Product Characteristics. • The relative importance of these characteristics depends on the product and the environment which is to be used. • In some cases, some attributes may dominate • In safety-critical real-time systems, key attributes may be dependability and efficiency. Software Engineering import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; import java.awt.*; import java.util.*; public class SomethingOrOther public class SomethingOrOther public class SomethingOrOther { // object definitions go here . . . } public class SomethingOrOther { // object definitions go here . . . public class SomethingOrOther { // object definitions go here . . . { { // object definitions go here
  • 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 open modeled if it is to be managed. Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering for (i = 0; i < MAXVALUE; i++) { dowork(); } while (c != 12) { dowork(); } do { dowork(); } while (c < 12); Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Software Software Software Software Software
  • 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 errors in the system as they are discovered. Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering
  • 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. Software Engineering class Person { String name; int age; void birthday ( ) { age++; System.out.println (name + ' is now ' + age); } } class Person { String name; int age; void birthday ( ) { age++; System.out.println (name + ' is now ' + age); } } class Person { String name; int age; void birthday ( ) { age++; System.out.println (name + ' is now ' + age); } } class Person { String name; int age; void birthday ( ) { age++; System.out.println (name + ' is now ' + age); } } class Person { String name; int age; void birthday ( ) { age++; System.out.println (name ' is now ' + age); }
  • 13. Software Process Models. • Waterfall • Separate and distinct phases of specification and development • Evolutionary • Specification and development are interleaved • Formal Transformation • A mathematical system model is formally transformed to an implementation • Reuse-based • The system is assembled from existing components Software Engineering
  • 14. Process Model Problems. • Waterfall • High risk for new systems because of specification and design problems. • Low risk for well-understood developments using familiar technology. • Prototyping • Low risk for new applications because specification and program stay in step. • High risk because of lack of process visibility. • Transformational • High risk because of need for advanced technology and staff skills. Software Engineering Software Engineering Software Engineering Software Engineering
  • 15. Model Advantages. • Focuses attention on reuse options. • Focuses attention on early error elimination. • Puts quality objectives up front. • Integrates development and maintenance. • Provides a framework for hardware/software development. Software Engineering #define QINSERT_BEFORE(loc, node, field) do { *(loc)->field.prev = (node); (node)->field.prev = (loc)->field.prev; (loc)->field.prev = &((node)->field.next); (node)->field.next = (loc); } while (/* */0) #define QINSERT_AFTER(loc, node, field) do { ((loc)->field.next)->field.prev = &(node)->field.next; (node)->field.next = (loc)->field.next; (loc)->field.next = (node); (node)->field.prev = &(loc)->field.next; } while ( /* */ 0) #define QREMOVE(node, field) do { *((node)->field.prev) = (node)->field.next; ((node)->field.next)->field.prev = (node)->field.prev; (node)->field.next = (node); (node)->field.prev = &((node)->field.next); } while ( /* */ 0)
  • 16. Conclusion. Software Engineering o n. Co ncl usi Co ncl usi o o n. n. o n. n. Co ncl usi Co ncl usi Co ncl usi n. o o n. Co ncl usi Concl usi Co ncl usi o o o n. n. n. Co ncl usi Co ncl usi o n. Co ncl usi Co ncl usi n. o n. o Co ncl usi o n. Co ncl usi Co ncl usi Co ncl usi o o n. n. o n. Co ncl usi o n. Co ncl usi o n. Co nclusi o n. Co ncl usi o n. Concl usi o n. Co ncl usi o n. Co ncl usi o Co ncl usi o n. Co ncl usi o n. Co ncl usi o n.
  • 17. Be Creative…. Software Engineering Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. Be Creative…. BBee CCrreeaattiivvee……..Be Creative….