Comunicazione Digitale, servizi web e ingegneria del software all'Università di Pavia

Documento dall'Università degli Studi di Pavia sulla comunicazione digitale. Il Pdf esplora i servizi web e l'ingegneria del software, l'informazione aziendale e il modello gerarchico di Anthony. Questi appunti di Informatica, adatti per l'Università, sono stati prodotti nel 2023 e offrono una chiara panoramica sui processi strategici, tattici e operativi.

Mostra di più

62 pagine

Comunicazione Digitale Prof. Santangelo CIM AA 2023
Comunicazione Digitale E Multimediale (Università degli Studi di Pavia)
Studocu non è sponsorizzato o supportato da nessuna università o ateneo.
Comunicazione Digitale Prof. Santangelo CIM AA 2023
Comunicazione Digitale E Multimediale (Università degli Studi di Pavia)
Studocu non è sponsorizzato o supportato da nessuna università o ateneo.
Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)
lOMoARcPSD|29297963
COMUNICAZIONE DIGITALE
1) Servizi Web
Cosa sono?
un'applicazione (un software)
è accessibile via internet
è realizzato attraverso diverse tecnologie
vive all’interno di una complessa infrastruttura
risponde alle esigenze degli utenti
Esempi: un semplice sito web; un complesso sistema di banking online
L’ingegneria del software
Il software è equiparato a qualsiasi altro prodotto ingegneristico (es. veicoli,
costruzioni) e pertanto la sua realizzazione deve basarsi su procedure, principi e
metodi scientifici.
L’ingegneria del software è una disciplina ingegneristica che definisce il processo di
sviluppo del software in grado di realizzare un prodotto efficace ed efficiente.
Come qualsiasi altro prodotto ingegneristico, anche il software deve essere
realizzato all’interno di un progetto.
1
Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)
lOMoARcPSD|29297963

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Comunicazione Digitale Prof. Santangelo CIM AA 2023

Comunicazione Digitale E Multimediale (Università degli Studi di Pavia)

Studocu non è sponsorizzato o supportato da nessuna università o ateneo. Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)COMUNICAZIONE DIGITALE

Servizi Web

Cosa sono i servizi web?

  • un'applicazione (un software)
  • è accessibile via internet
  • è realizzato attraverso diverse tecnologie
  • vive all'interno di una complessa infrastruttura
  • risponde alle esigenze degli utenti

Esempi: un semplice sito web; un complesso sistema di banking online

L'ingegneria del software

Il software è equiparato a qualsiasi altro prodotto ingegneristico (es. veicoli, costruzioni) e pertanto la sua realizzazione deve basarsi su procedure, principi e metodi scientifici. L'ingegneria del software è una disciplina ingegneristica che definisce il processo di sviluppo del software in grado di realizzare un prodotto efficace ed efficiente. Come qualsiasi altro prodotto ingegneristico, anche il software deve essere realizzato all'interno di un progetto.

1 This document is available free of charge on studocu Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)

Che cos'è un Progetto?

Un progetto è una sequenza di fasi, attività e compiti che hanno come finalità la realizzazione di un outcome (prodotto, servizio, risultato).

  • ha un inizio e una fine
  • le attività non sono di "routine", pertanto il project team potrebbe essere composto da persone con le quali non si lavora generalmente, talvolta appartenenti a differenti organizzazioni o provenienti da diverse regioni geografiche
  • sfrutta una serie di risorse che generalmente sono definite a priori (risorse umane, tecnologiche, economiche e temporali).

La progettazione è un processo che a partire da norme tecniche, calcoli, specifiche e disegni, perviene alla definizione delle specifiche necessarie alla realizzazione di un manufatto, un edificio, un componente, un apparato, o in generale di un prodotto o un servizio (per esempio un'abitazione, una sedia, una strada, un ponte, un autoveicolo, un software, un sistema elettronico) riassunte all'interno di un progetto.

Perché progettare?

  • per lavorare in modo non occasionale, episodico
  • per evitare l'improduttività
  • per finalizzare il proprio operato
  • per trovare le risposte più adatte ad ogni specifica situazione
  • per permettere a più persone di lavorare in gruppo, sia nella fase ideativa che in quella operativa
  • per verificare i risultati raggiunti
  • per contenere l'emergenza
  • per fornire pubblicamente una rendicontazione dell'operato del singolo e del gruppo.

Senza progettazione si rischia di produrre un artefatto poco intuitivo e scarsamente usabile, che può decretarne in anticipo l'insuccesso.

2 Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)

