Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

IngegneriaDelSoftware.Processi Versioni

Nascondi le modifiche minori - Mostra le modifiche

04/05/2007 ore 19:28 CEST di Vincenzo - Ripristinata versione consistente
Modificate le linee 1-28: da:
Hello, nice site look this:
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIXY-WOMAN">sixy woman</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIXY-WOMAN]sixy woman[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIXY-WOMAN
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-YAKBENI">yakbeni</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-YAKBENI]yakbeni[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-YAKBENI
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-GERLSEX">GERLSEX</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-GERLSEX]GERLSEX[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-GERLSEX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-RICOSWORLD">ricosworld</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-RICOSWORLD]ricosworld[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-RICOSWORLD
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIBELCIK">sibelcik</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIBELCIK]sibelcik[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIBELCIK
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-ZEXYTEENS">zexyteens</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-ZEXYTEENS]zexyteens[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-ZEXYTEENS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-FREE-GAMESXXX">free gamesxxx</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-FREE-GAMESXXX]free gamesxxx[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-FREE-GAMESXXX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PUSI-SEX">pusi sex</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PUSI-SEX]pusi sex[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PUSI-SEX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-TOPLOLITA-MODELS">toplolita models</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-TOPLOLITA-MODELS]toplolita models[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-TOPLOLITA-MODELS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-LOLITAS-BORRACHAS">LOLITAS BORRACHAS</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-LOLITAS-BORRACHAS]LOLITAS BORRACHAS[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-LOLITAS-BORRACHAS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-INDEX-OF-SNUFFX">index of snuffx</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-INDEX-OF-SNUFFX]index of snuffx[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-INDEX-OF-SNUFFX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SHOSAR">shosar</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SHOSAR]shosar[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SHOSAR
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-KAMAULAGAM">kamaulagam</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-KAMAULAGAM]kamaulagam[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-KAMAULAGAM
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOMOVIES">Pornomovies</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOMOVIES]Pornomovies[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOMOVIES
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-ALMA-CHUA">alma chua</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-ALMA-CHUA]alma chua[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-ALMA-CHUA
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOTLEGSANDFEET">Hotlegsandfeet</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOTLEGSANDFEET]Hotlegsandfeet[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOTLEGSANDFEET
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-KDQUALITY">kdquality</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-KDQUALITY]kdquality[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-KDQUALITY
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-CELBERTY-PHOTO-OOPS">celberty photo oops</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-CELBERTY-PHOTO-OOPS]celberty photo oops[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-CELBERTY-PHOTO-OOPS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-AUNTMIA">auntmia</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-AUNTMIA]auntmia[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-AUNTMIA
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOT-WOMENSEXY">hot womensexy</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOT-WOMENSEXY]hot womensexy[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOT-WOMENSEXY
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOGRAFIAINFANTIL">pornografiainfantil</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOGRAFIAINFANTIL]pornografiainfantil[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOGRAFIAINFANTIL
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SEXXXL">sexxxl</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SEXXXL]sexxxl[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SEXXXL
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-HAKIEUANH">hakieuanh</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-HAKIEUANH]hakieuanh[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-HAKIEUANH
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-OMALEKKER">omalekker</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-OMALEKKER]omalekker[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-OMALEKKER
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOCD">pornocd</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOCD]pornocd[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOCD

End ^) See you
a:
! I Processi
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]

->'''Sommario'''

!! Processi e organizzazioni

** organizzativi, cosa deve fare il personale.
** umani, il processo deve essere possibile entro i limiti umani.
** cognitivi, conoscere il dominio applicativo del processo.


!!! Modellare e classificare i processi


