Accéder au contenu principal

Mon cours Introduction au Génie Logiciel

Ce cours intitulé "Introduction au Génie Logiciel" est dispensé aux étudiants inscrits en deuxième année de la filière IWIM de l'ENSIAS. Le cours se déroule sur sept semaines à raison d'une séance de 3 heures par semaine. Les deux premières séances seront assurées totalement par le professeur. Lors de la première séance, des ateliers pratiques seront proposés aux étudiants à réaliser en binôme et qui sont consacrés à différentes thématiques qui relèvent des aspects pratiques du génie logiciel. Chaque atelier consiste à élaborer une présentation ppt de la thématique suivie d'un Tp animé par les étudiants concernés qui revient sur le processus d'installation ou de configuration de la technologie faisant l'objet de l'atelier ainsi qu'un mini projet pour pouvoir pratiquer et toucher aux aspects importants de la dite technologie. Les ateliers commencent à partir de la troisième séance du cours, toujours après la pause et peuvent s'étaler sur le reste de la séance en fonction de l'importance et la complexité de l'atelier.

Pour ce qui est du cours, nous allons voir essentiellement tous les aspects importants de la discipline du génie logiciel à savoir la problématique, l'historique et la définition, la notion du produit et du processus, et les modèles de cycle de vie. Ce cours, je rappelle est l'un des cours fondamentaux pour bien comprendre l'écosystème lié à la réalisation d'un logiciel.
En gros, on peut dire que ce cours est réparti en deux volets : théorique et pratique. La partie théorique va être assurée par le professeur tandis que la partie pratique elle va être assurée par les étudiants eux mêmes sous la supervision du professeur. Ce cours est une occasion à saisir par les étudiants pour renforcer leurs habiletés techniques, de communication et de collaboration, sachant que le développement d'un logiciel se pratique en équipe.
Pour ce qui est des thématiques proposées, elles couvrent tout le cycle de développement d'un logiciel, telles que la gestion de la documentation, la gestion des versions, la gestion des bugs, la gestion des projets, etc. Je vous propose ci après une liste non exhaustive de ces thématiques : Docbook, Ganttproject, Dotproject, Trello, Bugzilla, Cvs, Svn, Git, Bitbucket, Selenuim, Junit, Jenkins, etc.
Soyons tous au rendez-vous alors et bonne chance pour tout le monde.

Commentaires

Posts les plus consultés de ce blog

Rédaction d'un document Cahier des Charges

Comment rédiger un Cahier des Charges Pour rédiger un document cahier des charges d'un projet logiciel ou autre, nous proposons cette template qui pourrait servir éventuellement comme guide. Il s'agit de définir successivement les points suivants : Contexte et définition du projet, Objectifs, Scope, Parties Prenantes, Description des besoins à répartir entre les besoins fonctionnels et non fonctionnels. Contexte et définition du problème Dans cette rubrique, vous allez définir le problème pour bien clarifier la finalité du travail.  Il est important de souligner aussi les besoins ainsi que les contraintes et ce de manière  très sommaire. Par exemple, vous pouvez exposer la situation actuelle ou futur de votre système tout en mettant l’accent sur les problèmes auxquels vous voulez faire face. Objectifs Après avoir exposé le problème dans la première partie, ici vous allez exprimer quelles sont les attentes et les résultats escomptés. Normalement ces att

Scope d'un projet

Comment définir le Scope d'un projet Le Scope ou Périmètre d'un projet est un point clé pour la réussite du dit projet. Il doit figurer parmi les éléments d'un document cahier des charges et partagé avec le Manager du projet, le Client ainsi que les parties prenantes. Pour bien définir le Scope d’un projet, il est opportun de définir les points suivants : Les objectifs du projet Les buts ou finalités (goals) à atteindre Les sous-phases ou étapes Les tâches Les ressources Le budget La planning Bien sûr pour pouvoir ce faire, il est nécessaire d'élaborer une étude approfondie de la finalité du projet en concertation avec d’une part le client et d’autre part avec les parties-prenantes. Une fois ces points sont détaillés, il y a lieu après de clarifier les limitations du projet à savoir les points à inclure dans le projet et ceux à ne pas inclure. Il est à rappeler également que les objectifs du projet doivent respecter les critères SMART .

Les Tests d'Acceptation sous Fitnesse

Introduction Fitnesse est un outil de test d’acceptation automatisé pour réparer les problèmes liés aux processus d’exigences très tôt. Les tests d’acceptation automatisés de Fitnesse présentent plusieurs avantages tels que : Avoir un retour très tôt sur chaque item du projet. Avoir un retour très fréquent sur chaque item du projet. Ces tests sont déterministes dans la mesure où ils sont soient verts soient rouges. Permettent d’emprunter de plus en plus de chemins par rapport à la logique métier. A l’inverse des tests unitaires tels que jUnit ou autres, les tests d’acceptation sous Fitnesse permettent de tester le métier et se concentrent beaucoup plus pour découler sur le bon code (the right code), le code ayant le plus de valeur métier. Atelier Dans cet atelier, nous allons mettre en pratique un projet de test d’acceptation sous Fitnesse. Pour ce faire, nous allons utiliser l’IDE Eclipse avec Maven. Nous commençons par créer un projet Maven sous Eclipse