University of Castilla-La Mancha
MANUAL OF
SOFTWARE ENGINEERING II
Macario Polo Usaola
(c) Macario Polo Usaola
1
Software Engineering Manual II
INDEX
First part …………………………….. ………………………………………….. ………………………………………… fifteen
Chapter 1. Fundamental concepts of the object-oriented paradigm ………………….. 17
1. Object and class ……………………………………….. ………………………………………….. …………… 17
2. Inheritance and polymorphism ……………………………………….. ………………………………………. 19
3. Relations between classes ……………………………………….. …………………………………………. twenty-one
4. Concealment and visibility ……………………………………….. …………………………………….. 22
5. Representation of the previous concepts in UML ……………………………………. ….. 23
5.1.
Representation of fields …………………………………….. ……………………………… 24
5.2. Representation of operations ……………………………………….. ……………………. 24
5.3. Inheritance …………………………………………. ………………………………………….. ………. 25
5.4. Relations between classes ……………………………………….. ………………………………… 26
6. Representation of the previous concepts in programming languages ……….. 28
7. Concepts about architectural design ………………………………………. …………………… 30
7.1.
Basic persistence management policies …………………………………. ……… 31
7.2. Design of the domain layer …………………………………….. ………………………… 40
7.3. Design of the presentation layer …………………………………….. …………………… 41
7.4. Organization in subsystems ……………………………………….. ……………………….. 47
8. Testing and verification ……………………………………….. ………………………………………….. ..47
9. CASE tools for object-oriented software development ………………… 48
10. Recommended readings ……………………………………….. …………………………………….. 48
Chapter 2 Methodologies for the development of object-oriented software …………………….. 49
1. OMT: Object Modeling Technique ……………………………………… ………………………….. 49
2. Development led by the tests (Test-Driven Development) ………………………… 51
3. The Unified Development Process ……………………………………… ………………………….. 51
3.1.
Phases of the Unified Development Process ………………………………….. …………. 52
3.2.
Some important models …………………………………….. ………………………… 56
4. Recommended readings ……………………………………….. ……………………………………….. 67
Chapter 3. Description of a problem …………………………………… …………………………….. 69
1. Statement …………………………………………. ………………………………………….. ……………… 69
2. Adaptation of the problem to the Unified Process …………………………………….. ………….. 70
3. Recommended readings ……………………………………….. ……………………………………….. 71
Second part ……………………………………….. ………………………………………….. …………………………….. 73
Chapter 4. Administration application: start phase. …………………………………….. 75
1. Construction of the use case diagram ……………………………………. ………………… 75
2. Prioritization of use cases ……………………………………… ……………………………………. 79
3. Textual description of the use cases ……………………………………. ……………………… 81
3.1. Textual description of use cases …………………………………….. ……………….. 83
4. Verification and validation ……………………………………….. ……………………………………….. 91
5. Recommended readings ……………………………………….. ……………………………………….. 92 [19659002] (c) Macario Polo Usaola
3
Chapter 5. Application of administration: preparation phase (I) ………………….. …………. 93
1. Development of the use case Identification …………………………………….. ………………….. 93
1.1.
"Analysis" sequence diagram for the normal event flow ………… 94
1.2. Obtaining a design model …………………………………….. …………………. 96
1.3. Obtaining test cases from an event flow or diagram of
sequence
105
2. Development of the use case Create edition ……………………………………. …………………. 106
3. Development of the use case Create empty cells (first part) ……………………… 108
4. Creation of the database…………………………………….. …………………………………… 109
4.1.
Pattern a class, a table ………………………………….. …………………………….. 110
Pattern an inheritance tree, a table … ………………………………………….. …. 113
4.2.
4.3.
Pattern a path of inheritance, a table ………………………………… …………… 115
4.4. Other influences of the pattern selected in the code of use of the
database 116
5. Development of the use case Create empty cells (second part) ……………………… 117
6. Development of the use case Assign type to box ………………………………….. ……….. 120
7. Development of the use case Create parking ……………………………………. ………………… 123
8. The Singleton pattern ……………………………………….. ………………………………………….. … 130
9. Code tests ……………………………………….. ………………………………………….. …. 131
9.1. A testing process combining black box with white box ……………… 132
Functional tests with junit ………….. ………………………………………….. ……… 133
9.2.
9.3.
White box tests ……………………………………. ………………………………….. 139
9.4.
Evidence of the use case Create parking ………………………………… ……………… 143
10. Recommended readings ……………………………………….. …………………………………….. 151
Chapter 6 Administration application: preparation phase (II) ………………………….. 153
1. Development of the use case Create output ……………………………………. ……………………. 153
2. Development of the use case Create taxes ……………………………………. …………….. 155
3. Introduction to OCL ……………………………………….. ………………………………………….. … 158
OCL predefined types ………………………………… ………………………………… 158
3.1.
3.2.
Collections ………………………………………. ………………………………………….. ……. 160
3.3.
The operation iterate …………………………………….. …………………………………….. 163
3.4. Navigation between associations ……………………………………….. …………………… 163
3.5.
Examples and notation …………………………………….. …………………………………….. 164
3.6.
Writing of assertions in the program ………………………………….. …………….. 171
3.7. Use of assertions to derive test cases …………………….. 172
3.8.
Interpretation of assertions as contracts ………………………………….. 173
4. Development of the use case Create street ……………………………………. ……………………… 173
Annotation of the class diagram with OCL ………… ………………………………… 175
4.1.
4.2.
Creation of tables Street and Neighborhood ………………………………… …………………. 177
5. Recommended readings ……………………………………….. ……………………………………… 178
Chapter 7. Administration application: processing phase (III) …………………………. 179
4 [19659002] Software Engineering Manual II
1. Other activities of the Elaboration phase …………………………………… …………… 179
2. Analysis of some cases of use …………………………………….. …………………………….. 180
3. General considerations about the detailed design …………………………………….. ..180
3.1. Design of the topic base …………………………………….. ……………………………. 180
3.2. Methods of access to the database …………………………………… ………………. 182
3.3. Use of inheritance ……………………………………….. ………………………………. 182
3.4. Decisions on the development of other use cases ……………
from Nettech Post http://bit.ly/2SjkkfV
No hay comentarios:
Publicar un comentario