PDA

View Full Version : [ALL]Software gestionale


Psygnosis
14-05-2007, 15:20
Non so se c'entra molto in questa sezione, ma credo di si..
la dicitura all l'ho inserita perche non mi importa al momento il linguaggio di programmazione da utilizzare...

anzi...

In pratica mi servirebbe un programma, possibilmente opensource che mi permetta di gestire i posti in un teatro....
o di gestire posti in genarale, e poi adattarlo al teatro successivamente....

se esiste mi servirebbe gia pronto se non esite dovrei crearlo, ma non ho molto ben chiare le idee...
conosco l'object oriented, ma non conosco Java ad esempio, in pratica mi serve un qualcosa con interfaccia grafica che mi permetta di scegliere quanti posti inserire in un teatro e assegnarli a determinati clienti, e visualizzare i posti occupati, sempre in maniera grafica possibilmente...

Ora non ho idea di come realizzare la parte grafica, e non ho neanke la più pallida idea di come salvare i dati...
perche tra i requisiti mi viene chiesto che quando viene chiuso il programma deve restare salvato il numero di posti del teatro...

a prescindere da tutto non ho idea, concettualmente di come realizzare una cosa simile!
cioè come posso realizzare un qualcosa che graficamente mi segna i posti e poi mi permette di assegnarli

vi ringrazio a tutti per l'aiuto

SaintTDI
14-05-2007, 15:24
Non so se c'entra molto in questa sezione, ma credo di si..
la dicitura all l'ho inserita perche non mi importa al momento il linguaggio di programmazione da utilizzare...

anzi...

In pratica mi servirebbe un programma, possibilmente opensource che mi permetta di gestire i posti in un teatro....
o di gestire posti in genarale, e poi adattarlo al teatro successivamente....

se esiste mi servirebbe gia pronto se non esite dovrei crearlo, ma non ho molto ben chiare le idee...
conosco l'object oriented, ma non conosco Java ad esempio, in pratica mi serve un qualcosa con interfaccia grafica che mi permetta di scegliere quanti posti inserire in un teatro e assegnarli a determinati clienti, e visualizzare i posti occupati, sempre in maniera grafica possibilmente...

Ora non ho idea di come realizzare la parte grafica, e non ho neanke la più pallida idea di come salvare i dati...
perche tra i requisiti mi viene chiesto che quando viene chiuso il programma deve restare salvato il numero di posti del teatro...

a prescindere da tutto non ho idea, concettualmente di come realizzare una cosa simile!
cioè come posso realizzare un qualcosa che graficamente mi segna i posti e poi mi permette di assegnarli

vi ringrazio a tutti per l'aiuto

dovresti farlo con un file o DB :D

per segnare i posto e assegnarli... basta un misero flag :) 1 è occupato... 0 è libero :) e puoi farlo tranquillamente che cliccando sull'immagine della poltrona (esempio) e poi clicchi conferma... invi l'update alla/e tabella/e e cosi ti tiene il posto occupato :)

PGI-Bis
14-05-2007, 16:18
Puoi cominciare col disegnare l'interfaccia (nel senso del disegno carta e penna). Oppure descrivi il programma a parole (scritte): cosa fa, come lo fa.

In entrambi i casi si tratta di fissare il "problema".

L'applicazione che otterrai alla fine sarà la rappresentazione in forma riproducibile da un calcolatore del problema risolto.

Essendo io già stato tacciato di logorrea, eviterò di accennare ai concetti di rappresentazione, proposizione problematica e soluzione :D.

A un certo punto arriverà il momento in cui dovrai tradurre la soluzione che hai trovato nella citata forma eseguibile da un PC. I linguaggi di programmazione sono solo uno dei modi per compiere questo passaggio. E' possibile, ad esempio, che tu possa usare OpenOffice o Office. Dipende dalla soluzione a cui arrivi.

Psygnosis
14-05-2007, 19:28
vi ringrazio...
ma collegare un programma creato in java ad esempio ad un db è molto molto difficile?
e il db che struttura dovrebbe avere?

Mixmar
14-05-2007, 19:39
vi ringrazio...
ma collegare un programma creato in java ad esempio ad un db è molto molto difficile?
e il db che struttura dovrebbe avere?

"Collegare" il programma java al DB in sè non è difficile (basta usare un componente chiamato JDBC): il problema è scrivere il codice che utilizzi bene il database.
La struttura del DB (dò per scontato che usi un DB relazione, la stragrande maggioranza) dipende dall'applicazione: la decidi tu come ti fa più comodo, dopo aver analizzato i tuoi requisiti.

PGI-Bis
14-05-2007, 19:55
Tieni conto che se devi gestire una quantità limitata di dati il database lo puoi anche saltare. Un file e un po' di ram e sei a posto.

Psygnosis
14-05-2007, 22:30
i dati da memorizzare sono giusto, il numero di posti, quanti sono occupati e liberi (graficamente) e poi il prezzo.
la composizione del cinema/teatro deve essere salvata e quando si chiude il programma deve rimanere quella.

