<- Archives UCL - Programme d'études ->



Software development project [ LINGI2255 ]


6.0 crédits ECTS  15.0 h + 45.0 h   1q 

Teacher(s) Mens Kim ;
Language English
Place
of the course
Louvain-la-Neuve
Online resources

> https://icampus.uclouvain.be/claroline/course/index.php?cid=SINFINFO2255

Main themes

Depending on the topic of the project and the chosen software development methodology, which may vary from one year to another, the following themes may be addressed to some extent:

  • Software development methodologies, static (products) and dynamic aspects (processes);
  • Requirement analysis (goals, use cases), software architectures, architectural styles and patterns, model-driven engineering (MDE);
  • Programming techniques, software development environments, refactoring;
  • Software validation through unit tests, integration tests, functional and structural tests, and code reviews.
  • Examples of kinds of systems to be developed are distributed systems, client/server systems, secure systems, mobile systems, adaptable systems, optimizations of existing systems or data-intensive systems.
  • Project management, planning, resource estimation, reporting.
  • Version management by using a version management tool.
Aims

Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • INFO2.1-5
  • INFO4.1-4
  • INFO5.1-6
  • INFO6.1, INFO6.4

Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • SINF2.1-5
  • SINF4.1-4
  • SINF5.1-6
  • SINF6.1, SINF6.4

Given the learning outcomes of the "Master [60] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • 1SINF2.1-5
  • 1SINF4.1-4
  • 1SINF5.1-6
  • 1SINF6.1, 1SINF6.4

At the outcome of this course, the students will have acquired the necessary competences to build a large-scale software system under semi-professional working conditions. More specifically, students having completing this course with success will be able to:

  • Complete, in a rigorous and systematic way, the different software life cycle phases (specification, architecture, design, implementation, validation, documentation);
  • Apply a software development methodology currently practiced in industry;
  • Put in practice different methods and techniques to assure the quality of the produced software;
  • Estimate the time and resources needed to complete such a software development project, plan the tasks to be executed and the deliverables to be produced, and respect this planning;
  • Use a project management tool to assign and follow the planned software development tasks;
  • Understand the problems inherent to the development of large software systems having many different stakeholders and that consist of multiple components addressing different problems;
  • Work in team and manage the coordination and communication between the different team members;
  • Interact with a client to identify his requirements, to clarify imprecise specifications, and to take into account requested modifications throughout the development process;
  • Build upon existing code that is poorly or badly documented.
Evaluation methods

The course evaluation will be based on :

  • Individual participation to the weekly group meetings with the course assistants : 15% (see Section 4.1) ;
  • Three intermediate reports : 45% (15% each) ;
  • The final report, delivered system and documentation, presentation and demonstration of the final product : 40%.

Given that this course is based on the participation in a team project throughout the year, there will be no possibility to do a second session for this course.

Teaching methods
  • Development (analysis, design, implementation, documentation, validation) of a large-scale application, a typical software product from the industry, in conditions of semi-professional work.
  • Teamwork of 6-8 developers (necessary to complete a big project), overseen by a project manager.
  • Weekly meeting with the project leader (a teaching assistant or researcher in the institute) : presentation of the progress and difficulties, assessment of alternative options, proposed distribution and planning of work within the team.
Content

This project consists of the development of a realistic application, representative of a typical industrial software system, under semi-professional working conditions. The topic of the application to be constructed, as well as the development methodology to be used, will be proposed by an industrial Partner who participates in the organisation of this course. The project will be carried out by groups of 6 to 8 students.

Bibliography
  • slides of the INGI2251 course online
  • a course syllabus which details the project description, deadlines and schedule will be available online
  • additional reading will be suggested in the course syllabus
Other information

Background:

  • LSINF1121 to master of object-oriented programming, algorithms and data structures
  • LSINF1225 for participating in the implementation of a small-size software project
Cycle et année
d'étude
> Master [120] in Biomedical Engineering
> Master [120] in Computer Science and Engineering
Faculty or entity
in charge
> INFO


<<< Page précédente