Elenet.net
–2 voti

Eccezioni

 

Le eccezioni sono eventi che si presentano in fase di run-time di un programma in seguito al verificarsi di situazioni anomale. Nel linguaggio Java, le eccezioni sono oggetti istanza delle classi contenuti nel package predefinito “java.lang”. Al verificarsi di un’eccezione è possibile intercettarla e gestirla mediante un codice specifico che possiamo scrivere all’interno di una classe per poi richiamarla tramite la parola chiave “extends” oppure far eseguire il programma in maniera anomala e con conseguenze imprevedibili. Le motivazioni che possono portare alla generazione di un’eccezione possono essere:

 

- Errori software.

 

- Immissione di un dato in input errato da parte dell’utente.

 

- Violazione della sicurezza (modifica di un file di cui non si hanno i privilegi di accesso).

 

- Mancanza di risorse hardware (connessione di rete) o software (file).

 

 

Le eccezioni predefinite più comuni sono:

 

- ArithmeticException: errori di tipo aritmetico.

 

- NullPointerException: uso di riferimenti nulli non inizializzati.

 

- ArrayIndexOutOfBoundsException: inserimento di un elemento fuori dal limite dell’array.

 

- IOException: errori di Input/Output.

 

 

Per definire un eccezione, utilizziamo i comandi “try”, “catch” e “finally”. I comandi try e catch non possono essere utilizzati singolarmente; se è presente il try, è strettamente necessario che sia presente anche il catch.

 

- try: Permette di definire un blocco di istruzioni di cui controllare l’esecuzione per intercettare eventuali eccezioni che possono verificarsi.

 

- catch: Restituisce un blocco di istruzioni che definiscono l’anomalia connessa alla specifica eccezione.

 

- finally: Restituisce un blocco di istruzioni che viene eseguito a prescindere dalla presenza o meno del blocco “catch”.

 

Cliccando su questi collegamenti è possibile trovare un esempio di programma Java in cui vengono utilizzate le eccezioni tramite i comandi “try” e catch” e la classe richiamata nel programma “Eccezione”:

 

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/Eccezione.java

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/OrarioNonValido.java

 

Lista

 

La lista in Java rappresenta un insieme di elementi collegati sequenzialmente tra loro tramite riferimenti. Gli elementi sono denominati “nodi” mentre i riferimenti “link”. Nella programmazione orientata agli oggetti, essa si definisce come una struttura dati dinamica perché è possibile aggiungere, spostare ed eliminare singoli elementi a seconda delle necessità. Il riferimento iniziale (head) serve ad accedere al primo nodo della lista; l’ultimo invece ha riferimento nullo. La lista non ha un numero di caselle finite e non ha un’organizzazione contigua. Le organizzazioni a lista prevedono una frammentazione degli elementi continui mentre i vettori (strutture statiche) non lo prevedono.

Il nodo può essere suddiviso in 2 componenti: la componente informatica e la componente che permette il collegamento al nodo successivo (link). Per l’inserimento o l’eliminazione dei singoli nodi, basta solamente cambiare la componente che collega al nodo successivo.  

 

Cliccando su questi collegamenti è possibile trovare delle classi Java che compongono un programma dove è presente la struttura dati dinamica LISTA:

 

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/Festa.java

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/FestaException.java

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/Invitato.java

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/Nodo.java

 

quesito posto 2 Giugno 2014 in Classe quarta da Roberto De Rosalia Corsista (124 punti)
rivisti 22 Novembre 2016 da Gianni Messina
  

Seconda parte della relazione

 

Javadoc

 

Javadoc è un meccanismo che permette di creare vari file di documentazione basati su HTML. Esso viene adoperato per fornire una documentazione completa sul codice implementato.

In Java il programmatore, per descrivere il suo programma, deve utilizzare dei TAG, ovvero parole chiave precedute dal simbolo “@” in riferimento a ciò che vuole scrivere. I tipi di TAG fondamentali sono:

-        @author : Si utlizza per definire l’autore della classe Java.

-        @version : Si utilizza per definire la versione del programma (in particolare, della classe Java).

-        @param parametro : Si utilizza per la descrizione il parametro di un metodo.

-        @return : Si utilizza per la descrizione del valore di ritorno di un metodo.

-        @exception oppure @throws : Si utilizza per la descrizione dell’eccezione sollevata da un metodo.

-        @see : Si utilizza per l’inserzione di un riferimento.

 

Cliccando su questo collegamento è possibile trovare la classe Java "Invitato" documentata mediante il meccanismo Javadoc:

 

https://dl.dropboxusercontent.com/u/108776401/Esempi%20DeRosalia/EsempioJavaDoc.java

 

 

Requisiti, casi d’uso e fasi del ciclo di vita di un software

 

 

Un requisito software rappresenta una funzionalità che il sistema da progettare e realizzare deve rendere disponibile all’utente, o una caratteristica che deve presentare. E’ opportuno adottare per la descrizione dei requisiti una sintassi strutturata limitata alla forma soggetto-verbo-complemento.

 

I requisiti possono essere di 3 tipi:

 

- Funzionali: Descrivono le funzionalità che il sistema software deve rendere disponibili all’utente.

 

- Non Funzionali: Descrivono una caratteristica che il sistema deve avere.

 

- Tecnologici: Sono requisiti relativi agli aspetti tecnologici come ad esempio il linguaggio di programmazione e le applicazioni software da utilizzare.

 

Oltre a ciò, i requisiti possono essere classificati in: MUST, SHOULD e MAY che indicano rispettivamente i requisiti INDISPENSABILI, DESIDERABILI e OPZIONALI.

 

I casi d’uso, invece, sono la definizione degli “scenari” in cui un utente interagisce col sistema in un diagramma UML (Unified Modelling Language).Essi sono definiti da una breve descrizione testuale compresa nel simbolo grafico dell’ellisse che viene collegato alle icone degli “attori” (utenti) che concorrono a realizzare il caso d’uso stesso.

 

Le fasi del ciclo di vita di un software sono 5:

 

- Analisi: Qui si ha lo scopo di identificare i requisiti dell’applicazione da realizzare.

 

- Progettazione: In questa fase viene definita l’architettura del software da realizzare, avendo come scopo la decomposizione in componenti.

 

- Implementazione: In questa fase viene sviluppato il codice dei singoli componenti che costituiscono l’applicazione.

 

- Verifica: In questa fase si verifica l’integrazione dei componenti, la corretta esecuzione del codice realizzato, se l’applicazione soddisfa i requisiti.

 

- Manutenzione: Dopo il rilascio dell’applicazione realizzata è spesso necessario correggere dei bug non rilevati nella fase di verifica.

Fai il log in oppure registrati per rispondere al quesito.

Domande correlate

+1 voto
1 risposta
+2 voti
0 risposte
quesito posto 4 Giugno 2014 in Classe quarta da Marco Scarpaci Corsista (94 punti) | 462 visite
+1 voto
1 risposta
quesito posto 5 Giugno 2014 in Classe quarta da Giuseppe Frangipane Corsista (110 punti) | 123 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti