Hi,
This is a brief description of my submission:
Diagrams:
- 1 Class Diagram: An extension of BDOM, containing 22 classes, more or less... Technology-independent, not including attributes or methods for business objects, but including navigability, cardinality, type (association, composition, ...) and a descriptive label for each relationship.
- 1 Component Diagram: Containing 40 components, more or less, I used
J2EE stereotypes (like
Servlet,
JSP,...) but I didn't use any package. The diagram is organized from left (view components for both client types) to right (external systems, stereotyped as subsystems). To make easy the understanding of the diagram, for some type of components (view components, or components following a well-known
pattern like Transfer Object, ...), instead of showing each one of this components in the diagram, I included a generic component and a note enumerating the represented concrete components.
- 7 Sequence Diagrams: 1 diagram explaining how works the Swing Client, 1 diagram explaining how works the Web Client, and 5 diagrams related to use cases, focused on business tier components. These 5 diagrams are independent of the client type used (Swing or Web), that are represented under a generic concept of MVC Client.
Documentation:
- Assumptions List: It contains only functional assumptions, grouped by Use Cases.
- Application Design: It contains the following sections:
- Design Goals: To Address functional,technical and QoS requirements, to support both web clients and application clients, ...
- Application Modules: A brief description of the application modules from a functional point of view (Customer Module, Signon module,...)
- Application Tiers: For each application tier (Client Tier, Web Tier, EJB Tier), a brief description for all the included components.
- Design Choices And Decisions: Distributed Architecture vs. Local Architecture, how the security is handled, how the user session state is maintained, how the integration with the legacy systems is handled,...
- List of J2EE Patterns used: Front Controller, Session Facade,
I used Together as UML Tool, and Open Office to write all the documentation and export it to HTML format. I used a lot the book "Core J2EE Patterns 2nd Edition", and occasionally the book "Designing Enterprise Applications with the J2EE Platform".
Also, when I had a doubt about how to treat a concrete aspect of the assignment, I used the Search feature of this forum to locate old topics talking about it. Contrasting my opinion with another points of view has been very helpful to me. I think there are some very interesting "classic" topics (like "to save or not to save unpaid itineraries", "how to connect to FFS System", "Segment and Flight", "Connect Swing client to web application or directly to EJB tier",...).
I hope that will help you,
Tomas