Programmazione Orientata agli Oggetti in Linguaggio Java

Похожие документы
Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Tecnologie di Sviluppo per il Web

Guida Compilazione Piani di Studio on-line

Programmazione Orientata agli Oggetti in Linguaggio Java

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Introduzione alla rete Internet

Programmazione Orientata agli Oggetti in Linguaggio Java

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

Esempi di algoritmi. Lezione III

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Tecnologie di Sviluppo per il Web

Soluzione dell esercizio del 2 Febbraio 2004

Matematica in laboratorio

Gestione delle Presenze WorkFlow Manuale Operativo

LA PIATTAFORMA DEL PROGETTO ORIENTAMENTO. Guida per Studente

CERTIFICATI DIGITALI. Manuale Utente

Manuale di gioco di Tenente Skat

Programmazione Orientata agli Oggetti in Linguaggio Java

LINEE GUIDA PER L EROGAZIONE DELLA FORMAZIONE INTERNA

Lezione 1 Introduzione

GUIDA AL PRONTUARIO MOBILE

QUICK GUIDE ESAMI DI STATO

Progettaz. e sviluppo Data Base

Web Content Management and E- Learning

Esercizio 1: trading on-line

Linee guida per l iscrizione online ai test d ammissione

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

ISTRUZIONI D USO DEL SOFTWARE

Oggetti Lezione 3. aspetti generali e definizione di classi I

PRENOTAZIONI APPELLI ON LINE tramite SOL-SegreteriaOnLine

Servizi Comunali. Gestione di profili utenti per tessere scolastiche mensa e altri servizi. Esercente

OSSIF WEB. Manuale query builder

La Metodologia adottata nel Corso

Manuale Operativo per la Compilazione dei Questionari di Valutazione della Didattica

b) attività divulgativa delle politiche di qualità dell ateneo nei confronti degli studenti;

Linguaggi di programmazione

Surap2.0 - PROGETTO DI CONSOLIDAMENTO DEL SISTEMA REGIONALE TUTORIAL OPERATORE SUAP SUAP

Database 1 biblioteca universitaria. Testo del quesito

Raggruppamenti Conti Movimenti

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

FPf per Windows 3.1. Guida all uso

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Guida alla compilazione della DOMANDA DI CANDIDATURA ON LINE PER L'ASSEGNAZIONE DI UNA BORSA DI MOBILITA' ERASMUS PLACEMENT

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

Le fattispecie di riuso

La progettazione centrata sull utente nei bandi di gara

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

ISTRUZIONI PER LA GESTIONE BUDGET

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

03. Il Modello Gestionale per Processi

TECNICHE DI SIMULAZIONE

DOL. Dealer Application System online. Manuale per l utente

Registratori di Cassa

Il controllo della visualizzazione

SistemiInformatividiRete

Università degli Studi della Basilicata. Prenotazione degli Appelli d esame Online. Guida Studenti alla Prenotazione degli Appelli d esame Online

Gestione dell account AdWords di Google Guida pratica

Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando)

Product Shipping Cost Guida d'installazione ed Utilizzo

Programmazione Orientata agli Oggetti in Linguaggio Java

Laboratorio di programmazione

Ogni azienda ha la necessità di conoscere il proprio sistema dei costi sia per controllare la situazione esistente che per verificare il

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

SCRUTINIO ON LINE 2 PERIODO

Manuale Amministratore bloodmanagement.it

Il Problem-Based Learning dalla pratica alla teoria

Comunità on Line Manuale Utente. Fascicolo 1. Come iscriversi a Comunità On Line. Versione 1.1

Documentazione Riferimenti 1.2. Descrizione del sito 1.3. Soluzioni adottate

Le Novità Repository (depositi di files) File Legacy del Corso Domande con punteggio negativo. prof. Tommasini Nicola ITIS G.

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Транскрипт:

Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata mecca@unibas.it Ruoli e Responsabilità: Introduzione >> Sommario Sommario Accoppiamento e Coesione Gli Esempi di Riferimento Media Pesata Indovina il Numero La Morra Cinese 2

Ruoli e Responsabilità: Introduzione >> Nelle lezioni precedenti nozioni sulla tecnologia della programmazione basata sugli oggetti componente, proprietà, metodo, costruttore, riferimento sintassi e semantica dei linguaggi di programmazione introduzione alle piattaforme tecnologiche (API e strumenti) 3 Ruoli e Responsabilità: Introduzione >> Nelle prossime lezioni linee guida relative al metodo per programmare con gli oggetti In questo modulo ci concentriamo sull organizzazione del codice ruoli e responsabilità dei componenti linee guida per scegliere l interfaccia linee guida per la divisione in strati applicativi 4

Ruoli e Responsabilità: Introduzione >> ATTENZIONE al problema centrale della programmazione a oggetti L aspetto centrale della POO scegliere i componenti dell applicazione attribuire correttamente i compiti (le responsabilità) ai componenti quanti e quali componenti utilizzare cosa ciascun componente deve conoscere e cosa deve saper fare In altri termini definire ruolo e responsabilità dei compon. 5 Ruoli e Responsabilità: Introduzione >> Attenzione nella programmazione procedurale gli strumenti di organizzazione del codice erano relativamente poveri (sottoprogrammi e librerie) le linee guida metodologiche erano ragionevolmente semplici ma era difficile affrontare problemi di grandi dimensioni tenendo sotto controllo il codice 6

