1/19
Flashcards sullo sviluppo orientato agli oggetti, inclusi concetti, analisi, progettazione e programmazione OO.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Perché Sviluppo OO?
Migliora la struttura del software, rende più facile capire, mantenere e migliorare. Componenti e moduli software riutilizzabili.
Approccio strutturato
Concentrata principalmente sulla struttura procedurale, con la funzionalità relativa agli stessi dati spesso diffusa in tutto il sistema software.
Paradigma orientato agli oggetti
Si concentra sulla strutturazione del sistema attorno ai dati, incapsulando i dati all'interno degli oggetti in modo che tutta la funzionalità relativa a tali dati sia contenuta all'interno dell'oggetto stesso.
Astrazione dei dati
I dati sono visti in termini di operazioni che possiamo eseguire su tali dati e non solo in termini di valori di dati puri.
Ereditarietà (generalizzazione/specializzazione)
La classe di oggetti sono generalizzazioni di altre classi di oggetti più specifiche; quindi ha senso inserire la funzionalità generale in quella che chiamiamo una classe base e consentire a funzionalità più specifiche di essere inserite in classi derivate dalla classe base.
Polimorfismo
Possiamo usare diversi tipi di oggetti allo stesso modo e il sistema software funziona per noi quale funzionalità dovrebbe effettivamente essere richiamata, in base al tipo effettivo di oggetto coinvolto in un particolare utilizzo.
Oggetto
È un'istanza effettiva di un'entità software che contiene informazioni reali, forse su qualcosa nel mondo reale. Può avere determinate operazioni applicate.
Classe
Astrae un insieme di oggetti che si comportano in modo identico: riunisce l'implementazione di dati e operazioni. Può creare (istanziare) oggetti da una classe.
Programmazione procedurale
Un programma può essere visto come una sequenza di chiamate di procedura. Il programma principale è responsabile del passaggio dei dati alle singole chiamate, i dati vengono elaborati dalle procedure.
Programmazione orientata agli oggetti (OOP)
Un programma può essere visto come una rete di oggetti interagenti, ognuno dei quali gestisce il proprio stato.
JavaScript
Un linguaggio orientato agli oggetti che NON ha classi. Utilizza prototipi (si chiama basato su prototipi o basato su istanze).
Metodi OO
Un insieme di tecniche per analizzare, scomporre e modularizzare le architetture dei sistemi software.
Analisi OO
Identificazione della funzionalità richiesta, delle classi e delle loro relazioni: spesso utilizza strumenti tratti dall'Unified Modelling Language (UML) come diagrammi di classe e casi d'uso.
Design OO
Specifica delle gerarchie di classi, delle interfacce di classe e del comportamento della classe: gli strumenti UML come i diagrammi di classe, i diagrammi di interazione e i diagrammi di stato possono essere utilizzati nella progettazione OO.
Programmazione OO
Implementazione di un progetto OO in un linguaggio di programmazione OO: in questa fase il codice viene effettivamente scritto, testato e integrato con altro codice.
OOA (Analisi orientata agli oggetti)
Applica le tecniche di modellazione degli oggetti per analizzare i requisiti funzionali di un sistema. Esamina il dominio del problema, con l'obiettivo di produrre un modello concettuale delle informazioni che esistono nell'area in fase di analisi e di comprendere i requisiti.
OOD (Progettazione orientata agli oggetti)
Elabora i modelli di analisi per produrre specifiche di implementazione. I developer creano astrazioni e meccanismi necessari per soddisfare i requisiti comportamentali dei sistemi determinati durante OOA. I concetti nel modello di analisi vengono mappati sulle classi di implementazione. Il risultato è un modello del dominio della soluzione, una descrizione dettagliata di come deve essere costruito il sistema.
Programmazione orientata agli oggetti (OOP)
È principalmente interessata alle questioni relative al linguaggio di programmazione e all'implementazione del software. È un paradigma di programmazione che utilizza "oggetti" - strutture di dati costituite da dati e metodi insieme alle loro interazioni - per progettare applicazioni e programmi per computer.
C++
Un discendente diretto di C che conserva quasi tutto C come sottoinsieme. Fornisce un controllo dei tipi più forte rispetto a C e supporta direttamente una gamma più ampia di stili di programmazione rispetto a C.
Makefile
Descrive la costruzione di target (eseguibili e librerie) e contiene informazioni come le dipendenze a livello di codice sorgente e le dipendenze dell'ordine di costruzione.