| |
| |
Acknowledgements | |
| |
| |
About the Authors | |
| |
| |
| |
Introduction to Modeling Java with the UML | |
| |
| |
What Is Modeling? | |
| |
| |
UML | |
| |
| |
Modeling Software Systems with the UML | |
| |
| |
Modeling Process | |
| |
| |
What's on the Web Site | |
| |
| |
The Next Step | |
| |
| |
| |
Gathering Requirements with UML | |
| |
| |
Are You Ready? | |
| |
| |
What Are Good Requirements? | |
| |
| |
Guidelines for Gathering Requirements | |
| |
| |
How to Detect Poor Requirements | |
| |
| |
The Next Step | |
| |
| |
| |
Gathering Requirements for the Timecard Application | |
| |
| |
Listen to the Stakeholders | |
| |
| |
Build a Use Case Diagram | |
| |
| |
Describe the Details | |
| |
| |
Gathering More Requirements | |
| |
| |
Revising the Use Case Model | |
| |
| |
The Next Step | |
| |
| |
| |
A Brief Introduction to Object-Oriented Analysis with the UML | |
| |
| |
Are You Ready? | |
| |
| |
What Is Object-Oriented Analysis? | |
| |
| |
Discover Candidate Objects | |
| |
| |
Describe Behavior | |
| |
| |
Describe the Classes | |
| |
| |
The Next Step | |
| |
| |
| |
Analysis Model for the Timecard Application | |
| |
| |
Prioritizing the Use Cases | |
| |
| |
Discover Candidate Objects | |
| |
| |
Describe Object Interactions | |
| |
| |
Describe Classes | |
| |
| |
The Next Step | |
| |
| |
| |
Describing the System for Technology Selection | |
| |
| |
Are You Ready | |
| |
| |
Group the Analysis Classes | |
| |
| |
Describe Each Group | |
| |
| |
Technology Requirements for the Timecard Application | |
| |
| |
The Next Step | |
| |
| |
| |
Evaluating Candidate Technologies for Shared Services | |
| |
| |
Technology Template | |
| |
| |
Java Logging Classes | |
| |
| |
Application Exceptions | |
| |
| |
Data Protection with the Java Cryptography Extension (JCE) | |
| |
| |
Secure Communications with the Java Secure Socket Extension (JSSE) | |
| |
| |
Java Management Extensions API--JMX 1.2 | |
| |
| |
Conclusion | |
| |
| |
The Next Step | |
| |
| |
| |
HTML Production | |
| |
| |
Design Goals | |
| |
| |
Design to Goals | |
| |
| |
Implementation | |
| |
| |
Strengths | |
| |
| |
Weaknesses | |
| |
| |
Compatible Technologies | |
| |
| |
Cost of Adoption | |
| |
| |
Suitability | |
| |
| |
The Next Step | |
| |
| |
| |
Evaluating Candidate Technologies for Use Interface Classes | |
| |
| |
Swing | |
| |
| |
Java Servlets | |
| |
| |
JavaServer Pages | |
| |
| |
JavaServer Pages and Servlets | |
| |
| |
Technology Selections for the Timecard System | |
| |
| |
Conclusion | |
| |
| |
The Next Step | |
| |
| |
| |
Evaluating Candidate Technologies for the System Interface | |
| |
| |
XML | |
| |
| |
SAX | |
| |
| |
DOM | |
| |
| |
JMS | |
| |
| |
Conclusion | |
| |
| |
The Next Step | |
| |
| |
| |
Evaluating Web Service Technologies for the System Interface | |
| |
| |
Demystifying Web Services | |
| |
| |
Web Services in Java | |
| |
| |
Conclusion | |
| |
| |
The Next Step | |
| |
| |
| |
Evaluating Candidate Technologies for Control and Entity Classes | |
| |
| |
RMI | |
| |
| |
JDBC | |
| |
| |
EJB 2.0 | |
| |
| |
Sample Technology Selection | |
| |
| |
Conclusion | |
| |
| |
The Next Step | |
| |
| |
| |
Software Architecture | |
| |
| |
Are You Ready? | |
| |
| |
Goals for Software Architecture | |
| |
| |
UML and Architecture | |
| |
| |
Guidelines for Software Architecture | |
| |
| |
Creating a Software Architecture | |
| |
| |
Sample Architecture for the Timecard System | |
| |
| |
The Next Step | |
| |
| |
| |
Introduction to Design | |
| |
| |
What Is Design? | |
| |
| |
Are You Ready? | |
| |
| |
The Need for Design | |
| |
| |
Design Patterns | |
| |
| |
Planning for Design | |
| |
| |
Designing Packages or Subsystems | |
| |
| |
Design Efforts for the Timecard Application | |
| |
| |
The Next Step | |
| |
| |
| |
Design for the TimecardDomain and TimecardWorkflow | |
| |
| |
Establish Goals for the Effort | |
| |
| |
Review Prior Steps | |
| |
| |
Design for Goals | |
| |
| |
Apply Design for Each Use Case | |
| |
| |
Evaluate the Design | |
| |
| |
Implementation | |
| |
| |
The Next Step | |
| |
| |
| |
Design for the TimecardUI Package | |
| |
| |
Establish Design Goals | |
| |
| |
Review Prior Steps | |
| |
| |
Design to Goals | |
| |
| |
Design for Each Use Case | |
| |
| |
Implementation | |
| |
| |
The Next Step | |
| |
| |
| |
Design for the BillingSystemInterface | |
| |
| |
Identify Goals | |
| |
| |
Review of Analysis Model | |
| |
| |
Review of Architecture | |
| |
| |
Design | |
| |
| |
Conclusion | |
| |
| |
| |
The Web Site | |
| |
| |
Hardware Requirements | |
| |
| |
User Assistance and Information | |
| |
| |
| |
Additional Resources | |
| |
| |
Object-Oriented Analysis and Design | |
| |
| |
Patterns | |
| |
| |
Software Development Process | |
| |
| |
XML | |
| |
| |
Java | |
| |
| |
Index | |