Dalla Quarta di Copertina...


Nello sviluppo dei moderni sistemi software, l’analisi è un processo sempre più orientato a elaborare un modello di conoscenza profondo, linguisticamente raffinato, incentrato sulla comprensione del problema e sui bisogni da soddisfare. Inteso così, il processo di analisi è ben più della specifica di un insieme di requisiti software: esso è il primo passo nella costruzione di un modello concettuale non banale su cui fondare lo sviluppo del sistema finale, in linea con gli approcci “Clean”.

I casi d’uso sono una tecnica con cui dare forma a tale modello, rispondendo alle esigenze di documentare una visione di business del prodotto prima ancora di stendere la lista di funzionalità da implementare.

Il testo si propone come guida di riferimento per usare i casi d’uso nell’analisi di sistemi industriali reali, adottando approcci sia tradizionali, sia agili. Esso è organizzato in tre parti. La prima parte discute gli aspetti di fondamento: la notazione dei casi d’uso, le strategie e le tecniche di modellazione. La seconda parte raccoglie una serie di pattern e di anti-pattern ricorrenti nella pratica dei casi d’uso. La terza parte, infine, affronta l’elaborazione di tre casi di studio industriali, accompagnando idealmente il lettore dalle prime fasi di analisi sino alla progettazione del sistema e alla definizione dei test di accettazione. 

Contenuto del libro


Prefazione

Parte 1

1. Introduzione: l’analisi moderna del software

Contesti tradizionali

Contesti agili

La conoscenza come asset

Ripensare alle dinamiche dell'analisi in chiave di gestione della conoscenza


2. I casi d’uso: concetti generali e notazione

Concetti fondamentali

     Notazione essenziale

     Casi d’uso e scenari

     Punti chiave


3. Strategie: come rendere efficace l’analisi con i casi d’uso

    Identificare il confine del sistema e gli attori

     Creare “buoni” casi d’uso orientati ai goal di business

     Stabilire il giusto livello di dettaglio nelle descrizioni testuali 

     Rendere omogenea la granularità del modello dei casi d’uso

     Organizzare un grande sistema in porzioni piccole e maneggiabili

     Gestire gli artefatti del modello come asset di conoscenza

     Punti chiave

   

4. Tecniche: come passare dall’analisi alla consegna di un prodotto usando i casi d’uso

    Il workshop casi d’uso

     Attribuire una priorità per stendere il “piano” dei casi d’uso

     Un metodo analitico per la stima dell’impegno

     Un metodo esperienziale per la stima dell’impegno

     Tracciabilità dei casi d’uso

     Casi d’uso 2.0 e modellazione agile

     Casi d’uso e test di accettazione: La specifica per esempi

     Punti chiave



Parte 2

5. Pattern di design dei casi d’uso
6. Anti-pattern di modellazione dei casi d’uso
7. Essence: la pratica dei casi d’uso secondo l’approccio essenziale all’ingegneria del software


Parte 3

8. Caso di studio #1: il sistema di navigazione autonoma
9. Caso di studio #2: il sistema di gestione di un terminal aeroportuale
10. Caso di studio #3: il sistema di carico-scarico portuale
11. Epilogo: Casi d’uso, valore di business e visione di prodotto


Appendici

A1 Bibliografia

A2 Riepilogo di strategie, tecniche e pattern

A3 Infografiche, schede e checklist

A4 Indice analitico e glossario







Bonus Material


Strategies and Tactics for effective Software Analysis || The Checklist (valore: 12€)

Una checklist che illustra

  1. le strategie di identificazione degli attori e del confine dell'automazione
  2. due tattiche per creare "buoni" casi d'uso orientati al valore fornito
  3. due tattiche per organizzare un grande sistema in porzioni più piccole e maneggiabili
  4. tre tattiche per stabilirte il livello ideale di tettaglio e di granularità in un modello dei casi d'uso


Pitfalls & Mistakes in working with Use Cases || The Review Checklist (valore: 12€)

Una checklist che illustra

  1. quattro trappole frequenti quando si devono modellare dei requisiti con la tecnica dei casi d'uso
  2. Sette errori da evitare con esempi concreti a supporto
  3. Una checklist finale per validare un modello dei casi d'uso a livello di diagramma, di organizzazione generale e di specifiche testuali

Choose a Pricing Option


Author's Bio



Dr. Andrea Baruzzo has a strong experience in the field of software engineering, working as teacher, mentor, and consultant for both academia and industry. He specialized in software analysis and design using traditional and agile methods. In more than 20 years of practice he helped companies apply/tailor/learn object technology in several application domains (avionics, finance, astronomics, defence, healthcare, energy, to name some). In the last decade, he refined his expertise helping organizations to move from a low quality profile to a more managed environment, where technical debt is under control, projects are part of a well-crafted product vision, and knowledge underlying every core product is better documented.

He also writes books and articles on a wide range of topics such as use case modeling, software requirement specification, architecture and patterns, software testing, product vision, technical debt analysis.