OST Il processo di sviluppo del software Dr. Dario Di Bella OST S.r.l. Organizzazione Sistemi...
-
Upload
meo-pandolfi -
Category
Documents
-
view
228 -
download
0
Transcript of OST Il processo di sviluppo del software Dr. Dario Di Bella OST S.r.l. Organizzazione Sistemi...
OST
Il processo di sviluppo del software
Dr. Dario Di Bella
OST S.r.l. Organizzazione Sistemi TecnologieVia T. Aspetti 157 - 35134 PadovaTel. 049-609078e-mail: [email protected]: http://www.ost.it
OST
Ingegneria del software
Che cos’è il software? Una creazione artistica? Un prodotto industriale
Alcuni attributi del software pervasività immaterialità complessità
La crescita della domanda del software incremento annuale (a livello mondiale) 12% incremento annuale del numero degli addetti 4%
OST
Software come prodotto industriale
Caratteristiche Requisiti forniti da terze parti Numero elevato di funzionalità Sviluppo in team Integrazione
Rischi Instabilità dei requisiti Dominio del problema Tempi ridotti Evoluzione tecnologica
Aree del Project ManagementScope
Communication
Cost
Time
Human Resources
OST
Modelli di processo Il processo di sviluppo a “ “CascataCascata”
AnalysisAnalysis
DesignDesign
DevelopmentDevelopment
TestTest
OST
Modelli di processo
Modello a cascata “ricorsivo” (B model - V model) La ricorsività è spesso imposta dagli eventi:
in particolare dall’instabilità dei requisiti dagli errori e dalle omissioni da una precisa scelta metodologica
Analysis Analysis
DesignDesign
DevelopmentDevelopment
TestTest
OST
Modelli di processo
Il processo di sviluppo a “SpiraleSpirale”
BusinessRequirements
ConceptualDesign
Proof ofConcept
RiskAnalysis
SystemRequirement
SubsystemRequirement
UnitRequirements
LogicalDesign
PhysicalDesign
FinalDesign
DesignDevelopment
Test Analysis
FirstBuild
SecondBuild
FinalBuild
Evaluation
Evaluation
Test
Deploy
OST
Modelli di processo Il processo di sviluppo “Extreme ProgrammingExtreme Programming”
(derivato da Rapid Prototyping [Rad])
AnalysisAnalysis
DesignDesign
DevelopmentDevelopment
TestTest
OST
Modelli di processo Il processo di sviluppo “Problem SolvingProblem Solving” (Controlled iteration)
AnalysisAnalysis
DesignDesign
DevelopmentDevelopment
TestTest
AnalysisAnalysis
DesignDesign
DevelopmentDevelopment
TestTest
AnalysisAnalysis
DesignDesign
DevelopmentDevelopment
TestTest
AnalysisAnalysis
DesignDesign
DevelopmentDevelopment
TestTest
Concept Design Execution Release
OST
Analysis Scoping: modello degli attori
Sistema da realizzare
Amministratore Sistema
Agente
Acquirente
Database Amministrazione
Attore: persona o macchina che interagisce con il sistema da realizzare
OST
Analysis Scoping: diagramma degli use-case
Use caseAttore
Use case: sequenza di interazioni tra attore e sistema al fine di realizzareun obiettivo funzionale (funzionalità)
Sistema darealizzare
Sistema darealizzare
Attore 2Attore 2 Attore 3Attore 3Attore 1Attore 1
Use Case 1.1Use Case 1.1
Use Case 1.2Use Case 1.2
Use Case 2.3Use Case 2.3
Use Case 2.2Use Case 2.2
Use Case 2.1Use Case 2.1 Use Case 3.1Use Case 3.1
OST
Design Architettura: Organizzazione MVC (Model-View-Control)
Livello dei dati
Livello del modello dei dati
Livello dei controlli
Livello delle viste
Moduli comunicazione viste-datiUtilità di calcolo
MaschereInterfacceFormsDialogo con utente
TabelleFile
Moduli per il trasporto dei dati
OST
Design Architettura: Logical View
Attore
Pannello comandi Carica dati Dato Maschera visualizzazione
Diagramma di sequenza di un use-case
clickbeginFunc
requestData
getData
displayData
Use caseAttore
Viste
Controlli
Modelli di dati
Dati
OST
Design Architettura: Meccanismi chiave
Insieme di funzionalità del sistema non definite dagli use case.Provengono da: Requisiti di sistema Esigenze implicite del sistema
Esempi Meccanismo di identificazione Stile dell’interfaccia grafica Gestione della concorrenza Multilinguaggio Organizzazione della comunicazione Gestione degli errori
OST
Design Architettura: WBS
ArchitetturaArchitettura
ControlliControlli DatiDatiVisteViste
Vista 1Vista 1
Vista 2Vista 2
Package 3Package 3
Package 2Package 2
Package 1Package 1 Tabella 1Tabella 1
Meccanismichiave
Meccanismichiave
ConcorrenzaConcorrenza
MultilinguaMultilingua
Tabella NTabella N
Use Case 1Use Case 1 Use Case 2Use Case 2
Vista 1Vista 1
Vista NVista N
OST
Test
Livelli di testing User Test System Test Integration Test Beta Test
System test
Scenario:possibile implementazione di un use-case
Use caseAttore
{ Scenari }
OST
Test Gestione delle release
Regressione Quando durante la correzione di un errore si introducono nuovi errori
System Test
SegnalazioniUtente
Bug Fixing
NuoveFunzionalità
IntegrationTest
NuovaRelease
Logical View
Elencomoduli
dipendenti
Modulicorretti
RegressionTest
IntegrationTest
NuovaRelease
OST
Gestione delle modifiche Un prodotto software è il tipo prodotto più soggetto alle richieste
di modifica
Motivazioni: Immaterialità del software Scarsa conoscenza del dominio del problema Finché non vedo non credo, non so Nuove idee fornite proprio dalla soluzione software
Trattamento delle richieste di modifica Metodo preventivo: ottenere il maggior numero di agreement sul prodotto durante la fase
iniziale di analisi Valutare sia il costo di realizzazione che il costo di impatto sul già fatto durante le
successive fasi Valutare l’impatto sui tempi di progetto e sulle risorse di progetto Durante la fase di sviluppo, rinviare ad un altro progetto di realizzazione tutte le richieste
di modifica che hanno impatto sull’architettura
OST
Documentazione del software
Tipi di documentazione Documentazione di analisi
Destinata al committente e all’architetto software
Utilizzare strumenti e notazioni con forte impatto visivo e significato chiaro anche per un non esperto del software
Deve descrivere lo scope di progetto chiaramente e completamente
Base degli accordi contrattuali
Documentazione di design e realizzazioneDestinata al team di progetto
Utilizzare strumenti e notazioni tecniche precise e non ambigue
Riferire sempre i documenti di analisi
Documentare il più possibile
Automatizzare
Divulgare la documentazione
OST
Motivi di insuccesso
Principali motivi di insuccesso di un progetto software: Scarsa conoscenza del dominio del problema Accordi contrattuali non chiari Analisi non eseguita Completare l’analisi prima di iniziare Tempi di realizzazione eccessivamente ridotti Non attenta valutazione dei tempi e dei sovraccarichi sulle risorse Scarsa comunicazione nel team di progetto Inadeguatezza tecnologica Isteresi tecnologica Documentazione insufficiente Impossibilità di assicurare la manutenzione del prodotto
realizzato Inadeguatezza del prodotto al dominio del problema
OST
Strumenti Microsoft Project UML based (Rational Rose) Soluzione OST:
Pianificazione e schedulazione Gestione risorse di progetto Gestione margini a partire dai
rischi di progetto Comunicazione tra gli
stakeholder Gestione documenti e workflow
Disponibilità in OST per tesi e stage post laurea su: Project Management Process Management Documentation Management Strumenti software per il Project Management e per il Documentation Management
OST
BibliografiaSoftware Engineer: M.R. Cantor, “Object-Oriented Project Management with UML”, Wiley Computer
Publishing, 1998
Extreme Programming: http://www.extremeprogramming.org K. Beck, “Extreme Programming Explained: Embrace Change”, Addison-Wesley, 1999
OO e UML: G. Booch, “Object-Oriented Analysis and Design”, Addison-Wesley, 1994 M. Fowler, K. Scott, “UML Distilled, Second Edition”, Addison-Wesley, 2000
Modello MVC: http://ootips.org/mvc-pattern.html E. Gamma et al., “Design Patterns”, Addison-Wesley, 1995 F. Bushmann, “Pattern Oriented Software Architecture”, Wiley Computer Publishing,
1996