CSCI 578 Software Architectures Spring 2024 Homework Assignment 2 Due Wednesday February 28 2024 see D2L for submission details For this assignment you will provide 1 a detailed set of functional and non functional requirements as well as 2 a preliminary architectural model of PAndemic TRacking OnLine PATROL a mobile app that is intended to aggregate information about an on going pandemic from different sources and provide it to its user in a timely manner For example one possible scenario in which PATROL can be applied is to use the geo tagged Tweets on X to derive intelligence about how crowded a particular location is In that case an outline of the new solution that you propose could look as follows CrowdLoc PATROL How crowded is a particular location Today there are dozens of social media platforms that allow users to check in in the particular location e g geo tagged Tweets on X By collecting the number of social media posts about the particular location over time we can deduct how crowded that location is currently The requirements of the system are as follows Backend 1 Data collection should be done from at least three different social media platforms Also it should be developed in a way that any of the initial social media platform data collectors can be changed or new ones added For example the initial three platforms are Facebook Instagram and Snapchat but at a future time Twitter may be added or Facebook replaced with it 2 The following functionalities should be supported a Depict how crowded a particular location is currently b Plot how crowded a location was in the last N days c Predict how crowded a location is going to be in the next N hours Location may be given longitude The solution must support confidentiality such that it is not possible to identify any single individual from the aggregated data latitude and in Frontend 1 Users should be able to get the information from the backend through a User friendly GUI solution which is platform independent b If a user is a developer who wants to embed the given information into their solution they will be provided an API in support of that 1 Note that the above description is deliberately incomplete It is intended only as an illustration which you may choose to use as a starting point for your project A range of additional reasonable requirements are possible that would add meaningful capabilities to CrowdLoc PATROL For example you may rely on a mobile device s sensors to compute the density and or proximity of other humans in a given area correlate that with public data about infection rates and estimate the likelihood that the device s owner was exposed to the virus Further you are not required to use the CrowdLoc PATROL scenario given as an example above You are welcome to research other crisis management systems that exist online e g see https tinyurl com crisisinformatics as well as the multitude of COVID specific solutions e g see https www forbes com sites zakdoffman 2020 06 27 covid 19 phone tracking apps this is what youre not being told 3c7da08e2970 Assignment You are expected to provide a complete set of functional and non functional requirements for your PATROL app Note that your app must have both a frontend running on a mobile device and a backend running on servers data stores or possibly peer devices You may rely on any online source to derive the requirements but you must document those sources You are required to come up with an architectural model for your PATROL app The model must be in UML and it must be developed using a UML tool e g https creately com lp uml diagram tool The model must satisfy all of your requirements Use as many of the UML diagrams as needed to describe your architecture You are allowed to select any architectural style s and or pattern s that are suitable for your app In this assignment you are not required to account for the architectural decisions a given mobile platform e g Android will induce in your solution This assignment will form the foundation on which your HW 3 you will be given further requirements and instructions for you to update your architecture based upon and the collaborative design and implementation exercise a part of the team project will be based Grading Criteria You will be graded on the following general criteria 1 Completeness of your requirements 2 Creativity of your app 3 Completeness of your architectural model 4 Correct use of UML 2
View Full Document