Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Appunti informatica 5 superiore, Appunti di Informatica

Appunti informatica 5 superiore

Tipologia: Appunti

2018/2019

Caricato il 03/07/2019

chiara-dutto-1
chiara-dutto-1 🇮🇹

3.2

(13)

77 documenti

1 / 22

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
19-09-2018 INGEGNIERIA DEL SOFTWARE
SOFTWARE: è l'insieme dei programmi, delle procedure, delle regole, e della relativa
documentazione di un sistema di elaborazione dell'informazione.
Categorie di software:
Applicazioni generiche (es Word, Excel..);
ecosistemi software (software pensati per gestire altri software, es Store);
software per servizi (es Sistema Operativo);
strumenti di sviluppo (software, per far scrivere altri software, es Eclipse);
social software (per comunicare sulla rete, es. servizi di Google, Facebook);
software pensati per gestire big data (software pensati per gestire grandi dati, es database);
software Embedded (software che si integrano nell'hardware, es Bancomat, Telepass,
Benzina..).
INGEGNIERIA DEL SOFTWARE: Applicazione di conoscenze scientifiche e tecnologiche,
metodi ed esperienza al progetto, l'implementazione, il collaudo e la documentazione del
software.
Disciplina metodologica, cioè studia i metodi di produzione, le teorie alla base dei metodi, e gli
strumenti di sviluppo e misura della qualità nei sistemi software. E' anche una disciplina empirica,
cioè basata sull'esperienza e sulla storia dei progetti passati.
Si occupa di:
Analisi e progettazione dei prodotti software;
Studio del processo di sviluppo del software;
Sviluppo degli strumenti di produzione del software;
Aspetti economici dei prodotti e dei processi;
Standardizzazione di processi e tecnologie.
Temi:
Ciclo di vita di un software
Processo di sviluppo del software e degli strumenti
Cattura, specifica, analisi e gestione dei requisiti
Progettazione dell’architettura e dei moduli
Codifica e debugging
Testing
Deployment
Manutenzione
Gestione della configurazione
Project manager
Qualità del software
02-10-2018/09-10-2018 MODELLO ENTITA’-RELAZIONE (vedi PP1)
Quando si inizia un progetto bisogna pensare alla struttura ad oggetti.
DATO: nome/carattere/sequenza alfanumerica
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16

Anteprima parziale del testo

Scarica Appunti informatica 5 superiore e più Appunti in PDF di Informatica solo su Docsity!

19-09-2018 INGEGNIERIA DEL SOFTWARE

SOFTWARE : è l'insieme dei programmi, delle procedure, delle regole, e della relativa

documentazione di un sistema di elaborazione dell'informazione.

Categorie di software:

  • Applicazioni generiche (es Word, Excel..);
  • ecosistemi software (software pensati per gestire altri software, es Store);
  • software per servizi (es Sistema Operativo);
  • strumenti di sviluppo (software, per far scrivere altri software, es Eclipse);
  • social software (per comunicare sulla rete, es. servizi di Google, Facebook);
  • software pensati per gestire big data (software pensati per gestire grandi dati, es database);
  • software Embedded (software che si integrano nell'hardware, es Bancomat, Telepass,

Benzina..).

INGEGNIERIA DEL SOFTWARE : Applicazione di conoscenze scientifiche e tecnologiche,

metodi ed esperienza al progetto, l'implementazione, il collaudo e la documentazione del

software.

Disciplina metodologica , cioè studia i metodi di produzione, le teorie alla base dei metodi, e gli

strumenti di sviluppo e misura della qualità nei sistemi software. E' anche una disciplina empirica ,

cioè basata sull'esperienza e sulla storia dei progetti passati.

Si occupa di:

  • Analisi e progettazione dei prodotti software;
  • Studio del processo di sviluppo del software;
  • Sviluppo degli strumenti di produzione del software;
  • Aspetti economici dei prodotti e dei processi;
  • Standardizzazione di processi e tecnologie.

Temi:

  • Ciclo di vita di un software
  • Processo di sviluppo del software e degli strumenti
    • Cattura, specifica, analisi e gestione dei requisiti
    • Progettazione dell’architettura e dei moduli
    • (^) Codifica e debugging
    • Testing
    • Deployment
  • Manutenzione
  • Gestione della configurazione
  • Project manager
  • Qualità del software

02-10-2018/09-10-2018 MODELLO ENTITA’-RELAZIONE (vedi PP1)

Quando si inizia un progetto bisogna pensare alla struttura ad oggetti.

DATO : nome/carattere/sequenza alfanumerica

INFORMAZIONE : dato che assume un significato in un determinato contesto/ stato assegnato

una semantica (dato+significato)

DATABASE/ BASE DI DATI : insieme di dati organizzati

DBMS (database management system) sistema di gestione dei dati;

Nasconde il livello fisico rispetto al livello logico, ovvero ci fa vedere i dati in modo comprensibile

per l’utente e per l’app.

è l'insieme dei moduli software che consentono agli utenti di comunicare con il livello fisico della

base dati e quindi controllano la creazione, l'utilizzo e il mantenimento di una base dati (nel

filesistem). (Esistono diversi software simili come Oracle, DB2, MySQL).. il modello concettuale

ci da delle informazioni su come creare una base di dati (il più famoso è E-R entity-relation ) ed è

il modo che ci permette concentrarsi solo sugli elementi principali per stabilire come i dati devono

essere in relazione. CI permette di descrivere i dati coinvolti in un organizzazione in termini di

oggetti e di relazioni.

Questo modello ha una rappresentazione grafica attraverso il diagramma E/R. È stato ideato da

Chen nel 1977. I costrutti principali del modello sono: entità, relazione, attributi, generalizzazioni e

vincoli di cardinalità. Il modello schematizza la realtà attraverso entità e relazioni fra queste entità.

ENTITA’ : oggetto del modello reale che ha determinate caratteristiche o insieme delle coppie

(attributo, valore)

ENTITY-SET : insieme di entità dello stesso tipo, identificate da un nome. Gli entity-set non

possono essere disgiunti.

ATTRIBUTO : proprietà dell’entità, di interesse ai fini dell’applicazione e si ricava dal documento

di analisi dei requisiti. Gli attributi possono essere:

  • semplici se possono assumere un solo valore
  • multipli se prevedono la possibilità di più valori
  • composti quando è possibile scomporli in più elementi

DOMINIO : insieme dei valori assunti dall’attributo. Formalmente, un attributo è una funzione

definita da un Entity-set.

RELAZIONE : associazione fra 2 o più entità. Essa viene identificata con un nome.

CHIAVE : serve per distinguere le entità e le relazioni.

SUPERCHIAVE : qualsiasi insieme di attributi che identifica univocamente un’entità all’interno di

un entity-set. Da tutte le superchiavi possibili bisogna estrapolare le chiavi candidate. [il Codice

Fiscale permette di individuare univocamente un cliente perché è unico per ogni persona. Il Codice

Fiscale è una superchiave; anche la coppia Codice Fiscale, indirizzo rappresenta una superchiave]

CHIAVE CANDIDATA superchiave che al suo interno non contiene alcun sotto-insieme di

