This file contains all the diagrams presenting the general functioning of the application
-
Global class diagram (simplified)
This is a class diagram to describe interactions between each package of the projet-apartments. More details regarding the classes and methods interactions are available in the diagram-class-global-detailed
.
-
Global class diagram (detailed)
-
Plot class package diagram
This class diagram gives a representation of the java implementation of the plot package
and its SpiderPlot
class. There are details about CategoryDataset interface and the JFreechart class to have a better overall understanding.
-
Global use case diagram
-
Orange bubbles mean this is yet to be implemented.
Tenant has two main interactions. Firstly, Tenant must set his preferences in order to get an ordered list of apartments. Based on the foregoing, he can compare two apartments using the SpiderPlot. Secondly, Tenant can generate global database statistics.
A XOR constraint is implemented with the Generate database statistics. It means that this use case is used ONLY by one person at the time.
-
Diagram Sequence Value Function
The goal of this sequence diagram is to show that the tenant has the possibility to ask some new questions in order to get a more refined list of apartments.
List of classes/methods that will be implemented in java :
Orchestrator class
and its methods : showAOFU()
, showLAG()
,moreQuestionsClick()
,addAnswerClick()
, finishButtonClick()
and chooseApartmentClick()
.
AOFU methods : askMoreQuestion()
and adaptAVF()
.
LAG method : updateAVF()
.
Some details on these class and methods are available below.
Orchestrator
class : as its name shows, this class will be used to orchestrate the showing of the AOFU and LAG screen.
If the tenant wants to refine his search, he can click on the button askMoreQuestions
that will push the Orchestrator to call the moreQuestionsClick()
method that will display a new question.
Then, when the tenant answer to the question, Orchestrator will use adaptAVF()
method in order to recalculate the AVF of the apartments.
Afterwards, when the tenant click’s on the finish
button, the Orchestrator calls the showLAG()
to use its methods which are able to sort the list and display it.
askMoreQuestions()
and adaptAVF()
methods : they’re not already implemented in AskOpinionForUtility
.
The former will check if there are available questions and if yes, display one to the tenant (we didn’t determind yet how is chosen the question).
The latter method takes as parameters an avf and a criterion list. It will enable to recalculate avf apartments according to the given parameters.
Once the tenant gets a new sorted list of apartments, if he’s satisfied, he has the opportunity to select an apartment, otherwise, he isn’t blocked and is free to do what he wants.
-
Diagram sequence SpiderPlot
The purpose of this sequence diagram is to show that the tenant has the possibility to select 2 apartments in order to compare them thanks to a spiderplot.
Once the tenant has selected 2 apartments on the list displayed by the Orchestrator
, he can push a compare button that will generate a SpiderPlot
thanks to the dedicated class and display it on the LayoutApartmentGUI
via the Orchestrator
.
Class unimplemented yet :
-
Orchestrator
: see more details above. -
SpiderPlot
: allows to generate a SpiderPlot that compare 2 apartments according to theirAVF
for each criterion.