Team software development projet - KAIN6M14

Informations générales

  • Number of hours

    • Lectures 10.0
    • Projects -
    • Tutorials 3.0
    • Internship -
    • Laboratory works 12.0
    • Written tests -

    ECTS

    ECTS 0.75

Goal(s)

The project applies the theoretical and practical skills acquired during the third year. The goal is to develop a software application over a four-week period on a full-time basis in teams of five or six students.

The objectives of this course are

  • to reinforce what has been learned
  • to illustrate the concepts of project management and software engineering
  • to challenge students, who are accustomed to structured lab work, to design a complete software application in a more open-ended setting
  • to gain an understanding of team management, cooperation, and conflict resolution.

Content(s)

The assignment is to develop an event-driven application. This topic covers a wide range of computer applications across various fields.

To motivate the students, the subject takes the concrete form of a game engine.
The theme of the game is left open, but the engine must respect the following constraints:

  • The behavior of each active entity is defined by an automaton.
  • Automata, characters and scenery are described in a file, which requires the use of a parser to import them into the engine.
  • Design follows the MVC pattern (model, view, controller)
  • the engine is event-driven: a single task manages interactions (keyboard, mouse), the graphical interface and physical model updates
  • The scheduling of entity activation must guarantee fluid and fair simulation of active elements.

The project provides an introduction to software engineering through

  • the use of a version management system ;
  • the importance of software architecture;
  • the role of integration tests;
  • the role of interfaces in breaking down tasks;
  • producing developer/user documentation;
  • preparing a demo.

The project consists of two phases:

  • Weeks 1 and 2: closely supervised development of the core engine, creation of a game prototype, presentation of a game proposal, and drafting of a contract for the final game.
  • Weeks 2 and 3: expansion of the engine, game development, presentation and demonstration, and evaluation of compliance with the contract.

Prerequisites

Having taken the courses of year 3 in imperative and object-oriented programming, automata and syntactic analysis is required

Calendar

The course exists in the following branches:

  • Curriculum - INFO - Semester 6

Additional Information

Course ID : KAIN6M14
Course language(s): FR

You can find this course among all other courses.

Bibliography

  • Conception & Développement de Logiciels
    • Design Patterns: Catalogue de modèles de conception réutilisables, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - Vuibert (1999), 480 pages.
  • Management & Coopération
    • Structure et dynamique des organisations, Henry Mintzberg - Eyrolles (1998)
    • Super-collectif : la nouvelle puissance de nos intelligences, Emile Servan-Schreiber - Fayard (2018)
    • Approche systémique dans les organisations, Alex Mucchielli - Colin (2004)
    • Donner et prendre, la coopération en entreprise, Norbert Alter - La Découverte (2011)
    • The evolution of cooperation, Robert Axelrod, - Basic Books (2006)