attributi che a sua volta forma una superchiave (non ha all’interno nessuna superchiave (es.

matricola, codice fiscale…)[ Codice Fiscale, oltre che superchiave, è anche chiave candidata; la

coppia Codice Fiscale, Indirizzo non è chiave candidata, poiché il sottoinsieme proprio Codice

Fiscale è superchiave]

CHIAVE PRIMARIA : la prima chiave candidata scelta dal progettista del DB per identificare le

entità all’interno dell’Entity Set

TABELLA modello logico dei database, l’idea è quella di memorizzare ogni entità su una riga;

formata campi (attributi) e righe chiamate record (entità). , per ogni campo bisogna definire il

dominio.

MODELLO CONCETTUALE : indicazioni su come dobbiamo ideare e strutturare una base di

dati; modello più famoso E-R (entità relazione)

23-10-2018 MYSQL

Utente MYSQL: quintai

Password SQMYL: quintai

Vincolo di partecipazione = cardinalità minima

Vincolo di cardinalità = cardinalità massima

Modello logico != concettuale

Tabella : campi(attributi), record (righe)

Ogni entità diventa una tabella

Ogni attributo dell’entità diventa un campo della tabella

Per creare tabella o comunicare con DBMS (interpreta i comandi) uso linguaggio SQL ( Structured

Query Language )che è diviso in 2: DDL e DML

DDL - Data Definition Language : comandi per descrivere le strutture interne della base dati, cioè

creare tabelle, impostare vincoli ..

DML - Data Manipulation Language : manipola i dati, lavora con i record (leggere, aggiungere,

modificare, eliminare)

DRIVER: software che permette di far interagire due componenti

_Posso avere una sola primaria ma contemporaneamente altre chiavi univoche (es; no 2 persone

con lo stesso codice fiscale spunto UQ = unique)

_Il codice numerico 2 opzioni: 1) i numeri li gestiamo noi 2) facciamo gestire in automatico del

dbms (spunto AI = autoincrement); non ne ho bisogno quando i campi/o chiave primari/o sono

definiti

PK : primary key

NN : not null

APPLY: comando per scrivere La tabella

workbench da scaricare dal sito di sql

RELAZIONE 1-1 :

Le entità si fondono in un’unica tabella che normalmente prende il nome dell’entità più importante

(es studente e badge); i campi della tabella meno importante vengono inclusi nei campi della prima

tabella.

RELAZIONE 1-N :

Le tabelle devono comunicare grazie a foreign key (chiave straniera); aggiungo la chiave primaria

della tabella che diventa un nuovo campo della seconda (pilota) tabella in modo che le 2 entità

possano comunicare; questo campo deve avere un ruolo ben preciso e far riferimento alla tab

(team)

In foreign key uso un nome (meglio usare dei prefissi): FK_Pilota Team_Id

Tab di riferimento team

Campo di riferimento della tab pilota: id team che è in relazione con il campo id della tabella pilota

Una tabella può avere tante chiavi esterne. Il pilota conosce l’id identificativo del suo team

RELAZIONE N-N :

Ogni entità diventa una tabella, si prendono le chiavi primarie delle 2 entità e si fondono in una

terza e nuova tabella, campi che costituiscono la chiave primaria della nuova tabella (es: teamgara

come chiave primaria idteam e idgara).

Utilizzando un esempio, si spieghi il concetto di superchiave, chiave candidata e

chiave primaria in una database relazionale.

Si consideri la tabella Studente di un database relazionale con i seguenti campi:

Matricola, CodiceFiscale, Cognome, Nome. Ogni tabella all'interno di un database

relazione deve possedere una chiave primaria, cioè l'insieme minimo dei campi,

scelto dal progettista della base di dati, in grado di identificare univocamente un

record. Nell'esempio esistono diverse superchiavi, cioè tutte le combinazioni di

campi in grado di consentire un'identificazione univoca dei singoli record. Alcune

sono:

  • Matricola
  • CodiceFiscale
  • Matricola, CodiceFiscale
  • Matricola, Nome
  • CodiceFiscale, Nome
  • Matricola, Nome, Cognome
  • ....

Per poter identificare la chiave primaria occorre considerare solo le chiavi

candidate, cioè le superchiavi che non contengono al loro interno altre

superchiavi. Nell'esempio la superchiave Matricola, Nome, Cognome ha come

sottoinsieme la superchiave Matricola quindi non è chiave candidata. Si può

notare che le superchiavi Matricola e CodiceFiscale non sono ulteriormente

divisibili in altre superchiavi quindi rappresentano le due chiavi candidate della

tabella. Tra le chiavi candidate il progettista della base dati sceglie la chiave

primaria della tabella sulla base di scelte legate al progetto da realizzare.

