IBM rilascia la versione 9.7.5 di DB2 Express-C

Da alcuni giorni a questa parte è disponibile la versione 9.7.5 di DB2 Express-C, l’edizione gratuita del database commerciale prodotto dalla IBM.

In aggiunta alle feature esistenti come il supporto nativo per i documenti XML e la ricerca full text, questa versione include compatibilità con Oracle e il linguaggio PL/SQL (compatibilità precedentemente disponibile solo per le edizioni commerciali) e un prompt dei comandi migliorato, ora noto come CLP+ (Command Line Processor Plus).

[Read more…]

La fluidità del codice

Ho rivisto recentemente uno screencast sul TDD di Piergiuliano Bossi. Mi ha fatto pensare l’accento posto sulla “fluidità del codice”. Questa proprietà era messa in relazione diretta con il refactoring. In entrambi i sensi: la fluidità favorisce il refactoring e il refactoring favorisce la fluidità. Ad ogni modo Bossi poneva la fluidità come condizione imprescindibile per poter realizzare un design incrementale.

Non voglio qui entrare nel merito di quanto design sia possibile e opportuno realizzare ex-ante o ex-post (argomento che ha già comportato fiumi d’inchiostro o tera di bit che dir si voglia). Quello su cui volevo concentrarmi era la fluidità. Mi chiedevo se c’è un modo più formale per definirla. E nel frattempo in cui continuo a ragionare su eventuali definizioni formali, provo a mettere il concetto di fluidità in relazione diretta con la “paura” che il programmatore prova davanti al codice da modificare.

[Read more…]

Vademecum al testing automatico/1

Che differenza c’è tra unit test e acceptance test? In quali occasioni è opportuno scrivere uno unit test e quando invece è meglio scrivere un acceptance test?

Queste sono domande tipiche e più che legittime quando un team inizia a muovere i primi passi nel mondo del testing automatico. Personalmente scrivo il mio codice attraverso il TDD ormai da parecchio tempo, ma mi è capitato di lavorare con team che scrivono test automatici solo dopo aver scritto il codice applicativo corrispondente. Non solo: uno sviluppatore o un team che si interessano al TDD tipicamente passano qualche tempo praticando test-after, prima di iniziare a muoversi test-driven. È un’evoluzione naturale quindi ed è un po’ come imparare a camminare prima di iniziare a correre. Spero che sia evidente che la mia netta preferenza va verso un approccio test-driven.

Detto ciò, le informazioni che seguono costituiscono un approccio al testing pragmatico e volutamente non formalizzato: hanno l’obiettivo di aiutarvi nelle vostre attività quotidiane. Di conseguenza, le definizioni e i suggerimenti qui riportati non vogliono essere necessariamente a prova di bomba da un punto di vista formale, ma spero che possano essere efficaci nel vostro contesto professionale.

Questa prima parte è concentrata sugli unit test.

 

[Read more…]

Il management del software nelle microaziende/1

La letteratura informatica è piena di ottimi libri sul management del software. Se vogliamo, insieme alle tematiche più pratiche di ingegneria del software, il management costituisce uno di quegli argomenti sempre sulla “breccia dell’onda”. Tuttavia le varie metodologie presentate si scontrano nel caso delle microaziende con una realtà che raramente può essere sovvertita: la mancanza di budget. Ad esempio, nel caso del management dello sviluppo software molte delle ricette proposte si basano non solo su una forte disponibilità di programmatori molto preparati in seno all’azienda, ma anche su una gerarchia interna ben definita.

La scarsa disponibilità finanziaria non può tuttavia essere un alibi per non adottare delle politiche di gestione delle attività o strumenti e tecniche di sviluppo che possono rendere la vita migliore per tutti i componenti del team. Con questo articolo parte una serie in cui scopriremo quali azioni, prevalentemente dettate dal buon senso, possono essere intraprese per una corretta gestione delle attività di produzione software anche in presenza di risorse economiche molto limitate. L’idea, basata sull’esperienza dell’autore, è quella di mostrare che è possibile adottare dei criteri organizzativi semplici ma efficaci, che permettono di migliorare sensibilmente la qualità del lavoro svolto, l’organizzazione dell’azienda e la formazione del personale.

[Read more…]

Perché amare darcs e perché odiarlo

darcs logoI DVCS sono un’idea relativamente recente, ma hanno una storia già abbastanza ricca.
In principio fu arch,
che sebbene abbia il merito di aver introdotto
il concetto di sistema di revisione distribuito, era affetto da
numerosi difetti sia di usabilità che di design (arch usava un sistema
di denominazione dei file praticamente incompatibile con windows) ed è
ormai un progetto abbandonato.

La seconda e terza generazione di questi sistemi comprende invece sia progetti di successo come git o mercurial
che sistemi meno diffusi come monotone, codeville o SVK, ognuno dei quali con diversi pregi e difetti.

In questo gruppo è presente anche darcs, che è stato uno dei primi sistemi distribuiti
ad aver avuto ampia diffusione, ma ha perso gran parte della sua visibilità quando hanno cominciato a
diffondersi git e mercurial.

La prossima uscita di darcs2 però potrebbe portare nuovo splendore a questo sistema, attaccando i difetti che
ne hanno limitato la diffusione fino ad ora.

[Read more…]

Non ci sono più i software engineer di una volta

CrossTalk, ovvero il giornale di software engineering del Dipartimento della Difesa americano (DoD), ha pubblicato nel numero di gennaio uno spunto interessante riguardante gli skill dei software engineer di domani. L’intervento è firmato da due professori del corso di Computer Science della New York University, nonché esponenti di spicco della comunità Ada attraverso AdaCore, fornitore di soluzioni Ada al DoD stesso (e non solo).

[Read more…]

I video dell’Agile Alliance Functional Testing Tools Visioning Workshop sono online

Logo Agile Alliance Due mesi fa l’Agile Alliance ha organizzato un workshop dedicato a strumenti per test funzionali o, più in generale, test di accettazione (AAFTT 2007). Recentemente James Shore ha pubblicato il transcript del suo intervento controverso e nonostante i video siano in realtà online già da alcuni giorni, questa è l’occasione per fare il punto sulla querelle tra lui ed Elisabeth Hendrickson.

[Read more…]

DVCS… Chi era costui?

L’introduzione del paradigma distribuito nel campo dei VCS (Version
Control System) porta a un’evoluzione ben più ampia del semplice processo di
sviluppo individuale del software, il cambiamento è infatti radicale e
riguarda l’intero gruppo di lavoro.

[Read more…]

Italian Agile Day 2007

Italian Agile Day 2007 Venerdì 23 novembre si è tenuto a Bologna l’Italian Agile Day. La manifestazione, giunta alla sua quarta edizione, rappresenta per una volta tanto un evento unico nel panorama internazionale: a partire dall’edizione del 2006 il suo organizzatore, Marco Abis, decise di tentare di allestire un evento totalmente gratuito e autofinanziato grazie a contributi volontari. Ancora una volta la comunità italiana ha risposto in modo entusiastico.

[Read more…]