Logo MediCon 
MediCon - Measurement & digital Control
 
Progettazione elettronica
 
Consulenza tecnica
Home Missione Tecnologia Progetti Prodotti e Soluzioni Chi siamo Contatti
Indice Progettazione hardware Progettazione software Testing Gestione dei rischi Certificazione

  • Il software viene rappresentato attraverso i seguenti paradigmi, tra loro coesistenti e funzionali allo sviluppo del software stesso in applicazioni embedded real-time.

    • Software = strutture dati e algoritmi che operano su di essi, formalizzati tramite pseudolinguaggio.

      Rif.: "Algorithms + Data Structures = Programs", by Niklaus Wirth, Prentice-Hall Series in Automatic Computation.


    • Software = processi stutturati e sequenziati.

      Rif.: "Structured Development for Real-Time Systems", by Paul T. Ward, Stephen J. Mellor, Prentice-Hall.


    • Software = automa a stati finiti.

  • Il software viene codificato secondo un manuale interno (disponibile per i nostri clienti), che permette di uniformare lo stile di programmazione secondo criteri volti all'ottimizzazione delle prestazioni su microcontollori embedded. Conseguenza di ciò è anche una maggiore leggibilità del codice ed interazione tra gli sviluppatori.

  • Il software viene sviluppato nell'ambito di un ciclo formalizzato (procedura disponibile per i nostri clienti), che parte dalla specifica dei requisiti e termina con il testing del software.

  • Per la gestione delle versioni il nostro studio utilizza Subversion (SVN).

    L'uso di un sistema di questo tipo presenta i seguenti vantaggi:
    • integrazione automatica del lavoro di tutti gli sviluppatori, riducendo il rischio di errori ed il tempo di sviluppo.

    • registrazione di tutte le revisioni di tutti i files del progetto. Questo in particolare ci permette di:

      • ricreare qualunque situazione passata, sulla base della sola data o di una etichetta (tag) precedentemente apposta.

      • vedere le differenze tra qualunque coppia di istanze passate di qualunque file.

    • possibilità di lavorare su più rami di sviluppo paralleli dello stesso software. Questo in particolare ci permette di:

      • correggere bachi su vecchie versioni, da integrare poi su quella corrente o su una futura.

      • produrre comodamente versioni alfa o beta a partire da qualunque versione passata da integrare poi su qualunque versione futura.

      • produrre versioni custom e tenerle comodamente aggiornate con l'ultima versione del software ufficiale (questo interessa molto alle vendite!)