Presentazione strumenti di sviluppo software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Presentazione strumenti di sviluppo software"

Transcript

1 Presentazione strumenti di sviluppo software Pistoia 13/04/2016 Stefano Peruzzi

2 12 ingegneri (quasi tutti in ing. dell'informazione) Software/V&V per ferrotramviario, in particolare segnalamento Web Enterprise con Java Mobile Computer Vision

3 Alcuni clienti di Magenta GE Transportation -> Alstom ECM Spa Gilbarco Veeder-Root Comune di Firenze / Linea Comune Spa Bird Control Italy srl ALF Handbook Città di Firenze (Firenze turismo) TotalErg Queste le trovate sugli store Vehicle counter (progetto CHEST)

4 Software Project Management The art and science of planning and leading software projects (1) Tra i 7 motivi per cui un progetto sw fallisce: (2) 1. Poor Project Planning and Direction 54 % of IT project failures can be attributed to project management, whereas only 3 % are attributed to technical challenges. [...]

5 Software Project Management Poor or Missing Methodology and Tools Successful projects are based on a methodology or framework that includes projectmanagement tools. Set up an electronic project notebook. Establish written objectives for the project. Work with the technical lead to establish tasks within phases. Ask team members to estimate the time and number of tasks required. Create a formal project plan and manage to it, including basic change control. Proactively solve problems that may arise.

6 Project Management tools Nel nostro caso ci focalizziamo su Progetti free e open-source Enterprise ready (stabili e disponibili come istanza privata) Flessibili, non devono imbrigliare il processo di sviluppo

7 Redmine a flexible project management web application written using Ruby on Rails framework. Alcune features interessanti: Multi progetto, con gestione di sotto-progetti Role based access control VCS integration (GIT è ovviamente supportato) Issue tracking system

8 Redmine - 2 Alcune features interessanti (cont.): Time tracking functionality Wiki per singolo progetto Files & document storage (non molto raffinato, ma esistono dei plugin più avanzati) Plugin system (disponibili 700+ plugins)

9 Redmine - 3 Redmine è il punto dove concentrare tutte le informazioni relative allo sviluppo di un progetto non si disperdono le informazioni punto di riferimento per tutto il team memoria storica del progetto

10 Redmine installation Attenzione all'installazione: ci sono anche vari dockerfile già pronti

11 Redmine installation - 2

12 Redmine - 5 Live demo:

13 The cooler way: Trello Trello... Non è open source È un servizio on the web, non è possibile creare un'istanza privata È molto cool Si dichiara insanely simple (e in effetti )

14 Trello - 2 Si basa sulla metodologia Kanban inventata da Toyota per i suoi processi produttivi. L'idea è virtualizzare la lavagna fisica.

15 Trello - 3 Si può usare gratis con (poche) restrizioni. Qual è il modello di business? Pagando si ottiene il profilo business: Integrazione con Evernote, Github, Google Drive, Dropbox, ecc Più controllo sugli accessi e sui ruoli assegnati ai membri custom board backgrounds and stickers Priority support with a human being and a guaranteed 1 day response time during business hours Pagando ancora c'è un profilo enterprise.

16 Trello - 3 Live (demo?):

17 Software Configuration Management (1) the ability to control and manage change in a software project. If something goes wrong, SCM can determine what was changed and who changed it. Qui ci limitiamo a uno degli aspetti previsti da SCM: il version control system, o revision control system: any kind of practice that tracks and provides control over changes to source code. Un qualsiasi sistema per tracciare e gestire ogni modifica del codice sorgente

18 Version Control System (1) Un VCS è essenziale se si lavora in team (team = #sviluppatori > 1), ma appena imparato ad usarli non potrete farne a meno. Vantaggi di un VCS: Storia completa di tutti i cambiamenti apportati a ogni file. Branching & merging. Tracciabilità: chi e quando, per ogni modifica Tranquillità (Peace of mind) While it is possible to develop software without using any version control, doing so subjects the project to a huge risk that no professional team would be advised to accept.

19 Version Control System - 2 Le modifiche sw costituiscono un grafo orientato tempo

20 Version Control Systems - centralizzati Sistemi "centralizzati" o client-server (CVS, Subversion)

21 Workflow tipico Per iniziare clone di un repository. Ogni sessione di lavoro: 1. Update della working directory con gli aggiornamenti dal repository 2. Aggiunta/modifica di alcuni file sulla working directory 3. Invio delle modifiche (patch) al repository: commit

22 Workflow tipico - 2 Mentre siamo occupati nel punto 2 (sviluppo), qualcun altro potrebbe aver inviato modifiche al repository. Per questo il punto 3 è più complicato! Dopo aver finito i nostri sviluppi, dobbiamo eseguire: Update da repository Merge degli aggiornamenti degli altri con i nostri Verifica del merge (build, test) Invio della versione finale al repository: commit

23 Version Control Systems - distribuiti Sistemi distribuiti o DCVS, Distributed Concurrent Versioning Systems (Mercurial, Git)

24 Workflow per DCVS Commit & update funzionano come prima, ma sul repository locale. Quando siamo pronti, si sincronizza il repository locale con il repository remoto (o i repository remoti) tramite Pull: importa da repository remoto a locale Push: esporta da repository locale a remoto Dopo la sincronizzazione, è comunque necessario aggiornare la working directory.

25 Workflow DCVS PULL PUSH UPDATE MERGE SVILUPPO PULL COMMIT

26 DVCS vs VCS (1) Rispetto a VCS (leggi Subversion), DVCS (leggi git)... Separa il commit di nuovo codice dall'atto di infliggerlo a tutti gli altri. commit atomici Lavora in termini di changesets invece di revisions quindi può eseguire merge automatici in modo più efficiente. Branch e poi merge. E non è un incubo. Perché VCS esegue il merge di 2 revisioni, mentre DVCS può utilizzare la storia di tutti i cambiamenti. Separazione del codice stable da quello in sviluppo, sperimentale, bugfix,...

27 Git La creazione di Git risale al 2005, nella settimana del 6 aprile. Git è stato creato da Linus Torvalds, per lo sviluppo del Kernel di Linux. (1) I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world [...], and I hated all SCM's with a passion! - Linus Torvalds

28 Git Personalizzare il proprio spazio di lavoro git config --global user.name "Your Name" git config --global user. Creare un nuovo repository da un altro repository locale: git clone /path/to/repository Usando il repository di un server remoto: git clone

29 Git - commit Git ha il concetto di stage, o index, un luogo virtuale dove aggiungere i file che verranno coinvolti nel commit.

30 Git log Per visualizzare la storia del repository si usa git log. git log --oneline ;visualizzazione compatta --all --graph --decorate ;visualizza più informazioni di altri autori ;grafo in ASCII art ;aggiunge tag e branch --author=bob ;visualizza solo i commit di bob Ogni commit è identificato da un identificatore univoco, il risultato di una firma Hash di tutti i cambiamenti del commit (SHA-1).

31 Git Live demo on the shell

32 Git - reverting a file Per ripristinare un file nello stato presente nel repository (solitamente revert): git checkout filename In git questo comando serve anche per spostarsi su un branch, quindi è meglio usare git checkout -- filename Per ripristinare tutta la working dir all'ultima revisione del repository: git reset --hard Esiste anche il comando revert, che crea un nuovo commit a correzione di un commit sbagliato (backout).

33 Git - branching

34 GitHub GitHub è il più famoso hosting space di repository git. È free per progetti open-source. Con un piccolo pagamento si possono creare repository privati. Proviamo a creare un account, creare un repository. "Agganciamo" il nostro repository a quello creato: git remote add mygithub Adesso possiamo sincronizzare con il repo online. git push mygithub master

35 GitHub Flow (1) GitHub Flow è il workflow suggerito da GitHub, basato sul branching. Prima regola: anything in the master branch is always deployable.

36 GitHub Flow Branch Quindi tutto lo sviluppo, il fixing, ecc deve essere effettuato su branch. Il nome del branch deve essere descrittivo. I commit devono essere "separate unit of change", da annullare in caso di bug. I commenti del commit devono essere curati, in quanto identificano il commit meglio del suo hash.

37 GitHub Flow - 2 Pull Request Si tratta di una richiesta al gestore/amministratore/revisore del progetto di integrare i nostri contributi nel repository. In pratica è la domanda: "Ho qualcosa da condividere, vuoi fare pull?" A seguito di una pull request, si apre una discussione a cui i vari membri del team possono partecipare. Si decide se accettare la request e integrare i nuovi contributi. Il meccanismo è ottimo per le code review, e per la supervisione. Se l'autore ritiene di dover modificare qualcosa può aggiornare la pull request.

38 GitHub Flow - 3 Deploy Quando i contributi sono ritenuti maturi, possono essere testati in produzione. Se queste novità portassero a problemi di qualche tipo, sarà facile eseguire un rollback alla situazione precedente aggiornando l'ambiente di produzione con il ramo master. Merge Infine, il codice viene aggiunto a master. La Pull Request conserva comunque tutta la storia del codice e le motivazioni per cui è stato aggiunto.

39 GitHub Flow - 4 Vediamo come si gestisce una Pull Request con la guida interattiva di GitHub

40 SCM Manager Se non vogliamo utilizzare la piattaforma GitHub? SCM Manager è un progetto open-source che fornisce un'interfaccia web per Creare e gestire repository con vari SCM tra cui git, mercurial e subversion Gestire utenti, gruppi e permessi Esporre i repository su protocollo http E' una webapp java, gira sui classici java server (tomcat, jetty ecc). Si può installare in un attimo tramite la release all-inclusive dal sito.

41 SCM Manager - 2 C'è anche un sistema di plugin, tra quelli interessanti: Checkstyle Plugin: applica checkstyle ad ogni commit, per l'enforcement dei coding standard, controllo di pattern pericolosi (anti-pattern, bug pattern). Può rifiutare il commit in caso di check non passati. Redmine-plugin: alcune integrazioni tra cui il parsing dei messaggi di commit per aggiornare/chiudere le issue Redmine. Jenkins-plugin: ping a Jenkins ad ogni commit pushed a SCM Manager.

42 Jenkins (fork di Hudson) Jenkins è un'applicazione open-source get permette continuous integration e continuous delivery. Fondamentalmente esegue build, test (e altro) sui progetti: Check out del codice dai principali CVS (anche git, of course) build + tests con vari build systems (Ant, Maven, MSBuild, shell script,...) Salva i risultati: i deliverables binari, risultati dei test, code coverage, static analysis Notify people: , IM, IDEs

43 Jenkins: ciclo tipico Continuous integration cycle

44 Jenkins - 2 A chi serve la continuous integration? Il concetto nasce per evitare i problemi di integrazione del lavoro di vari sviluppatori. Si preferisce integrare prima (e spesso) per evitare problemi più grandi dopo. Si può fare a mano, ma diventa un effort notevole! Da qui i build server: esecuzione di test (statici e dinamici), style check, produzione automatica della documentazione (es.: doxygen) In generale tutto ciò che segue lo sviluppo.

45 Jenkins - 3 La continuous integration garantisce anche che la build continuerà a funzionare nell'ambiente di produzione: a qualcuno è capitato che il software funziona perfettamente sul PC dello sviluppatore, ma fallisce in produzione? Jenkins fornisce anche un posto dove sono raccolte le release binarie. Inoltre, Jenkins è una vetrina dove vengono esposti i risultati del processo, e dove gli sviluppatori possono confrontarsi in una gamification del loro lavoro. Jenkins è un altro modo di promuovere l'utilizzo di test automatici e buone pratiche di programmazione.

46 Jenkins - 4 Jenkins è scritto in Java, ma può utilizzare vari build systems. Se occorre un ambiente di sviluppo non disponibile sul server, si possono usare altri PC come Slave, comandati dal server Jenkins tramite un piccolo software Agent.

47 Jenkins demo Live demo

Git: sistema di versionamento distribuito

Git: sistema di versionamento distribuito IC-GEN-Presentazione-160128 Git: sistema di versionamento distribuito Igor Maculan Andrea Vanzan Padova, 18/02/2016 Sommario Versionare Git, i concetti di base EGIT: Eclipse + Git Best practices 1 Versionare

Dettagli

Test e collaudo del software Continuous Integration and Testing

Test e collaudo del software Continuous Integration and Testing Test e collaudo del software Continuous Integration and Testing Relatore Felice Del Mauro Roma, Cosa è la Continuous Integration A software development practice where members of a team integrate their

Dettagli

Mettere il database sotto source control. Alessandro Alpi sux.stellino@gmail.com twitter.com/@suxstellino www.alessandroalpi.net

Mettere il database sotto source control. Alessandro Alpi sux.stellino@gmail.com twitter.com/@suxstellino www.alessandroalpi.net Mettere il database sotto source control Alessandro Alpi sux.stellino@gmail.com twitter.com/@suxstellino www.alessandroalpi.net Alessandro Alpi SQL Server MVP dal 2008 Microsoft Certified Blogs: [Eng]

Dettagli

Gestione della configurazione del software

Gestione della configurazione del software Gestione della configurazione del software 1 Indice Concetti di gestione della configurazione Versione e Configurazione Memorizzazione delle versioni Baseline e Release Alcune pratiche consigliate 2 1

Dettagli

Introduzione al Configura1on & Source Management. Ingegneria del So-ware e Lab. Università di Modena e Reggio Emilia Do<.

Introduzione al Configura1on & Source Management. Ingegneria del So-ware e Lab. Università di Modena e Reggio Emilia Do<. Introduzione al Configura1on & Source Management Ingegneria del So-ware e Lab. Università di Modena e Reggio Emilia Do

Dettagli

Gestione della Configurazione. Porfirio Tramontana - Ingegneria del Software Gestione della Configurazione 1

Gestione della Configurazione. Porfirio Tramontana - Ingegneria del Software Gestione della Configurazione 1 Gestione della Configurazione Porfirio Tramontana - Ingegneria del Software Gestione della Configurazione 1 Riferimenti Sommerville, Capitolo 29 G.A. Di Lucca, Slide del corso di Gestione dei Sistemi Software,

Dettagli

Git: Sviluppo distribuito e funzionalità avanzate

Git: Sviluppo distribuito e funzionalità avanzate Git: Sviluppo distribuito e funzionalità avanzate Emanuele Santoro manu@santoro.tk Corso Git 2014 Emanuele Santoro Git avanzato Corso Git 2014 1 / 30 Modello centralizzato Ottimo per piccoli team Ogni

Dettagli

III.2 Come condividere risultati

III.2 Come condividere risultati III.2 Come condividere risultati Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 6, 2015 Argomenti 1 Di cosa si tratta Tipologie 2 Ai fine del progetto Comandi

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Concetti di Java, parte 2 Ing. Giuseppe D'Aquì Testi Consigliati Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Tutorials [http://download.oracle.com/javase/tutorial/java/]

Dettagli

Sistemi software di collaborazione in ambito open source

Sistemi software di collaborazione in ambito open source Sistemi software di collaborazione in ambito open source Testimonianza di: Davide Dalle Carbonare davide.dallecarbonare@eng.it 1 Introduzione Collaborare e cooperare: diverse persone operano contemporaneamente

Dettagli

Sistemi per il controllo versione del software (VCS)

Sistemi per il controllo versione del software (VCS) Sistemi per il controllo versione del software (VCS) dott. Fabio Calefato 1 Indice Concetti alla base del controllo versione Versione e Configurazione Memorizzazione delle versioni Baseline e Release Alcune

Dettagli

NEAL. Increase your Siebel productivity

NEAL. Increase your Siebel productivity NEAL Increase your Siebel productivity Improve your management productivity Attraverso Neal puoi avere il controllo, in totale sicurezza, di tutte le Enterprise Siebel che compongono il tuo Business. Se

Dettagli

DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione

DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione DRUPAL CONTINUOUS INTEGRATION Parte I - Introduzione La Continuous Integration è una pratica di sviluppo software nella quale i membri di un team integrano il proprio lavoro di frequente, spesso con cadenza

Dettagli

Gestione della Configurazione

Gestione della Configurazione Gestione della Configurazione - Ingegneria del Software 2 Gestione della Configurazione 1 Riferimenti Sommerville, Capitolo 29 - Ingegneria del Software 2 Gestione della Configurazione 2 1 Gestione della

Dettagli

0. Come condividere risultati e informazioni

0. Come condividere risultati e informazioni 0. Come condividere risultati e informazioni Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Università di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Università)

Dettagli

Alma Mater Studiorum Università di Bologna. Controllo di versione. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 1 / 18

Alma Mater Studiorum Università di Bologna. Controllo di versione. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 1 / 18 Alma Mater Studiorum Università di Bologna Controllo di versione 2015 S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 1 / 18 Sviluppo collaborativo Organizzazione del processo di sviluppo Per

Dettagli

PhoneGap Build. Adobe s cloud mobile apps packager

PhoneGap Build. Adobe s cloud mobile apps packager PhoneGap Build Adobe s cloud mobile apps packager Vittorio Maniezzo - University of Bologna - 1 PhoneGap Build (WikiPedia) PhoneGap è un framework di sviluppo mobile proposto da Adobe. Permette di sviluppare

Dettagli

Luca Ottaviano. Everyday Git

Luca Ottaviano. Everyday Git Luca Ottaviano Everyday Git Usare Git per lo sviluppo embedded Firenze, 24 settembre 2012 Chi sono Luca Ottaviano lottaviano@develer.com @lucaotta Sviluppatore su sistemi embedded presso Develer Qt certified

Dettagli

Corso Git 2014. Riccardo Binetti me@rbino.com. 22 Ottobre 2014. Riccardo Binetti Corso Git 2014 22 Ottobre 2014 1 / 38

Corso Git 2014. Riccardo Binetti me@rbino.com. 22 Ottobre 2014. Riccardo Binetti Corso Git 2014 22 Ottobre 2014 1 / 38 Corso Git 2014 Riccardo Binetti me@rbino.com 22 Ottobre 2014 Riccardo Binetti Corso Git 2014 22 Ottobre 2014 1 / 38 Perché usare un VCS Questo codice funziona bene, però chissà se funzionerebbe se togliessi

Dettagli

INTERNET & MARKETING INNOVATIVE COMMUNICATION.

INTERNET & MARKETING INNOVATIVE COMMUNICATION. INTERNET & MARKETING INNOVATIVE COMMUNICATION www.sunet.it Passion Our passion to what we do every day allows us to have a special creativity and constantly improve the process of realization and execution.

Dettagli

La gestione delle configurazioni (Software configuration management)

La gestione delle configurazioni (Software configuration management) La gestione delle configurazioni (Software configuration management) Prof. Paolo Ciancarini Corso di Ingegneria del Software CdL Informatica Università di Bologna Agenda Software Configuration Management

Dettagli

Ciclo di vita per lo sviluppo di software sicuro

Ciclo di vita per lo sviluppo di software sicuro Ciclo di vita per lo sviluppo di software sicuro (a cura di Roberto Ugolini Postecom Spa) Security Service Unit Documento pubblico Le motivazioni del cambiamento 1/3 2 Aumentare il livello di sicurezza

Dettagli

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016 03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016 Obiettivi dell esercitazione: Utilizzo del pattern MVC Utilizzo di HashSet Introduzione alla complessità ESERCIZIO 1

Dettagli

Spring Stack Testing: Continuous integration, Continuous Agitation

Spring Stack Testing: Continuous integration, Continuous Agitation Spring Stack Testing: Continuous integration, Continuous Agitation Massimiliano Dessì CRS4 http://wiki.java.net/bin/view/people/massimilianodessi Cagliari, 28 ottobre 2006 1 Lo speaker Consulente Java,

Dettagli

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem. CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing

Dettagli

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Strumenti per lo sviluppo software in comunità

Strumenti per lo sviluppo software in comunità Strumenti per lo sviluppo software in comunità Francesco Agnolazza e Luca Mezzalira Montebelluna Linux User Group 27 ottobre 2012 Castelfranco Veneto Agno && Syslac (MontelLUG) Linux Day 2012 27 ott 2012

Dettagli

Prova finale di Ingegneria del software

Prova finale di Ingegneria del software Prova finale di Ingegneria del software Scaglione: Prof. San Pietro Andrea Romanoni: Francesco Visin: andrea.romanoni@polimi.it francesco.visin@polimi.it Informazioni sul corso 2 Informazioni sul corso

Dettagli

Android Development. Course Projects. Università degli Studi di Parma

Android Development. Course Projects. Università degli Studi di Parma Android Development Course Projects This work is licensed under a Creative Commons Attribution NonCommercialShareAlike 4.0 International License. Marco Picone, Ph.D. marco.picone@unipr.it Mobile Application

Dettagli

Corsi GNU/Linux 2016

Corsi GNU/Linux 2016 Corsi GNU/Linux 2016 Introduzione a GNU/Linux Emanuele Baldino ironbalden@gmail.com 19 Ottobre 2016 Piano dei Corsi Ore 17.15 aula S.1.3 Piano dei Corsi Ore 17.15 aula S.1.3 Mercoledì 19 Ottobre Introduzione

Dettagli

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO READ ONLINE AND DOWNLOAD EBOOK : I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO

Dettagli

Small Software Factories

Small Software Factories NEWITS SERVIZI PER LE NUOVE TECNOLOGIE DELL INFORMAZIONE Small Software Factories Sviluppare software in piccole realtà per grandi clienti Software Configuration Management 1 Software Configuration Management

Dettagli

Contribuire ad un progetto Open Source con i Distributed Version Control Systems

Contribuire ad un progetto Open Source con i Distributed Version Control Systems Contribuire ad un progetto Open Source con i Distributed Version Control Systems Andrea Ambu GULCh 1 Traccia del Talk Perché contribuire ad un progetto Open Source Motivi pratici! 2 Traccia del Talk Perché

Dettagli

Server Galileo. http://galileo.dmi.unict.it/

Server Galileo. http://galileo.dmi.unict.it/ Server Galileo http://galileo.dmi.unict.it/ Gestione progetti Wiki Subversion Iscrizione a Galileo Per registrarsi è sufficiente iscriversi da questa pagina: https://galileo.dmi.unict.it/iscrizioni/ L'account

Dettagli

Introduzione Kerberos. Orazio Battaglia

Introduzione Kerberos. Orazio Battaglia Orazio Battaglia Il protocollo Kerberos è stato sviluppato dal MIT (Massachusetts Institute of Tecnology) Iniziato a sviluppare negli anni 80 è stato rilasciato come Open Source nel 1987 ed è diventato

Dettagli

13. Implementazione. Un buon codice è ben strutturato

13. Implementazione. Un buon codice è ben strutturato 13. Implementazione Significa tradurre la progettazione in codice scritto in un particolare linguaggio di programmazione Due scelte fondamentali: scelta del paradigma di programmazione (imperativo, funzionale,

Dettagli

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A6_3 V2.1 Gestione Gestione delle versioni, configurazioni e modifiche Il contenuto del documento è liberamente utilizzabile

Dettagli

INTRODUZIONE AD OMNET++

INTRODUZIONE AD OMNET++ INTRODUZIONE AD OMNET++ Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare

Dettagli

Sistema Operativo. (hardware e software) della della macchina

Sistema Operativo. (hardware e software) della della macchina Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software

Dettagli

Tecnologie Open Source. Subversion

Tecnologie Open Source. Subversion Tecnologie Open Source Subversion Materiale di riferimento Version Control with Subversion Rilasciato sotto licenza CC all'indirizzo: http://svnbook.red-bean.com/ Pragmatic Version Control using Subversion

Dettagli

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco Linux e i software liberi di Nardean Lorenzo e Redigolo Marco Indice INTRODUZIONE - Cos'è Linux - Software libero - Software libero proprietario - Versioni Linux - Distribuzioni STORIA - L idea - Prima

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

BitDefender Business Security

BitDefender Business Security BitDefender Business Security BitDefender Business Security è una soluzione di gestione potente e facile da usare per la sicurezza delle aziende, che offre una protezione proattiva contro virus, spyware,

Dettagli

SOA case study. Un esempio di progetto SOA. Le esperienze maturate sul campo. organizzato da:

SOA case study. Un esempio di progetto SOA. Le esperienze maturate sul campo. organizzato da: SOA case study Un esempio di progetto SOA. Le esperienze maturate sul campo Agenda Case study SOA - Scenario Progettazione dei servizi Sicurezza Processo di sviluppo e rilascio Governance Gestione delle

Dettagli

Cosa è importante: pom.xml Goal Plug-in Repository

Cosa è importante: pom.xml Goal Plug-in Repository Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml

Dettagli

Creazione di una Azure Web App

Creazione di una Azure Web App Creazione di una Azure Web App Introduzione Oggi le aziende hanno sempre più la necessità di avere uno strumento per interagire con i propri clienti. La presenza sul web dell azienda diventa sempre di

Dettagli

Architetture di rete. 4. Le applicazioni di rete

Architetture di rete. 4. Le applicazioni di rete Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo

Dettagli

Strumenti per organizzarsi e lavorare meglio Paolo Roganti Andrea Tombesi - 7/04/2106

Strumenti per organizzarsi e lavorare meglio Paolo Roganti Andrea Tombesi - 7/04/2106 Strumenti per organizzarsi e lavorare meglio Paolo Roganti Andrea Tombesi - 7/04/2106 Agenda Competenze digitali Strumenti digitali Tool per lavorare meglio Panoramica dei tool più diffusi Tipi di Competenze

Dettagli

Sistema operativo & file system 1

Sistema operativo & file system 1 Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione

Dettagli

THE BRAIN BEHIND YOUR BUSINESS

THE BRAIN BEHIND YOUR BUSINESS CONCEPT STORE THE BRAIN BEHIND YOUR BUSINESS www.sinapsesystem.com SINAPSE / OVERVIEW Sinapse è un sistema software a plugin che connette, come in una rete neurale, entità semplici che collaborano per

Dettagli

MANUALE UTENTE Cloud Base Cloud Professional Cloud Enterprise

MANUALE UTENTE Cloud Base Cloud Professional Cloud Enterprise Cloud Base Cloud Professional Cloud Enterprise Rel. 1.2 Cloud Base, Pro e Enterprise Dopo aver effettuato il pagamento è stato attivato il download per il prodotto scelto ed abbiamo provveduto, entro le

Dettagli

Lezione 6 Analisi del codice

Lezione 6 Analisi del codice Lezione 6 Analisi del codice Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

[Sistemi sw di collaborazione] in ambito open source

[Sistemi sw di collaborazione] in ambito open source Sistemi software di collaborazione in ambito open source Testimonianza di: Davide Dalle Carbonare davide.dallecarbonare@eng.it 1 Introduzione Collaborare e cooperare: diverse persone operano contemporaneamente

Dettagli

Remote file access sulla grid e metodi di interconnesione di rete

Remote file access sulla grid e metodi di interconnesione di rete Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001 Remote file access sulla grid Studio, progettazione e implementazione

Dettagli

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8

Dettagli

MySQL per amministratori di database

MySQL per amministratori di database Oracle University Chiamaci: 800 672 253 MySQL per amministratori di database Duration: 5 Days Description Il corso MySQL per amministratori di database è alla base del percorso di formazione per sviluppatori

Dettagli

APPENDICE 4 AL CAPITOLATO TECNICO

APPENDICE 4 AL CAPITOLATO TECNICO APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE

Dettagli

19 touchscreen display

19 touchscreen display PH8200smart PH Smart is a new generation of integrated-automation PH presses, now with an even more powerful digital set-up and monitoring system, providing immediate control and further productivity advantages.

Dettagli

Project Management Newsletter

Project Management Newsletter PM NEWS Project Management Newsletter # #MAGGIO 2013 Bimestrale di informazione sul Project Management In questa release: Note PMBok - Lo standard per il project management di un progetto,project Web App:

Dettagli

Corsi di Laurea in Scienze e Tecnologie Informatiche

Corsi di Laurea in Scienze e Tecnologie Informatiche Corsi di Laurea in Scienze e Tecnologie Informatiche Carla Piazza Facoltà di Scienze Matematiche Fisiche e Naturali Università degli Studi di Udine www.dimi.uniud.it/piazza/salone_studente_2012.pdf Corsi

Dettagli

Minecash. Piattaforma per la monetizzazione su siti web

Minecash. Piattaforma per la monetizzazione su siti web Minecash Piattaforma per la monetizzazione su siti web Cos è Servizio online che permette di guadagnare grazie un sito web Risultato simile a quello di altri servizi di advertising, come Google AdSense

Dettagli

Pubblicazioni COBIT 5

Pubblicazioni COBIT 5 Pubblicazioni COBIT 5 Marco Salvato CISA, CISM, CGEIT, CRISC, COBIT 5 Foundation, COBIT 5 Trainer 1 SPONSOR DELL EVENTO SPONSOR DI ISACA VENICE CHAPTER CON IL PATROCINIO DI 2 La famiglia COBIT 5 3 Aprile

Dettagli

Git, Plesk e RocketWeb Hosting: un metodo vincente di sviluppo siti Web

Git, Plesk e RocketWeb Hosting: un metodo vincente di sviluppo siti Web Git, Plesk e RocketWeb Hosting: un metodo vincente di sviluppo siti Web 04 ottobre 2017 RocketWeb Hosting supporta Git per lo sviluppo di siti web con un sistema integrato in Plesk intuitivo e chiaro.

Dettagli

installazione pacchetti mandriva 1 aprire il centro di controllo

installazione pacchetti mandriva 1 aprire il centro di controllo installazione pacchetti mandriva 1 aprire il centro di controllo 2 cliccare su gestione software 3 scegliere il pacchetto da installare 4 selezionare il pacchetto da installare INSTALLAZIONE DALLA SHELL

Dettagli

Agile Principles Agile People. Gaetano Mazzanti Gama-Tech

Agile Principles Agile People. Gaetano Mazzanti Gama-Tech Agile Principles Agile People Gaetano Mazzanti Gama-Tech > Hello, I m Agile and I m not alone project product Agile is about change culture people organization Processes and Tools Comprehensive Documentation

Dettagli

Linguistica Computazionale: esercitazioni

Linguistica Computazionale: esercitazioni Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR felice.dellorletta@ilc.cnr.it 24 settembre 2014 Linguistica Computazionale:

Dettagli

A proposito di A colpo d'occhio 1. Esplorare il tuo nuovo tablet 7

A proposito di A colpo d'occhio 1. Esplorare il tuo nuovo tablet 7 Sommario 1 2 A proposito di A colpo d'occhio 1 Una veloce panoramica................................... 2 Novità in Windows 8..................................... 3 Alcuni presupposti.......................................

Dettagli

Sistema operativo. Avere un architettura multi-core è un vantaggio

Sistema operativo. Avere un architettura multi-core è un vantaggio Sistema operativo Software responsabile del controllo e della gestione dei componenti hardware di un computer mediante interfaccia (driver), e della gestione dei vari programmi del computer. I programmi

Dettagli

Pillole di Bazaar. user manual

Pillole di Bazaar. user manual Pillole di Bazaar user manual consolidata pubblica v.1.0 del 20 ott 2009 autori: luciano de falco alfano Sommario Sommario...1 Obiettivi e contesto...1 Un esempio di flusso di lavoro...2 Un po' di terminologia...3

Dettagli

CORSO MOC10231: Designing a Microsoft SharePoint 2010 Infrastructure. CEGEKA Education corsi di formazione professionale

CORSO MOC10231: Designing a Microsoft SharePoint 2010 Infrastructure. CEGEKA Education corsi di formazione professionale CORSO MOC10231: Designing a Microsoft SharePoint 2010 Infrastructure CEGEKA Education corsi di formazione professionale Designing a Microsoft SharePoint 2010 Infrastructure This 5 day ILT course teaches

Dettagli

Manuale Utente Webbiobank

Manuale Utente Webbiobank Manuale Utente Webbiobank 1. Autenticazione... 2 2. Scelta Unità Operativa... 3 3. Lista pazienti... 4 3.1. Sincronizza server... 4 3.2. Crea nuovo paziente... 4 3.3. Gestione template anagrafica... 5

Dettagli

Installazione Alfresco Avanzata

Installazione Alfresco Avanzata QBR Novembre 2011 Installazione Alfresco Avanzata www.qbreng.it I Passi da compiere Installare Java SE Development Kit (JDK) 6.0 (http://it.sun.com/) Installare Database - RDBMS Open Source MySQL (http://dev.mysql.com/downloads)

Dettagli

LINUX DAY LUG Govonis. Il Software Libero

LINUX DAY LUG Govonis. Il Software Libero Il Software Libero La Filosofia Fondamentale Lo scambio libero delle informazioni La condivisione di idee e risultati L'utilizzo libero del patrimonio comune delle conoscenze Le Quattro Libertà del Software

Dettagli

Nuovi metodi per distribuire software su Linux

Nuovi metodi per distribuire software su Linux Nuovi metodi per distribuire software su Linux AppImage Elvis Angelaccio 22 ottobre 2016 elvis.angelaccio@kde.org Che problemi ha il Desktop Linux? Linux è il kernel più diffuso al mondo Linux come desktop

Dettagli

TESI DI LAUREA IN INFORMATICA

TESI DI LAUREA IN INFORMATICA UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II TESI DI LAUREA IN INFORMATICA UNA WEB APPLICATION SU INFRASTRUTTURA PER IL PROGETTO DAME Tutor Accademico: Dott.ssa Anna Corazza Tutor Aziendale: Dott. Massimo

Dettagli

GNU / Linux www.baslug.org - Libertà Digitali - Potenza 28 Ottobre 2004

GNU / Linux www.baslug.org - Libertà Digitali - Potenza 28 Ottobre 2004 GNU / Linux Cos' è GNU / Linux? GNU / Linux = Sistema Operativo Open Source distribuito sotto licenza GPL. GNU / Linux è un Sistema Operativo Non si appoggia ad altri software per girare. Fornisce esso

Dettagli

Prova Finale Controllo delle versioni

Prova Finale Controllo delle versioni Prova Finale Controllo delle versioni 1 Controllo delle versioni: a cosa serve? Tenere traccia dei cambiamenti Semplificare la collaborazione Gestione di diverse diramazioni (branch) di sviluppo Differen3

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

MAW DOCUMENT MANAGEMENT. Sistema di Gestione Documentale per Aziende e Pubbliche Amministrazioni

MAW DOCUMENT MANAGEMENT. Sistema di Gestione Documentale per Aziende e Pubbliche Amministrazioni MAW DOCUMENT MANAGEMENT Sistema di Gestione Documentale per Aziende e Pubbliche Amministrazioni Cos è MDM! mdm (Maw Document Management) è la soluzione di Enterprise Content Management, per la gestione

Dettagli

La Governance come strumento di valorizzazione dell'it verso il business

La Governance come strumento di valorizzazione dell'it verso il business La Governance come strumento di valorizzazione dell'it verso il business Livio Selvini HP IT Governance Senior Consultant Vicenza, 24 novembre Hewlett-Packard Development Company, L.P. The information

Dettagli

Come criptare un file PDF. FIMMG Palermo Dr. Francesco CIRRITO

Come criptare un file PDF. FIMMG Palermo Dr. Francesco CIRRITO Con le ultime problematiche normative emerse per i MMG, collegate ed inerenti le richieste dei pazienti di invio file, documenti o i promemoria di ricette dematerializzate per email, nasce l'esigenza di

Dettagli

Password di accesso al database criptata

Password di accesso al database criptata Password di accesso al database criptata Come rendere più sicura la password di connessione al database? Le credenziali di accesso al database vengono salvate, di default, in chiaro all interno di un file

Dettagli

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note M. Teresa Della Beffa Click here if your download doesn"t start automatically Fiori di campo. Conoscere, riconoscere

Dettagli

Smart Cities and Communities and Social Innovation Bando MIUR. D.D. 391/Ric. del 5 luglio Application Store

Smart Cities and Communities and Social Innovation Bando MIUR. D.D. 391/Ric. del 5 luglio Application Store Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric. del 5 luglio 2012 Application Store Finalità Con il termine application store non si intende indicare un oggetto finalizzato

Dettagli

Gestione dello sviluppo software Modelli Base

Gestione dello sviluppo software Modelli Base Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto

Dettagli

SYSTEM MANUAL SM_0047 ESEMPI INTEGRAZIONE PRODOTTI. Teleassistenza professionale con ETG3021 & GPRS

SYSTEM MANUAL SM_0047 ESEMPI INTEGRAZIONE PRODOTTI. Teleassistenza professionale con ETG3021 & GPRS SYSTEM MANUAL ESEMPI INTEGRAZIONE PRODOTTI Teleassistenza professionale con & GPRS SM_0047 SM_0047 Teleassistenza professionale con & GPRS TWIDO-SOFT TWIDO-SUITE OBIETTIVO TWD XCAR RJ030 GPRS ADSL Eseguire

Dettagli

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla 1. Which are three reasons a company may choose Linux over Windows as an operating system? (Choose three.)? a) It

Dettagli

TYPO3 CMS. il CMS open source per il mondo enterprise

TYPO3 CMS. il CMS open source per il mondo enterprise TYPO3 CMS il CMS open source per il mondo enterprise Ciao! Io sono Nicola Enterprise = Azienda Conosciamo TYPO3 CMS TYPO3 Association TYPO3 Cerfications Versione LTS Le funzionalità Gestione dei permessi

Dettagli

Fine supporto per Exchange Server 2007 e Office 2007

Fine supporto per Exchange Server 2007 e Office 2007 Fine supporto per Exchange Server 2007 e Office 2007 Il 2017 segna la fine supporto per Exchange e Office 2007 Perchè questo tema è importante? Cosa implica la fine del supporto? Office 365 come soluzione

Dettagli

Software testing. Lezione 8 Configuration Management Federica Spiga federica_spiga@yahoo.it. A.A. 2010-2011 Autori: F.Spiga

Software testing. Lezione 8 Configuration Management Federica Spiga federica_spiga@yahoo.it. A.A. 2010-2011 Autori: F.Spiga 1 Software testing Lezione 8 Configuration Management Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 Autori: F.Spiga 2 Configuration Management Attività ausiliaria che abbraccia tutto il processo

Dettagli

PG5 Starter Training Applicazione Email Daniel Ernst EN02 2013-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione Email Daniel Ernst EN02 2013-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione Email Daniel Ernst EN02 2013-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

MOC10982 Supporting and Troubleshooting Windows 10

MOC10982 Supporting and Troubleshooting Windows 10 Tel. +39 02 365738 info@overneteducation.it www.overnet.azurewebsites.net MOC10982 Supporting and Troubleshooting Windows 10 Durata: 4.5 gg Descrizione Questo corso è progettato per fornire agli studenti

Dettagli

Sommario. 1. Internet subito Le FAQ di Internet 13. Sommario vii

Sommario. 1. Internet subito Le FAQ di Internet 13. Sommario vii Sommario 1. Internet subito 1 Internet e il web 2 Alla scoperta della finestra di Internet Explorer 3 Ricercare sul Web 4 Usare schede e finestre 6 Scaricare Windows Live 7 Conoscere la posta elettronica

Dettagli

IDE DevC

IDE DevC IDE DevC++ 4.9.8.1.0 Manuale utente Data ultima revisione: 22/01/2005 Fondamenti di informatica Università Facoltà Corso di laurea Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria

Dettagli

Consegna continua: automazione della pipeline di distribuzione

Consegna continua: automazione della pipeline di distribuzione White paper Deployment Automation Consegna continua: automazione della pipeline di distribuzione Sommario pagina Il valore della consegna continua.... 1 La mancanza di un collegamento tra le fasi di creazione

Dettagli

Downloading and Installing Software Socio TIS

Downloading and Installing Software Socio TIS Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and

Dettagli

Symantec IT Management Suite 8.0 powered by Altiris technology

Symantec IT Management Suite 8.0 powered by Altiris technology Symantec IT Management Suite 8.0 powered by Altiris technology Installazione e disinstallazione del plug-in di distribuzione nei computer client Deployment Solution è installato su Symantec Management

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI (a.a. 2010-2011) MODULO 1 Parte I 1.4 CLIPS: C Language Integrated Production System Introduzione all'ambiente CLIPS. Claudia

Dettagli

Corso di programmazione

Corso di programmazione Corso di programmazione per android 1 Introduzione (corso completo per imparare a programmare con il S.O. Google) Android è il sistema operativo per dispositivi mobili più diffuso al mondo. Si è imposto

Dettagli

FUEL introduzione e primi test

FUEL introduzione e primi test FUEL introduzione e primi test Giovanni Zizzi, Diego Michelotto INFN-CNAF 17 Dicembre 2014 Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso

Dettagli