• Non ci sono risultati.

Tecniche e procedure per l'analisi e lo sviluppo di sistemi software per l'automazione

N/A
N/A
Protected

Academic year: 2021

Condividi "Tecniche e procedure per l'analisi e lo sviluppo di sistemi software per l'automazione"

Copied!
3
0
0

Testo completo

(1)

Introduzione

Lo sviluppo del software è una attività ancora molto giovane, poco più di cinquanta anni alle spalle; nonostante ciò ha un impatto sempre più grande in molti settori quali industria, istruzione, pubblica amministrazione, medicina, ecc.

La disciplina che si occupa dello studio di tecniche e procedure dello sviluppo del software è l’ingegneria del software.

L’insieme delle attività che devono essere svolte per sviluppare un sistema software è detto processo software ed il modo in cui vengono organizzate prende il nome di ciclo di vita del software. Quest’ ultimo si è evoluto nel tempo seguendo, da prima un modello sequenziale, poi un modello iterativo, metodi agili e processo unificato, con l’intento di rendere sempre più partecipe il committente nelle attività di sviluppo in modo che lo stesso ne risulti soddisfatto (requisito fondamentale per il successo del progetto).

La crescita delle imprese di produzione del software, nell’ultimo decennio, ha aumentato la concorrenza in questo settore e per essere più competitivi si cerca di puntare alla qualità, che deve essere in qualche modo riconosciuta e certificata. A tale scopo esistono enti, norme e standard a cui i committenti, le imprese, gli sviluppatori possono fare riferimento.

Il panorama informatico mondiale è sempre più pervaso dall'approccio di sviluppo object-oriented (OO, iniziato alla fine degli anni ‘80) e per componenti; inoltre si hanno a disposizione tecnologie sempre più avanzate; ciò comporta uno sviluppo di sistemi sempre più complessi ed in cui partecipano vari esperti.

Anche nel campo dell’automazione si è diffuso l’approccio OO ed è sempre più comune la situazione in cui risorse di calcolo, controllo, attuazione, monitoraggio sono distribuite nella macchina, nell’impianto e nell’industria.

In questa nuova ottica cambiano anche le modalità con le quali i progettisti devono affrontare il problema di far interagire in un solo sistema diverse soluzioni tecnologiche e diversi tipi di competenze.

Affrontare problemi complessi, significa avere a che fare con una disparata varietà di persone che hanno distinti interessi e livelli di coinvolgimento nel progetto, inoltre parlano con termini di linguaggio diverso: i committenti puntano alla funzionalità del prodotto e parleranno in termini di scopi e limiti di tempo, nonché in termini economici; i

(2)

programmatori parlano in termini di linee di codice e puntano alla modularità e la semplicità di implementazione.

Per sistemi complessi il 75-90% di tempo è speso nella comunicazione, la quale non avviene più faccia a faccia, ma a causa della dislocazione geografica e la varietà di persone coinvolte, avviene con le nuove tecnologie delle telecomunicazioni e dell’informatica, creando team virtuali.

Diventano fondamentali per la riuscita del progetto, e quindi per il soddisfacimento del cliente, una buona comunicazione tra i diversi partecipanti allo sviluppo del software e una buona attività di modellazione, di specifica e di documentazione.

Uno strumento che aiuta lo sviluppatore software a soddisfare questi requisiti è l’UML, Unified-Modeling Language.

Scopo della tesi è quello di mostrare come lo strumento UML e le sue estensioni risultino essere un valido supporto per sviluppare un software di automazione di qualità consentendo di affrontare i vari problemi e le varie soluzioni documentandole e favorendo la comunicazione tra le persone coinvolte.

(3)

Riferimenti

Documenti correlati

Similarly to learning natural languages, you should start from learning to read and understand programs written by others To understand: you should try to mentally execute the

Lipari (Scuola Superiore Sant’Anna) OOSD September 23, 2010 4 / 32!.

• The member objects of your new class are typically private, making them inaccessible to the client programmers who are using the class. • This allows you to change those

Lipari (Scuola Superiore Sant’Anna) OOSD September 23, 2010 4 / 37G. Example

Suppose that you define you own class MyClass, and you want to put several objects of this class in a dynamically variable array Unfortunately, Java arrays have fixed length..

Lipari (Scuola Superiore Sant’Anna) Introduction to Java October 22, 2010 4 / 38.. Example

public void setSender(String sender) { /* set sender;*/ } public void setReceiver(String receiver) { /* set receiver;*/ } public void setContent(String content) { /* set content;*/

Lipari (Scuola Superiore Sant’Anna) OO Design Principles October 28, 2011 1 /