lodolo.com   Materiale dei corsi

 Home page

 Curriculum

 Corsi
  -  Windows
  -  Modello COM
  -  Fabbrica del SW
Architettura dei sistemi Windows  

Programma
  1. Introduzione
     - Inquadramento storico
     - Descrizione generale dei sistemi Windows
  2. Librerie ad aggancio dinamico (DLL)
     - Concetti di base
     - Modalità di uso delle DLL: caricamento automatico e caricamento su richiesta
     - Confronto con concetti analoghi in altri sistemi (Linux)
     - Le DLL di sistema e l’API di Windows (WinAPI)
  3. Il modello ad eventi
     - Concetti di base
     - I messaggi Windows
     - L’idea di callback
     - Finestre, classi di finestre e dispatching dei messaggi
     - Struttura di un’applicazione Windows con esempi
     - Modello ad eventi e pseudo-multitasking
     - Confronto con applicazioni XWindows/GNOME
  4. Da Win16 a Win32
     - Differenze fra ambiente a 16 bit e ambienti a 32 bit
     - Multitasking effettivo in Win32: processi e threads
     - Strumenti di sincronizzazione
Materiale
  1. Lucidi in formato PowerPoint e HTML:
     -  WIN.PPT, WIN.HTML
  2. Sorgenti degli esempi in C:
     - HELLOWIN.C, HELLOBTN.C, TESTDLL.C, HELLODLL.C, HELLODL2.C
  3. Esempio di framework C++ per Windows:
     - IFC.ZIP, IFCTEST.ZIP

 
Il modello COM  

Programma
  1. Introduzione
     - “Crisi” ed evoluzione del modello WinAPI
     - Razionalizzazione dei servizi di sistema operativo
     - Indipendenza dei servizi dalla collocazione fisica
     - “Componentizzazione” del software
  2. Concetti di base
     - Tecniche di implementazione degli oggetti nei linguaggi ibridi
     - DLL e programmazione ad oggetti
     - Interfacce: il fondamento del modello COM
     - IUnknown e l’ereditarietà delle interfacce
     - Identificazione di classi e interfacce: GUID
     - Il supporto runtime
     - Creazione e distruzione degli oggetti
     - Ereditarietà e aggregazione
  3. L’indipendenza dalla collocazione fisica
     - Registry di sistema, GUID e servizi di naming
     - COM come modello client-server: classificazione dei server COM
     - Chiamate di procedura remota (RPC) e di marshaling
     - L’implementazione di COM: proxy, canale e stub
     - Interfacce standard e interfacce custom: uso di IDL
     - L’interfaccia universale IDispatch e l’auto-marshaling
     - Dual-interfaces
     - DCOM: estensione distribuita di COM
  4. Panoramica delle tecnologie basate su COM
     - Da OLE ad ActiveX
     - Documenti composti
     - Structured Storage
     - Uniform data transfer
     - OLE Automation
  5. Componenti software
     - Il concetto di componente software
     - Componenti e produzione industriale del software
     - Modello PME: proprietà, metodi ed eventi
     - Introspezione e serializzazione
     - OCX/ActiveX: il modello di componenti basato su COM
     - Proprietà, metodi ed eventi: uso di IDispatch
     - Introspezione: type libraries
     - Serializzazione: structured storage
     - Confronto fra ActiveX e JavaBeans
  6. COM e tecnologie Web
     - Active scripting
     - Lato client: Internet Explorer
     - Lato server: IIS, ISAPI e ASP
Materiale
  1. Lucidi in formato PowerPoint:
     -  INTROCOM.PPT, MODCOM.PPT, IMPLCOM.PPT
     -  AUTOCOM.PPT, OCXCOM.PPT, WEBCOM.PPT
  2. Esempi:
     -  OBJDLL.ZIP, INTDLL.DLL, COMDLL.ZIP

 
La fabbrica del software  

Programma
  1. Introduzione
     - Origini dell'ingegneria del software (la "crisi del software")
     - Caratteristiche generali della produzione del software
     - Confronto fra processo di produzione del SW e altri processi
  2. Gestione del progetto
     - Stime di costi e tempi
     - Pianificazione, organizzazione delle attività e schedulazione
  3. Analisi, progetto e scrittura
     - Definizione delle problematiche e distinzione fra le fasi
     - Obiettivi e strategie di analisi
     - Obiettivi e strategie di progetto ("design for change" ,"design for reuse"...)
     - Metodologie tradizionali e metodologie object-oriented
     - Vantaggi delle metodologie object-oriented: uniformità del processo
     - Limiti di applicabilità delle metodologie ad oggetti nei sistemi embedded e nell'automazione
     - Notazioni e metodologie: lo standard UML (Unified model language)
     - Tecniche avanzate (pattern e riuso del design, "design by contract", antipattern)
     - La scrittura del software: linguaggi procedurali e linguaggi ad oggetti
  4. Validazione
     - Strategie e metodi di collaudo
  5. L'evoluzione
     - La manutenzione: analisi di una problematica spesso sottovalutata
     - Problematiche di "deployment" e di gestione delle configurazioni
  6. Trent'anni di ingegneria del software: un bilancio
     - Esiste ancora una crisi del software?
     - "No silver bullet":limiti dell'ingegneria del software
  7. Verso una produzione industriale?
     - Produzione industriale e divisione del lavoro
     - I componenti software
     - Componenti e "application builders"
     - Problematiche legate all'utilizzo dei componenti: decisioni "make or buy", "second source", "escrow" ecc.