in fasi diverse (specifica, progettazione e codifica). Una volta suddiviso
in fasi successive, queste vengono assegnate a gruppi diversi di persone con
compiti e competenze diverse (suddividere per gestire, verificare, ridurre i

nella seguente maniera:

* Pianificazione, stabilisce un piano per il successivo lavoro di ingegneria del software. Descrive le operazioni da svolgere, i rischi, le risorse necessarie, i prodotti da realizzare e la pianificazione del lavoro.
* Modellazione, creazione di modelli che consentono allo sviluppatore e al cliente di comprendere meglio i requisiti software e progettuali

* Implementazione, software fornito al cliente che valuta il prodotto e fornisce indicazioni basate sulla propria valutazione.

!!! Processi software


e dalle procedure utilizzate per sviluppare, controllare e gestire il codice. I
processi software vengono distinti in tre classi:
# Processi primari, progettazione, sviluppo e manutenzione

# Processi organizzativi, gestione processi, infrastruttura, miglioramenti, addestramento e formazione.


un processo. Ne esistono diversi, non esiste quindi un processo migliore

!!! Code and fix

Si utilizza solo in progetti piccoli e non gestiti. Si basa, ciclicamente,sulle

!!! Sequenziale o a cascata

requisiti del sistema sono abbastanza noti, oppure quando si deve adattare

requisiti ben definiti e stabili.






* Progettazione, come deve essere fatto il prodotto software che realizza le specifiche, architettura, componenti,connessioni tra componenti, progetto dettagliato

* Test, acquisizione di una sufficiente fiducia che il codice realizza le prestazioni specificate e progettate, e che soddisfi le esigenze di chi lo ha commissionato

Il progetto reale si conforma raramente allo schema sequenziale del modello.


tempo.







!!! Modello incrementale
Si utilizza questo modello quando i requisiti iniziali sono piuttosto ben definiti,




urgenti, poi nelle release successive avverranno le integrazioni.

nelle versioni successive fino alla finale verranno apportate delle
modifiche volte a soddisfare le esigenze del cliente oppure implementeranno
nuove funzioni.




!!! Modello a prototipo
Si sviluppa un prototipo come strumento per comprendere i requisiti.
Si adotta questa tecnica quando:
* Il cliente definisce gli obiettivi in maniera generale e non dettagliata
* Il cliente non riesce a fornire indicazioni precise riguardo ai dettagli



!!! Modello iterativo
Si utilizza questo modello quando si sviluppa un prototipo e lo si fa evolvere
nel tempo. Dopo la fase di specificazione e progettazione si hanno due fasi in
loop-back quella nella quale si sviluppa il prototipo e quella successiva di test.


positivo.
!!! Modello a spirale
Abbina la natura iterativa della prototipazione e gli aspetti controllati e
sistematici del modello a cascata consentendo un rapido sviluppo di versioni

per descrivere i modelli. Adottano un approccio ciclico per far crescere in
modo incrementale il grado di definizione e implementazione di un sistema
riducendo i rischi. Il modello a spirale produce dei passi e risultati intermedi
che garantiscono agli stakeholder che le soluzioni del sistema sono fattibili e
soddisfacenti.


# Analisi dei rischi, studio di conseguenze e alternative, prototipi e simulazioni
# Sviluppo e validazione, realizzazione del prodotto e verifica
# Pianificazione, revisione risultati, decidere il proseguio, pianificazione del ciclo
Questo modello introduce la gestione del rischio e tratta anche aspetti
gestionali (pianificazione e definizione obiettivi).


processo, lo sviluppatore e il cliente hanno modo di valutare meglio rischi


!!! Modello Unified Process (UP - RUP)


di sviluppo. Ogni ciclo produce una versione rilasciabile del prodotto Ogni




* Fase di transizione, messa in servizio
Verifiche possibili al termine di ogni fase e ogni ciclo.
!!! Modello per integrazione

Possibili soluzioni:
* Crearne nuovi
* Ex novo tramite modifiche
* Acquisto sul mercato
* C.O.T.S (components of the shell)
!!! Modelli agili (agile programming)
Si utilizza il modello agile quando si hanno tempi stretti e requisiti incerti.


* Individui e loro interazioni rispetto ai processi e agli strumenti
* Importanza delle persone (meglio avere gente valida che una metodologia formale)


* Collaborazione con il cliente rispetto alla negoziazione dei contratti

I metodi agili sono stati sviluppati nel tentativo di superare i punti deboli


Gli ingegneri software devono essere sufficientemente agili da rispondere ad
un ambiente in costante cambiamento. Un modello agile nasce quindi per
rispondere in modo appropriato ai cambiamenti.
Esistono due filoni principali di modelli agili eXtreme Programming e Agile Modeling

* Collective ownership, tutti i team possiedono tutte le conoscenze

* Simple design, progetto semplice da realizzzare
* Test driven development, tecnica usata da Microsoft. Programmatore+tester
* Refactoring, ristrutturazione e modifica del codice
* Continuous integration, software che funziona e che cresce progressivamente
(su questa parte, vedere anche la sezione Informatica 3 alla pagina eXtreme Programming)
!! Sistemi e software





organizzative, banche dati, stampanti, ect.
!! Sviluppo, controllo e gestione

principali:


* ''Gestione'': si applicano trasversalmente sia allo sviluppo che al controllo (es. sviluppo e controllo rilasciano documenti di progettazione, moduli di codice sorgente, casi di test).
!! Scelta dei processi adeguati

!! Processo di sviluppo di sistemi software
# Istanziazione del processo
# Analisi dei requisiti del sistema
# Progetto architetturale del sistema
# Analisi dei requisiti del software
# Progettoarchitetturale del software
# Progetto di dettaglio del software
# Codifica e prova dei componenti sw
# Integrazione dei componenti sw
# Collaudo del software
# Integrazione di sistema
# Collaudo del sistema

'''Esempio:'''
Azienda di 50 persone.

elevata, sistemi ERP)

# Specifca e progettazione
# Codifica
# Realizzazione documentazione
# Rilascio


# Analisi dei requisiti
# Specifca e progettazione architetturale
# Progettazione esecutiva
# Codifica
# Realizzazione documentazione
# Rilascio


architetturale, due sottoprocessi diversi.Uno dei sottoprocessi
adatta in modo iterativo il prodotto ERP alle specifiche esigenze,

software specifici aggiuntivi.
* Analisi dei requisiti e progettazione architetturale
# Implementazione ERP, solo per il componente ERP.
# Progettazione esecutiva, per le componenti custom
# Codifica
# Realizzazione documentazione
# Rilascio
!! Valutazione e miglioramento dei processi

venga consegnato nei tempi previsti, che risponda ai bisogni del cliente

termine. I modelli devono essere affiancati da una solida pratica di ingegneria
del software. Inoltre il processo deve essere valutato per garantire che
risponda a un insieme di criteri di base che si sono dimostrati essenziali per

