The document discusses key topics in software engineering including software products, product attributes, the importance of product characteristics, the software engineering process, engineering process models, software process models, and the advantages and problems of different process models. It introduces these topics and provides some brief explanations about each one.
1 of 17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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….