come db volevo usare mysql o access (anke se preferisco il primo perche ce l'ho installato nn ho access perche uso openoffice).
Non mi è chiaro se usassi il db come faccio a dire che un posto è occupato, cioè quello non sarebbe da salvare nel db....

al max potrei pensare di usare un file salvare solo numero posti e prezzo, e la disposizione grafica e poi iposti occupati e non hanno un tempo di vita pari all'esecuzione del programma, quando viene chiuso questi muoino...
così mi risparmio il db...

con che sw posso creare sw java e interfaccie grafice FACILMENTE?

PGI-Bis
14-05-2007, 22:41
Io ho un punto di vista poco ortodosso alla questione dei database per cui evito ulteriori consigli sul tema.

con che sw posso creare sw java e interfaccie grafice FACILMENTE?

Ecco, facciamo così, dividiamo in due la domanda:

con che sw posso creare sw java e interfaccie grafice

Ohhh, ma ce ne sono a trizzeffe. NetBeans, Eclipse, IntelliJ, JBuilder, JCreator...

FACILMENTE?

Eh be', eh be'. Abbiamo anche le pretese adesso :D.

NetBeans 6.0

Non è neanche una BETA, è una Milestone. Cioè tra un po' rilasceremo la beta. Ma è "'nu babbà".

Ha praticamente il pulsante

"New Java Desktop Application With DataBase Che Ghe Pensi Mi".

Psygnosis
15-05-2007, 12:32
ahhh quindi netbeans è proprio per niubbi...me lo consigli anche se non volessi più usare il db?
e salvare solo i dati del numero posti e costi in un file?
e lasciare l'occupazione dei posti in locale?poi quando chiudo il programma sparisce tutto!


Altra cosa, in java è facire realizzare un qualcosa tipo, un ciclo for che faccia comparire tanti quadratini (che rappresentano i posti) per un dato numero dato da tastiera?
e poi fare in modo che siano clickabili, e quindi selezionare, ad esempio 5 quadratini con il mouse, e confermare la scelta, e quindi renderli a video di un altro colore, che identifica che sono occupati!

0rph3n
15-05-2007, 12:51
Ha praticamente il pulsante

"New Java Desktop Application With DataBase Che Ghe Pensi Mi".

:rotfl:

PGI-Bis
15-05-2007, 13:10
La creazione di applicazioni desktop che usino una base dati è stata oggetto di specifica attenzione nello sviluppo di NetBeans 6, che sarà la prossima versione di questo programma. NetBeans 6, di cui è disponibile la preview citata, usa un insieme di procedure guidate per accompagnare lo sviluppatore nella creazione di questo genere di programmi. Il che è un bel vantaggio.

Personalmente non uso NetBeans ma questo non vuol dire nulla.

"In Java è facile fare X".

Il linguaggio di programmazione Java vanta un elevato numero di regole a fronte delle quali esistono relativamente poche eccezioni, localizzate. Apprenderlo richiede molto tempo ma non un grande impegno.

Accanto al linguaggio esiste una piattaforma standard (concreta versione del linguaggio + macchina virtuale + librerie di supporto).

Le librerie della piattaforma standard sono divise in macrodomini chiaramente distinti. Ogni dominio è "colorato" da uno o due modelli generali e i singoli problemi sono poi risolti adottando un punto di vista coerente con questi modelli. Significa che se vuoi scrivere interfacce grafiche devi apprendere prima il punto di vista generale adottato nelle librerie Swing e, una volta compreso, puoi procedere esaminando di volta in volta la documentazione dello specifico oggetto in uso. Lo stesso vale per la lettura e scrittura di dati su file, la manipolazione vettoriale di immagini, la comunicazione con delle basi dato eccetera. Ogni volta hai quelle due idee di fondo in coerenza con le quali si sviluppano gli elementi della libreria.

Per ragioni di principio non escludo che una specifica genialità consenta ad un Homo Sapiens-Sapiens di alzarsi la mattina senza aver mai visto Java e andare a letto la sera pronto per farne ciò che vuole. Ma a noi comuni mortali la cosa richiede il suo tempo.

Personalmente ritengo che una preparazione generica di base riguardante la piattaforma Java standard richieda dai cinque ai sette anni.

Psygnosis
15-05-2007, 15:47
bello il mio prof vuole tutto in un mese...
senza aver detto "a" su java...

bene

PGI-Bis
15-05-2007, 16:07
Be', uno poi fa le sue proporzioni. Se lo vuole in un mese partendo da zero avrà quello che è umanamente lecito attendersi in un mese partendo da zero.

Se si lamenta che le base dati è troppo base, le classi sono classiste tu gli dirai che in mese il massimo che si può sapere è che i primitivi girano con le clave.

Mixmar
15-05-2007, 16:41
[CUT] ...il massimo che si può sapere è che i primitivi girano con le clave.

:sbonk:

Pun intended? :D

Psygnosis
18-05-2007, 12:37
Grazie
Ma è molto difficile costruire una interfaccia?

PGI-Bis
18-05-2007, 13:15
Se hai poco tempo (e tu ne hai poco)... è più facile.

C'è uno strumento ad hoc in NetBeans che serve per generare interfacce grafiche utente con un approccio simile al disegno. Qualsiasi grafico ti dirà che quello è disegno quanto un tacchino è astronauta ma noi non sottilizziamo.

Componi l'interfaccia trascinando i pezzi sullo schermo. Manipoli questi pezzi attraverso un diluvio di campi, caselle combinate, cliccamenti e simili.

Parallelamente l'IDE scrive il codice sorgente necessario a riprodurre quello che stai cercando di comporre.

La qualità di quel codice vale una denuncia al Consiglio di Sicurezza dell'ONU ma, come per il tacchino, puoi benissimo sorvolare.

Provare è facile. Scarichi e installi NetBeans 5.5. Avvi il programma e premi sul pulsante "New Project" (i due foglietti) ->General->Java Application. Una volta creato il progetto premi su "New" (il foglietto singolo) -> Java GUI Forms -> JFrame Form.

A quel punto puoi trascinare fino allo svenimento.

La creazione reale di un'interfaccia passa per la produzione anticipata di una serie di bozzetti che il grafico crea basandosi sulla volontà del committente. Alla fine ne viene scelto uno e lo si riproduce pari pari. Siccome il grafico è per natura estroso, difficilmente i poligoni degli editor visuali si adattano al bozzetto per cui la riproduzione assume le vesti di un'arcana arte mimetica.

Ma, visti i tempi, non è solo ragionevole ma anche opportuno sfruttare ogni possibile scorciatoia.

Psygnosis
18-05-2007, 14:12
GRazie ancora,

Ma il codice è MOLTO pessimo?
xkè l'esame è di ingegneria, e lui vorrebbe che applichiamo dei principi per cui il software sia comprensibile, manutenibile, e modulare

PGI-Bis
18-05-2007, 15:20
Il codice dell'interfaccia è orrendo. Questa è una finestra con un pulsante.

/*
* NewJFrame.java
*
* Created on 18 maggio 2007, 16.15
*/

package javaapplication2;

/**
*
* @author pgi
*/
public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jButton1.setText("jButton1");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1)
.addContainerGap(317, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1)
.addContainerGap(266, Short.MAX_VALUE))
);
pack();
}// </editor-fold>

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration

}

