For courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses. ย Object-Oriented Software Engineering Using UML, Patterns, a
Object-oriented software engineering: using UML, patterns, and Java
โ Scribed by Bruegge, Bernd;Dutoit, Allen H
- Publisher
- Pearson; Prentice Hall
- Year
- 2009;2010
- Tongue
- English
- Leaves
- 817
- Edition
- 3rd ed
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
For courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses.
"Object-Oriented Software Engineering Using UML, Patterns, and Java, 3e," shows readers how to use both the principles of software engineering and the practices of various object-oriented tools, processes, and products. Using a step-by-step case study to illustrate the concepts and topics in each chapter, Bruegge and Dutoit emphasize learning object-oriented software engineer through practical experience: readers can apply the techniques learned in class by implementing a real-world software project.
The third edition addresses new trends, in particular agile project management (Chapter 14 Project Management) and agile methodologies (Chapter 16 Methodologies).
Contents at a Glance
Foreword
Preface
Acknowledgments
PART I Getting Started 1
Chapter 1 Introduction to Software Engineering 3
Chapter 2 Modeling with UML 29
Chapter 3 Project Organization and Communication 77
PART II Dealing with Complexity 119
Chapter 4 Requirements Elicitation 121
Chapter 5 Analysis 173
Chapter 6 System Design: Decomposing the System 223
Chapter 7 System Design: Addressing Design Goals 259
Chapter 8 Object Design: Reusing Pattern Solutions 307
Chapter 9 Object Design: Specifying Interfaces 349
Chapter 10 Mapping Models to Code 393
Chapter 11 Testing 437
PART III Managing Change 491
Chapter 12 Rationale Management 493
Chapter 13 Configuration Management 537
Chapter 14 Project Management 575
Chapter 15 Software Life Cycle 621
Chapter 16 Methodologies: Putting It All Together 651
PART IV Appendices 707
โฆ Table of Contents
Cover......Page 1
Table of Contents......Page 22
Foreword......Page 6
Preface......Page 8
Acknowledgments......Page 18
PART I: Getting Started......Page 36
Chapter 1 Introduction to Software Engineering......Page 38
1.1 Introduction: Software Engineering Failures......Page 39
1.2 What Is Software Engineering?......Page 40
1.3 Software Engineering Concepts......Page 45
1.4 Software Engineering Development Activities......Page 51
1.5 Managing Software Development......Page 56
1.6 ARENA Case Study......Page 58
1.8 Exercises......Page 60
Chapter 2 Modeling with UML......Page 64
2.1 Introduction......Page 65
2.2 An Overview of UML......Page 66
2.3 Modeling Concepts......Page 70
2.4 A Deeper View into UML......Page 78
2.5 Further Readings......Page 106
2.6 Exercises......Page 107
Chapter 3 Project Organization and Communication......Page 112
3.1 Introduction: A Rocket Example......Page 113
3.2 An Overview of Projects......Page 114
3.3 Project Organization Concepts......Page 118
3.4 Project Communication Concepts......Page 127
3.5 Organizational Activities......Page 144
3.6 Further Readings......Page 149
3.7 Exercises......Page 150
PART II: Dealing with Complexity......Page 154
Chapter 4 Requirements Elicitation......Page 156
4.1 Introduction: Usability Examples......Page 157
4.2 An Overview of Requirements Elicitation......Page 158
4.3 Requirements Elicitation Concepts......Page 160
4.4 Requirements Elicitation Activities......Page 165
4.5 Managing Requirements Elicitation......Page 183
4.6 ARENA Case Study......Page 188
4.7 Further Readings......Page 203
4.8 Exercises......Page 204
Chapter 5 Analysis......Page 208
5.2 An Overview of Analysis......Page 209
5.3 Analysis Concepts......Page 211
5.4 Analysis Activities: From Use Cases to Objects......Page 214
5.5 Managing Analysis......Page 234
5.6 ARENA Case Study......Page 241
5.7 Further Readings......Page 253
5.8 Exercises......Page 254
Chapter 6 System Design: Decomposing the System......Page 258
6.1 Introduction: A Floor Plan Example......Page 259
6.2 An Overview of System Design......Page 261
6.3 System Design Concepts......Page 263
6.4 System Design Activities: From Objects to Subsystems......Page 282
6.6 Exercises......Page 290
Chapter 7 System Design: Addressing Design Goals......Page 294
7.1 Introduction: A Redundancy Example......Page 295
7.2 An Overview of System Design Activities......Page 296
7.3 Concepts: UML Deployment Diagrams......Page 297
7.4 System Design Activities: Addressing Design Goals......Page 299
7.5 Managing System Design......Page 319
7.6 ARENA Case Study......Page 325
7.7 Further Readings......Page 337
7.8 Exercises......Page 338
Chapter 8 Object Design: Reusing Pattern Solutions......Page 342
8.1 Introduction: Bloopers......Page 343
8.2 An Overview of Object Design......Page 344
8.3 Reuse Concepts: Solution Objects, Inheritance, and Design Patterns......Page 348
8.4 Reuse Activities: Selecting Design Patterns and Components......Page 355
8.5 Managing Reuse......Page 372
8.6 ARENA Case Study......Page 376
8.7 Further Readings......Page 379
8.8 Exercises......Page 380
Chapter 9 Object Design: Specifying Interfaces......Page 384
9.1 Introduction: A Railroad Example......Page 385
9.2 An Overview of Interface Specification......Page 386
9.3 Interface Specification Concepts......Page 387
9.4 Interface Specification Activities......Page 400
9.5 Managing Object Design......Page 410
9.6 ARENA Case Study......Page 417
9.7 Further Readings......Page 423
9.8 Exercises......Page 424
Chapter 10 Mapping Models to Code......Page 428
10.1 Introduction: A Book Example......Page 429
10.2 An Overview of Mapping......Page 430
10.3 Mapping Concepts......Page 431
10.4 Mapping Activities......Page 437
10.5 Managing Implementation......Page 457
10.6 ARENA Case Study......Page 459
10.8 Exercises......Page 467
Chapter 11 Testing......Page 472
11.1 Introduction: Testing The Space Shuttle......Page 473
11.2 An Overview of Testing......Page 475
11.3 Testing Concepts......Page 479
11.4 Testing Activities......Page 486
11.5 Managing Testing......Page 511
11.6 Further Readings......Page 522
11.7 Exercises......Page 523
PART III: Managing Change......Page 526
Chapter 12 Rationale Management......Page 528
12.1 Introduction: Slicing Ham......Page 529
12.2 An Overview of Rationale......Page 530
12.3 Rationale Concepts......Page 532
12.4 Rationale Activities: From Issues to Decisions......Page 545
12.5 Managing Rationale......Page 561
12.7 Exercises......Page 568
Chapter 13 Configuration Management......Page 572
13.1 Introduction: An Aircraft Example......Page 573
13.2 An Overview of Configuration Management......Page 575
13.3 Configuration Management Concepts......Page 576
13.4 Configuration Management Activities......Page 585
13.5 Managing Configuration Management......Page 601
13.6 Further Readings......Page 606
13.7 Exercises......Page 607
Chapter 14 Project Management......Page 610
14.1 Introduction: The STS-51L Launch Decision......Page 611
14.2 An Overview of Project Management......Page 612
14.3 Project Management Concepts......Page 619
14.4 Classical Project Management Activities......Page 627
14.5 Agile Project Management Activities......Page 646
14.6 Further Readings......Page 651
14.7 Exercises......Page 652
Chapter 15 Software Life Cycle......Page 656
15.1 Introduction: Polynesian Navigation......Page 657
15.2 IEEE 1074: Standard for Developing Life Cycle Processes......Page 661
15.3 Characterizing the Maturity of Software Life Cycle Models......Page 668
15.4 Life Cycle Models......Page 671
15.5 Further Readings......Page 682
15.6 Exercises......Page 683
Chapter 16 Methodologies: Putting It All Together......Page 686
16.1 Introduction: The First Ascent of K2......Page 687
16.2 Project Environment......Page 690
16.3 Methodology Issues......Page 692
16.4 A Spectrum of Methodologies......Page 697
16.5 Case Studies......Page 715
16.7 Exercises......Page 738
PART IV: Appendices......Page 742
Appendix A: Design Patterns......Page 744
A.1 Abstract Factory: Encapsulating Platforms......Page 745
A.2 Adapter: Wrapping Around Legacy Code......Page 746
A.3 Bridge: Allowing for Alternate Implementations......Page 747
A.4 Command: Encapsulating Control Flow......Page 748
A.5 Composite: Representing Recursive Hierarchies......Page 749
A.6 Facade: Encapsulating Subsystems......Page 750
A.7 Observer: Decoupling Entities from Views......Page 751
A.8 Proxy: Encapsulating Expensive Objects......Page 752
A.9 Strategy: Encapsulating Algorithms......Page 753
A.10 Heuristics for Selecting Design Patterns......Page 754
A......Page 756
C......Page 759
D......Page 763
E......Page 765
F......Page 766
H......Page 767
I......Page 768
M......Page 770
N......Page 772
O......Page 773
P......Page 774
Q......Page 777
R......Page 778
S......Page 780
T......Page 783
U......Page 785
W......Page 786
X......Page 787
Appendix C: Bibliography......Page 788
A......Page 802
B......Page 803
C......Page 804
E......Page 805
H......Page 806
M......Page 807
O......Page 808
P......Page 809
R......Page 810
S......Page 811
T......Page 812
Y......Page 813
โฆ Subjects
Science;Computer Science;Textbooks;Programming;Nonfiction
๐ SIMILAR VOLUMES
Title: Object-oriented Software Engineering Using UML, Patterns, an Binding: Paperback Author: Bernd Bruegge & Allen Dutoit Publisher: Pearson Higher Education
xxxiii, 778 p. : 25 cm
The only useful chapter in this entire book is the last one, where the book finally asks the question "How much process/modeling/management/etc. is enough?" for a given project. A number of methodologies are presented, that combine just a few of the techniques covered in the other 15 chapters, and