Efficacia ed efficienza del progetto

Durante la progettazione è fondamentale utilizzare una metodologia che veda nell'utente finale il "fulcro" della progettazione: Durante il progetto, è necessario applicare tutte le conoscenze, le abilità e le tecniche per eseguire il progetto in maniera efficace ed efficiente:

  • efficace -> l'outcome del progetto deve soddisfare lo scopo per cui è stato progettato
  • efficiente -> l'outcome del progetto deve avvenire nei tempi stabiliti e non deve richiedere più risorse di quelle previste

Triplo vincolo

Tempo - Qualità - Costo

Team: ruoli e responsabilità

Project Manager:

  • pianifica, organizza, gestisce, monitora e revisiona tutte le attività di progetto
  • effettua una stima dei tempi e dei costi necessari allo sviluppo
  • gestisce il budget, le risorse umane (es. formazione) e i materiali (es. gli strumenti necessari a supporto del processo di sviluppo
  • prende decisioni sullo sviluppo del prodotto al fine di mantenere i costi, i tempi e la qualità del software

Product Owner (esperti in materia) -> è la persona interna all'organizzazione che possiede una chiara competenza sul servizio che si vuole digitalizzare e una chiara idea del risultato che si vuole ottenere. Conosce molto bene il dominio applicativo. Ad esempio, se si sta sviluppando un servizio di fatturazione elettronica, il Product Owner conosce l'intero processo e le norme che ne regolano il funzionamento.

3 This document is available free of charge on studocu Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)

Project Team -> team interdisciplinare dedicato al progetto, con competenze di ricerca, prototipazione e sviluppo di servizi.

  • Project Leader : capo del gruppo di lavoro, generalmente dotata di capacità comunicative e di leadership, cerca di prevenire e risolvere i conflitti interni al gruppo
  • Architect/Analyst: traduce i requisiti di business in soluzioni tecniche (ad esempio, la tecnologia da utilizzare per soddisfare un requisito)
  • UI Designer: progetta le interfacce grafiche
    • UX Designer: progetta la User Experience
    • Content Designer: progetta i contenuti
    • Content Manager: coordina le attività di copywriting
    • Front-End Developer: sviluppo di interfacce grafiche

Back-End Developer: sviluppo di moduli di backend

  • System Administrator: gestisce i sistemi
  • DB Administrator: gestisce i database
  • QA Engineer: garantisce la qualità del software

Tester: esegue test sui prodotti

  • Web Strategist: sviluppa una strategia per promuovere e migliorare l'immagine delle aziende

Principi generali di Progettazione

  1. partire dai bisogni dell'utente -> indagare sulle esigenze dell'utente e fare in modo che che tutte le funzionalità siano disegnate intorno alle sue esigenze e modelli mentali, consentendogli di ottenere facilmente e rapidamente ciò di cui ha bisogno, senza passaggi inutili e con istruzioni comprensibili. I servizi devono essere

4 Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)

progettati intorno ai bisogni degli utenti e non sulla base delle esigenze delle organizzazioni che li erogano. Il prodotto viene ottimizzato sugli utenti, piuttosto che costringere questi ultimi ad adattarsi al sistema forzandoli a modificare il loro modo di lavorare. Il prodotto deve presentare le funzionalità che sono di valore per l'utente finale. Negli anni 80' Donald Norman introduce il concetto di "User-Centered Design", sottolineando l'importanza di considerare i bisogni degli utenti e centrando la sua attenzione sull'usabilità. Il ruolo del progettista è quello di rendere più facili i compiti che devono essere svolti dagli utenti, assicurandosi che siano in grado di utilizzare il prodotto come previsto e con un minimo sforzo.

  1. semplificazione -> Tutta la progettazione deve essere improntata alla massima semplicità:
    • suddivisione del problema in sottoproblemi
    • rappresentazione grafica del problema. Questo facilita la realizzazione di un sistema di facile comprensione e manutenzione.
  2. ciò che si produce verrà consumato da altri -> Altri soggetti (utenti, sviluppatori, manutentori) dovranno in futuro utilizzare il prodotto che si sta realizzando. Facilitare il loro lavoro aggiunge valore al sistema. Mantenere aggiornata la documentazione del sistema può aiutare terze parti a comprendere più facilmente la complessità del sistema
  3. standardizzare -> La standardizzazione è fondamentale per favorire la sostenibilità e l'efficacia, consentendo di progettare ogni nuovo servizio partendo da componenti già esistenti e concentrare le risorse disponibili sugli elementi di unicità del servizio, senza dover «reinventare ogni volta la ruota»
  4. essere aperti verso il futuro -> Il progetto che si sta implementando non è statico ma dovrà evolvere nel tempo. La progettazione deve evitare di precludere la possibilità che questo accada, facendo scelte progettuali che possano condizionare il processo evolutivo del software
  5. misurare gli obiettivi -> Durante la progettazione dei servizi è importante individuare gli obiettivi da raggiungere, in termini di funzionalità e processi, insieme alle metriche in grado di valutare il successo e il gradimento del progetto. I sistemi