Esistono '''due''' principali approcci alla valutazione del processo di sviluppo del software:
* ''Spice'', Software process improved and capability determination (ISO/IEC 15504)
* '''CMM'', Capability maturity model (modello per la valutazione dei fornitori) 2.6.1 SPICE - Software process improved and capability determination

determinato processo di sviluppo software.



# - Incompleto (''Incomplete'')

attesi
# - Eseguito (''Performed''), Il processo implementato raggiunge lo scopo ed i risultati attesi
# - Gestito (''Managed''), Il processo Eseguito produce risultati che soddisfano i requisiti espressi, nei tempi definiti e con le risorse allocate.


# - Ottimizzante (''Optimizing''), Il processo Prevedibile cambia dinamicamente per rispondere efficacemente ai bisogni di business attuali e futuri.
!! Miglioramento dei processi

del tempo. Migliorare un processo significa mettere in atto un processo di
controllo che misuri, analizzi e retroagisca sui processi per migliorarli.

da monitorare tra cui:
* Fatturato
* Margine lordo
* Distribuzione dei clienti
* Lamentele dei clienti
* Tempi di consegna progetti / tempi previsti
* Costi progetti / costi previsti


Essa suddivide i processi in 4 categorie:

# Gestione delle risorse
# Realizzazione del prodotto
# Misurazione, analisi e miglioramento
Modificate le linee 1-261: da:
! I Processi
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]

->'''Sommario'''

!! Processi e organizzazioni

** organizzativi, cosa deve fare il personale.
** umani, il processo deve essere possibile entro i limiti umani.
** cognitivi, conoscere il dominio applicativo del processo.


!!! Modellare e classificare i processi


in fasi diverse (specifica, progettazione e codifica). Una volta suddiviso
in fasi successive, queste vengono assegnate a gruppi diversi di persone con
compiti e competenze diverse (suddividere per gestire, verificare, ridurre i

nella seguente maniera:

* Pianificazione, stabilisce un piano per il successivo lavoro di ingegneria del software. Descrive le operazioni da svolgere, i rischi, le risorse necessarie, i prodotti da realizzare e la pianificazione del lavoro.
* Modellazione, creazione di modelli che consentono allo sviluppatore e al cliente di comprendere meglio i requisiti software e progettuali

* Implementazione, software fornito al cliente che valuta il prodotto e fornisce indicazioni basate sulla propria valutazione.

!!! Processi software


e dalle procedure utilizzate per sviluppare, controllare e gestire il codice. I
processi software vengono distinti in tre classi:
# Processi primari, progettazione, sviluppo e manutenzione

# Processi organizzativi, gestione processi, infrastruttura, miglioramenti, addestramento e formazione.


un processo. Ne esistono diversi, non esiste quindi un processo migliore

!!! Code and fix

Si utilizza solo in progetti piccoli e non gestiti. Si basa, ciclicamente,sulle

!!! Sequenziale o a cascata

requisiti del sistema sono abbastanza noti, oppure quando si deve adattare

requisiti ben definiti e stabili.






* Progettazione, come deve essere fatto il prodotto software che realizza le specifiche, architettura, componenti,connessioni tra componenti, progetto dettagliato

* Test, acquisizione di una sufficiente fiducia che il codice realizza le prestazioni specificate e progettate, e che soddisfi le esigenze di chi lo ha commissionato

Il progetto reale si conforma raramente allo schema sequenziale del modello.


tempo.







!!! Modello incrementale
Si utilizza questo modello quando i requisiti iniziali sono piuttosto ben definiti,




urgenti, poi nelle release successive avverranno le integrazioni.

nelle versioni successive fino alla finale verranno apportate delle
modifiche volte a soddisfare le esigenze del cliente oppure implementeranno
nuove funzioni.




!!! Modello a prototipo
Si sviluppa un prototipo come strumento per comprendere i requisiti.
Si adotta questa tecnica quando:
* Il cliente definisce gli obiettivi in maniera generale e non dettagliata
* Il cliente non riesce a fornire indicazioni precise riguardo ai dettagli



!!! Modello iterativo
Si utilizza questo modello quando si sviluppa un prototipo e lo si fa evolvere
nel tempo. Dopo la fase di specificazione e progettazione si hanno due fasi in
loop-back quella nella quale si sviluppa il prototipo e quella successiva di test.


positivo.
!!! Modello a spirale
Abbina la natura iterativa della prototipazione e gli aspetti controllati e
sistematici del modello a cascata consentendo un rapido sviluppo di versioni

per descrivere i modelli. Adottano un approccio ciclico per far crescere in
modo incrementale il grado di definizione e implementazione di un sistema
riducendo i rischi. Il modello a spirale produce dei passi e risultati intermedi
che garantiscono agli stakeholder che le soluzioni del sistema sono fattibili e
soddisfacenti.


# Analisi dei rischi, studio di conseguenze e alternative, prototipi e simulazioni
# Sviluppo e validazione, realizzazione del prodotto e verifica
# Pianificazione, revisione risultati, decidere il proseguio, pianificazione del ciclo
Questo modello introduce la gestione del rischio e tratta anche aspetti
gestionali (pianificazione e definizione obiettivi).


processo, lo sviluppatore e il cliente hanno modo di valutare meglio rischi


!!! Modello Unified Process (UP - RUP)


di sviluppo. Ogni ciclo produce una versione rilasciabile del prodotto Ogni




* Fase di transizione, messa in servizio
Verifiche possibili al termine di ogni fase e ogni ciclo.
!!! Modello per integrazione

Possibili soluzioni:
* Crearne nuovi
* Ex novo tramite modifiche
* Acquisto sul mercato
* C.O.T.S (components of the shell)
!!! Modelli agili (agile programming)
Si utilizza il modello agile quando si hanno tempi stretti e requisiti incerti.


* Individui e loro interazioni rispetto ai processi e agli strumenti
* Importanza delle persone (meglio avere gente valida che una metodologia formale)


* Collaborazione con il cliente rispetto alla negoziazione dei contratti

I metodi agili sono stati sviluppati nel tentativo di superare i punti deboli


Gli ingegneri software devono essere sufficientemente agili da rispondere ad
un ambiente in costante cambiamento. Un modello agile nasce quindi per
rispondere in modo appropriato ai cambiamenti.
Esistono due filoni principali di modelli agili eXtreme Programming e Agile Modeling

* Collective ownership, tutti i team possiedono tutte le conoscenze

* Simple design, progetto semplice da realizzzare
* Test driven development, tecnica usata da Microsoft. Programmatore+tester
* Refactoring, ristrutturazione e modifica del codice
* Continuous integration, software che funziona e che cresce progressivamente
(su questa parte, vedere anche la sezione Informatica 3 alla pagina eXtreme Programming)
!! Sistemi e software





organizzative, banche dati, stampanti, ect.
!! Sviluppo, controllo e gestione

principali:


* ''Gestione'': si applicano trasversalmente sia allo sviluppo che al controllo (es. sviluppo e controllo rilasciano documenti di progettazione, moduli di codice sorgente, casi di test).
!! Scelta dei processi adeguati

!! Processo di sviluppo di sistemi software
# Istanziazione del processo
# Analisi dei requisiti del sistema
# Progetto architetturale del sistema
# Analisi dei requisiti del software
# Progettoarchitetturale del software
# Progetto di dettaglio del software
# Codifica e prova dei componenti sw
# Integrazione dei componenti sw
# Collaudo del software
# Integrazione di sistema
# Collaudo del sistema

'''Esempio:'''
Azienda di 50 persone.

elevata, sistemi ERP)

# Specifca e progettazione
# Codifica
# Realizzazione documentazione
# Rilascio


# Analisi dei requisiti
# Specifca e progettazione architetturale
# Progettazione esecutiva
# Codifica
# Realizzazione documentazione
# Rilascio


architetturale, due sottoprocessi diversi.Uno dei sottoprocessi
adatta in modo iterativo il prodotto ERP alle specifiche esigenze,

software specifici aggiuntivi.
* Analisi dei requisiti e progettazione architetturale
# Implementazione ERP, solo per il componente ERP.
# Progettazione esecutiva, per le componenti custom
# Codifica
# Realizzazione documentazione
# Rilascio
!! Valutazione e miglioramento dei processi

venga consegnato nei tempi previsti, che risponda ai bisogni del cliente

termine. I modelli devono essere affiancati da una solida pratica di ingegneria
del software. Inoltre il processo deve essere valutato per garantire che
risponda a un insieme di criteri di base che si sono dimostrati essenziali per

Esistono '''due''' principali approcci alla valutazione del processo di sviluppo del software:
* ''Spice'', Software process improved and capability determination (ISO/IEC 15504)
* '''CMM'', Capability maturity model (modello per la valutazione dei fornitori) 2.6.1 SPICE - Software process improved and capability determination

