Reference no: EM132294398
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 must support multiple, autonomous agents (either human or automated) contending for shared resources and performing real-time updates to some form of shared state.
• The state of the system should be distributed across multiple client or server nodes. - The only centralized service should be one that supports users logging on, adding or removing clients or servers, and other housekeeping tasks.
• The system should be robust
- 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 operation.
Since it is difficult to predict just how hard designing a new system will be, you should formulate as a set of "tiers," where the basic tier is something you're sure you can complete, and the additional tiers add more features, at both the application and the 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.
Attachment:- System Architech Assignment.rar