IFT2251 Introduction au génie logiciel Hiver 2006 (4 crédits) Prof. : Julie Vachon. Plan de cours



Documents pareils
IFT2255 : Génie logiciel

Analyse,, Conception des Systèmes Informatiques

Chapitre I : le langage UML et le processus unifié

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Soutien technique en informatique

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Introduction au génie logiciel

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

PLAN DE COURS DÉPARTEMENT ÉLECTRONIQUE INDUSTRIELLE. TITRE DU COURS Ordinateur Outil RA 1-4-2

Plateforme de capture et d analyse de sites Web AspirWeb

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Rational Unified Process

Développement itératif, évolutif et agile

IFT6251 : Sujets spéciaux en génie logiciel

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

UML (Paquetage) Unified Modeling Language

Management des processus opérationnels

Plan de cours. 1. Mise en contexte. 2. Place du cours dans le programme. 3. Descripteur du cours

Brique BDL Gestion de Projet Logiciel

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Présenta;on du cours

Gauthier, Benoît (dir.) Recherche sociale : de la problématique à la collecte des données. Québec : Presses de l Université du Québec.

CHARGÉE DE COURS : Catherine Pelletier, MBA, chargée de communication, Service des communications et des relations avec le milieu, FSA

Intégration et Déploiement de Systèmes d Information

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

POL 1100 (Méthodes de recherche en politique) Hiver 2012 Local B-0305 Lundi de 13h00-14h30

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Méthodologies de développement de logiciels de gestion

Les processus métiers : concepts, modèles et systèmes

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

PLAN DE COMMUNICATION TACTIQUE COMM Faculté des lettres : Département d'information et de communication PLAN DE COURS

SECTION 5 BANQUE DE PROJETS

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Le génie logiciel. maintenance de logiciels.

Description de la formation

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Dessin Technique GMEC1311. PROFESSEUR Gabriel Cormier, Ph.D. Bureau : 217G2 Tél : Courriel : gabriel.cormier@umoncton.ca

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Formation : Modélisation avec UML 2.0 et Mise en pratique

Courriel : waguih.laoun@collegeahuntsic.qc.ca

Techniques de l informatique 420.AC. DEC intensif en informatique, option gestion de réseaux informatiques

Plan de cours. Chiffriers et bases de données en gestion commerciale

GL Le Génie Logiciel

Générer du code à partir d une description de haut niveau

LOG2420 Analyse et conception d interfaces utilisateur

MRK 2106 MARKETING RELATIONNEL Hiver crédits Mercredi de 8h30 à 11h20

ASR-2102 : Produits financiers: assurances et rentes

Types de REA produites dans le cadre de la séquence pédagogique

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

NUMÉRO (GR) TITRE DU COURS CYCLE

LICENCE : INFORMATIQUE GENERALE

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Le Guide Pratique des Processus Métiers

Patrons de Conception (Design Patterns)

4.2 Unités d enseignement du M1

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Identification du module

SIO-6029-Z1 : Gestion de projet et du changement

Projet Active Object

Développement d un interpréteur OCL pour une machine virtuelle UML.

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER

MRK A : Méthodes d Analyse de Données en Marketing Automne 2010

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

Sujet de thèse CIFRE RESULIS / LGI2P

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Le Rational Unified Process

PLAN DE COURS CONCEPT ET MULTIMÉDIA JCW 06

UML est-il soluble dans les méthodes agiles?

Gé nié Logiciél Livré Blanc

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

CC30 Certificat de compétence Conception, développement et animation de sites Web

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Certificat en interventions de group et leadership

HIVER 2004 MÉTHODOLOGIE DE LA RECHERCHE EN MARKETING MRK

Génie Logiciel Avancé Cours 3 Le modèle à objets

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

UML (Diagramme de classes) Unified Modeling Language

Génie Logiciel Orienté Objet UML

Logiciel Libre Cours 3 Fondements: Génie Logiciel

PLAN DE FORMATION Formation : Le rôle du superviseur au quotidien

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Formation des formateurs en entreprise

CONCEPTION DE PROJET SIG AVEC UML

Conception, architecture et urbanisation des systèmes d information

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Laboratoire 4 Développement d un système intelligent

Bibliographie sommaire pour le programme de B. Sc. (informatique de gestion), concentration en génie logiciel

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. DOCUMENTATION

Transcription:

