Fundamentals of software engineering /

Ghezzi, Carlo

Fundamentals of software engineering / Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli. - New Jersey: Prentice Hall, 1991 - 573 p.

CONTENIDO
PREFACE xi
1. SOFTWARE ENGINEERING: A PREVIEW 1
1.1 The Role of Software Engineering in System Design 2
1.2 A History of Software Engineering 3
1.3 The Role of the Software Engineer 5
1.4 The Software Life Cycle 6
1.5 The Relationship of Software Engineering to Other 8
1.6 The Relationship of Software Engineering to Other 13
1.7 Concluding Remarks 14
2. SOFTWARE: ITS NATURE AND QUALITIES 17
2.1 Classification of Software Qualities 18
2.2 Representative Qualities 19
2.3 Quality Requirements in Different Application Areas 36
2.4 Measurement of Quality 40
2.5 Concluding Remarks 40
3. SOFTWARE ENGINEERING PRINCIPLES 43
3.1 Rigor and Formality 45
3.2 Separation of Concerns 47
3.3 Modularity 49
3.4 Abstraction 51
3.5 Anticipation of Change 53
3.6 Generality 54
3.7 Incrementality 56
3.8 Concluding Remarks 57
4. SOFTWARE DESIGN 61
4.1 Software Design Activity and Its Objectives 63
4.2 Modularization Techniques 72
4.3 Object-oriented Design 115
4.4 Handling Anomalies 122
4.5 A Case Study in Design 125
4.6 Concurrent Software 128
4.7 Concluding Remarks 144
5. SOFTWARE SPECIFICATION 151
5.1 The Uses of Specifications 152
5.2 Specification Qualities 154
5.3 Classification of Specification Styles 157
5.4 Verification of Specificatisms 1595.5 Operational Specifications 160
5.6 Descriptive Specifications 199
5.7 Building and Using Specifications in Practice 226
5.8 Concluding Remarks 242
6. SOFTWARE VERIFICATION 255
6.1 Goals and Requirements of Verification 256
6.2 Approaches to Verification 260
6.3 Testing 260
6.4 Analysis 297
6.5 Symbolic Execution 318
6.6 Debugging 329
6.7 Verifying Other Software Properties 334
6.8 Concluding Remarks 344
7. THE SOFTWARE PRODUCTION PROCESS 357
7.1 Software Production Process Models 358
7.2 Case Studies 384
7.3 Organizing the Process 394
7.4 Concluding Remarks 409
8. MANAGEMENT OF SOFTWARE ENGINEERING 415
8.1 Management Functions 417
8.2 Project Planning 418
8.3 Project Control 434
8.4 Organization 441
8.5 Risk Management 446
8.6 Concluding Remarks 449
9. SOFTWARE ENGINEERING TOOLS AND ENVIRONMENTS 455
9.1 Historical Evolution of Tools and Environments 458
9.2 Classification of Software Tools and Environments 458
9.3 Representative Tools 462
9.4 The Role of Programming Language in the Environment 479
9.5 Some Sample Tools and Environments 498
9.6 An Ideal Scenario for the Future 506
9.7 Concluding Remarks 511
10. EPILOGUE 517
10.1 The Future 518
10.2 Ethics and Social Responsibility 520
CASE STUDIES 523
REFERENCES 539
INDEX 567

0138204322


INGENIERIA DEL SOFTWARE
DISEÑO DE SOFTWARE
SOFTWARE DESIGN
SOFTWARE SPECIFICATION
SOFTWARE ENGINEERING
SOFTWARE VERIFICATION
SOFTWARE PRODUCTION
MANAGEMENT OF SOFTWARE
SOFTWARE-VERIFICACION
SOFTWARE-MODELOS

004.41 G343