SOFTWARE DEVELOPMENT METHODOLOGIES

Academic year
2024/2025 Syllabus of previous years
Official course title
SOFTWARE DEVELOPMENT METHODOLOGIES
Course code
CM0634 (AF:513717 AR:286782)
Modality
On campus classes
ECTS credits
6
Degree level
Master's Degree Programme (DM270)
Educational sector code
ING-INF/05
Period
1st Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
The course introduces concepts and technologies of software development, methods, and operational tools to work effectively and with quality on complex applications by collaborating with large workgroups.
The evolution of technology combined with the evolution of society and the market requires broad preparation that generally you can learn through field experience. The goal of this course is to anticipate the main topics and see the most widespread solutions today, in order to be ready to manage projects with future architectures and technologies.
We will discuss about methodologies, technologies, tools, and real application cases. By way of example, but not exhaustively, we will talk about DevOps Methodology, Continuous Integration and Continuous Deployment, Merge Request and PR, Distributed Deployment, Automated Testing, and “Cloud Native” Applications.
Programming knowledge is required
The objectives of the course are to provide knowledge of:
- the main issues in developing complex applications
- the importance of using a methodology and setting up work correctly
- the use of software tools for automating the phases of build, deployment, and testing of software
- the methods of collaboration for working together on the same project
Prerequisites are:
- knowledge of a programming language
- experience in coding (preferably in a group)
- basic knowledge of networks and software engineering
Lessons attendance is recommended to better learn the topics and understand better the practical cases that will be proposed and discussed.
The course will cover various topics:
- Methodologies for executing software development projects
- Quality Assurance concepts and their application in terms of processes and tools
- Structuring a complex software development project
- Sharing real cases and analyzing limitations and areas for improvement
- Advanced topics in software development
Lecture Notes from the Professor, mostly based on:
1. Joel Spolsky, "Joel on Software And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity", Apress 2024, ISBN 1590593898
2. Gene Kim, Kevin Behr, George Spafford, Chris Ruen, "The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win", ‎ IT Revolution Press; Third edition (February 27, 2018), ISBN 1942788290
3. https://refactoring.fm/ and Refactoring Community
The assessment is based on written exam, aiming at verifying the knowledge of the different topics of the course.
The written exam consists of a case/project to be carried out and organized in all its phases, with an in-depth analysis of specific topics covered during the course.
The assessment will consider the ability to carry out and discuss the proposed case studies (70%) and the ability to present the fundamental concepts of the subject in a concise and comprehensive manner (30%).
Theoretical lectures and practical laboratory classes;
Audio and Video online resources;
Chat and forum;
English
written
Definitive programme.
Last update of the programme: 12/10/2024