IFT2251 Introduction au génie logiciel Hiver 2006 (4 crédits) Prof. : Julie Vachon ** Début des cours : le lundi 9 janvier 2006 ** Plan de cours 1. Introduction Les exigences et les attentes à l égard de la qualité logicielle sont de plus en plus grandes. La taille et la complexité des systèmes informatiques ne cessent d'augmenter. Le développement logiciel ne peut plus être le simple fait du travail "artisanal" d'un développeur aussi ingénieux soit-il. Considérant le rôle critique de certains logiciels, le coût de leur réalisation et les courts échéanciers de production, il est aujourd'hui essentiel que le développement logiciel puisse être soutenu par des mécanismes pertinents de planification, d'analyse, de conception et de vérification. La culture de "bonnes pratiques" et l'application de certains principes de développement contribuent à l'élaboration de systèmes fiables, performants et facilement modifiables. Description du cours et objectifs généraux Le cours IFT2251 est une introduction au génie logiciel. Il vise à initier les étudiants aux processus de développement des logiciels, ainsi qu aux méthodes, techniques et outils utilisés pour développer des logiciels de qualité, c est à dire corrects, fiables, robustes, facilement maintenables, évolutifs, etc. L'objectif général de ce cours est de donner à l étudiant une bonne connaissance du cycle de vie du logiciel et des enjeux liés à chacune des phases du développement. Nous verrons comment faire l'analyse et la conception de logiciels à partir des concepts, méthodes et techniques proposées par l approche orientée objet. Les étudiants apprendront à interpréter et à concevoir des modèles décrivant la structure et le comportement de systèmes informatiques tant séquentiels que concurrents. Une partie importante du cours portera sur l analyse et la conception détaillée de systèmes orientés objets à l aide d UML. UML est une notation standard semi-formelle utilisée pour spécifier, visualiser, construire et documenter les artéfacts des systèmes logiciels. D autre part, nous verrons également comment faire la spécification formelle de certains systèmes plus critiques à l aide du formalisme des réseaux de Petri.

Pour clore ce cours d introduction, nous aborderons le sujet de la vérification. Nous survolerons quelques techniques de test (boîte blanche, boîte noire, etc.) et de preuve utilisées pour évaluer la correction des logiciels développés. Clientèle visée : Étudiants inscrits au DIRO (en 2 e année) ou dans un programme ayant une composante en informatique. Cours préalables : IFT1020 - Programmation 2. L étudiant doit maîtriser les concepts avancés de classes, d objets, d héritage, d interfaces (de classe et utilisateur), de réutilisation, et d événements. Il doit savoir utiliser les structures de données de base (listes, arbres binaires, fichiers) et les algorithmes de recherche et de tri qui leur sont associés. Enseignant et démonstrateurs Professeur : o Julie Vachon (vachon@iro.umontreal.ca) Bureau : P.A.A. 2375 Démonstrateurs (dift2251@iro.umontreal.ca) : Horaire : Changements possibles. th Lun. 10:30 11:30 9 janvier 10 avril 1409 A.-AISENSTADT th Mer. 8:30 10:30 11 janvier 12 avril 1409 A.-AISENSTADT tp Ven. 10:30 12:30 13 janvier 7 avril 1409 A.-AISENSTADT intra Mer. 08:30 10:30 8 mars 1355 A.-AISENSTADT final Mer. 08:30 11:30 26 avril 1355 A.-AISENSTADT 2. Objectifs pédagogiques Introduction Définir ce qu est le génie logiciel, en comprendre les enjeux. Décrire les qualités d un logiciel et les principes de base qui permettent de les réaliser. Expliquer le cycle de vie d un logiciel. Décrire et comparer certains processus de développement classiques et plus récents.

Analyse et spécification Expliquer les objectifs et les étapes de la phase d analyse. Décrire les techniques utilisées pour la cueillette d informations et la spécification. Expliquer l importance de la spécification et distinguer les différents types de notations de spécification existantes. Maîtriser les éléments de base de la notation UML : o Décrire, interpréter et construire des diagrammes de classes, de cas d utilisation, d activités, de séquence et de collaboration. À partir d une étude de cas, réaliser l analyse d un système: o Compléter la cueillette d informations et valider l ensemble des exigences recueillies. o Décrire les scénarios des cas d utilisation du système. o Construire le modèle d analyse du système à l aide de diagrammes UML. Conception Expliquer les objectifs et les étapes de la phase de conception. Décrire le principe de modularité et savoir l appliquer. Évaluer les qualités d une conception logicielle. Identifier les différents types d architectures logicielles fréquemment utilisés, les décrire et les comparer. Justifier le choix d une architecture particulière pour la conception d un logiciel donné. À partir d une étude de cas dont on a fait l analyse, faire la conception détaillée d un système : o Détailler les cas d utilisation et construire les diagrammes de robustesse correspondants. o Raffiner les diagrammes développés pendant la phase d analyse selon l analyse o de robustesse et l approche BCE. Savoir appliquer les bonnes pratiques de conception : règles de base et quelques patrons de conception. Décrire et distinguer différentes techniques de réutilisation (librairies, framework, patrons de conception, etc.) et justifier leur utilisation. Méthodes formelles (réseaux de Petri) Comprendre la sémantique opérationnelle (i.e. le fonctionnement) des réseaux de Petri. Décrire des systèmes séquentiels ou concurrents à l aide de réseaux de Petri. Construire les graphes de marquages et de couverture d un réseau de Petri. Analyser un réseau de Petri pour prouver certaines propriétés du système qu il décrit. Vérification Identifier, décrire et comparer les différentes approches de vérification logicielle et leurs objectifs. Comprendre les objectifs, les avantages et les inconvénients du test logiciel. Décrire, comparer et savoir utiliser les techniques de génération de jeux de tests de type «boîte blanche» et «boîte noire» pour le calcul de jeux de test pertinents. Et plus globalement Développer une approche de développement rigoureuse. Apprendre à faire des choix de modélisation et de conception judicieux.

