Newsgroup: it.comp.lang.visual-basic
Titolo: La fase di progettazione

Ragazzi una domanda:
Voi durante la fase di progettazione oltre ad usare il vostro intelletto 
usate carta e penna o vi aiutate con qualche software che vi aiuta nelle 
varie condizioni logiche ( tipo che so, diagrammi di flusso o altro).?
Stefano 

 ha scritto nel messaggio
news:dktg7m$tud$1...@newsreader.mailgate.org...

Dipende :)
Se mi accorgo che il problema si risolve solo con un algoritmo intricato
faccio il diagramma rigorosamente su carta e a matita (con gomma a portata
di mano), poi porto il diagramma in codice e debuggo con il foglio a fianco
facendo coincidere il codice con il diagramma e correggendo/rivedendo il
diagramma se vedo che la linea gialla del debugger prende un ramo che non
avrebbe dovuto prendere.
In generale però mi trovo più comodo a scrivere direttamente il codice e
vedere se i pezzi si incastrano bene con l'aiuto dell'intellisense
(ovviamente una prima sgrezzata su carta delle classi principali ci vuole,
ma tanto poi vengono stravolte durante la codifica, anche perchè ci si
accorge poi che "sarebbe più comodo un metodo fatto così").
Però tutto questo non dirlo a nessuno, perchè i professionisti lavorano solo
su carta, poi scannerizzano i flow-chart direttamente in VisualStudio e il
programma è pronto e funzionante ;)
Ciao
--
Reporting tool: 
http://www.neodatatype.net

 in VisualStudio e il programma è pronto e funzionante ;)
quoto volontariamente tutto...
Diciamo che cmq dipende dal programma e dalle proprie skill, se un programma 
e' disisibilmente semplice allora il flowchart me lo lascio in capa e se 
fermo il progetto per riprenderlo in un futuro commento all'inizio della sub 
di avvio che cosa manca e lo "schema" da seguire.
Se il programma e' tosto e complicato e' la stessa cosa ma per non affidarmi 
alla mia capa bacata schizzo su fogli le macro parti, poi per ogni parte + 
intricata uno schemino a parte... a dire il vero non faccio + veri e propri 
diagrammi di flusso ma + che altro analisi scritta. L'unica cosa e' avere 
una cartellina cartacea per ogni programma, avoglia a usare SW, vuoi mettere 
sparpagliare una decina di fogli sulla scrivania o usare un sw ? :p
-- 
[Gigio2k]
Accorcia i link gratis e in modo semplice :
G2kSnipUrl : 
http://www.g2kweb.it/?3015
---> No alla CONFISCA delle moto : 
http://www.maxkava.com/moto
 <--- 

 intelletto
Io non progetto un tubo!
Di solito quello devo realizzare, qualcuno lo sta gia facendo con carta e
penna, o con excel o con altro... in qualche maniera lo sta già facendo.
Nessuno mi ha mai chiesto di realizzare qualcosa che già non esista in
natura.
Ecco, allora io faccio il giapponese, studio bene quello che fanno come lo
fanno, e lo copio in codice paro paro, ovviamente ci aggiungo di mio strada
facendo per migliorare, velocizzare il lavoro, insomma sfruttare il
computer.
Per me è l'approccio piu semplice, oltre che rispettoso di una realtà già
esistente.
--
Greg

 esistente.
Non è molto chiaro cosa ci sia di rispettoso nel copiare quello che fanno 
gli altri (o non è chiaro il concetto).
Poi quello che gli altri scrivono in excell o su carta èl'operatività del 
programma, mica come questo deve essere realizzato, a meno che tu non lavori 
in un team davvero serio (qui in italia la vedo dura, di solito c'è uno che 
dice "il programma deve fare più o meno così e deve farlo entro domani". A 
me capita di ricevere analisi su post-it che poi magari ti prendono una 15 
giorni di lavoro... proprio perchè devi riprogettare tutto vista la 
chiarezza degli "analisti"). 

 ha scritto nel messaggio 
news:dktg7m$tud$1...@newsreader.mailgate.org...

