Aiuto programmazione software

Violetta94

Nuovo Utente
2
0
Salve a tutti! Sono una studentessa all'ultimo anno di architettura, e per la tesi ho bisogno di realizzare un software, relativamente semplice, per la progettazione del verde.
Dovrei creare un database con un elenco di specie vegetali, delle schede insomma, ognuna con caratteristiche come colore, fioritura, stagionalità, tipo di radici, ecc.ecc... Applicando dei filtri, proprio come usano molti siti per lo shopping online, vorrei che comparissero solo le specie vegetali che corrispondessero a tali filtri.
Ad esempio: per questa parte del progetto vorrei una pianta sui toni del rosso, che fiorisca in primavera, sempreverde, con un apparato radicale contenuto. Seleziono questi come filtri e mi compaiono, tra tutte le specie del database, solo quelle che corrispondono alle caratteristiche selezionate.
Il problema è che pur avendo chiara l'idea di partenza, questo sarebbe il mio primo approccio alla programmazione. Non so quale linguaggio sia più conveniente usare. Java? O posso appoggiarmi a dei programmi che rendano il tutto alla portata di una principiante come me? Per favore, datemi tutti i consigli che potete, anche step by step!! Grazie
icon_rolleyes.gif
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,407
11,485
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
ciao
in primis occorre creare il database, per poter fare un applicativo del genere occorre un database di dati.
Poi si può usare la classica app web(sito + framework vari per fare ciò che necessiti).
Quindi devi creare una struttura HTML + PHP + CSS + JAVASCRIPT.
 
  • Mi piace
Reazioni: Violetta94

enricovela

Utente Attivo
443
124
CPU
Ryzen 3600
Dissipatore
Thermaltake Water 3.0 240
Scheda Madre
MSI Gaming plus max x470
HDD
970 evo plus;Crucial MX500 1TB; GIGABYTE M.2 PCIe SSD; p300
RAM
16 GB @3000 MHz
GPU
quadro fx 3800
Audio
Audioengine D1
Monitor
LG 32QK500
PSU
Straight power 11 650 W
Case
Cooler Master MB510L
Net
FTTH Tim
OS
Pop!_OS
Lascerei stare java. La cosa si può fare in maniera meno complicata rispetto a quello che ti è stato già detto. A discapito dell'interfaccia grafica che comunque per quello che hai richiesto potrebbe non essere necessaria. L'importante è che il programma ti restituisca le piante che soddisfano i criteri di ricerca. Giusto?

Io ti consiglio di prendere dimestichezza con python ed in particolare usandolo con gli array. Poi se le specie da inglobare nel programma sono molte, si può sostituire l'array con un file .csv

Questo è un esempio, funzionate. Database di due specie con ricerca rispetto ad un filtro. Con un po' di studio non dovresti avere fatica ad aggiungere la selezione su più filtri e più specie

Python:
fiori = [["rosa","rosso","estate"],["giuda","bianco","primavera"]]

label = ["nome","colore","fioritura"]

condizione_necessaria = ["colore","rosso"]

for i in range(2):

    if (condizione_necessaria[1] == fiori[i][label.index(condizione_necessaria[0])]):

        print fiori[i][0]
       
>>> rosa
 
  • Mi piace
Reazioni: Violetta94

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Ma deve essere necessariamente un software perchè è un requisito della tesi o è uno strumento accessorio? Che livello di interattività deve avere?
Potrebbe essere sufficiente una tabella Excel filtrata (che di fatto permette di fare quello che dici in automatico)?
Se invece vuoi proprio scrivere del codice, sostengo l'ipotesi di @enricovela con python, con libreria pandas per importare dati tabellari e gestire più agilmente i filtri. Magari poi anche un frontend web con Flask. Penso che in un centinaio di righe si faccia... senza database ne' particolari competenze informatiche (ovviamente un minimo di html per il frontend è richiesto...)
 
Ultima modifica:
  • Mi piace
Reazioni: Violetta94

Violetta94

Nuovo Utente
2
0
Allora... innanzitutto grazie a tutti per le risposte. Avevo pensato ad un software perché la mia idea di partenza era quella di creare un programma con un layout simile a quello dell'allegato, e per quello di certo non mi sarebbe bastato excel. Nella domanda non ero entrata nello specifico ma si tratta di pareti verdi, ovvero pareti con della vegetazione di molte specie diverse disposte "a zone", e per la progettazione della quale è spesso complicato scegliere le giuste specie vegetali. Il mio, con l'applicazione dei filtri, vorrebbe essere un sistema molto semplice ma utile per razionalizzare il tutto. Detto questo, mi rendevo conto che non avendo alcuna esperienza di programmazione farlo sarebbe stato complicato. Vorrei ottenere qualcosa che assomigliasse anche solo parzialmente a quella che avevo disegnato, la mia idea di partenza, e che però non richiedesse uno sforzo eccessivo nello studio del programma. Alcuni mi hanno sconsigliato Python perché troppo complicato, e mi hanno detto di provare direttamente con Access. Secondo voi arrivarei ad un risultato soddisfacente?
 

