This lecture makes an introduction to Web Engineering.
- Why web engineering
- Quality
- Issues to avoid
- Web architectures
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
This lecture focusses on requirements elicitation.
It covers:
- Requirements discovery
- Requirements classification
- Requirements Prioritization
- Requirements Specifications
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Modellazione UML per il WEB: Approccio di ConallenHenry Muccini
Questa lezione spiega i principi dell'approccio di Conallen (WAE) per la modellazione in UML di applicazioni web. Tale lezione e' parte del corso di "Modellazione UML per il WEB", del Master in Web Technology, Universita' degli Studi dell'Aquila (http://www.di.univaq.it/mwt/)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
This lecture covers Sequence diagrams and Design decision models. It covers:
- sequence diagrams in UML 2.x
- the QOC model for design decisions
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications. They are listed at https://trello.com/b/z49P8z3b
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
This lecture summarizes and extends L3, with a focus on:
- Critical Path
- Agile for Planning
- Convergence and divergence
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L5: Content Model (5/8)Henry Muccini
This lecture focusses on Content Design.
It presents the UWE approach for producing the:
- Conceptual Model
- Navigation Space Model
- Navigational Structure Model
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
This lecture focusses on requirements elicitation.
It covers:
- Requirements discovery
- Requirements classification
- Requirements Prioritization
- Requirements Specifications
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Modellazione UML per il WEB: Approccio di ConallenHenry Muccini
Questa lezione spiega i principi dell'approccio di Conallen (WAE) per la modellazione in UML di applicazioni web. Tale lezione e' parte del corso di "Modellazione UML per il WEB", del Master in Web Technology, Universita' degli Studi dell'Aquila (http://www.di.univaq.it/mwt/)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
This lecture covers Sequence diagrams and Design decision models. It covers:
- sequence diagrams in UML 2.x
- the QOC model for design decisions
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications. They are listed at https://trello.com/b/z49P8z3b
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
This lecture summarizes and extends L3, with a focus on:
- Critical Path
- Agile for Planning
- Convergence and divergence
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L5: Content Model (5/8)Henry Muccini
This lecture focusses on Content Design.
It presents the UWE approach for producing the:
- Conceptual Model
- Navigation Space Model
- Navigational Structure Model
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Siti web, portali e Rich Internet Applications: tendenze e controtendenzeDiego La Monica
Nella favola di Cenerentola il Principe Azzurro cerca la sua amata riconoscendola tra tante da come avrebbe calzato la scarpa sul suo piede. Come dire ogni piede è diverso dagli altri. Il mercato del web può essere metaforicamente paragonato alla favola di Cenerentola. Ad ogni realtà la sua RIA ad ogni azienda il suo sito web. In questo seminario cercheremo di districarci tra le soluzioni che il web propone per trovare la scarpetta per la nostra Cenerentola!
Slides dalle lezioni del corso di Strumenti e applicazioni del Web per il corso di laurea magistrale in Teoria e tecnologia della comunicazione - Università di Milano Bicocca - Prof.R.Polillo (a.a.2014-15) - Lezione del 28 maggio 2015
Studio C Group - il partner tecnologico che hai sempre cercatoAndrea Cacciatori
Siamo nati nel 1990 e da subito le ns. vocazioni hanno alimentato 2 divisioni: la produzione software in ambito sanitario e più specificamente nei laboratori di Microbiologia, successivamente le esperienze si sono allargate nell'ambito della gestione software apparecchiature medicali e produzione di cartelle cliniche.
La seconda divisione ha sposato la distribuzione delle soluzioni Esa Software cavalcando tutta la progettualità di Spiga PC, Esatto, E/impresa ed E/ready e le soluzioni CRM. Dal maggio 2014 è entrata a far parte del gruppo Team System potendo abbracciare anche le soluzioni Polyedro ed Aliante.
La presenza sul web delle organizzazioni non profit: esperienze e lezioni app...Roberto Polillo
Presentato all'Osservatorio ICT per il Non-Profit 2012, 21 marzo 2012 (Milano, Museo della Scienza e della Tecnologia).
Gli atti completi sono reperibili sul sito della Fondazione Think!
Rete competenze per l’economia digitale - Digital for JobCultura Digitale
La Rete competenze per l’Economia Digitale presenta il Quadro Europeo delle Competenze ICT, e-CF, per supportare la crescita delle skill ICT e facilitare la comunicazione tra le imprese dell’offerta e le imprese della domanda.
Nel Luglio 2012 è nata la RETE Competenze per l’Economia Digitale per diffondere una cultura delle competenze ICT nelle imprese italiane e aiutare lo sviluppo delle professioni ICT. La Rete è composta dalle principali associazioni datoriali italiane, ASSINTEL, Assinter Italia, CNA Comunicazione, Confindustria Digitale, Unimatica, e anche da Fondazione Politecnico di Milano che ha partecipato alla nascita e allo sviluppo del Quadro Europeo delle Competenze nell’ICT (European e-Competence Framework, e-CF).L’e-CF è lo strumento di riferimento europeo (Agenda Digitale), a supporto delle imprese e delle persone che operano nel campo dell’Information e Communication Technology (ICT), per identificare e valutare le competenze che servono, per facilitare il match tra domanda e offerta, per monitorare gli spazi di miglioramento e di crescita. l’e-CF è conforme ad altri framework internazionali sui processi ICT, ITIL e COBIT ne sono un esempio; costruito nell’ambito del CEN e supportato dalla DG Enterprise, è uno strumento open source, liberamente scaricabile dal sito www.ecompetences.eu. Infine, l’e-CF costituisce il riferimento per la norma quadro UNI per le professioni ICT, in fase di realizzazione.
La RETE intende promuovere l’e-CF a livello locale attraverso iniziative mirate, ed essere il punto di contatto nazionale per la governance dell’e-CF a livello europeo. L’obiettivo dell’evento è quello di presentare la RETE e l’e-CF e discuterlo assieme per capire il suo possibile utilizzo, allo scopo di identificare aree di miglioramento e di crescita, di sviluppo delle proprie competenze, tanto quelle dei singoli professionisti, quanto quelle dell’azienda nel suo complesso.
Il taglio del seminario sarà pratico-operativo.
11.30 – 11.50 Saluto di benvenuto da parte della RETE Competenze: Fabio Massimo, CNA comunicazione, imprenditore, Presidente Commissione UNIFO per la norma quadro e-CF; Mario Cesaroni, UNIMATICA VA, imprenditore; Clementina Marinoni, manager, Fondazione Politecnico di Milano.
11.50 - 12.10 Introduzione all’e-CF: cos’è, come si usa, chi lo ha voluto in Europa, come lo si sta adottando in Italia, qualche esperienza: Clementina Marinoni, Fondazione Politecnico di Milano, con i colleghi della RETE.
12.10 – 12.15 L’e-CF e la norma quadro UNI di prossima pubblicazione: Fabio Massimo, CNA comunicazione, imprenditore, Presidente Commissione UNIFO per la norma quadro e-CF.
12.15 – 12.45 L’e-CF in pratica: quali sono le competenze di maggiore interesse per me, allo scopo di rafforzare il mio business, aprire nuovi canali, introdurre nuovi prodotti/servizi, gestire meglio il cliente, scegliere i fornitori, sviluppare soluzioni, … Analisi delle 36 competenze ICT con
Testo della ricerca "Ingegneri 2020. Tutela sviluppo e occupazione", realizzata dalla S3.Studium su incarico nel Consiglio Nazionale degli Ingegneri nel 2012
My Graduation discussion (20 mins version), for thesis : Review - IT a Social Network for Scientific documents discussion; developed by integrating GWT,SPRING, HIBERNATE, MAVEN.
Private cloud computing in organizzazioni complesseLuca Garlaschelli
Private Cloud Computing nell’ambito di Organizzazioni complesse: il caso dell’Università di Bologna nel Software as a Service a supporto dell’attività didattica e dei servizi agli studenti.
These slides have been presented at the ICSE 2020 conference, SEIS (software engineering in society) track. It reports on our experience within the Uffizi Project, and how we had to take into account human behaiour to design our IoT-based solution.
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
This is a seminar provided to a PhD school on Cultural Heritage Conservation and Valorization.
The focus has been on the interdisciplinarity among cultural heritage, cyber-physical spaces, and software engineering.
More Related Content
Similar to Web Engineering L1: introduction to Web Engineering (1/8)
Siti web, portali e Rich Internet Applications: tendenze e controtendenzeDiego La Monica
Nella favola di Cenerentola il Principe Azzurro cerca la sua amata riconoscendola tra tante da come avrebbe calzato la scarpa sul suo piede. Come dire ogni piede è diverso dagli altri. Il mercato del web può essere metaforicamente paragonato alla favola di Cenerentola. Ad ogni realtà la sua RIA ad ogni azienda il suo sito web. In questo seminario cercheremo di districarci tra le soluzioni che il web propone per trovare la scarpetta per la nostra Cenerentola!
Slides dalle lezioni del corso di Strumenti e applicazioni del Web per il corso di laurea magistrale in Teoria e tecnologia della comunicazione - Università di Milano Bicocca - Prof.R.Polillo (a.a.2014-15) - Lezione del 28 maggio 2015
Studio C Group - il partner tecnologico che hai sempre cercatoAndrea Cacciatori
Siamo nati nel 1990 e da subito le ns. vocazioni hanno alimentato 2 divisioni: la produzione software in ambito sanitario e più specificamente nei laboratori di Microbiologia, successivamente le esperienze si sono allargate nell'ambito della gestione software apparecchiature medicali e produzione di cartelle cliniche.
La seconda divisione ha sposato la distribuzione delle soluzioni Esa Software cavalcando tutta la progettualità di Spiga PC, Esatto, E/impresa ed E/ready e le soluzioni CRM. Dal maggio 2014 è entrata a far parte del gruppo Team System potendo abbracciare anche le soluzioni Polyedro ed Aliante.
La presenza sul web delle organizzazioni non profit: esperienze e lezioni app...Roberto Polillo
Presentato all'Osservatorio ICT per il Non-Profit 2012, 21 marzo 2012 (Milano, Museo della Scienza e della Tecnologia).
Gli atti completi sono reperibili sul sito della Fondazione Think!
Rete competenze per l’economia digitale - Digital for JobCultura Digitale
La Rete competenze per l’Economia Digitale presenta il Quadro Europeo delle Competenze ICT, e-CF, per supportare la crescita delle skill ICT e facilitare la comunicazione tra le imprese dell’offerta e le imprese della domanda.
Nel Luglio 2012 è nata la RETE Competenze per l’Economia Digitale per diffondere una cultura delle competenze ICT nelle imprese italiane e aiutare lo sviluppo delle professioni ICT. La Rete è composta dalle principali associazioni datoriali italiane, ASSINTEL, Assinter Italia, CNA Comunicazione, Confindustria Digitale, Unimatica, e anche da Fondazione Politecnico di Milano che ha partecipato alla nascita e allo sviluppo del Quadro Europeo delle Competenze nell’ICT (European e-Competence Framework, e-CF).L’e-CF è lo strumento di riferimento europeo (Agenda Digitale), a supporto delle imprese e delle persone che operano nel campo dell’Information e Communication Technology (ICT), per identificare e valutare le competenze che servono, per facilitare il match tra domanda e offerta, per monitorare gli spazi di miglioramento e di crescita. l’e-CF è conforme ad altri framework internazionali sui processi ICT, ITIL e COBIT ne sono un esempio; costruito nell’ambito del CEN e supportato dalla DG Enterprise, è uno strumento open source, liberamente scaricabile dal sito www.ecompetences.eu. Infine, l’e-CF costituisce il riferimento per la norma quadro UNI per le professioni ICT, in fase di realizzazione.
La RETE intende promuovere l’e-CF a livello locale attraverso iniziative mirate, ed essere il punto di contatto nazionale per la governance dell’e-CF a livello europeo. L’obiettivo dell’evento è quello di presentare la RETE e l’e-CF e discuterlo assieme per capire il suo possibile utilizzo, allo scopo di identificare aree di miglioramento e di crescita, di sviluppo delle proprie competenze, tanto quelle dei singoli professionisti, quanto quelle dell’azienda nel suo complesso.
Il taglio del seminario sarà pratico-operativo.
11.30 – 11.50 Saluto di benvenuto da parte della RETE Competenze: Fabio Massimo, CNA comunicazione, imprenditore, Presidente Commissione UNIFO per la norma quadro e-CF; Mario Cesaroni, UNIMATICA VA, imprenditore; Clementina Marinoni, manager, Fondazione Politecnico di Milano.
11.50 - 12.10 Introduzione all’e-CF: cos’è, come si usa, chi lo ha voluto in Europa, come lo si sta adottando in Italia, qualche esperienza: Clementina Marinoni, Fondazione Politecnico di Milano, con i colleghi della RETE.
12.10 – 12.15 L’e-CF e la norma quadro UNI di prossima pubblicazione: Fabio Massimo, CNA comunicazione, imprenditore, Presidente Commissione UNIFO per la norma quadro e-CF.
12.15 – 12.45 L’e-CF in pratica: quali sono le competenze di maggiore interesse per me, allo scopo di rafforzare il mio business, aprire nuovi canali, introdurre nuovi prodotti/servizi, gestire meglio il cliente, scegliere i fornitori, sviluppare soluzioni, … Analisi delle 36 competenze ICT con
Testo della ricerca "Ingegneri 2020. Tutela sviluppo e occupazione", realizzata dalla S3.Studium su incarico nel Consiglio Nazionale degli Ingegneri nel 2012
My Graduation discussion (20 mins version), for thesis : Review - IT a Social Network for Scientific documents discussion; developed by integrating GWT,SPRING, HIBERNATE, MAVEN.
Private cloud computing in organizzazioni complesseLuca Garlaschelli
Private Cloud Computing nell’ambito di Organizzazioni complesse: il caso dell’Università di Bologna nel Software as a Service a supporto dell’attività didattica e dei servizi agli studenti.
Similar to Web Engineering L1: introduction to Web Engineering (1/8) (20)
These slides have been presented at the ICSE 2020 conference, SEIS (software engineering in society) track. It reports on our experience within the Uffizi Project, and how we had to take into account human behaiour to design our IoT-based solution.
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
This is a seminar provided to a PhD school on Cultural Heritage Conservation and Valorization.
The focus has been on the interdisciplinarity among cultural heritage, cyber-physical spaces, and software engineering.
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
The importance of sustainable tourism is today very clear, as also highlighted by some national and international organizations. This presentation highlights the role of ICT in the context of sustainable tourism. Some ongoing projects are presented as well.
Sustainable Tourism - IoT and crowd managementHenry Muccini
What is Sustainable Tourism and how IoT may help to reduce crowd management. This material reports on our experience within the Uffizi Galleries project and the CAPS IoT modeling and simulation framework.
Software Engineering at the age of the Internet of ThingsHenry Muccini
This is an overview on Sw Engineering the IoT, created for the FOI, Faculty of Organization and Informatics of the University of Zagreb, and presented during their International Days.
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
Group Decision Making influcencs Architecture Design Decisions. This presentation, given as a keynote at the MARCH 2019 workshop (https://is.ieis.tue.nl/research/bpm/MARCH/index.php/keynote/), tries to identifies GDM factors that influence architecture design decisions.
Web Engineering L8: User-centered Design (8/8)Henry Muccini
This lecture focusses on User-centered Design (UCD). It covers the "The Elements of User Experience" book by Garrett.
The topics covered are:
- the UCD process
- Personas
- Scope
- Information Architecture
- Sitemaps
- Wireframes
- Prototypes
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications. The list is availabe at https://trello.com/b/z49P8z3b
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
This lecture discusses Architectural aspects of Web engineering.
It covers:
- software architecture design
- software architecture for the web
- component model for software architecture description
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L3: Project Planning (3/8)Henry Muccini
This lecture focusses on project planning.
It focuses on:
- work breakdown
- project planning
- PERT
- Critical Path
- Project Tracking and Estimation
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
In this talk I made an effort to link together sustainability, architecture design decision, and group decision making. Take a look and contact me for questions.
This presentation proposes CAPS, an architecture-driven
modeling framework for the development of Situational Aware
Cyber-Physical Systems.
Situational Awareness involves being aware of what is
happening in the surroundings, and using this information
to decide and act. It has been recognized as a critical,
yet often elusive, foundation for successful decision-making
in complex systems. With the advent of cyber-physical systems
(CPS), situational awareness is playing an increasingly
important role especially in crowd and fleets management,
infrastructure monitoring, and smart city applications. While
specializing cyber physical systems, Situational Aware CPS
requires the continuous monitoring of environmental conditions
and events with respect to time and space. New architectural
concerns arise, especially related to the sense , compute &
communication paradigm, the use of domain-specific hardware
components, and the cyber-physical space dimension.
This work illustrates the CAPS modeling languages used
to describe the software architecture, hardware configuration,
and physical space views for a situational aware CPS.
I progetti UnivAq-UFFIZI, INCIPICT, e CUSPISHenry Muccini
Alcuni progetti dell'Universita' degli Studi dell'Aquila volti al supporto dei beni culturali. Tale presentazione e' stata fornita nel contesto dell'evento Le Gallerie degli Uffizi incontrano UnivAq
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
The keynote lecture video is now available at http://www.icsoft.org/KeynoteSpeakers.aspx?y=2016
This presentation covers the main topics discussed by the software architecture conferences in the past 15+ years. It provides a systematic, unbiased view on research trends with reflections on the future challenges.
This speech has been provided as a keynote at ICSOFT 2016.
Euroweb+ meeting at the University of L'Aquila, ItalyHenry Muccini
EUROWEB+ is a scholarship programme for students on undergraduate, master, doctoral and post-doctoral level, as well as for university staff in academic or administrative positions, financed by the European Commission, and a continuation of the previous project EUROWEB.
The EUROWEB+ Scholarship Programme is open to selected nationals in EU countries and Western Balkans who want to study or work at one of the partner institutions, see Applicant information.
The overall objective of EUROWEB+ project is to create a partnership in research and education that will strengthen the ties between EU and Western Balkans.
http://www.mrtc.mdh.se/eurowebplus/
On the Use of Component-Based Principles and Practices for Architecting Cyber...Henry Muccini
Abstract—By focussing on Cyber Physical Systems (CPS), this
paper investigates how component-based principles and practices are used and support the activity of architecting CPS. For doing so, by running a systematic process, we selected 49 primary studies from the most important publishers search engines. Those papers have been analyzed and their contents classified according to the Classification Framework for Component Models proposed in our previous work. The results show that the main concerns handled by CPS component models are those of integration, performance, and maintainability. The instruments to satisfy those concerns, while architecting CPS, are ad-hoc software/system architecture, model-based approaches, architectural and component languages, and design. The IEC 61499 standard with its functions block is remarkably used to drive the work on six papers. Java is the most frequently used programming language used for implementing the components. Components are deployed mostly at compile time. Interfaces are almost equally distributed into port-based and operation-based. Overall, the results show a transition of technologies and approaches used in Embedded Systems to CPS, but still lacking methods for integrated architecting, in particular in incremental development.
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMSHenry Muccini
The University of L'Aquila, Italy, has organized an internal meeting on Engineering Cyber-Physical Systems (26 Jan 2016). About 35 colleagues from the DISIM (Information Engineering, Computer Science, and Mathematics) have participated and made presentations.
This SlideShare collects all the presentations.
If interested to future events, feel free to contact us:
Alessandro D’Innocenzo – alessandro.dinnocenzo@univaq.it -
Henry Muccini - henry.muccini@univaq.it
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
Web Engineering L1: introduction to Web Engineering (1/8)
1. Progettazione di Applicazioni Web
corso del Master in Web Technology
a.a. 2017-2018
https://app.schoology.com/course/1511186315/
Henry Muccini
Università degli Studi dell’Aquila
1. Introduzione al Corso
2. MWT– Progettazione di Applicazioni Web Henry Muccini
2
Copyright Notice
Il materiale riportato in queste slide puo’ essere
riutilizzato, parziale o totalmente, a patto che le fonti
e gli autori vengano citati
Henry Muccini
3. MWT– Progettazione di Applicazioni Web Henry Muccini
3
Benvenuti!
Prima di iniziare:
– Presentazioni
• Mio Profilo
• Vostri profili
– Schoology:
https://app.schoology.com/course/1511186315/
4. MWT– Progettazione di Applicazioni Web Henry Muccini
4
My profile
Professore in Informatica
Ingegneria del Software
Tematiche di interesse:
Ingegneria del Software
Architetture Software
Model Driven Engineering
Mobile Computing
Teaching:
Modellazione UML per il Web @Master in Web Technology (2004-oggi)
Ingegneria del Software (2006-oggi)
Architetture Software (2006-oggi)
Advanced Software Architecture (2010-oggi)
5. MWT– Progettazione di Applicazioni Web Henry Muccini
5
Henry Muccini (academics)
On developing methods and tools for
architectures
On developing methods and tools for
the analysis and design of software
architectures
Interoperable and Multi-view Software Architecture Description
Architecting Situational Aware Cyber Physical Systems
Group Decision Making in Software Architecting
Collaborative Modeling in MDE
6. MWT– Progettazione di Applicazioni Web Henry Muccini
6
Henry Muccini (industrial)
spin-off of the University of L’Aquila
Crowd management Indoor | outdoor
Queue forecast and avoidance
Multi-site crowd management
Digital Booking and Ticketing
7. MWT– Progettazione di Applicazioni Web Henry Muccini
7
Vostri profili
Vostri Profili
8. MWT– Progettazione di Applicazioni Web Henry Muccini
8
Obiettivi del Corso
Come e Cosa Progettare e Documentare
Come Pianificare il Lavoro
Come Comunicare
9. MWT– Progettazione di Applicazioni Web Henry Muccini
9
Indice
• Motivazione sulla progettazione
• Documentazione dei servizi dell'applicazione
• Documentazione della UI
• Documentazione dei dati
• Sequence diagram per gli scenari
• Design decisions
• Project planning in pratica
• Communication tools
12. MWT– Progettazione di Applicazioni Web Henry Muccini
12
Gestione del Corso
Metodo di insegnamento:
– Slide, lavagna, interazione diretta, uso di PC
Piu’ domande fate, piu’ impariamo insieme
Esempi:
– Diversi esempi d’uso verranno proposti
Esercitazioni:
– Da verificare a lezione
15. MWT– Progettazione di Applicazioni Web Henry Muccini
15Complexity in Lines of Code
http://www.informationisbeautiful.net/visualizations/million-lines-of-code/
16. MWT– Progettazione di Applicazioni Web Henry Muccini
16
Complexity in Requirements
Sometimes,
systems must run
reliably for
99.9999 % of the
time
18. MWT– Progettazione di Applicazioni Web Henry Muccini
18
Complessita’ nella applicazioni Web
3+ key factors to consider:
- Servizi di backend
- E-commerce
- Security
- Servizi di Social networking
- …
https://worthwhile.com/blog/2016/03/21/website-development-web-applications/
19. MWT– Progettazione di Applicazioni Web Henry Muccini
19
Complessita’ nella applicazioni Web
“Project Environment
The first source is the project environment itself. This mainly includes the availability
of resources (e.g. people, money, knowledge) and the management style of the
project manager and customer. Some project managers truly believe that when a
developers estimates a piece of work at 1 week, that the sentence “I’ll give you 3
days” will actually do good to the project on the long term. Although an interesting
topic, it is not the type of complexity I want to deal with in this post.
Technical Complexity
Another aspect influencing complexity is the technical environment of the project.
What are the frameworks and platforms used in the development and deployment
of the software. As with any technology, it is important to know the powers and
limitations of each framework. If a framework requires expert knowledge to interact
with it, then try to abstract that knowledge away into separate modules.
….
Business Complexity
The third aspect is the one I will be focusing on in this post: the business domain. It
is the sum of the knowledge, rules and activities of your customer that makes them
survive. Solving the problems in this domain is often highly complex, but not
unsolvable.”
https://blog.trifork.com/2009/10/20/battling-complexity-in-large-web-applications/
20. Henry Muccini | Universita’ degli Studi dell’Aquila & nExpecto S.r.l.
20
Esempio 1: NdR 2017
► UnivAq Street Science
& SHARPER
► 114 eventi
► Un solo giorno
► Un’unica app
21. Henry Muccini | Universita’ degli Studi dell’Aquila & nExpecto S.r.l.
21
Esempio 2: Uffizi
23. MWT– Progettazione di Applicazioni Web Henry Muccini
23
Examples of «Badly» Engineered Software
Therac-25 safety failure:
•approximately 100 times the intended dose of radiation
•3 people died, and 6 got injured
see article at: http://sunnyday.mit.edu/papers/therac.pdf
Factors:
•Overconfidence in
Software
•Confusing reliability
with safety
•Lack of defensive Design
•Failure to eliminate
fault causes
•Inadequate software
engineering practices
•…
24. MWT– Progettazione di Applicazioni Web Henry Muccini
24http://www.devtopics.com/20-famous-software-
disasters/
25. MWT– Progettazione di Applicazioni Web Henry Muccini
25
Testing & QA (3) - Failures
1994 1996 1998 2000 2002 2004 2009
Succeeded 16% 27% 26% 28% 34% 29% 32%
Failed 31% 40% 28% 23% 15% 18% 24%
Challenged 53% 33% 46% 49% 51% 53% 44%
See more at: http://www.projectred.org/latest-
news/190-software-project-failure-costs-billions-
better-estimation-planning-can-help.html
Standish Findings By Year Updated for 2009
26. MWT– Progettazione di Applicazioni Web Henry Muccini
26http://www.wired.com/software/coolapps/news/200
5/11/69355?currentPage=all
27. MWT– Progettazione di Applicazioni Web Henry Muccini
27
Fallimenti «Web» (June 2012)
Il sistema del MIUR per le prove di maturità:
“La maturità 2.0 parte con un flop. Il sistema «commissione web», la novità
dell’esame di Stato 2012, non ha funzionato. Il software, messo a punto per
consentire alle commissioni di comunicare in tempo reale col cervellone centrale
del Miur tutte le attività connesse con gli esami, è andato in tilt ancora prima di
partire. Nelle scuole di Firenze le commissioni non sono riuscite ad inserire online
i verbali delle riunioni di insediamento che si sono tenute questa mattina. ”
http://corrierefiorentino.corriere.it/firenze/notizie/cronaca/2012/18-giugno-
2012/maturita-20-partenza-flop-201657781657.shtml
Prenotazioni Trenitalia:
“Il nuovo sistema di Ferrovie dello Stato è un disastro: c'è chi non riesce più a
usare il proprio codice ma non può cancellarsi perché per farlo occorre usare il
codice.
Dalle 1 alle 3 di notte non funziona, perché fanno la manutenzione, ma mica te lo
dicono …”
http://righedidiomira.blogspot.it/2012/01/sempre-trenitalia-sempre-piu-
disservizi.html
Fineco, pagamento IMU F24:
Con la detrazione prima casa, il mio imponibile va sotto zero e il sistema va in tilt.
28. MWT– Progettazione di Applicazioni Web Henry Muccini
28
Cause di fallimento
1. Gestione non disciplinata dei requisiti
2. Comunicazione ambigua ed imprecisa
1. Cambiamento requisiti
3. Architetture instabili
4. Complessità ingestibile
5. Incoerenze tra requisiti, progettazione e
implementazione
6. Test insufficienti
Project Management
Tempo
30. MWT– Progettazione di Applicazioni Web Henry Muccini
30
Investment in QA
> $50 billion/year on applications testing and quality assurance
[World Quality Report 2013-2014]
[1191 respondents]
«Right first time» apps
[Top six trends to drive market for software
testing in 2012,” TechJournal, citing Pierre Audoin
Consultants, Nov 2011]
18%
23%
28%
0% 5% 10% 15% 20% 25% 30%
1
IT budget allocated to QA
2015 2013 2012
31. MWT– Progettazione di Applicazioni Web Henry Muccini
31
Testing Mobile App
Taken from [World Quality Report 2013-2014], page 27
32. MWT– Progettazione di Applicazioni Web Henry Muccini
32
Testing Mobile App
Taken from [World Quality Report 2013-2014], page 27
Must be «right first time»
Even «for free» apps
Must get into the market
«first»
33. MWT– Progettazione di Applicazioni Web Henry Muccini
33
Progettazione: Quando
Field of computer science dealing with software systems
that are:
• large and complex =complex? large?
• built by teams =people!, communication, …
• exist in many versions=version control
• last many years =engineered to be sustainable
• Undergo changes =evolves
34. MWT– Progettazione di Applicazioni Web Henry Muccini
34
Common issues to be avoided
o The final Software doesn´t fulfill the needs of the
customer
o Hard to extend and improve:
if you want to add a functionality later is mission impossible
o Bad documentation
o Bad quality: frequent errors, hard to use, ...
o More time and costs than expected
o Social aspects of teamwork
36. MWT– Progettazione di Applicazioni Web Henry Muccini
36
Riassumendo:
Necessita’ di Web Engineering per…
Creare sistemi web di grandi dimensioni e complessità
In modo sistematico e disciplinato
Creare sistemi con maggior qualita’
Creare sistemi che possano essere mantenuti nel tempo
37. MWT– Progettazione di Applicazioni Web Henry Muccini
37
Fasi Principali
Collezione di Informazioni
Pianificazione
Progettazione
Sviluppo
Testing e Deployment
Manutenzione
38. MWT– Progettazione di Applicazioni Web Henry Muccini
38
Fasi Principali
Incrementale
Massimizzandone
l’utilita’
Minimizzandone i
costi
40. MWT– Progettazione di Applicazioni Web Henry Muccini
40
Applicazioni Web (Complesse)
Browser Web server
Richiesta
Documento
Application server
Pagine HTML Base di dati
41. MWT– Progettazione di Applicazioni Web Henry Muccini
41
Web Application
Web site Web application
Web application =
– web site con business logic
– client che invia input che vengono eseguiti dall’esecuzione
di un modulo
Presenza di un Application Server che permette di
gestire business logic
Chi esegue tale computazione???
42. MWT– Progettazione di Applicazioni Web Henry Muccini
42
Architettura minimale: Client-Server
43. MWT– Progettazione di Applicazioni Web Henry Muccini
43
Limiti dell’Approccio C/S
Ben presto ci si accorge che il modello
architetturale C/S e’ inadatto ad applicazione di tipo
Web
Nel modello C/S, l’interfaccia utente è totalmente
implementata sul client, il database management è
totalmente allocato sul server mentre il process
management è in un qualche modo suddiviso tra
client e server!
Cosa accade se vogliamo toccare la grafica senza
modificare la logica (o viceversa)?
Tutto e mischiato e non sappiamo come muoverci
44. MWT– Progettazione di Applicazioni Web Henry Muccini
44
Soluzione: Tre livelli concettuali
Livello Presentazione:
– si occupa di ricevere le GET e le POST dal server, per ottenere l’input
del programma
– costruisce i documenti HTML che costituiscono l’output del programma
Livello Logico:
– calcola l’output a partire dall’input e dai dati memorizzati nel terzo
livello
– definisce la funzione del programma
Livello Dati:
– costituito tipicamente da un database, mette a disposizione
dell’applicazione un supporto per memorizzare le informazioni
46. MWT– Progettazione di Applicazioni Web Henry Muccini
46
Vantaggi
Maggiore scalabililtà e modificabilità, dal momento
che, cambiando la business logic, non si devono
modificare tutti i clients
Clients leggeri, che forniscono soltanto funzionalità
per la rappresentazione di dati e l’interazione
dell’utente con il sistema
Possibilità di implementare logiche aggiuntive,
estremamente interessanti
47. MWT– Progettazione di Applicazioni Web Henry Muccini
47
Perche’ modellare una applicazione Web,
allora?
Per Aiutare la progettazione:
– Documentare i Requisiti
– Documentare i Servizi
– Documentare i Vincoli
Per Riusare
Per Manutenere
Per Analizzare
Per Testare
48. MWT– Progettazione di Applicazioni Web Henry Muccini
48
Caso di Studio
Introdurre il caso di studio
49. MWT– Progettazione di Applicazioni Web Henry Muccini
49
NOTE:
Problema identificato: gestione dei tempi!
1. Il cliente cambia i requisiti!!
• Imp: meeting con «tutti» i clienti
• Imp: vincolare il cliente a quanto e’ stato scritto ed approvato
2. I tempi tecnici di sviluppo non corrispondono con i tempi
stimati
Principio: definire il «criterio» usato per guidare la design
decision
Principio: sviluppo incrementale, con identificazione dei
task prioritari
Principio: Dipendenze tra task