Fill This Form To Receive Instant Help
Homework answers / question archive / Assignment 4 Description A company has two systems to access customer data
Assignment 4
A company has two systems to access customer data. One is the new developed system and the other one is the old legacy system.
The old system accesses the customer data using USB connection to get the customer data from some binary files stored on external disk.
The new system accesses the customer data using REST API over HTTPS connection to an external server.
You can consider that the two systems have the following APIs.
interface CustomerData {
void printCustomer(CustomerID id);
void getCustomer_withUSBConnect(CustomerID id);
}
The new system has the following API to access customer data using customer ids
interface CustomerDataOverHttps {
void printCustomer(CustomerID id);
void getCustomer_withUSBConnect(CustomerID id);
}
You task is to implement a software system that can allow the interface of the old system to be used as the new interface and is able to convert these two interfaces.
Your implementation should include the following functionalities:
Note: In this assignment, you should apply “at least one correct” of the design patterns out of Observer Pattern, Strategy Pattern, Factory Method Pattern, Abstract Factory Method Pattern, Singleton Pattern, Decorator Pattern, State Pattern, Façade Pattern, Adaptor Pattern, Proxy Pattern, Composite Pattern, Command Pattern, Mediator Pattern.
We do not mention which one of the design patterns is suitable for this scenario. This would be your task as a software engineer to find it out.
Note: The given application scenario can be implemented in different ways and with different implementation details. There is not only one single correct design and implementation for the above application scenario. Each software developer might consider different assumptions and design the software based on them. In this assignment you are free to have your own detail assumptions and implement the details in your own way based on your own ideas. You should document your assumptions very well in your README.md file of your project and consider them in your UML diagrams.
Provide a description of how you would implement this application considering software design principles. Describe what are your main software design concepts regarding this application.
For example, Describe in detail:
In case that you have used any design patterns, describe which design pattern you have applied and why.
Write your description in a README.md file, use Markdown format https://spec. commonmark.org/current/ and add the README.md file to the root folder of your project.
We recommend writing this description after you finished the other tasks in this assignment.
Create a class model for your application, containing 5-8 of the most important classes. It should encompass the functionality of the use case application described above. Show only non-obvious and key methods.
The zip file should include a README.md file that describes how to compile and run your implementation. Create a Zip file from the root of your working directory so that it includes all subdirectories of your project. Remove the binary files before creating the zip files.
Already member? Sign In