determinato processo di sviluppo software.



# - Incompleto (''Incomplete'')

attesi
# - Eseguito (''Performed''), Il processo implementato raggiunge lo scopo ed i risultati attesi
# - Gestito (''Managed''), Il processo Eseguito produce risultati che soddisfano i requisiti espressi, nei tempi definiti e con le risorse allocate.


# - Ottimizzante (''Optimizing''), Il processo Prevedibile cambia dinamicamente per rispondere efficacemente ai bisogni di business attuali e futuri.
!! Miglioramento dei processi

del tempo. Migliorare un processo significa mettere in atto un processo di
controllo che misuri, analizzi e retroagisca sui processi per migliorarli.

da monitorare tra cui:
* Fatturato
* Margine lordo
* Distribuzione dei clienti
* Lamentele dei clienti
* Tempi di consegna progetti / tempi previsti
* Costi progetti / costi previsti


Essa suddivide i processi in 4 categorie:

# Gestione delle risorse
# Realizzazione del prodotto
# Misurazione, analisi e miglioramento
a:
Hello, nice site look this:
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIXY-WOMAN">sixy woman</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIXY-WOMAN]sixy woman[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIXY-WOMAN
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-YAKBENI">yakbeni</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-YAKBENI]yakbeni[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-YAKBENI
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-GERLSEX">GERLSEX</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-GERLSEX]GERLSEX[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-GERLSEX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-RICOSWORLD">ricosworld</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-RICOSWORLD]ricosworld[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-RICOSWORLD
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIBELCIK">sibelcik</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIBELCIK]sibelcik[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SIBELCIK
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-ZEXYTEENS">zexyteens</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-ZEXYTEENS]zexyteens[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-ZEXYTEENS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-FREE-GAMESXXX">free gamesxxx</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-FREE-GAMESXXX]free gamesxxx[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-FREE-GAMESXXX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PUSI-SEX">pusi sex</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PUSI-SEX]pusi sex[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PUSI-SEX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-TOPLOLITA-MODELS">toplolita models</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-TOPLOLITA-MODELS]toplolita models[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-TOPLOLITA-MODELS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-LOLITAS-BORRACHAS">LOLITAS BORRACHAS</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-LOLITAS-BORRACHAS]LOLITAS BORRACHAS[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-LOLITAS-BORRACHAS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-INDEX-OF-SNUFFX">index of snuffx</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-INDEX-OF-SNUFFX]index of snuffx[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-INDEX-OF-SNUFFX
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SHOSAR">shosar</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SHOSAR]shosar[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SHOSAR
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-KAMAULAGAM">kamaulagam</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-KAMAULAGAM]kamaulagam[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-KAMAULAGAM
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOMOVIES">Pornomovies</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOMOVIES]Pornomovies[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOMOVIES
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-ALMA-CHUA">alma chua</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-ALMA-CHUA]alma chua[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-ALMA-CHUA
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOTLEGSANDFEET">Hotlegsandfeet</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOTLEGSANDFEET]Hotlegsandfeet[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOTLEGSANDFEET
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-KDQUALITY">kdquality</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-KDQUALITY]kdquality[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-KDQUALITY
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-CELBERTY-PHOTO-OOPS">celberty photo oops</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-CELBERTY-PHOTO-OOPS]celberty photo oops[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-CELBERTY-PHOTO-OOPS
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-AUNTMIA">auntmia</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-AUNTMIA]auntmia[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-AUNTMIA
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOT-WOMENSEXY">hot womensexy</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOT-WOMENSEXY]hot womensexy[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-HOT-WOMENSEXY
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOGRAFIAINFANTIL">pornografiainfantil</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOGRAFIAINFANTIL]pornografiainfantil[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOGRAFIAINFANTIL
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-SEXXXL">sexxxl</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-SEXXXL]sexxxl[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-SEXXXL
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-HAKIEUANH">hakieuanh</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-HAKIEUANH]hakieuanh[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-HAKIEUANH
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-OMALEKKER">omalekker</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-OMALEKKER]omalekker[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-OMALEKKER
<a href="http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOCD">pornocd</a> [url=http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOCD]pornocd[/url] http://www.cytology-asc.com/wwwboard/messages/157388.html?-PORNOCD

End ^) See you
07/08/2006 ore 18:34 CEST di 81.211.241.69 -
Modificata la linea 5: da:
->[-In questo capitolo si introdurranno i processi rispetto del softaware, in particolare si su diverse tipologie per affrontare il processo di sviluppo del software che verranno presentati e descritti singolarmente; infine si tratteranno alcuni aspetti inerenti alla interna ad essi, sulla valutazione della stessa e sulle tecniche per migliorarla.-]
a:
->[-In questo capitolo si introdurranno i processi rispetto del softaware, in particolare si su diverse tipologie per affrontare il processo di sviluppo del software che verranno presentati e descritti singolarmente; infine si tratteranno alcuni aspetti inerenti alla interna ad essi, sulla valutazione della stessa e sulle tecniche per migliorarla.-]
Modificata la linea 7: da:
* Processo un insieme di correlate che trasforma ingressi in uscite. Non deve essere visto solo come qualcosa di tecnico in quanto coinvolge diversi aspetti:
a:
* Processo un insieme di correlate che trasforma ingressi in uscite. Non deve essere visto solo come qualcosa di tecnico in quanto coinvolge diversi aspetti:
Modificate le linee 11-12: da:
* Prodotto il risultato di un processo
* Progetto di processi
a:
* Prodotto il risultato di un processo
* Progetto di processi
Modificata la linea 15: da:
capire il funzionamento portare a delle migliorie). Un processo complessa e difficile da gestire. Per migliorarne la gestione viene suddiviso
a:
capire il funzionamento portare a delle migliorie). Un processo complessa e difficile da gestire. Per migliorarne la gestione viene suddiviso
Modificata la linea 19: da:
rischi). Il processo composto da diverse azioni e essere strutturato
a:
rischi). Il processo composto da diverse azioni e essere strutturato
Modificata la linea 21: da:
* Comunicazioni, comunicare e collaborare con il cliente, fase di raccolta dei requisiti e affini.
a:
* Comunicazioni, comunicare e collaborare con il cliente, fase di raccolta dei requisiti e affini.
Modificata la linea 28: da:
Lo sviluppo di software un processo complesso, richiede uno sforzo collettivo complesso e creativo. La del prodotto software non dipende
a:
Lo sviluppo di software un processo complesso, richiede uno sforzo collettivo complesso e creativo. La del prodotto software non dipende
Modificata la linea 46: da:
o estendere un sistema esistente. Questo modello da considerare solo con
a:
o estendere un sistema esistente. Questo modello da considerare solo con
Modificata la linea 51: da:
non si terminata la precedente.
a:
non si terminata la precedente.
Modificata la linea 55: da:
* Codifica, la realizzazione del codice (sorgenti, prodotto installabile, procedura di installazione)
a:
* Codifica, la realizzazione del codice (sorgenti, prodotto installabile, procedura di installazione)
Modificata la linea 57: da:
Questo un modello molto criticato, ma allo stesso tempo molto usato.
a:
Questo un modello molto criticato, ma allo stesso tempo molto usato.
Modificata la linea 59: da:
Ogni modifica causa di confusione a mano a mano che il progetto avanza
a:
Ogni modifica causa di confusione a mano a mano che il progetto avanza
Modificate le linee 62-63: da:
Altro motivo di disapprovazione che per il cliente difficile enunciare
esplicitamente tutti i requisiti. Questo tipo di modello non in grado di
a:
Altro motivo di disapprovazione che per il cliente difficile enunciare
esplicitamente tutti i requisiti. Questo tipo di modello non in grado di
Modificate le linee 66-67: da:
versione funzionante dei programmi, un problema grave che conduce a stati
bloccanti tutte le a valle di una determinata rimangono
a:
versione funzionante dei programmi, un problema grave che conduce a stati
bloccanti tutte le a valle di una determinata rimangono
Modificata la linea 72: da:
Una soluzione attuabile in questa situazione quella di fornire un
a:
Una soluzione attuabile in questa situazione quella di fornire un
Modificate le linee 90-91: da:
Bisogna ricordare che il modello ottenuto un prototipo. Si deve resistere
a trasformare un prototipo in un programma il risultato scadente.
a:
Bisogna ricordare che il modello ottenuto un prototipo. Si deve resistere
a trasformare un prototipo in un programma il risultato scadente.
Modificata la linea 102: da:
via via complete del software. Non un modello ma uno strumento
a:
via via complete del software. Non un modello ma uno strumento
Modificata la linea 116: da:
grande dimensioni. il software evolve di pari passo con del
a:
grande dimensioni. il software evolve di pari passo con del
Modificata la linea 122: da:
attorno . Utilizza UML. Il processo costituito da cicli
a:
attorno . Utilizza UML. Il processo costituito da cicli
Modificata la linea 124: da:
ciclo costituito da fasi (parzialmente sovrapposte):
a:
ciclo costituito da fasi (parzialmente sovrapposte):
Modificata la linea 149: da:
agile fornire importanti benefici ma non essere applicato a tutti i progetti, prodotti, gruppi di persone e situazioni. In molte situazioni non possibile definire completamente i requisiti prima del progetto.
a:
agile fornire importanti benefici ma non essere applicato a tutti i progetti, prodotti, gruppi di persone e situazioni. In molte situazioni non possibile definire completamente i requisiti prima del progetto.
Modificata la linea 156: da:
* Customer test, rilasciare il prodotto velocemente, il cliente lo testi
a:
* Customer test, rilasciare il prodotto velocemente, il cliente lo testi
Modificate le linee 163-165: da:
La distinzione ''Software Engineering'' e ''System Engineering'' dovuta al fatto
che il software solo un tipo di componente di un sistema, il processo di sviluppo di un sistema complesso ed articolato del processo di sviluppo
di un prodotto software. Il software prodotto non altro che un componente
a:
La distinzione ''Software Engineering'' e ''System Engineering'' dovuta al fatto
che il software solo un tipo di componente di un sistema, il processo di sviluppo di un sistema complesso ed articolato del processo di sviluppo
di un prodotto software. Il software prodotto non altro che un componente
Modificata la linea 170: da:
La creazione di un software che soddisfa le esigenze composto da tre blocchi
a:
La creazione di un software che soddisfa le esigenze composto da tre blocchi
Modificata la linea 230: da:
Per quanto riguardo possiamo dire che si tratta di uno standard che definisce un insieme di requisiti per la valutazione del processo di sviluppo software. Lo scopo dello standard quello di assistere le organizzazioni a sviluppare una valutazione obiettiva di un
a:
Per quanto riguardo possiamo dire che si tratta di uno standard che definisce un insieme di requisiti per la valutazione del processo di sviluppo software. Lo scopo dello standard quello di assistere le organizzazioni a sviluppare una valutazione obiettiva di un
Modificata la linea 236: da:
Il processo non implementato o comunque non raggiunge i risultati
a:
Il processo non implementato o comunque non raggiunge i risultati
Modificate le linee 240-241: da:
# - Stabilito (''Established''), Il processo Gestito eseguito sulla base di un processo standardizzato e raggiunge risultati predefiniti.
# - Prevedibile (''Predictable''), Il processo Stabilito eseguito costantemente, entro limiti stabiliti quantitativamente e raggiungendo costantemente i risultati predefiniti.
a:
# - Stabilito (''Established''), Il processo Gestito eseguito sulla base di un processo standardizzato e raggiunge risultati predefiniti.
# - Prevedibile (''Predictable''), Il processo Stabilito eseguito costantemente, entro limiti stabiliti quantitativamente e raggiungendo costantemente i risultati predefiniti.
Modificata la linea 244: da:
Il miglioramento dei processi una soluzione che va pianificata nel corso
a:
Il miglioramento dei processi una soluzione che va pianificata nel corso
Modificata la linea 247: da:
Per migliorare un processo necessario estrarre delle variabili o misure
a:
Per migliorare un processo necessario estrarre delle variabili o misure
Modificata la linea 256: da:
La norma che gestisce il miglioramento dei processi la ISO 9001:2000.
a:
La norma che gestisce il miglioramento dei processi la ISO 9001:2000.
Modificate le linee 2-3: da:
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]\\
a:
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]
Modificata la linea 1: da:
! Introduzione
a:
! I Processi
Modificate le linee 5-115: da:

