This class is given in Italian. Slides and materials are in English, and I'm available to answer questions or discuss in English.
Contenuto del corso
This class is about (1) SW architectures and (2) software engineering methods.
(1) The concept of software architecture is addressed with reference to a J2EE full stack 3-tier web application based on Java, JPA/Hibernate, CDI, and JSF. Evolution towards architectures exposing a REST service layer is also outlined.
(2) The concept of software engineering methods is mainly addressed with reference to patterns of Object Oriented analysis, and to design and testing.
all the slides of the course, and exemplar code for exercitation, and also a referenc eimplementation of the overall architecture are published on the page of the class at http://stlab.dinfo.unifi.it/vicario/Teaching/SW_Architecture_and_Methodolog/sw_architecture_and_methodolog.html
Specific references to sources of individual contents are reported in te slides.
Obiettivi Formativi
(1) comprehensive understanding of the architecture of a complex web applications;
(2) practical ability in the usage of major technologies in the Java Enterprise Architecture (JPA, CDI);
(3) Knoweldge of software engineering methods applied in the construction of a web application.
Prerequisiti
good understanding of Java (or any other OO language), UML, design patterns, essential concepts of Software Engineering.
(e.g. what is reached with the course on Software Engineering that I teach at the third year of the undergraduate level).
Metodi Didattici
- lectures with slides and discussion of code snippets;
- hands-on exercitations;
- autonomous experimentation of single steps during the course and of an integrated implementation within a final assignment.
Altre Informazioni
I gave this class for the first time in the year 2016/17, and may be that on some aims I will adapt along the way.
More timely informations is published at http://stlab.dinfo.unifi.it/vicario/Teaching/SW_Architecture_and_Methodolog/sw_architecture_and_methodolog.html
Modalità di verifica apprendimento
Students develope an assignment, in collaboration with other collegues, devloping some experimental practice on the contents of the course.
The discussion of the assignment provides a way to ascertain the ability of the candidate in: discussing and presenting concepts; designing solutions and document them with text and standard UML artifacts; discussing about general concepts of methodology; autonomously studying technological components beyond what is presneted during lectures; organizing a writtend and oral presentation.
Programma del corso
This course is about:
SW architectures with reference to the the Java Enterprise Architecture in a 3-tier web application with:
presentation organized in user interface pages (just a short mention) and a business logic layer of pae controllers;
domain logic based on Java Objects with JPA mapping annotations;
access to the persistence layer through an Object Relational Mapping based on Data Access Objects and Java Persistence Api;
connection between tiers based on Context and Dependency Injection.
software engineering methods with reference to:
analysis and design methods for the development of a rich domain model, with specific reference to architectural patterns and patterns of Object Oriented analysis;
conceptual and specification modeling based on UML, with specific reference to use case diagrams and templates, class diagrams, mockups, page navigation diagrams;
testing methods and frameworks supporting development and performance engineering.