3. Méthode d enseignement et d apprentissage Formule d enseignement La matière sera essentiellement présentée sous forme de cours magistraux donnés par le professeur. Des exemples seront développés en cours pour illustrer la matière. Formule d apprentissage Les étudiants pourront développer et confirmer leurs apprentissages en réalisant les exercices proposés par les auxiliaires d enseignement pendant les séances de travaux dirigés (démonstrations). Les travaux pratiques, en plus de servir à l évaluation, seront l occasion de développer d autres habiletés (rigueur, jugement, organisation, ) liées à ce cours. Par ailleurs, on s attend à ce que les étudiants complètent leur apprentissage de façon autonome par des lectures et des exercices tirés des livres mis en réserve à la bibliothèque. Support de cours Transparents o Il est recommandé de les compléter par des notes de cours personnelles. Site web : o www.iro.umontreal.ca/~pift2251 o On y trouvera les énoncés de travaux pratiques et des démonstrations, les transparents, les annonces importantes, etc. o Les informations données en cours prévaudront sur celles affichées sur le site web. 4. Évaluation L évaluation comportera deux examens et quatre travaux pratiques. La pondération sera la suivante: TP #1 5 % TP #2 10 % TP #3 15 % TP #4 10 % Examen intra 30 % Examen final 30% Seuil: Une moyenne de 50% aux examens est exigée pour que les résultats des travaux pratiques soient comptabilisés dans la note finale. (Un étudiant qui obtiendrait 60% à l intra et 20% au final se verrait attribuer 0 pour les travaux pratiques )

Retard : À moins d indications contraires, les travaux remis en retard seront pénalisés selon les taux suivants : Retard Pénalité 1 jour -5% 2 jours -15% 3 jours -30% 4 jours -50% 5-6 jours -75% 7 jours et plus -100% Plagiat et fraude : Sanctionnés conformément aux règlements de l université de Montréal et du DIRO. Pour plus d informations : http://www.secgen.umontreal.ca/pdf/reglem/francais/sec_30/ens30_3.pdf http://www.iro.umontreal.ca/codehonneur.pdf 5. Questions et consultations Consultation avec le professeur : Le professeur sera disponible pour répondre à vos questions les lundis de 14h00 à 16h00 ou sur rendez-vous. Consultation avec les démonstrateurs : Les démonstrateurs vous communiqueront leurs disponibilités lors de la première séance de travaux pratiques. Questions par courriel : Vous pouvez posez vos questions par courriel au professeur (vachon@iro.umontreal.ca) ou aux démonstrateurs (dift2251@iro.umontreal.ca).

6. Ouvrages de référence Ces livres sont en réserve à la bibliothèque. Vous êtes fortement encouragés à les consulter pour réviser la matière vue en cours, approfondir vos connaissances et y puiser des exercices. Carlo Ghezzi, Mehdi Jazayeri et Dino Mandrioli. «Fundamentals of Software Engineering», Prentice-Hall, 2002. Leszek A. Maciaszek. «Requirements Analysis and System Design. Developing Information Systems with UML». Addison Wesley, 2001. Shari Lawrence Pfleeger, «Software Engineering: Theory and Practice», 2/E, Prentice-Hall, 2001. James Rumbaugh, Ivar Jacobson et Grady Booch, «The Unified Modeling Language Reference Manual». Addison Wesley, 1999. Roger S. Pressman, «Software Engineering, A Practitioner`s Approach». 5/E, McGraw Hill, 2001. Satzinger, Jackson, Burd, Simond et Villeneuve. «Analyse et conception de systèmes d information». Les Éditions Reynald Goulet, 2 e édition, 2003.