Anche io uso la testa per le cose semplici..
ma se il programma che devo affrontare so che più passerà il tempo e più 
evolverà (e si spera sempre che sia così in modo da avere sempre lavoro) 
allora parto con una bella meditazione assistita dai metodi Matita.Write e 
Gomma.Erase su un po' di fogli che raccolgo (e se mi ricordo numero) in una 
cartellina separata per ogni programma.
Di solito per partire a scrivere codice scrivo prima 3-4 foglietti.. Poi 
incorso d'opera mi fermo ad anallizzare eventuali altri aspetti particolari.
Tutto questo per ottenere una struttura del programma lineare e quindi più 
facile da aggiornare/riadattare in futuro.
Intendiamoci, non arrivo a pianificare i metodi e prorietà (salvo magari 
qualcuno di fondamentale), di solito organizzo solo fra le varie classi i 
compiti ad esempio..
-la classe K si collega al DB e basta interagendo con le StoredProc..
-la classe X si occupa solo di raccogliere i dati
-poi la classe Y invece si occupa della verifica
-la clazze Z elabora i dati
-le classi dette sopra si collegano a tali altre classi per utilizzarne le 
funzionalità
Poi per il fatto di tener traccia di cosa resta da fare (e devo dire che mi 
trovo benissimo) uso l'Addin mzsTaskWindow (in vb6) che è disponibile sul 
sito comune e che ho scritto io.
Questo permette di scrivere in giro fra le 5000 righe del mio codice una 
cose come:
'todo: scrivere la procedura per spDeleteField
:
:
:
'todo: controllare se funziona questo...
e poi dimenticarmi di dove le ho scritte e persino di averlo fatto.
Tanto l'addin ha una finestra simile a quella disponibile in .NET che fa il 
riepilogo delle cose da fare..
Quindi basta vedere l'elenco e cliccare per ritrovarsi Just in Place dove si 
deve continuare a lavorare.
Ciao a tutti,
    Diego 

 programma e' disisibilmente semplice allora il flowchart me lo lascio
.....
disisibilmente ????
disisibilmente disisibilmente disisibilmente....mmmmmm......
voce del verbo "disisibilare"...ossia sibilare all'orecchio 2 volte cose
sconce????


io sarò un artista prestato alla programmazione..."po essè!"
In realtà 10 anni fa facevo altro e comunque anche oggi tutto mi posso
considerare tranne "programmatore" puro e semplice!
Io mi chiarisco le idee così:
a) Intervista con il cliente: Ma che vuoi? come lo vuoi?
ma sei sicuro di quello che mi chiedi?
In questa fase parto sempre con delle ottime intenzioni...un blocco di carta
ed una matita!
"Adesso emtto in ordine le richieste del cliente"
per uno strano effetto fisico...(ho la Normale di Pisa che lo sta
studiano)....
i fogli non si riempiono in sequenza continua di pagine dall'alto in basso e
da sx a dx....
La sezione criptografica della Symantec ha preso alcune mie pagine di un
progetto per un magazzino di carte come esempio di entropia prossia ad
infinito!
b) Con la marea di foglietti
avvio Access...e provo a buttar giù il database.....
Buttando giù il database....per un altro strano effetto fisico....i
foglietti riacquistano un senso
c) Fatto il db parte la fase creativa:
che faccio vedere all'utonto
sembrerà strano...ma qui si evidenzia tutta la mia carenza come
"programmatore"
Zanna e gli altri sicuramente questa fase la completano speditamente!
IO...poveretto...c'ho provato un sacco di voltea fare form tipo...a
progettare classi di interfaccia....nulla!
Ogni progetto mi tocca rifare l'interfaccia....
e mille dubbi....e mille problemi
Perchè per il target che ho io il problema ho riscontrato è questo:
purtroppo (per fortuna) non conta cosa c'è sotto...ma l'interfaccia!
Parliamoci chiaro...
sotto l'utonto non vede nulla!
Può essere fatto in access+vba, pho,foxpro,cobol,delphi, net etc etc
all'utonto gli frega poco!
io ho visto di tutto....
gente che lancia la stampa di una fattura ed appare un mdb...con il
reporting di access...ocx "strani"...generazione di file lunghissimi etc etc
l'utonto se ne frega...anzi...se per stampare invece di 2 minuti ce ne metti
5...va bene...c'è tempo di fare 2 chiacchere o di prendere un caffè!
Salvo poi maledire le stampe (che a quel punto non son mai troppo veloci)
quando siamo in giorni di fine mese o scadenze fiscali!
IMHO e ripeto IMHO
da "programmatore" che fa un po di tutto (son imprenditore di me stesso)
al cliente devi dare un prodotto "onesto" (difficilmente io potrò
programmare un gestionale al top della categoria...non ho ne le competenze
ne sopratutto il team!)
ma sopratutto "usabile"
Questa è una mia vecchia battaglia!
Io ho la moglie che fa l'impiegata...sono stato impiegato....so cosa vuol
dire fare dataentry per 5 ore di seguito!...con il 90% dei programmi è una
tortura!
Nei miei sw cerco di curare questo aspetto...cerco di far usare il +
possibile la tastiera!
Sembra un controsenso ma ti faccio un esempio:
mia moglie in ufficio aveva un gestionale da 2000Euro (monoutente)
che ogni volta che introduceva una registrazione la costringeva ad usare il
mouse (erano solo 2 click..per cambiare alcune schermate)
...adesso
son cresciuti gli impiegati ha un altro prodotto....
che fa usare il mouse....ma se vuoi lo usi tutto da tastiera...
ci mette molto meno a passare i movimenti...e si incazza molto meno!
cosa voglio dire alla fine?
Alla fine dico che difficilmente inventerai cose nuove
(a me è successo una sola volta per i ricercatori dell'università di Pisa ed
allora ti posso dire che lavorerai con entusiasmo e non ti parrà nemmeno di
lavorare!)
e alla fine butterai giu sempre le solite cose
dove puoi fare la differenza con prodotti concorrenti
è con l'usabilità
l'unica cosa che conta per l'impiegato che dovrà usare il tuo programma!
questi erano i miei 2cents
bye bye!

 possibile la tastiera!
