Presentation is loading. Please wait.

Presentation is loading. Please wait.

HARDWARE ADVANCES MOORE’S LAW: COMPUTER POWER (CIRCUITS PER CHIP) DOUBLES ABOUT EVERY 18 MONTHS.

Similar presentations


Presentation on theme: "HARDWARE ADVANCES MOORE’S LAW: COMPUTER POWER (CIRCUITS PER CHIP) DOUBLES ABOUT EVERY 18 MONTHS."— Presentation transcript:

1

2 HARDWARE ADVANCES MOORE’S LAW: COMPUTER POWER (CIRCUITS PER CHIP) DOUBLES ABOUT EVERY 18 MONTHS.

3

4 SOFTWARE ENGINEERING: A SYSTEMATIC APPROACH TO THE DEVELOPMENT OF MEDIUM-TO-LARGE PROGRAMS

5

6

7 PRINCIPLE OF ABSTRACTION WHEN TRYING TO SOLVE A PROBLEM, SEPARATE WHAT IS TO BE DONE FROM HOW IT WILL BE DONE.

8 THIS GENERALIZES THE PRINCIPLE OF DATA ABSTRACTION: SEPARATE WHAT A CLASS DOES FROM HOW THE CLASS IS DEFINED.

9 THERE ARE TWO DELIVERABLES FOR THIS STAGE:

10 1. FUNCTIONAL SPECIFICATIONS EXPLICITLY DESCRIBE THE BEHAVIOR (THAT IS, INPUT AND OUTPUT) OF THE PROGRAM.

11 FOR EXAMPLE: TO REPLACE STRING X WITH STRING Y, THE FORM IS %X%Y%. IF THE % DELIMITER OCCURS FEWER THAN 3 TIMES, THE ERROR MESSAGE IS *** ERROR: THE DELIMITER MUST OCCUR THREE TIMES. LINE IGNORED.

12

13 2. SYSTEM TESTS ARE CREATED TO REINFORCE AN UNDERSTANDING OF THE PROBLEM AND TO PROVIDE DATA FOR TESTING THE COMPLETED PROGRAM.

14 System Test 2: (input in boldface) Please enter the mean arrival time: 5 Please enter the mean service time: 4 Please enter the maximum arrival time: 20 TimeEventWaiting Time 6Arrival 7 Departure0 12Arrival 17Arrival 18Departure0 19Departure1 The average waiting time was 0.3 minutes. The average queue length was 0.1 cars. The number of overflows was 0.

15 I. STAGE II. PROGRAM DESIGN WHAT CLASSES WILL I NEED? WHAT METHODS WILL I NEED? WHAT FIELDS WILL I NEED? SOFTWARE DEVELOPMENT LIFE CYCLE

16 SUPPOSE AN EXISTING CLASS HAS EVERYTHING NEEDED.

17 GREAT! USE THAT CLASS.

18 SUPPOSE AN EXISTING CLASS HAS ALMOST EVERYTHING NEEDED.

19 VERY GOOD! CREATE A SUBCLASS OF THAT CLASS.

20 SUPPOSE YOU HAVE TO START FROM SCRATCH.

21 1. DETERMINE RESPONSIBILITIES OF THE CLASS: WHAT THE CLASS WILL WILL PROVIDE TO USERS.

22 2.REFINE RESPONSIBILITIES INTO METHOD DESCRIPTIONS.

23 3. DECIDE WHAT FIELDS TO HAVE.

24 AFTER INDIVIDUAL CLASSES HAVE BEEN DESIGNED, DETERMINE CLASS-TO-CLASS RELATIONSHIP AND OBJECT-FIELD TO CLASS RELATIONSHIP

25 DEPENDENCY DIAGRAMS

26 CLASS-TO-CLASS RELATIONSHIP Employee Company HourlyEmployee Company2 USE FROM SUBCLASS TO SUPERCLASS

27 OBJECT-FIELD TO CLASS RELATIONSHIP: WHEN THE CALLING OBJECT IS DESTROYED, SHOULD THE OBJECTS REFERENCED BY FIELDS ALSO BE DESTROYED?

28 public class Employee { protected String name;

29 COMPOSITION: WHEN THE SPACE FOR THE CALLING OBJECT IS DEALLOCATED, THE SPACE FOR THE OBJECTS REFERENCED BY FIELDS IS ALSO DEALLOCATED. name DEPENDS ON Employee OBJECT

30 name  Employee

31 HERE IS AN EXAMPLE IN WHICH THE SPACE FOR THE OBJECT REFERENCED BY A FIELD IS NOT DEALLOCATED EVEN AFTER THE SPACE FOR THE CALLING OBJECT IS DEALLOCATED:

32 public class X { Y y; public Y sendIt( ) { … return y; } // method sendIt … } // class X

33 AGGREGATION: THE SPACE ALLOCA- TED FOR y ’S OBJECT SHOULD NOT BE DEALLOCATED WHEN THE SPACE FOR THE CALLING X OBJECT IS DEALLOCA- TED. WHY? BECAUSE THE ADDRESS OF y ’S OBJECT WAS RETURNED FROM sendIt.

34 AGGREGATION: THE SPACE FOR THE y ’S OBJECT DOES NOT DEPEND ON THE X OBJECT.

35 y  X

36 SOFTWARE DEVELOPMENT LIFE CYCLE STAGE III:PROGRAM IMPLEMENTATION

37 DEFINE THE METHODS; THEN A. CHECK FOR CORRECTNESS B. CHECK FOR EFFICIENCY

38 A. METHOD VALIDATION USE TESTING TO INCREASE CONFIDENCE IN THE CORRECTNESS OF A METHOD.

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75 GROWTH RATES O(n 2 ) O(n log n) O(n) O(log n) O(1) n worstTime(n) O(2 n )

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93 1000 500 250 125 62 31 15 7 3 1 THERE ARE 9 DIVISIONS REQUIRED; floor(log 2 1000) = 9

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129


Download ppt "HARDWARE ADVANCES MOORE’S LAW: COMPUTER POWER (CIRCUITS PER CHIP) DOUBLES ABOUT EVERY 18 MONTHS."

Similar presentations


Ads by Google