Allegati

  • IMG_3082.jpg
    IMG_3082.jpg
    83.4 KB · Visualizzazioni: 133

Skills07

Head of Development
Staff Forum
Utente Èlite
35,407
11,485
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
access lo puoi usare come DB diciamo, ma la parte grafica la devi fare comunque lato web
 
  • Mi piace
Reazioni: Violetta94

enricovela

Utente Attivo
443
124
CPU
Ryzen 3600
Dissipatore
Thermaltake Water 3.0 240
Scheda Madre
MSI Gaming plus max x470
HDD
970 evo plus;Crucial MX500 1TB; GIGABYTE M.2 PCIe SSD; p300
RAM
16 GB @3000 MHz
GPU
quadro fx 3800
Audio
Audioengine D1
Monitor
LG 32QK500
PSU
Straight power 11 650 W
Case
Cooler Master MB510L
Net
FTTH Tim
OS
Pop!_OS
Allora... innanzitutto grazie a tutti per le risposte. Avevo pensato ad un software perché la mia idea di partenza era quella di creare un programma con un layout simile a quello dell'allegato, e per quello di certo non mi sarebbe bastato excel.

Non sottovalutare excel. Si possono fare un sacco di cose. Su un foglio fai l'interfaccia del programmino, su di un'altra usi righe e colonne per raccogliere i dati. Ecco un esempio, giusto per dare un'idea del fatto che excel non è solo righe e colonne. A saperlo usare. Io non sono molto pratico di excel ma magari @1nd33d può darti una mano.
Schermata 2018-05-15 alle 16.29.05.png


Nella domanda non ero entrata nello specifico ma si tratta di pareti verdi, ovvero pareti con della vegetazione di molte specie diverse disposte "a zone", e per la progettazione della quale è spesso complicato scegliere le giuste specie vegetali. Il mio, con l'applicazione dei filtri, vorrebbe essere un sistema molto semplice ma utile per razionalizzare il tutto. Detto questo, mi rendevo conto che non avendo alcuna esperienza di programmazione farlo sarebbe stato complicato. Vorrei ottenere qualcosa che assomigliasse anche solo parzialmente a quella che avevo disegnato, la mia idea di partenza, e che però non richiedesse uno sforzo eccessivo nello studio del programma.

Ma devi per forza averlo fatto tu? O ti basta progettare questa parete in base a dei criteri? Perchè se bastasse la progettazione della parete, io ho trovato questo: https://garden.org/plants/search/advanced.php , sicuramente si trova anche altro in giro

Alcuni mi hanno sconsigliato Python perché troppo complicato, e mi hanno detto di provare direttamente con Access. Secondo voi arrivarei ad un risultato soddisfacente?

Premetto che non uso office dall'inizio delle scuole superiori. Ma secondo me, se devi sbattere la testa su qualcosa meglio farlo su un linguaggio vero che su un programma del pacchetto office. Sicuramente avrai sviluppato alla fine delle competenze più versatili per soluzioni a problemi futuri.


In fine, se proprio lo devi fare tu, senza pacchetto office ma con un linguaggio vero e proprio. Direi di togliere di mezzo il front web e scrivere una semplice GUI con tkinter. Ci sono molti widget già scritti, che ti consentono di dare interfaccia grafica con il solo python senza tirare in ballo l'html.
 
  • Mi piace
