Week 6: Gathering Old Resources

The last week before the end of the quarter meant that we had to wrap up everything that we have worked on so far (by starting to draft our paper) and plan for the next quarter.

UML Diagram for RANKit

The project follows the Model, View, and Controller pattern. The View portion of the tool consists of the JavaScript frontend, responsible for visualizing rankings and incorporating user defined preferences, such as pairwise comparisons for the Build Tool. The Controller, written in Python, enables communication between the frontend and the backend. It is responsible for allowing users to access all tools, such as informing the Build component of new pairwise rankings computed by the user.

RankToolFactory establishes a level of abstraction between each tool, such that the addition of a new tool can be completed without changing the existing architecture. Therefore, the job of the RankToolFactory is to return the appropriate tool that the user requests, giving responsibility of the RankTool interface to call the same functions that varies in behavior.

Build Tool (MyRanker)

UML Diagram

The Listener class is an abstraction provided by the RankToolFactory. It establishes communication between the Controller portion and the specific tool itself. There are two main functions of this abstraction tool: listening to incoming calls from the controller and sending processed rankings up to the controller.

There are three main components of a RankingAlgorithm tool: datasets, parsing of user given seeds, and the algorithm itself. The seed data received from the user might not always be complete to compute analysis on. Therefore, there exists a connection with the Data portion which is responsible for holding all information on objects and the values of each attribute. The Ranker class would be responsible for merging the seed received from the user and connecting it to the vast information the Data class possesses. The algorithm is responsible for establishing a rank from the available data derived from both the Data class and the user seed.

Page Layout 


Popular posts from this blog

Week 10: Cleaning the UI

Week 14: Rebuilding the UI

Week 1: Initial Planning