buffo. ho dovuto scrivere un prog in faccio dataentry anch'io, e a ritmo
molto serrato (quando trovo il tempo, diciamo 8 h/g, decifrando e
correggendo scritte in gran parte in inglese, latino, greco, polacco,
tedesco. oltre a essere preciso devi anche stare concentrato, e ti assicuro
che spacca gli occhi).
fare e usare il prog mi ha spinto a un'interfaccia molto strana. funziona,
sveltisce parecchio.
se mi mandi un email valido ti spedisco una schermata.
per meta' delle cose sostituisce la tastiera col mouse (anche perche' uso
vari pc, e divento idrofobo con le tastiere diverse. l'ultima che mi e'
capitata invece dello shift a destra ha 'turbo'...).
per l'altra meta' ho messo shortcut.
^s scheda successiva ^d scheda precedente ecc ecc.
gliel'ho spiegato tutto: shortcut nei menu, lettere sottolineate sul form...
be', fanno una correzione con la tastiera. mollano la tastiera. cercano il
mouse. prendono il mouse. cliccano la freccina della scheda successiva.
alla fine ho messo un bell'array di cmd con i caratteri dell'alfabeto, cosi'
la tastiera uno puo' anche nasconderla :)

 sibilare all'orecchio 2 volte cose sconce????
certo, quello sempre !
-- 
-Gigio@work-
G2kSnipUrl : 
http://www.g2kweb.it/?3015
( il servizio accorcia link + Gigioso che conosciate ! )


 purtroppo (per fortuna) non conta cosa c'č sotto...ma l'interfaccia!
Certo che č cosě!
E molti non lo vogliono capire, ma č proprio cosě!
Lo dice anche qui:
http://italian.joelonsoftware.com/Articles/TheIcebergSecretRevealed.html
Ciao

 fanno gli altri (o non è chiaro il concetto).
Intendevo: ripettare il processo lavorativo (manuale/cartaceo) già in atto,
senza stravolgerlo, scombussolarlo con l'introduzione del mio programma.
--
Greg

Da quel che vedo non sono il solo a partire in quarta a scrivere codice...
Grazie per le risposte

 [...]
E' proprio vero, anche io mi sono reso conto di questo.. se si considera il 
lato del cliente.
Perň io credo che bisogna tenere un certo ordine nel codice se si vuole 
essere in grado di capire se stessi dopo tre mesi che si č messo da parte un 
programma e si scopre di doverlo risistemare..
Infatti nei miei foglietti trovano spazio anche schizzi dei vari form che 
penso di utilizzare oltre all'individuazione delle sottoparti principali del 
programma. Questo mi aiuta anche a decidere che parte della logica del 
programma lasciare nell'interfaccia cioč a vedere se la struttura 
dell'interfaccia rispecchia la struttura del programma.. ..in genere ne 
risulta un programma piů intuitivo anche per l'utente..
Ciao a tutti,
    Diego 

 Ciao
Grazie Zanna, interessante.
Avevi letto l'articolo "Fuoco e movimento"? Ne incollo un pezzo...
illuminante
Pensa alla storia della strategia dell'accesso ai dati che viene dalla
Microsoft.
ODBC, RDO, DAO, ADO, OLEDB e adesso 
ADO.NET
 - tutte nuove! Queste tecnologie
sono necessarie ? Sono il risultato di un gruppo di progetto incompetente
che ha bisogno di re-inventare l'accesso ai dati ogni benedetto anno ? (In
verità, probabilmente lo è.) Ma il risultato finale è solo fuoco di
copertura. La concorrenza non ha nessuna scelta oltre che perdere tutto il
suo tempo portando e mantenendo, tempo che non riesce ad impiegare per
sviluppare nuove funzionalità per i suoi prodotti. Guarda con attenzione
allo scenario dello sviluppo del software. Le imprese che vanno bene sono
quelle che dipendono meno dalle grandi compagnie e non hanno bisogno di
sprecare tutti i loro cicli aggiornando, re-implementando e correggendo bug
che accadono solo in Windows XP.
--
Greg