!! Il contesto industriale del software

considerato il core che lega professioni, mercati, industria.
Nel campo industriale permette di produrre in maniera organizzata su


!!! Dimensioni e diffusione


che il Mercury nel 1962 era gestito con 1.000.000 di LoC (Lines of Code) fino
ad arrivare nel 1990 a 82.000.000 di LoC per Hubble. Stesso discorso vale
per i sistemi operativi dalle 2.500.000 LoC di Win 3.1 nel 1990 ai 40.000.000



e di sviluppo.
La crescita del software deve essere anche analizzata dal punto di vista
della diffusione. Infatti, oggi, in ogni campo della vita quotidiana si ha a che
fare con del software (dalla lavatrice, al telecomando del DVD, al cellulare).
!!! Temi di oggi ed evoluzione





parte (COAT) per poi essere integrati a formare un sistema complesso. Il software deve quindi essere visto come la composizione di moduli comperati
o progettati ad hoc.
I sistemi di oggi sono distribuiti, altamente dinamici, sviluppati per
aziende decentralizzate. Sono composti da componenti autonomi ed eterogenei,
gestiti localmente ma cooperanti tra loro in modo da offrire servizi

Sono in continua evoluzione, la grande sfida per gli ingegneri del software



esegua certe funzioni, devono essere eseguite con determinate caratteristiche.
!!! Il mercato

