Hunt | Guide to the Unified Process featuring UML, Java and Design Patterns | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 423 Seiten

Reihe: Springer Professional Computing

Hunt Guide to the Unified Process featuring UML, Java and Design Patterns


2. Auflage 2003
ISBN: 978-1-85233-856-5
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 423 Seiten

Reihe: Springer Professional Computing

ISBN: 978-1-85233-856-5
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



The UML, or Unified Modeling Language, is the de facto standard adopted by the Object Management Group (OMG) and by almost all vendors of object modeling tools. The Unified Process is explicitly designed to work with the UML and is a whole design method covering the majority of the life cycle of a software product. John Hunt's book guides you through the use of the UML and the Unified Process and their application to Java systems. Key Topics Focusing explicitly on applying the notation and the method to Java, the book is clearly written to appeal to practitioners. This second edition is considerably revised and extended and includes examples taken from the latest version of Rational Rose and Together. All the UML references are updated to the latest version and the Patterns chapter has been expanded to include J2EE examples. New chapters are included showing how the Unified Process can be used in real world projects and project management, and there is comprehensive coverage of Agile Modeling.

- A truly practical introduction to object oriented analysis and design using the Unified Process. Where necessary the UML is introduced, to support the Unified Process steps.
- Good coverage of Design Patterns and how they integrate into Java development
- Focuses on the real world use of UML and the Unified Process via a detailed case study that follows the whole design process through from the initial setting up, to implementation in Java and Agile Modeling
- Features and Benefits
- How to use the Unified Process in real world projects
- Covers the Unified Process and UML in one book
- A concise and accessible step-by-step guide to applying the Unified Process and UML in Java
- Explains Design Patterns and discusses how Agile Modeling fits with the Unified Process John Hunt is Technical Director at JayDee Technology Ltd. He runs industrial courses, including server-side Java technologies. He also leads development projects for government and blue chip organizations using Java, J2EE, XML and C#. He is the author of nine other books on Java, XML and object orientation.

Written for:
Software developers, software engineers project managers, programmers, final year undergraduates

Keywords:
J2EE
Java
UML
Unified Modeling Language
Unified Process