Ruoli e Responsabilità: Introduzione >> Nella programmazione a oggetti è possibile organizzare molto meglio il codice utilizzando i componenti i componenti sono entità ben identificabili ed autonome e questo consente di affrontare anche problemi di grandi e grandissime dimensioni ma le linee metodologiche sono decisamente più complesse 7 Ruoli e Responsabilità: Introduzione >> Programmare correttamente a oggetti vuol dire sviluppare codice di qualità ben organizzato manutenibile per poter affrontare problemi di grandi dimensioni Ovvero non ha senso programmare in Java come se fosse il C (tanto varrebbe programmare in C) 8

Ruoli e Responsabilità: Introduzione >> In particolare continuano a valere molti dei principi della programmazione procedurale ma alcuni argomenti assumono un significato nuovo In particolare minimizzare l accoppiamento massimizzare la coesione 9 Ruoli e Responsabilità: Introduzione >> Accoppiamento e Coesione Il principio classico minimizzare l accoppiamento tra i componenti massimizzare la coesione all interno di un singolo componente nella programmazione procedurale dipendono dalla disciplina del programm. Nella programmazione a oggetti sono un obiettivo concreto 10

Ruoli e Responsabilità: Introduzione >> Accoppiamento e Coesione Minimizzare l accoppiamento progettare componenti che espongono la minima interfaccia possibile nascondere i dettagli dell implementazione Massimizzare la coesione attribuire a ciascun componente responsabilità precise rispettando gli strati applicativi 11 Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento Gli Esempi di Riferimento Per questo argomento tre esempi di riferimento La Media Pesata per discutere incapsulamento e utilizzo delle liste Indovina il Numero e La Morra Cinese per discutere di strati applicativi 12

Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento La Media Pesata >> it.unibas.mediapesata Un unico caso d uso Studente calcola media pesata Scenario principale lo studente fornisce i suoi dati personali lo studente fornisce i dati di tutti i suoi esami universitari se c è almeno un esame il sistema calcola la media pesata rispetto ai crediti e la visualizza altrimenti termina 13 Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento La Media Pesata Caratteristica interessante di Studente utilizza una lista di riferimenti ai propri esami universitari Le liste in Java java.util.arraylist: lista basata su array e indicatore di riempimento operazioni tipiche (add(), get(), size()...) alcune particolarità (>>) 14

Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento La Media Pesata Un aspetto interessante gestione dei dati persistenti richiede di programmare con i flussi e di utilizzare i componenti del package java.io Inoltre richiede di programmare la gestione delle eccezioni (>>) 15 Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento Indovina il Numero it.unibas.indovinailnumero un applicazione Java per giocare a Indovina il Numero il il giocatore deve indovinare un numero tra 1 e 100 scelto a caso dal computer Specifiche per descrivere esattamente le specifiche, utilizziamo come strumento i casi d uso 16

Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento Caso d Uso Giocatore Gioca Partita Scenario principale 1. il giocatore immette il suo nome per iniziale la partita 2. il sistema sceglie un numero a caso tra 1 e 100 3. il giocatore immette i suoi tentativi, uno alla volta 4. il sistema confronta ciascun tentativo con il numero da indovinare; se il giocatore non ha indovinato, il sistema risponde con un messaggio del tipo Prova con un numero più alto oppure Prova con un numero più basso 5. quando il giocatore indovina il sistema informa il giocatore e verifica se ha battuto o uguagliato il record di tentativi e lo informa con un messaggio inoltre, se il giocatore ha battuto il record, il record viene aggiornato 6. il sistema propone di giocare una nuova partita 7. l utente sceglie di giocare di nuovo oppure di uscire dal gioco 17 Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento Caso d Uso Giocatore Gioca Partita Scenario alternativo Punto di diramazione: 3 Condizione: il giocatore interrompe la partita Passi da eseguire il sistema visualizza un messaggio con il numero di tentativi effettuati fino a quel punto ed il numero da indovinare si riprende dal passo 6 >> it.unibas.indovinailnumero 18

Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento La Morra Cinese it.unibas.morracinese un applicazione per giocare alla morra cinese Due casi d uso Utente gioca partita Utente visualizza punteggi del gioco si tratta di un applicazione leggermente più complessa che richiede di utilizzare un numero superiore di classi 19 Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento La Morra Cinese Utente gioca partita : Scenario principale 1. finchè uno dei due giocatori non vince 3 mani: 2. l utente sceglie un oggetto tra carta, forbici e sasso 3. il computer sceglie un oggetto tra carta, forbici e sasso 4. il computer visualizza l esito della mano secondo le regole del gioco (la carta batte il sasso ; le forbici battono la carta ; il sasso batte le forbici ; se i due giocatori giocano lo stesso oggetto si verifica un pareggio) 5. il computer aggiorna e visualizza il punteggio della partita 20

Ruoli e Responsabilità: Introduzione >> Gli Esempi di Riferimento La Morra Cinese >> it.unibas.morracinese Scenario alternativo: l utente interrompe la partita punto di diramazione: 3 condizione: l utente decide di interrompere la partita si ritorna al menu principale Utente visualizza punteggi : Scenario principale il sistema visualizza il numero di partite vinte dal giocatore e il numero di partite vinte dal computer fino a quel punto 21 Ruoli e Responsabilità: Introduzione >> Sommario Riassumendo Gli Aspetti Essenziali Gli Esempi di Riferimento Media Pesata Indovina il Numero La Morra Cinese 22

Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 23