Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

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….

More Related Content

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….