Reazioni: Violetta94

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Intanto non credo che sia questo il caso di mettersi a scrivere codice, specie se si è alle prime armi. Pensare di mettersi ad imparare Java o python (addirittura tkinter.. per carità!!! Ma come si può consigliare una cosa del genere a un neofita?!?) per una necessità come questa mi sembra un errore grossolano. Se fossi il tuo relatore direi che sei del tutto fuori strada, stai studiando architettura e progettazione del verde, non informatica! Se tu fossi un professionista (dell'architettura intendo) ti rivolgersi ad uno specialista, non svilupperemo da sola un codice software! (Lo dico perché faccio queste cose per lavoro proprio anche in questo settore).

Tu non hai alba di cosa sia un database, vorresti imparare a programmare?.. il problema del filtrare dei dati è semplicissimo e si può fare in moltissimi modi. Ma ciò spero che non sia il focus della tesi.. perciò cerchiamo di essere chiari su cosa si deve realmente fare prima di dire che si vuole fare un'applicazione software.

l'idea di usare MySQL con interfaccia web mi sembra la più intelligente, più facile da implementare e più utile sia didatticamente sia come possibilità di applicazione.

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
  • Mi piace
Reazioni: Andretti60

enricovela

Utente Attivo
443
124
CPU
Ryzen 3600
Dissipatore
Thermaltake Water 3.0 240
Scheda Madre
MSI Gaming plus max x470
HDD
970 evo plus;Crucial MX500 1TB; GIGABYTE M.2 PCIe SSD; p300
RAM
16 GB @3000 MHz
GPU
quadro fx 3800
Audio
Audioengine D1
Monitor
LG 32QK500
PSU
Straight power 11 650 W
Case
Cooler Master MB510L
Net
FTTH Tim
OS
Pop!_OS
è un architetto, ha studiato calcolo tensoriale. Non credo avrebbe grossi problemi a capire come lavorare su una matrice in Python se è determinata nel voler fare quello che dice.

Io da subito ho sconsigliato la gui. Poi ho detto: "se proprio la devi fare un interfaccia grafica prova tkinter", che secondo la mia esperienza è più facile
 
Ultima modifica:
  • Mi piace
Reazioni: Andretti60

Andretti60

Utente Èlite
6,440
5,091
Potremmo avere più informazioni?
Si tratta di una tesina triennale o una magistrale? Quanto tempo ci devi passare? Quanto originale deve essere? Deve essere un lavoro completo o solo un “proof of concept “?
In pratica ciò che chiedi è semplicissimo per un “addetto ai lavori”, ossia chi conosce come progettare e usare un database, per chi non ne sa nulla è un lavoro erculiano perché richiede di imparare un sacco di concetti nuovi. Cosa che era molto comune quando mi laureai io (e ci misi un paio di anni durante i quali mi divertii e imparai un sacco)
è un architetto, ha studiato calcolo tensoriale. Non credo avrebbe grossi problemi a capire come lavorare su una matrice in Python se è determinata nel voler fare quello che dice.
...
Quello che feci io, laureando in fisica dovetti imparare il linguaggio C, ma già sapevo programmare in FORTRAN.
 

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
è un architetto, ha studiato calcolo tensoriale. Non credo avrebbe grossi problemi a capire come lavorare su una matrice in Python se è determinata nel voler fare quello che dice.

Io da subito ho sconsigliato la gui. Poi ho detto: "se proprio la devi fare un interfaccia grafica prova tkinter", che secondo la mia esperienza è più facile
Ahahah.. architetti e matematica, purtroppo, oggi sono materie agli antipodi.. mi dispiace disilluderti, ma te lo dico come laureato in architettura (oltre 20 anni fa) e che lavora quasi quotidianamente con architetti. Essendo abbastanza appassionato di matematica sono sempre apparso come eccezione e a volte addirittura come "genio" .. purtroppo la preparazione in questo senso della categoria è davvero bassissima! Quanto basta per superare un esame è il calcolo tensoriale non credo che lo facciano neanche oggi, quando ho fatto io l'università c'era un corso di statica su un totale di 8 che lo utilizzava.. e tutti, ma proprio tutti, facevano l'impossibile per non iscriversi!

Riguardo all'uso di tkinter per fare un'interfaccia in python per chi non ha nemmeno le basi di programmazione mi sembra un castigo più che una presa in giro! Questa sta chiedendo un programma che disegnini fiorellini in un riquadro.. si aspetta qualcosa come il fill di Paint, se vede il codice per aprire una finestra con tkinter.. sviene!

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

enricovela

Utente Attivo
443
124
CPU
Ryzen 3600
Dissipatore
Thermaltake Water 3.0 240
Scheda Madre
MSI Gaming plus max x470
HDD
970 evo plus;Crucial MX500 1TB; GIGABYTE M.2 PCIe SSD; p300
RAM
16 GB @3000 MHz
GPU
quadro fx 3800
Audio
Audioengine D1
Monitor
LG 32QK500
PSU
Straight power 11 650 W
Case
Cooler Master MB510L
Net
FTTH Tim
OS
Pop!_OS
boh se mi dici questo sarà così. Ma hanno scienza delle delle costruzioni nel piano di studi. Li i tensori ci sono
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!