Reference no: EM132294062
Assignment: UML diagrams to illustrate the system architecture
Purpose of the assessment
This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements in them.
c. Analyse and model system functionality and behaviour.
d. Compare and contrast different approaches to system analysis and design, such as object-oriented, agile, and service oriented techniques
e. Analyse and model the functional and non-functional requirements of a software system
f. Design and deploy functional solutions, such as initiating, analysing and implementing system plans
Assignment Specifications
The student must design structural and behavioural UML diagrams for distributed system for an application such as multi-player game or a collaboration tool or a transaction system.
Structural UML diagram must be a class diagram while behavioural diagram can be an activity, sequence and use case diagram. The user interfaces will have to consider interactions between multiple users.
Requirements:
• 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 one that supports users logging on, adding or removing clients or servers, and other housekeeping tasks.
• The system must be robust i.e.
- The system should be able to continue operation even if 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 increase scalability, security and QoS.
Some of the application Ideas are as follows but arenot limited to.
The following list of projects is intended to spark your imagination. Feel free to come up with something totally different. 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.
Attachment:- UML diagrams to illustrate the system architecture.rar