Hunt Guide to the Unified Process featuring UML, Java and Design Patterns jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Contents;7
2;Part 1 The Unified Process;19
2.1;1 Introduction;20
2.1.1;1.1 Introduction;20
2.1.2;1.2 Why UML and the Unified Process?;22
2.1.3;1.3 Why This Book?;23
2.1.4;1.4 Where to Get More Information;23
2.1.5;1.5 Where to Go Online;24
2.2;2 Object-Oriented Analysis and Design;25
2.2.1;2.1 Introduction;25
2.2.2;2.2 Object-Oriented Design Methods;25
2.2.3;2.3 Object-Oriented Analysis;26
2.2.4;2.4 The Booch Method;28
2.2.5;2.5 The Object Modeling Technique;29
2.2.6;2.6 The Objectory Method;31
2.2.7;2.7 The Fusion Method;32
2.2.8;2.8 The Unified Modeling Language;33
2.2.9;2.9 Summary;34
2.2.10;2.10 References;34
2.3;3 An Introduction to the UML and the Unified Process;36
2.3.1;3.1 Introduction;36
2.3.2;3.2 Unified Modeling Language;36
2.3.3;3.3 Analysis of the UML;41
2.3.4;3.4 The Unified Process;41
2.3.5;3.5 The Rational Unified Process;51
2.3.6;3.6 Summary;52
2.3.7;3.7 References;52
2.3.8;3.8 Online References;52
2.4;4 Software Architecture and Object-Oriented Design;53
2.4.1;4.1 Software Architecture – the Very Idea;53
2.4.2;4.2 Software Patterns;63
2.4.3;4.3 Constructing the Architecture;64
2.4.4;4.4 Find Architecturally Significant Use Cases;65
2.4.5;4.5 Identify Key Classes;65
2.4.6;4.6 Breaking the System into Subsystems;66
2.4.7;4.7 Identifying Concurrency and Active Classes;69
2.4.8;4.8 Managing Data Stores;72
2.4.9;4.9 Additional Architectural Concerns;73
2.4.10;4.10 Plan Incremental Build of Software;75
2.4.11;4.11 The Online ATM Architecture Design;75
2.4.12;4.12 References;79
2.5;5 Requirements Discipline:Use Case Analysis;81
2.5.1;5.1 Introduction;81
2.5.2;5.2 Requirements Discipline;81
2.5.3;5.3 Use Case Analysis;82
2.5.4;5.4 The Use Case Model;82
2.5.5;5.5 Use Case Diagrams;83
2.5.6;5.6 Actors;84
2.5.7;5.7 Use Cases;86
2.5.8;5.8 Refining Use Case Models;89
2.5.9;5.9 Additional Documents;90
2.5.10;5.10 Interface Descriptions;90
2.5.11;5.11 Online ATM Use Case Analysis;90
2.5.12;5.12 Structuring the Use Case Model;95
2.5.13;5.13 Are Use Case Diagrams Useful?;96
2.5.14;5.14 Further Reading;99
2.5.15;5.15 References;99
2.6;6 The Analysis Discipline: Finding the Entities;100
2.6.1;6.1 Introduction;100
2.6.2;6.2 Analysis Discipline Activities;102
2.6.3;6.3 The Analysis Model;102
2.6.4;6.4 Generating Analysis Classes;107
2.6.5;6.5 Generating Use Case Realizations;113
2.6.6;6.6 Identifying Attributes;113
2.6.7;6.7 Preparing a Data Dictionary;116
2.6.8;6.8 Identifying Associations;116
2.6.9;6.9 Identifying Inheritance;119
2.6.10;6.10 Grouping Analysis Classes into Packages;122
2.6.11;6.11 Iterating and Refining the Model;125
2.6.12;6.12 Identify Common Special Requirements;126
2.7;7 The Design Discipline: System and Class Design;127
2.7.1;7.1 Introduction;127
2.7.2;7.2 Design Discipline Activities;127
2.7.3;7.3 Class Design Stage;129
2.7.4;7.4 The Design Model;129
2.7.5;7.5 Design Classes;131
2.7.6;7.6 Identifying and Refining Design Classes;135
2.7.7;7.7 Identifying Operations for the Online ATM System;141
2.7.8;7.8 Analyzing Use Cases;143
2.7.9;7.9 Identifying Dynamic Behaviour;144
2.7.10;7.10 Statechart Diagrams;151
2.7.11;7.11 Associations;158
2.7.12;7.12 Identifying Interfaces;162
2.7.13;7.13 Identifying Inheritance;163
2.7.14;7.14 Remaining Steps;163
2.7.15;7.15 Applying the Remaining Steps to OBA;165
2.7.16;7.16 Iterating and Refining the Model;165
2.7.17;7.17 References;166
2.8;8 Implementation Phase;167
2.8.1;8.1 Introduction;167
2.8.2;8.2 Implementation Discipline Artefacts;167
2.8.3;8.3 Implementation Discipline Activities;168
2.9;9 The Test Discipline: How It Relates to Use Cases;174
2.9.1;9.1 Introduction;174
2.9.2;9.2 The Purpose of the Discipline;174
2.9.3;9.3 Aims of Discipline;174
2.9.4;9.4 Test Discipline Activities;175
2.9.5;9.5 Summary;177
2.9.6;9.6 Reference;177
2.10;10 The Four Phases;178
2.10.1;10.1 Introduction;178
2.10.2;10.2 The Unified Process Structure;178
2.10.3;10.3 Relationship Between Phases and Iterations;179
2.10.4;10.4 Effort Versus Phases;182
2.10.5;10.5 Phases and Iterations;183
2.10.6;10.6 Phases and Cycles;184
2.11;11 The JDSync Case Study;185
2.11.1;11.1 Introduction;185
2.11.2;11.2 Problem Statement;185
2.11.3;11.3 The Requirements Discipline: Use Case Analysis;185
2.11.4;11.4 The Analysis Discipline;191
2.11.5;11.5 The Design Discipline;198
2.11.6;11.6 The ImplementationWorkflow;211
2.11.7;11.7 Summary;216
3;Part 2 Design Patterns;217
3.1;12 Software Patterns;218
3.1.1;12.1 Introduction;218
3.1.2;12.2 The Motivation Behind Patterns;219
3.1.3;12.3 Documenting Patterns;220
3.1.4;12.4 When to Use Patterns;221
3.1.5;12.5 Strengths and Limitations of Design Patterns;221
3.1.6;12.6 An Example Pattern: Mediator;222
3.1.7;12.7 Summary;227
3.1.8;12.8 Further Reading;227
3.1.9;12.9 References;227
3.2;13 Patterns Catalogs;229
3.2.1;13.1 Introduction;229
3.2.2;13.2 GoF Patterns;229
3.2.3;13.3 Creational Patterns;230
3.2.4;13.4 Structural Patterns;233
3.2.5;13.5 Behavioural Patterns;236
3.2.6;13.6 Summary;240
3.2.7;13.7 References;241
3.3;14 Applying the Model–View–Controller Pattern;242
3.3.1;14.1 Introduction;242
3.3.2;14.2 What Is the Model–View–Controller Architecture?;242
3.3.3;14.3 What Java Facilities Support the MVC;243
3.3.4;14.4 The MVC in Java;245
3.3.5;14.5 A Simple Calculator Application;247
3.3.6;14.6 Discussion;250
3.3.7;14.7 References;251
3.3.8;14.8 Listings;251
3.4;15 The Hierarchical MVC;260
3.4.1;15.1 Introduction;260
3.4.2;15.2 Why Isn’t This Enough?;260
3.4.3;15.3 The h-MVC;261
3.4.4;15.4 The h-MVC Details;261
3.4.5;15.5 Layered Application;261
3.4.6;15.6 Initialization;264
3.4.7;15.7 Hierarchical Behaviour;266
3.4.8;15.8 The Advantages of the h-MVC;267
3.4.9;15.9 The Disadvantages of the h-MVC;267
3.4.10;15.10 Summary;268
3.5;16 The Visitor Framework;269
3.5.1;16.1 Background;269
3.5.2;16.2 The Visitor Pattern;270
3.5.3;16.3 The Visitor Framework;272
3.5.4;16.4 Using the Visitor Framework;272
3.5.5;16.5 A Simple Application;275
3.5.6;16.6 Summary;277
3.5.7;16.7 References;277
3.5.8;16.8 Listings;278
3.6;17 The EventManager;286
3.6.1;17.1 Introduction;286
3.6.2;17.2 The Use of Patterns;286
3.6.3;17.3 The Mediator Pattern;288
3.6.4;17.4 The Singleton Pattern;288
3.6.5;17.5 The Design of the EventManager;288
3.6.6;17.6 Using the EventManager;291
3.6.7;17.7 The EventManager in a Graphical Client;291
3.6.8;17.8 Reference;291
3.6.9;17.9 Listings;291
3.7;18 J2EE Patterns;297
3.7.1;18.1 Introduction;297
3.7.2;18.2 What Are J2EE Design Patterns?;297
3.7.3;18.3 A Catalog of J2EE Patterns;298
3.7.4;18.4 The FrontController Pattern;299
3.7.5;18.5 The Request–Event–Dispatcher Pattern;302
3.7.6;18.6 J2EE-based Model–View–Controller;307
3.7.7;18.7 Summary;311
3.7.8;18.8 Further Reading;311
3.7.9;18.9 References;311
3.8;19 The Fault Tracker J2EE Case Study;313
3.8.1;19.1 Introduction;313
3.8.2;19.2 The Fault Tracker Application;313
3.8.3;19.3 Using the Fault Tracker;317
3.8.4;19.4 The Design of the Fault Tracker;321
3.8.5;19.5 Summary and Conclusions;328
4;Part 3 The Unified Process in the RealWorld;330
4.1;20 Are UML Designs Language-Independent?;331
4.1.1;20.1 Introduction;331
4.1.2;20.2 OOD Is Language-Independent – Right?;331
4.1.3;20.3 Making UMLWork for You;332
4.1.4;20.4 Questions to Consider;333
4.1.5;20.5 The Java Platform;333
4.1.6;20.6 Classes in the UML;334
4.1.7;20.7 Fields in the UML;334
4.1.8;20.8 Operations in the UML;335
4.1.9;20.9 Constructors;335
4.1.10;20.10 Packages in the UML;336
4.1.11;20.11 UML Interfaces;338
4.1.12;20.12 Templates;338
4.1.13;20.13 Associations;339
4.1.14;20.14 Multiplicity in the UML;341
4.1.15;20.15 Aggregation and Composition;341
4.1.16;20.16 Singleton Objects;342
4.1.17;20.17 Synchronous and Asynchronous Messages;342
4.1.18;20.18 From Code to the UML;343
4.1.19;20.19 Conclusions;344
4.2;21 Customizing the Unified Process for Short Time-Scale Projects;345
4.2.1;21.1 Introduction;345
4.2.2;21.2 Particular Problems of Small Projects;346
4.2.3;21.3 The Unified Process as a Framework;347
4.2.4;21.4 Adapting the Unified Process for a Small Project;353
4.2.5;21.5 The Modified Unified Process;354
4.2.6;21.6 Summary;356
4.2.7;21.7 Reference;356
4.3;22 Augmenting the Unified Process with Additional Techniques;357
4.3.1;22.1 Introduction;357
4.3.2;22.2 The Unified Process as a Framework;357
4.3.3;22.3 Class Identification;359
4.3.4;22.4 CRC: Class–Responsibility–Collaboration;360
4.3.5;22.5 What Is CRC?;361
4.3.6;22.6 Summary;363
4.3.7;22.7 References;363
4.4;23 Inheritance Considered Harmful!;364
4.4.1;23.1 Introduction;364
4.4.2;23.2 Inheritance;365
4.4.3;23.3 Drawbacks of Inheritance;367
4.4.4;23.4 Balancing Inheritance and Reuse;375
4.4.5;23.5 Compositional Reuse;377
4.4.6;23.6 Promoting Reuse in Object-Oriented Systems;378
4.4.7;23.7 Tool Support;380
4.4.8;23.8 Conclusions;381
4.4.9;23.9 References;381
4.5;24 Incremental Software;383
4.5.1;24.1 The Incremental Software Development Process;383
4.5.2;24.2 Incremental Software Development;384
4.5.3;24.3 Feature-Centric Development;386
4.5.4;24.4 Timeboxing Iterations;387
4.5.5;24.5 Being Adaptive but Managed;387
4.5.6;24.6 Architecture-Centric;390
4.5.7;24.7 Performance Measurements and Reporting;392
4.5.8;24.8 References;394
4.6;25 Agile Modeling;395
4.6.1;25.1 Introduction;395
4.6.2;25.2 ModellingMisconceptions;396
4.6.3;25.3 TheManifesto for Agile Modeling;399
4.6.4;25.4 Agile Modeling;401
4.6.5;25.5 Agile Modeling and the Unified Process;406
4.6.6;25.6 Agile Modelling and Documentation;408
4.6.7;25.7 ToolMisconceptions;409
4.6.8;25.8 Summary;410
4.6.9;25.9 References;410
4.6.10;25.10 Online References;410
5;Appendix A UML Notation;411
5.1;A.1 The UML Notation;411
5.2;A.2 Use Case Diagrams;412
5.3;A.3 Collaboration Diagrams;412
5.4;A.4 Class Diagrams;412
5.5;A.5 Activity Diagrams;415
5.6;A.6 Sequence Diagrams;416
5.7;A.7 Statechart Diagrams;416
5.8;A.8 Component and Deployment Diagrams;417
5.9;A.9 Reference;417
6;Index;418
7;More eBooks at www.ciando.com;0



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.