MN611 | UML Diagrams to Illustrate the System Architecture | Management
Assignment 1 Specifications :
The student must design structural and behavioral UML diagrams for a distributed system for an application such as a multi-player game, a collaboration tool or a transaction system. MN611 UML Diagrams to Illustrate the System Architecture Management.
Structural UML diagram must include class diagram while behavioral diagram can include activity, sequence and use case diagram. The user interfaces must consider interactions between multiple users.
MN611 UML Diagrams to Illustrate the System Architecture Management
• The system is required to support multiple, autonomous agents (either human or automated) contending for shared resources and performing real-time updates to a form of shared state.
• The state of the system is distributed across multiple client or server nodes. – The only centralized service is the one that supports user login, adding or removing the clients or the servers, and other housekeeping tasks.
• The system must be robust i.e.
– The system should be able to continue operation even when one of the participant nodes crashes.
– It should be possible to recover the state of a node following a crash so that it can resume its operation.
Since it is difficult to predict how hard designing a new system would be, you may formulate it as a set of “tiers”. The basic tier is fairly easy to complete but for the additional tiers, add more features at both application and system level. For example, your system enhancements could include increasing the level of fault tolerance, decreasing the time to recovery, or adding features to improve scalability, security, and QoS.
Some of the application Ideas are as follows but are not limited to.
The following list of projects is intended to spark your imagination. Feel free to come up with something totally different within the boundary of the scope. Contact the lecturer if you are uncertain of the suitability of your ideas.
1. Shared document editing, in the style of Google docs. The system should support real-time editing and viewing by multiple participants. Multiple replicas would be maintained for fault tolerance. Caching and/or copy migration would be useful to minimize application response time.
2. A simulated life game, in the style of The Sims or Farmville. The state of the system would be partitioned spatially, with replication for fault tolerance.
3. A multi-player real-time game, based on shooting, hunting for treasure, etc. There are many possibilities here.
4. An airline reservation system. Each airline would maintain its own collection of servers, with enough state replication to enable automatic fail-over. It would be possible to book travel that involves multiple airlines.
During 6th week lab, students should submit and explain the proposal.
This should include:
• A description of the application.
• The overall structure of the implementation.
• How you intend to implement your system as a series of tiers.
• A schedule for how you plan to carry your design and implementation.