Base dati normalizzata = ben scritta = non presenta ridondanze Verificare se ci sono delle ridondanze DIPENDENZA FUNZIONALE : Data una relazione R, due insiemi di attributi(=campi) V e W si dice che VW ,cioè W dipende funzionalmente da V se e solo se per ogni coppa di tuple t1 t2; t1[V]=t2[V]t1[W]=T2[W] …. Data una tabella e 2 insieme di campi all’interno della stessa tabella, un campo dipende funzionalmente dall’altro se x ogni coppia di record dentro quella tabella t1, t2 se è vero che i 2 record hanno lo stesso valore per il campo V vuol dire che hanno lo stesso valore nel campo W T1 record; V campo Es: tab persona (nome, cognome, codice fiscale, indirizzo, provincia, nome provincia, sigla provincia), Mario, Rossi, R SSMR… via Roma 4, Cuneo, Cuneo (=W), CN(=V) per ogni coppia di record della tabella delle persone CN= V, tutte le volte che il valore della sigla è lo stesso (CN) dall’altra parte c’è sempre Cuneo ----- per creare un database normalizzato, ben scritto deve EVITARE le dipendenze funzionali

06-11- NORMALIZZAZIONE DELLA BASE DATI 1 FORMA NORMALE : Una relazione R(una tabella) è in prima forma normale se possiede una chiave primaria ed il valore dei campi di ogni record sono singoli. (Cioè in ogni record io non ho nessun campo il cui valore è un multi valore, il valore è singolo/unico. ) La tabella deve sempre avere una chiave primaria, bisogna sempre specificarla! 2 FORMA NORMALE: Una relazione R è in seconda normale quando è in prima forma normale e non esiste alcuna dipendenza funzionale con parte della chiave primaria. (Chiave primaria con almeno due campi Es: IdFilm, IdAttore, IdRuolo, NomeRuolo Nomeruolo è in dipendenza funzionale con IdRuolo -> creazione di una tabella dei ruoli con IdRuolo (PK) e NomeRuolo 3 FORMA NORMALE : Una relazione R è in terza forma normale quando è in seconda forma normale e non esiste alcuna dipendenza funzionale tra attributi, campi che non fanno parte della chiave primaria. Es JDBC (Java DataBase Connectivity): Driver java che permette a java di comunicare con un qualsiasi DBMS

Zip estrai

  1. jar libreria da includere nel progetto -> come dipendenza imposto quella libreria li mysqlconcetorjava
  2. provare a creare una classe con main e metodo in grado di leggere e visualizzare a video il contenuto di una tabella

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-statements.html publicpublic class static LoadDriver { void main(String[] args) { try { // The newInstance() call is a work around for some// broken Java implementations

Class.forName("com.mysql.jdbc.Driver").newInstance(); //agganciare il driver della libreria; facciamo una richiesta alla JVM per prendere (se esiste) l classe che a questo nome all’interno di questo package con il tuo modulo class loader (carica le classi, le prende da disco e le porta in memoria); cerca classe con quel nome e se la trovi il risultato che è un oggetto di tipo class lo istanzi con NewIstance Reflection posso lavorare su una classe utilizzando i nomi di classe, metodo, attributo; cerco la classe che si chiama x, se esiste la istanzio, evoco il metodo y passandoci i parametri e prendo il risultato

conn =DriverManager.getConnection("jdbc:mysql://didattica.liceocuneo.it/db5I?" + "user=quintai&quintai31=greatsqldb"); // connessione con la base dati

stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT foo FROM bar"); //sulla connessione creo uno statemnet/comando che mi fa eseguire la selezione del campo fo dalla tabella bar -> sql che vinene inviato al dbms x far legere il contenuto della tabella. Seleziona il campo foo (cioè tutti i suoi record) nella tab bar. Per selezionare tutti i campi devo fare select*

if (stmt.execute("SELECT foo FROM bar")) {rs = stmt.getResultSet(); //possibilità di prendere dei risultati; guarda getResultSet su java

Per le query https://www.w3schools.com/ Materia (Id (PK), Nome) Docente(Id(PK), Cognome, Nome, ClasseConcorso) DocenteMateria (Id (PK, FK), IdMateria, (PK, FK))

1 -selezionare cognome, nome e nome della materia per tutti i docenti; ordinare in ordire alfabetico SELECT Docente.cognome, Docente.nome, Materia.nome FROM Docente, Materia, DocenteMateria WHERE DocenteMateria.IdDocente= Docente.id AND DocenteMateria.IdMateria = Materia.Id ORDER BY Docente.cognome, Docente.nome (DESC per l’ordine decrescente)

2 -selezionare gli identificativi dei docenti della classe di concorso A042 ordinati per cognome (ERRATA) SELECT Docente.Id, Docente.cognome FROM Docente WHERE Docente.ClasseConcorso = ‘A042’ ORDER BY Docente.Cognome //quando c’è un order by quello che è nell’order by deve stare nel select

3 -selezionare gli identificativi dei docenti della classe di concorso A SELECT Docente.Id FROM Docente WHERE Docente.ClasseConcorso = ‘A042’

4- Selezionare le materia insegnate dai docenti che hanno il cognome che inizia per A //con * seleziono tutto SELECT DISTINCT Materia.* //filtra solo i record diversi FROM Docente, Materia, DocenteMateria WHERE DocenteMateria.IdDocente= Docente.id AND DocenteMateria.IdMateria = Materia.Id AND Docente.cognome LIKE ‘A%’

SELECT DISTINCT Materia.* FROM Materia WHERE Materia.Id IN //Sta nell’insieme// (SELECT DocenteMateria.IdMateria FROM DocenteMateria, Docente WHERE DocenteMateria.IdDocente = Docente.Id AND Docente.cognome LIKE ‘A%’ )

5 – Selezionare il numero di insegnati abilitati sulla classe di concorso A SELECT count () FROM Docente WHERE ClasseConcorso = ‘A042’ SELECT SELECT count () SELECT AVF() //media SELECT SUM() //somma FROM

WHERE

ORDER BY

LIKE

INSERT INTO

SELECT DISTINCT considera solo i record che sono diversi, sulla base dei campi se ci sono dei record uguali li scarta IN (SELECT .. JOIN INNER JOIN

INFORMATICA 08/01/2019 appun� Pea

WEB = servizio offerto da internet INTERNET = interconnessione di re�. Infrastru�ura mondiale che collega i calcolatori Offre servizi mail,web, peer to peer, deep web

Client usano browser per comunicare con pagine web che stanno nel web server Client devono conoscere indirizzo ip e porta delle pagine web Servizio DNS ricava indirizzo ip dal nome di dominio che noi scriviamo Pagina principale da far vedere subito chiamata index h�p: protocollo liceocuneo: dominio :80 porta Quaderno ele�ronico: percorso (rela�vo, non assoluto) all’interno del web server

Preparare per 15/01/19 un paragrafo: Cronologia eventelecomunicazioni (dai segnali di fumo a internet) � importan� per arrivare alle nostre

Eclipse enterprise edi�on per programmazione web New ➔ dynamic web project ➔ nome del proge�o Java resouces _ src. Copio i sorgen� del proge�o qui Wide/content ➔ new html file ➔ versione 5

Appunti miei

INTERNET: Rete globale

WEB:

-Storia di interet

Entriprise ee new dynamic project web project name: "MioSito" dynamic web mopdule non oltre 3.

Context root: "MioSito" --> serve x discriminare il suito asll'interno dello stesso web server Context diurectory:

https://://percorso relativo della risorsa (html, mp3, jpg, pdf ..) le pagine del sito devono avere un percorso pt di partenza radice contesto (context root)

Java Resources x i sorgenti Java WebContent - new page html- Filename index - versione html la 5-

bootstrap https://getbootstrap.com/docs/4.2/getting-started/introduction/

La mia pag

Hello, world lo script linguaggio che viene inetrpretato dal browser

se tra i div scrivi qualcosaq esce -->

x eseguire run as- run on server tomcat7 - next -browser -... -

btn

TAG DA COINOSCERR

div: è una sezione, contenitore vuoto = rappresenta una sezione della base

il mio primo link: link, ancora. attributo hres, cioè riferinento della risorsa "quaaa" se voglio la pag2, come link, metto il mio primo link

immagine src = percorso immagine collocare imm all'interno della cartella del sito imm-copia-incolla nella cartella- web content- new cartella"im"- copio dentro- -->

se imm non nella mia cartella: imm-copia inditizzo immagine- la inserisco -->

TAG DA CONOSCERE:

  • Ogni istruzione dentro il tag per inserire immagine, copio immagine nel mio progetto Passaggi diversi 29/01/

WEB: architettura client-server WEB SERVER: Software in grado di rimanere in attesa da parte di un client Quali protocolli si utilizzano maggiormente sul web? https, http

………..HTML Per passare al web 2.0--> SERVLET: Classe java in grado di rispondere ad una richiesta web New-DynamiWebProject-NewServled- Nome classe es ElencoLibriServled Scrivere il nome della risosrsa che corrisponde alla nostra classe (non più index.html)

Librerie aggiuntive in concat Proprietà progetto --> new build path- add external – tomcat cartella – cartella lib invludo jsp-api, servlet- api

TOMCAT è un application server New jsp file

%> scrivo codice java come lo scrivere nel jsp Import in cima %@page import = “classechemiserve.*” %

05-02-

Se voglio passare info nell url hhtp…… ?parameter1=4¶meter2= Punto? per sepratae pagine da parametri App Pea 12-02.-

Parte dell’url che serve ad identiticare un particolare sito .. …. SESSIONE DEL BROWSER: 26-02.-

La jsp è una servlet Add external jar- aggiungi librerie per evitare errore SESSIONE : La navigazione all’interno del web è conseguita da chiamate di un server e immediata risposta, poi la comunicazione si interrompe, il socket si chiude. Meccanismo in grado di far riconoscere dal server il singolo browser che sta navigando. Il server deve poter riconoscere ogni client durante la sua navigazione. , meccanismo che prevede utilizzo di cookie, per tenere traccia del singolo client. Mi connetto al sito, server mi invia il cookie di sessione che all’interno ha Cookie: nome, dominio di riferimento, scadenza, data ora accesso, contenuto Cookie inoltrato dal server, al fronte di una nuova richiesta il Cookie viene sempre inviato, al server lo vede e dentro al cookie c’è identificativo e va a vedere all’interno della struttura di memoria con che cosa è in relazione il contenuto tomcat vede contenuto, vede a cosa corrisponde, oggetto di sessione del server dentro pox memorizzare info accessibili x chiave string hashtable per coppie chiave valore

  1. Dal serve mando il cookie di sessione
  2. Successive richiesta mandano Cookie
  3. Server va nella sua memoria e va ad agganciare a fronte di un id di sessione l’oggetto della classe httpSession che rappresenta questo contenitore all’interno di quel browser (id, httpSession)
  1. Creo login jsp come new JSP file --> String user = request.getParameter (“email”); String pw = request.getParameter (“password”); li pongo =! Da null e user.trim().lenght>
  2. Creo metodo backend con interface IUtenteService e UtenteBean
  3. ……………………………..

ARGOMENTI

  • Html con boostrap
  • Servlet
  • Jsp
  • Metodi get e post con form
  • Sessione browser
  • Input type=file
  • Login e file upload
  • Liste, backend, tabella, query
  • Upload
  • (^) Download
  • Lavorare con le 4 query

SELECT, NOMEREGIONE COUNT NOMEREGIONE GRUPOY NOME

09/04/ ESERCIZIO : considerata una rete ethernet a 100 Mb/s (Megabit), quanto tempo è necessario per scaricare un file di 50 MB (MegaByte)?