mail unicampaniaunicampania webcerca

    Lelio CAMPANILE

    Insegnamento di ELEMENTS OF SOFTWARE ENGINEERING

    Corso di laurea magistrale in DATA SCIENCE

    SSD: ING-INF/05

    CFU: 6,00

    ORE PER UNITÀ DIDATTICA: 48,00

    Periodo di Erogazione: Secondo Semestre

    Italiano

    Lingua di insegnamento

    Inglese

    Contenuti

    Il corso mira a fornire gli elementi, le metodologie e le tecniche di analisi e progettazione di sistemi software e delle relative problematiche.
    I processi software
    Analisi dei requisiti
    Modellazione del software (UML)
    Ciclo di sviluppo del software
    Metodologie agili

    Testi di riferimento

    Ian Sommerville, Software engineering, 10th edition, Pearson

    Obiettivi formativi

    Lo studente sarà in grado di comprendere gli aspetti principali dei processi di sviluppo del software, dei ruoli e delle responsabilità connesse, del ciclo di sviluppo e del ciclo di vita dei sistemi e le relative problematiche, e di partecipare attivamente ai processi

    Prerequisiti

    Conoscenza delle basi di dati e della programmazione

    Metodologie didattiche

    Lezioni ed esercitazioni

    Metodi di valutazione

    Elaborato di progetto, esame orale. L’elaborato di progetto deve essere consegnato prima dell’esame orale e sarà discusso contestualmente all’esame orale. L’elaborato contribuisce alla valutazione al 50%.

    Altre informazioni

    Nessuna

    Programma del corso

    Ciclo di vita del Software e Qualità del software.
    I processi dell’ingegneria del software.
    Il linguaggio UML: diagrammi dei casi d'uso, delle classi, di sequenza, delle attività, dei componenti.
    Ciclo di vita del software: metodi tradizionali. Il modello a cascata. Analisi dei requisiti, progettazione, implementazione, test. Deployment e manutenzione.
    Ciclo di vita del software: Metodi agili: principi fondamentali. Sviluppo Test-driven. Refactoring. Cenni sul metodo Scrum.
    Introduzione ai design pattern: pattern di creazione, pattern strutturali, pattern comportamentali.

    English

    Teaching language

    English

    Contents

    The course aims to provide the elements, methodologies and techniques of analysis and related issues.
    Software processes
    Requirements analysis
    System modeling (UML)
    Software development lifecycle
    Agile metodologies

    Textbook and course materials

    Ian Sommerville, Software engineering, 10th edition, Pearson

    Course objectives

    The student will be able to understand the main aspects of software development processes, of the roles and related responsibilities, of the development and life cycles and to actively take part in the processes

    Prerequisites

    Knowledge of databases and programming

    Teaching methods

    Lectures and practical sessions

    Evaluation methods

    Project, oral exam.
    The project must be delivered before the oral exam and will be discussed as part of the oral exam. The project contributes to the overall evaluation of the exam with a weight of 50%.

    Other information

    None

    Course Syllabus

    Software life cycle and software quality.
    Software engineering processes.
    The UML language: use case diagrams, class diagrams, sequence diagrams, activity diagrams, component diagram.
    Software life cycle: traditional methods. The waterfall model. Requirements analysis, design, implementation, testing. Deployment and maintenance.
    Software life cycle: Agile methods: fundamental principles. Test-driven development. Refactoring. Notes on the Scrum method.
    Introduction to design patterns: creation patterns, structural patterns, behavioral patterns.

    facebook logoinstagram buttonyoutube logotype