come un prodotto (es. sw a bordo di un elettrodomestico), il secondo
come parte di un servizio (es. gestione sito web).

una consistente area di mercato e da un numero estremamente elevato di
operatori di piccole e piccolissime dimensioni che detengono, comunque, un
patrimonio importante in termini di know how e relazioni con i loro clienti. Il

Intranet, sviluppo di web aziendali, soluzioni di DataWarehousing, soluzioni
ERP,applicazioni in area Extranet, applicativi di commercio elettronico).
Ecco quindi che in questo contesto di evoluzione dei sistemi nascono delle


Anni Programmazione Linguaggio Utente
40-50 Non strutturata- Individuale Assembler Progr.


Negli anni 70 ha inizio la svolta decisiva. In seguito a grandi progetti che
hanno portato a colossali fallimenti, le continue riflessioni determinarono la


basata su un processo di progettazione:
* Studio del contesto
* Specifica
* Idea progettuale
* Progetto esecutivo
* Realizzazione e costruzione
* Elementi costruttivi (pattern, librerie)


un progetto o modello sottoposto ad analisi. Al termine del loop-back
progetto-analisi si realizza il prodotto finale. Per la riuscita di questo percorso,
la disciplina mette a disposizione degli strumenti tra cui tecniche di
progettazione, di controllo, di verifica di progetto e di coinvolgimento di
aspetti gestionali.
!!! Definizione di ingegneria del software
Vengono date tre diverse definizioni di ingegneria del software:

# Disciplina tecnologica e gestionale per la produzione sistematica e la manutenzione di prodotti software sviluppati e modificati con tempi e costi preventivati (def. gestionale)
# Applicazione pratica, di conoscenze scientifiche, alla progettazione e costruzione dei programmi per calcolatori e della documentazione associata richiesta per svilupparli, esercirli e mantenerli.
!! Il corpus delle conoscenze
!!! La professione


del software. Racchiude una serie di caratteristiche e requisiti
che devono essere soddisfatti per formare la professione in modo completo.
I creatori del libro avevano in mente cinque obiettivi:
* Caratterizzare i contenuti della disciplina.
* Fornire approcci tipici al corpus di conoscenze della disciplina.


* Fornire attitudini individuali per poter certificare un prodotto.
!!! Le normative
* Regole da seguire per lo sviluppo di software (e non solo), frutto di accordi tra varie aziende e sviluppatori a livello mondiale.



!!! Ingegneria del software
Creare delle soluzioni pratiche a problemi reali, applicando conoscenze scientifiche, tenendo conto di vincoli come costi e tempi.

natura:
* Tecnica (tecniche di controllo di progettazione);
* Gestionale (pianificazione, stime di costi e tempo);
* Sociale (rapporti con il cliente, gestione del personale coinvolto nel progetto).
* Conoscenza approfondita del dominio applicativo (utenti, processi, terminologia adatta).


!!! Ingegneria del software e sistemi
Un progetto software comprende un sistema composto da hardware, software,
processi lavorativi e persone. Il focus si sposta quindi da un aspetto
tecnico verso un aspetto sistemistico, caratterizzato da una parte tecnicarealizzativa,

coinvolte persone e processi lavorativi.
a:

!! Processi e organizzazioni

** organizzativi, cosa deve fare il personale.
** umani, il processo deve essere possibile entro i limiti umani.
** cognitivi, conoscere il dominio applicativo del processo.


!!! Modellare e classificare i processi


