doc: add plantdb erm & update class diagram draft

This commit is contained in:
DavidRavine 2022-10-09 10:27:40 +02:00
parent 758b1bb07c
commit e468f4680a
2 changed files with 63 additions and 9 deletions

View File

@ -1,19 +1,62 @@
<diagram program="umletino" version="15.0.0"><zoom_level>10</zoom_level><element><id>UMLClass</id><coordinates><x>630</x><y>120</y><w>100</w><h>30</h></coordinates><panel_attributes>Main</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>980</x><y>310</y><w>240</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Interface&gt;&gt; <diagram program="umletino" version="15.0.0"><zoom_level>10</zoom_level><element><id>UMLClass</id><coordinates><x>570</x><y>175</y><w>100</w><h>30</h></coordinates><panel_attributes>Main</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>920</x><y>365</y><w>300</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Interface&gt;&gt;
PlantDatabase PlantDatabase
-- --
+ getPlantList: List&lt;Plant&gt;</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>820</x><y>590</y><w>220</w><h>50</h></coordinates><panel_attributes>TaskListController</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1020</x><y>100</y><w>210</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Record&gt;&gt; + getPlantList(zone: HardinessZone): List&lt;Plant&gt;</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>760</x><y>645</y><w>220</w><h>50</h></coordinates><panel_attributes>TaskListController</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>970</x><y>85</y><w>210</w><h>130</h></coordinates><panel_attributes>&lt;&lt;Record&gt;&gt;
Plant Plant
-- --
+ name (readonly) + id: long
+ description (readonly) + name: String
+ spacing (readonly)</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1060</x><y>590</y><w>160</w><h>50</h></coordinates><panel_attributes>TaskListModel</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>510</x><y>570</y><w>180</w><h>70</h></coordinates><panel_attributes>PlantListModel</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>290</x><y>570</y><w>180</w><h>80</h></coordinates><panel_attributes>PlantListController</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>300</x><y>170</y><w>100</w><h>30</h></coordinates><panel_attributes>Task</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>300</x><y>360</y><w>240</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Interface&gt;&gt; + description: String
+ spacing: ?
+ lifecycle: Lifecycle
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1020</x><y>645</y><w>160</w><h>50</h></coordinates><panel_attributes>TaskListModel</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>450</x><y>625</y><w>180</w><h>70</h></coordinates><panel_attributes>PlantListModel</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>230</x><y>625</y><w>180</w><h>80</h></coordinates><panel_attributes>PlantListController</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1300</x><y>825</y><w>380</w><h>230</h></coordinates><panel_attributes>Task
--
+ id: long
+ name: String {readOnly}
+ description: String {readOnly}
+ startDate: Date {readOnly}
- interval: int
- endDate: Date
--
+ Task(name: String, description: String, startDate: String): Task
+ withInterval(interval: int): Task
+ withEndDate(endDate: Date): Task
+ withId(id: long): Task
--
+ getInterval(): Optional&lt;int&gt;
+ getEndDate(): Optional&lt;Date&gt;</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>960</x><y>825</y><w>280</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Interface&gt;&gt;
TaskDatabase TaskDatabase
-- --
+ getTaskList: List&lt;Task&gt; + getTaskList(start: Date, end: Date): List&lt;Task&gt;
+ saveTask(Task task): void + saveTask(Task task): void
+ removeTask(Task task): boolean</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>560</x><y>210</y><w>100</w><h>100</h></coordinates><panel_attributes>MainWindow</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>690</x><y>230</y><w>180</w><h>130</h></coordinates><panel_attributes>MainWindowController</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>600</x><y>420</y><w>210</w><h>70</h></coordinates><panel_attributes>NotificationService</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>990</x><y>680</y><w>240</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Interface&gt;&gt; + removeTask(Task task): boolean</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>500</x><y>265</y><w>100</w><h>100</h></coordinates><panel_attributes>MainWindow</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>630</x><y>285</y><w>180</w><h>130</h></coordinates><panel_attributes>MainWindowController</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>540</x><y>475</y><w>210</w><h>70</h></coordinates><panel_attributes>NotificationService</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1690</x><y>565</y><w>240</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Interface&gt;&gt;
WeatherService WeatherService
-- --
+ getWeatherForecast: WeatherForecast</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>700</x><y>680</y><w>230</w><h>100</h></coordinates><panel_attributes>WeatherForecast + getWeatherForecast: WeatherForecast</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1410</x><y>445</y><w>230</w><h>100</h></coordinates><panel_attributes>WeatherForecast
-- --
- updateTasks</panel_attributes><additional_attributes></additional_attributes></element></diagram> - updateTasks</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1380</x><y>45</y><w>260</w><h>240</h></coordinates><panel_attributes>Lifecycle
--
- sowStart: Date {final}
- sowEnd: Date {final}
- plantStart: Date {final}
- plantEnd: Date {final}
- harvestStart: Date {final}
- harvestEnd: Date {final}
--
+ Lifecylcle(sowStart: Date, sowEnd: Date, plantStart: Date, plantEnd: Date, harvestStart: )
+ getSowStart(): Optional&lt;Date&gt;
+ getSowEnd(): Optional&lt;Date&gt;
+ getPlantStart(): Optional&lt;Date&gt;
+ getPlantEnd(): Optional&lt;Date&gt;
+ getHarvestStart(): Optional&lt;Date&gt;
+ getHarvestEnd(): Optional&lt;Date&gt;
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1170</x><y>115</y><w>230</w><h>60</h></coordinates><panel_attributes>lt=&lt;-&gt;&gt;&gt;&gt;&gt;</panel_attributes><additional_attributes>210;10;10;40</additional_attributes></element><element><id>Text</id><coordinates><x>230</x><y>65</y><w>190</w><h>70</h></coordinates><panel_attributes>Note:
--
{final, readOnly} omitted on public data fields in &lt;&lt;Record&gt;&gt; Entities for clarity
style=wordwrap</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1230</x><y>885</y><w>90</w><h>30</h></coordinates><panel_attributes>lt=&lt;.</panel_attributes><additional_attributes>70;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1090</x><y>685</y><w>30</w><h>160</h></coordinates><panel_attributes>lt=&lt;.</panel_attributes><additional_attributes>10;140;10;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>410</x><y>785</y><w>210</w><h>120</h></coordinates><panel_attributes>&lt;&lt;Record&gt;&gt;
UserPlanting
--
+ plantId: long
+ isSown: boolean
+ startDate: Date
+ area: int</panel_attributes><additional_attributes></additional_attributes></element></diagram>

11
doc/plant_db-erm.uxf Normal file

File diff suppressed because one or more lines are too long