E' facilmente isolabile, nel senso che puoi rendere l'interfaccia indipendente dal resto del programma.

Ma in sè non è nè leggibile nè manutenibile nè modulare.

anonimizzato
18-05-2007, 18:53
GRazie ancora,

Ma il codice è MOLTO pessimo?
xkè l'esame è di ingegneria, e lui vorrebbe che applichiamo dei principi per cui il software sia comprensibile, manutenibile, e modulare

Vabè che non fai "Lingua e Letteratura italiana" ma ti PREGO: "pessimo" è già un superlativo assoluto, evitiamo di metterci accanto "molto" :cry:

PGI-Bis
18-05-2007, 18:59
Per il codice sorgente prodotto da un GUI Builder i superlativi non sono abbastanza. E' molto pessimissimo. :D.

Mixmar
18-05-2007, 20:06
Per il codice sorgente prodotto da un GUI Builder i superlativi non sono abbastanza. E' molto pessimissimo. :D.

Anche perchè, se sapesse produrre codice ottimo da solo, considerato che è un programma... che ci staremmo a fare noi programmatori? :mbe: :confused: :(

PGI-Bis
18-05-2007, 20:14
Non lo so. Magari siamo noi i dinosauri. Tra quarant'anni guarderanno indietro e diranno "ma guarda quelli, che scrivevano il codice a mano!" E giù grasse risate. Spero che tra ottanta i loro PC intelligenti si rivoltino e inizino a tirargli degli sganassoni: così imparano a prendere in giro i loro avi! :D.

Psygnosis
19-05-2007, 11:08
mmmm
neanke Eclipse con IDE per java fà di meglio?

cmq a questo punto non mi interessa...già è tanto...
l'interfaccia è isolabile hai detto...in che senso?che cmq posso tenere l'interfaccia fuori dall'implementazione dei pulsanti?in file separati?

PGI-Bis
19-05-2007, 11:18
Tra i molti punti di forza di Eclipse sicuramente NON c'è l'editor visuale.

Per interfaccia intendo l'interfaccia grafica utente. La puoi isolare nel senso che puoi costruire l'accrocchio di pulsanti, pannelli e tabelle con l'editor visuale e poi collegare pulsanti, campi eccetera al resto del programma in modo tale che la definizione dell'interfaccia grafica non richieda la definizione del resto del programma e viceversa, salvo per il "modulo" che fa da ponte tra l'interfaccia (grafica) e la logica dell'applicazione.

Una sorta di MVC espresso.