5 This document is available free of charge on studocu Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)

di misurazione devono essere sintetici (pochi indicatori chiave) e specifici (cioè strettamente legati al servizio che si intende misurare)

  1. miglioramento continuo -> Il rilevamento del grado di raggiungimento degli obiettivi è fondamentale per il miglioramento continuo del servizio. In questo modo si capisce cosa serve veramente agli utenti, evita di creare servizi e funzionalità inutili, concentrandosi sull'essenziale e migliorandolo progressivamente.
  2. pianificare per il riuso -> Il riuso consente di risparmiare tempo e fatica. Il sistema deve essere sviluppato in modo:
    • riusare componenti sviluppate in passato
    • sviluppare nuove componenti da utilizzare in futuro

La progettazione dei sistemi digitali

Tutti i modelli di sviluppo del software sono composte da fasi, attività e compiti. Ogni fase deve raggiungere un obiettivo (generalmente la produzione di un outcome) che viene raggiunto attraverso attività e compiti. Le attività possono essere generalizzate in due categorie:

  1. attività strutturali
  2. attività trasversali

Attività strutturali

  1. Service Requirements a. Domain Knowledge b. Stakeholder Identification c. Requirement Elicitation d. Requirement Analysis
  2. Design a. Service Design b. Architecture Design c. Content Design d. Prototyping
  3. Project Plan a. Cost and Time assessment
  4. Setting up Technology Environment
  5. Coding and Testing Software
  6. Deployment and Integration
  7. Go Live and Support: User Training, Maintenance, Monitoring & User Research.

6 Scaricato da FRANCESCO MANCINO (indirizzodipostapersonale@gmail.com)

Attività trasversali

  1. Progress: consente al team di sviluppo di valutare i progressi rispetto al piano previsto e di intraprendere le azioni necessarie a rientrare nei tempi programmati
  2. Risk Management: vengono valutati i rischi che possono influenzare il risultato del progetto
  3. Quality Assessment: viene valutata la qualità del software (che faccia effettivamente ciò per cui è stato progettato)
  4. Formal Technical Review: vengono valutati i prodotti realizzati in modo da eliminare gli errori prima che questi si propaghino all'attività successiva
  5. Document Preparation: comprende tutte le attività necessarie per creare prodotti come documenti, registri, moduli ed elenchi
  6. Reusability Management: definisce i criteri per il riutilizzo del software realizzato
  7. Measurement: vengono effettuate le necessarie misurazioni riguardanti: a. la qualità b. l'usabilità c. la rispondenza alle scadenze

La personalizzazione del processo di sviluppo

Non tutti i processi vanno bene per tutti i sistemi: il processo che si adotta per lo sviluppo del software del sistema di controllo di un aereo potrebbe non essere lo stesso del processo per lo sviluppo di un sito web. Il progettista deve quindi adottare un approccio agile, in modo da prevedere solo quelle attività che sono appropriate per il team di sviluppo e per il prodotto che si sta realizzando.

Fasi del processo di sviluppo

Le fasi non sono separate le une dalle altre, spesso sono concorrenti e iterative. Alla fine di ogni fase viene generato un risultato (outcome) ad esempio un software o una documentazione (documento PDF / presentazione PowerPoint / Diagramma / ecc.)

7 This document is available free of charge on studocu

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.