[Python] Python vs UML

Roberto Bettazzoni ml a bettazzoni.it
Lun 4 Feb 2008 00:46:54 CET


Ciao a tutti,
butto i miei 2 centesimi

In sintesi:
concordo sull'inutilità di UML per lo sviluppo, soprattutto
se usi un linguaggio come Python.

Y3s ha scritto:
> Il giorno 03/feb/08, alle ore 21:38, Crash Override ha scritto:
>> Enrico Franchi ha scritto:
>>> On Feb 3, 2008, at 8:30 PM, giuseppe saviano wrote:
>>>
>>>   
>>>> ho capito che la progettazione uml in alcuni casi risulta limitante;
>>>> nella stessa serie di messaggi si parlava poi di list comprehension
>>>> ... altri esempi?
>>>>     
>>> Non è che è limitante, è che tutt'ora devo trovare un caso in cui sia  
>>> davvero utile.

Anch'io vengo da una storia di UML imposto dal management in una grossa
applicazione J2EE
... lasciamo stare, brutti ricordi

Però, ultimamente, ho visto due applicazioni dell'UML

- Dove lavoro ora chi scrive embedded lo utilizza con successo per documentare
l'unione di Hw e Sw. Sembra che sia piuttosto utile allo scopo.
(è una parte che non conosco bene, lo riferisco solo per dovere di notizia).

- In una applicazione sviluppata congiuntamente da un team C++ ed uno Python
abbiamo visto che 2 o 3 semplici diagrammi in UML, che "congelavano" le interfacce
senza scendere in dettagli, evitavano una marea di discussioni.
Non che fosse vitale dal punto di vista del design, o tecnico in generale,
ma è stato utile: il team C++ non voleva vedere del codice pitonico e molti
serpidi non capivano il C++. L'UML è stato un compromesso accettabile per entrambi.


>> Forse non avete ben chiari i vari ruoli dei membri che contribuiscono 
>> al successo di un progetto software. Avete mai sentito parlare di 
>> Architect, Designer? O conoscete solo il programmatore?
>
si, si, anche evangelista, analista, tester, coach, QA manager
  ... di ruoli ce n'è a volontà
Qualche volta corrispondono ad un mestiere vero, altre sono solo fuffa

IMHO il tutto è piuttosto lineare.
Se un gruppo di persone vuole una cosa ed un gruppo di persone sa farla, questi
devono comunicare nel linguaggio più efficente allo scopo.
UML, Python, Italiano, Inglese, SQL, C++ ... non importa.
Qui si parla di comunicazione tra le persone, non di comunicazione con la macchina.
L'unico che comunica con la macchina è il programmatore mediante il codice.

Nella mia esperienza UML non è il più efficente modo di comunicare con gli umani.
Io preferisco l'italiano o l'inglese.

A proposito dei ruoli:
se sei nell'esercito, e il tuo sergente ti dice che il tenente ti comunica che il
capitano ha ricevuto un ordine dal colonnello che il generale vuole che si avanzi
di 100 metri ... sei sicuro che siano proprio le parole del generale?
I ruoli gerarchici o sequenziali non aiutano certo la comunicazione.


>> Allora quando costruiamo una casa esistono solo i muratori? E se un 
>> muratore costruisce bene le mura allora la casa può farla senza progetto? 

Da un po' di tempo si vocifera che il codice sia il progetto (non la casa) e
che il muratore sia l'interprete (non il programmatore).


>> La domanda forse sarebbe:
>> Quali sono i vostri titoli di studio? Che fate nella vita? Ma è meglio 
>> tralasciare...

Il titolo di studio ... stupendo, come se in questo campo fosse qualificante
... ma daiiiiii

Scegli:
"Giro, vedo gente, scrivo codice"
"Mi chiamo Taz, risolvo problemi",

si, concordo, è meglio tralasciare
:-)
Roberto






More information about the Python mailing list