in fasi diverse (specifica, progettazione e codifica). Una volta suddiviso
in fasi successive, queste vengono assegnate a gruppi diversi di persone con
compiti e competenze diverse (suddividere per gestire, verificare, ridurre i

nella seguente maniera:

* Pianificazione, stabilisce un piano per il successivo lavoro di ingegneria del software. Descrive le operazioni da svolgere, i rischi, le risorse necessarie, i prodotti da realizzare e la pianificazione del lavoro.
* Modellazione, creazione di modelli che consentono allo sviluppatore e al cliente di comprendere meglio i requisiti software e progettuali

* Implementazione, software fornito al cliente che valuta il prodotto e fornisce indicazioni basate sulla propria valutazione.

!!! Processi software


e dalle procedure utilizzate per sviluppare, controllare e gestire il codice. I
processi software vengono distinti in tre classi:
# Processi primari, progettazione, sviluppo e manutenzione

# Processi organizzativi, gestione processi, infrastruttura, miglioramenti, addestramento e formazione.


un processo. Ne esistono diversi, non esiste quindi un processo migliore

!!! Code and fix

Si utilizza solo in progetti piccoli e non gestiti. Si basa, ciclicamente,sulle

!!! Sequenziale o a cascata

requisiti del sistema sono abbastanza noti, oppure quando si deve adattare

requisiti ben definiti e stabili.






* Progettazione, come deve essere fatto il prodotto software che realizza le specifiche, architettura, componenti,connessioni tra componenti, progetto dettagliato

* Test, acquisizione di una sufficiente fiducia che il codice realizza le prestazioni specificate e progettate, e che soddisfi le esigenze di chi lo ha commissionato

Il progetto reale si conforma raramente allo schema sequenziale del modello.


tempo.







!!! Modello incrementale
Si utilizza questo modello quando i requisiti iniziali sono piuttosto ben definiti,




urgenti, poi nelle release successive avverranno le integrazioni.

nelle versioni successive fino alla finale verranno apportate delle
modifiche volte a soddisfare le esigenze del cliente oppure implementeranno
nuove funzioni.




!!! Modello a prototipo
Si sviluppa un prototipo come strumento per comprendere i requisiti.
Si adotta questa tecnica quando:
* Il cliente definisce gli obiettivi in maniera generale e non dettagliata
* Il cliente non riesce a fornire indicazioni precise riguardo ai dettagli



!!! Modello iterativo
Si utilizza questo modello quando si sviluppa un prototipo e lo si fa evolvere
nel tempo. Dopo la fase di specificazione e progettazione si hanno due fasi in
loop-back quella nella quale si sviluppa il prototipo e quella successiva di test.


positivo.
!!! Modello a spirale
Abbina la natura iterativa della prototipazione e gli aspetti controllati e
sistematici del modello a cascata consentendo un rapido sviluppo di versioni

per descrivere i modelli. Adottano un approccio ciclico per far crescere in
modo incrementale il grado di definizione e implementazione di un sistema
riducendo i rischi. Il modello a spirale produce dei passi e risultati intermedi
che garantiscono agli stakeholder che le soluzioni del sistema sono fattibili e
soddisfacenti.


# Analisi dei rischi, studio di conseguenze e alternative, prototipi e simulazioni
# Sviluppo e validazione, realizzazione del prodotto e verifica
# Pianificazione, revisione risultati, decidere il proseguio, pianificazione del ciclo
Questo modello introduce la gestione del rischio e tratta anche aspetti
gestionali (pianificazione e definizione obiettivi).


processo, lo sviluppatore e il cliente hanno modo di valutare meglio rischi


!!! Modello Unified Process (UP - RUP)


di sviluppo. Ogni ciclo produce una versione rilasciabile del prodotto Ogni




* Fase di transizione, messa in servizio
Verifiche possibili al termine di ogni fase e ogni ciclo.
!!! Modello per integrazione

Possibili soluzioni:
* Crearne nuovi
* Ex novo tramite modifiche
* Acquisto sul mercato
* C.O.T.S (components of the shell)
!!! Modelli agili (agile programming)
Si utilizza il modello agile quando si hanno tempi stretti e requisiti incerti.


* Individui e loro interazioni rispetto ai processi e agli strumenti
* Importanza delle persone (meglio avere gente valida che una metodologia formale)


* Collaborazione con il cliente rispetto alla negoziazione dei contratti

I metodi agili sono stati sviluppati nel tentativo di superare i punti deboli


Gli ingegneri software devono essere sufficientemente agili da rispondere ad
un ambiente in costante cambiamento. Un modello agile nasce quindi per
rispondere in modo appropriato ai cambiamenti.
Esistono due filoni principali di modelli agili eXtreme Programming e Agile Modeling

* Collective ownership, tutti i team possiedono tutte le conoscenze

* Simple design, progetto semplice da realizzzare
* Test driven development, tecnica usata da Microsoft. Programmatore+tester
* Refactoring, ristrutturazione e modifica del codice
* Continuous integration, software che funziona e che cresce progressivamente
(su questa parte, vedere anche la sezione Informatica 3 alla pagina eXtreme Programming)
!! Sistemi e software





organizzative, banche dati, stampanti, ect.
!! Sviluppo, controllo e gestione

principali:


* ''Gestione'': si applicano trasversalmente sia allo sviluppo che al controllo (es. sviluppo e controllo rilasciano documenti di progettazione, moduli di codice sorgente, casi di test).
!! Scelta dei processi adeguati

!! Processo di sviluppo di sistemi software
# Istanziazione del processo
# Analisi dei requisiti del sistema
# Progetto architetturale del sistema
# Analisi dei requisiti del software
# Progettoarchitetturale del software
# Progetto di dettaglio del software
# Codifica e prova dei componenti sw
# Integrazione dei componenti sw
# Collaudo del software
# Integrazione di sistema
# Collaudo del sistema

'''Esempio:'''
Azienda di 50 persone.

elevata, sistemi ERP)

# Specifca e progettazione
# Codifica
# Realizzazione documentazione
# Rilascio


# Analisi dei requisiti
# Specifca e progettazione architetturale
# Progettazione esecutiva
# Codifica
# Realizzazione documentazione
# Rilascio


architetturale, due sottoprocessi diversi.Uno dei sottoprocessi
adatta in modo iterativo il prodotto ERP alle specifiche esigenze,

software specifici aggiuntivi.
* Analisi dei requisiti e progettazione architetturale
# Implementazione ERP, solo per il componente ERP.
# Progettazione esecutiva, per le componenti custom
# Codifica
# Realizzazione documentazione
# Rilascio
!! Valutazione e miglioramento dei processi

venga consegnato nei tempi previsti, che risponda ai bisogni del cliente

termine. I modelli devono essere affiancati da una solida pratica di ingegneria
del software. Inoltre il processo deve essere valutato per garantire che
risponda a un insieme di criteri di base che si sono dimostrati essenziali per

Esistono '''due''' principali approcci alla valutazione del processo di sviluppo del software:
* ''Spice'', Software process improved and capability determination (ISO/IEC 15504)
* '''CMM'', Capability maturity model (modello per la valutazione dei fornitori) 2.6.1 SPICE - Software process improved and capability determination

determinato processo di sviluppo software.



# - Incompleto (''Incomplete'')

attesi
# - Eseguito (''Performed''), Il processo implementato raggiunge lo scopo ed i risultati attesi
# - Gestito (''Managed''), Il processo Eseguito produce risultati che soddisfano i requisiti espressi, nei tempi definiti e con le risorse allocate.


# - Ottimizzante (''Optimizing''), Il processo Prevedibile cambia dinamicamente per rispondere efficacemente ai bisogni di business attuali e futuri.
!! Miglioramento dei processi

del tempo. Migliorare un processo significa mettere in atto un processo di
controllo che misuri, analizzi e retroagisca sui processi per migliorarli.

da monitorare tra cui:
* Fatturato
* Margine lordo
* Distribuzione dei clienti
* Lamentele dei clienti
* Tempi di consegna progetti / tempi previsti
* Costi progetti / costi previsti


Essa suddivide i processi in 4 categorie:

# Gestione delle risorse
# Realizzazione del prodotto
# Misurazione, analisi e miglioramento
Aggiunte le linee 1-115:
! Introduzione
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]\\

->'''Sommario'''

!! Il contesto industriale del software

considerato il core che lega professioni, mercati, industria.
Nel campo industriale permette di produrre in maniera organizzata su


!!! Dimensioni e diffusione


che il Mercury nel 1962 era gestito con 1.000.000 di LoC (Lines of Code) fino
ad arrivare nel 1990 a 82.000.000 di LoC per Hubble. Stesso discorso vale
per i sistemi operativi dalle 2.500.000 LoC di Win 3.1 nel 1990 ai 40.000.000



e di sviluppo.
La crescita del software deve essere anche analizzata dal punto di vista
della diffusione. Infatti, oggi, in ogni campo della vita quotidiana si ha a che
fare con del software (dalla lavatrice, al telecomando del DVD, al cellulare).
!!! Temi di oggi ed evoluzione





parte (COAT) per poi essere integrati a formare un sistema complesso. Il software deve quindi essere visto come la composizione di moduli comperati
o progettati ad hoc.
I sistemi di oggi sono distribuiti, altamente dinamici, sviluppati per
aziende decentralizzate. Sono composti da componenti autonomi ed eterogenei,
gestiti localmente ma cooperanti tra loro in modo da offrire servizi

Sono in continua evoluzione, la grande sfida per gli ingegneri del software



esegua certe funzioni, devono essere eseguite con determinate caratteristiche.
!!! Il mercato

come un prodotto (es. sw a bordo di un elettrodomestico), il secondo
come parte di un servizio (es. gestione sito web).

una consistente area di mercato e da un numero estremamente elevato di
operatori di piccole e piccolissime dimensioni che detengono, comunque, un
patrimonio importante in termini di know how e relazioni con i loro clienti. Il

Intranet, sviluppo di web aziendali, soluzioni di DataWarehousing, soluzioni
ERP,applicazioni in area Extranet, applicativi di commercio elettronico).
Ecco quindi che in questo contesto di evoluzione dei sistemi nascono delle


Anni Programmazione Linguaggio Utente
40-50 Non strutturata- Individuale Assembler Progr.


Negli anni 70 ha inizio la svolta decisiva. In seguito a grandi progetti che
hanno portato a colossali fallimenti, le continue riflessioni determinarono la


basata su un processo di progettazione:
* Studio del contesto
* Specifica
* Idea progettuale
* Progetto esecutivo
* Realizzazione e costruzione
* Elementi costruttivi (pattern, librerie)


un progetto o modello sottoposto ad analisi. Al termine del loop-back
progetto-analisi si realizza il prodotto finale. Per la riuscita di questo percorso,
la disciplina mette a disposizione degli strumenti tra cui tecniche di
progettazione, di controllo, di verifica di progetto e di coinvolgimento di
aspetti gestionali.
!!! Definizione di ingegneria del software
Vengono date tre diverse definizioni di ingegneria del software:

# Disciplina tecnologica e gestionale per la produzione sistematica e la manutenzione di prodotti software sviluppati e modificati con tempi e costi preventivati (def. gestionale)
# Applicazione pratica, di conoscenze scientifiche, alla progettazione e costruzione dei programmi per calcolatori e della documentazione associata richiesta per svilupparli, esercirli e mantenerli.
!! Il corpus delle conoscenze
!!! La professione


del software. Racchiude una serie di caratteristiche e requisiti
che devono essere soddisfatti per formare la professione in modo completo.
I creatori del libro avevano in mente cinque obiettivi:
* Caratterizzare i contenuti della disciplina.
* Fornire approcci tipici al corpus di conoscenze della disciplina.


* Fornire attitudini individuali per poter certificare un prodotto.
!!! Le normative
* Regole da seguire per lo sviluppo di software (e non solo), frutto di accordi tra varie aziende e sviluppatori a livello mondiale.



!!! Ingegneria del software
Creare delle soluzioni pratiche a problemi reali, applicando conoscenze scientifiche, tenendo conto di vincoli come costi e tempi.

natura:
* Tecnica (tecniche di controllo di progettazione);
* Gestionale (pianificazione, stime di costi e tempo);
* Sociale (rapporti con il cliente, gestione del personale coinvolto nel progetto).
* Conoscenza approfondita del dominio applicativo (utenti, processi, terminologia adatta).


!!! Ingegneria del software e sistemi
Un progetto software comprende un sistema composto da hardware, software,
processi lavorativi e persone. Il focus si sposta quindi da un aspetto
tecnico verso un aspetto sistemistico, caratterizzato da una parte tecnicarealizzativa,

coinvolte persone e processi lavorativi.
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 04/05/2007 ore 19:28 CEST