MGL7460 Réalisation et maintenance de logiciels



Documents pareils
Instructions Mozilla Thunderbird Page 1

How to Login to Career Page

Notice Technique / Technical Manual

Editing and managing Systems engineering processes at Snecma

Forthcoming Database

Once the installation is complete, you can delete the temporary Zip files..

Guide d'installation rapide TFM-560X YO.13

Gestion des prestations Volontaire

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Application Form/ Formulaire de demande

Contents Windows

ANGULAR JS AVEC GDE GOOGLE

Le Cloud Computing est-il l ennemi de la Sécurité?

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

WEB page builder and server for SCADA applications usable from a WEB navigator

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Présentation par François Keller Fondateur et président de l Institut suisse de brainworking et M. Enga Luye, CEO Belair Biotech

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

AGILE. Implémenter la pratique Scrum dans votre équipe?

Face Recognition Performance: Man vs. Machine

Exemple PLS avec SAS

Institut d Acclimatation et de Management interculturels Institute of Intercultural Management and Acclimatisation

DOCUMENTATION - FRANCAIS... 2

Le Guide du corpus de connaissances en génie g logiciel. Pierre Bourque R. Dupuis, A. Abran,, J. W. Moore, L. Tripp. senté à.

Get Instant Access to ebook Cest Maintenant PDF at Our Huge Library CEST MAINTENANT PDF. ==> Download: CEST MAINTENANT PDF

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

Frequently Asked Questions

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

Package Contents. System Requirements. Before You Begin

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

ENOVIA 3DLive. IBM PLM Solutions 1 er Octobre Philippe Georgelin Sébastien Veret

Programming Server-Side Web Applications with Object-Oriented PHP NC Group Syllabus. Duration: 75 hours 1-2-2

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

CEST POUR MIEUX PLACER MES PDF

Paxton. ins Net2 desktop reader USB

Vanilla : Virtual Box

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

Principe de TrueCrypt. Créer un volume pour TrueCrypt

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Master Développement Durable et Organisations Master s degree in Sustainable Development and Organizations Dossier de candidature Application Form

Qualité de la conception de tests logiciels : plate-forme de conception et processus de test

Cloud Computing: de la technologie à l usage final. Patrick CRASSON Oracle Thomas RULMONT WDC/CloudSphere Thibault van der Auwermeulen Expopolis

Language requirement: Bilingual non-mandatory - Level 222/222. Chosen candidate will be required to undertake second language training.

Faits saillants et survol des résultats du sondage

JSIam Introduction talk. Philippe Gradt. Grenoble, March 6th 2015

Nouveautés printemps 2013

Génie logiciel. Systèmes et sous-systèmes. Modèliser des grands systèmes. Problématique. SS S-Syst1 SS S-Syst2 SS S-Syst3. Système.

POLICY: FREE MILK PROGRAM CODE: CS-4

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Toni Lazazzera Tmanco is expert partner from Anatole ( and distributes the solution AnatoleTEM

DOCUMENTATION - FRANCAIS... 2

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

«Rénovation des curricula de l enseignement supérieur - Kazakhstan»

Practice Direction. Class Proceedings

If you understand the roles nouns (and their accompanying baggage) play in a sentence...

MANUEL MARKETING ET SURVIE PDF

Cedric Dumoulin (C) The Java EE 7 Tutorial

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

setting the scene: 11dec 14 perspectives on global data and computing e-infrastructure challenges mark asch MENESR/DGRI/SSRI - France

SERVEUR DÉDIÉ DOCUMENTATION

valentin labelstar office Made-to-measure label design. Conception des étiquettes sur mesure. Quality. Tradition. Innovation DRUCKSYSTEME

Judge Group: P Title: Quel est meilleur: le compost ou le fertilisant chimique? Student(s): Emma O'Shea Grade: 6

1.The pronouns me, te, nous, and vous are object pronouns.

Contrôle d'accès Access control. Notice technique / Technical Manual

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

CLIM/GTP/27/8 ANNEX III/ANNEXE III. Category 1 New indications/ 1 re catégorie Nouvelles indications

Quand la recherche scientifique fait de l Agile.

La coopération dans un contexte de recherches doctorales Cooperation amongst PhD researchers. Josée Charbonneau Anne- Marie Merrien 28 mai 2014

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

COPYRIGHT 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

Tammy: Something exceptional happened today. I met somebody legendary. Tex: Qui as-tu rencontré? Tex: Who did you meet?

Plan. Department of Informatics

MODERN LANGUAGES DEPARTMENT

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Les formations en génie logiciel

LE FORMAT DES RAPPORTS DU PERSONNEL DES COMMISSIONS DE DISTRICT D AMENAGEMENT FORMAT OF DISTRICT PLANNING COMMISSION STAFF REPORTS

Data issues in species monitoring: where are the traps?

ADHEFILM : tronçonnage. ADHEFILM : cutting off. ADHECAL : fabrication. ADHECAL : manufacturing.

DOCUMENTATION - FRANCAIS... 2

La stratégie Cloud de Microsoft

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Les Portfolios et Moodle Petit inventaire

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

GEIDE MSS /IGSS. The electronic document management system shared by the Luxembourg

FOURTH SESSION : "MRP & CRP"

Tier 1 / Tier 2 relations: Are the roles changing?

Dis où ces gens vont d après les images / Tell where these people are going based on the pictures.

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

Transcription:

MGL7460 Réalisation et maintenance de logiciels Guy Tremblay Professeur Département d informatique UQAM http://www.labunix.uqam.ca/~tremblay 10 septembre 2015

Description officielle

Description «officielle» du cours MGL7460 Rôle de la réalisation et de la maintenance dans le cycle de vie du logiciel. Évolution et maintenance du logiciel. Méthodes propres à étendre la durée de vie. Sélection de la méthode appropriée de réalisation. Prototypage. Mise au point. Gestion de la maintenance. Réutilisation et rétro-ingénierie des logiciels. L interaction entre réalisation et maintenance sera traitée tout au long du cours.

Motivation et background du cours

Question : À quoi correspondent les notions de «Réalisation et maintenance»?

Une ébauche possible de réponse : Bibliographie du cours MGL7460 Volume obligatoire (COOP) : A. Hunt and D. Thomas. The Pragmatic Programmer From Journeyman to Master. Addison-Wesley, 2000. Document Web : P. Bourque and R.E. Fairley, editors. Guide to the Software Engineering Body of Knowledge (Version 3.0). IEEE Computer Society, 2014. http://www.computer.org/web/swebok/v3 Et de nombreuses autres références : http://www.labunix.uqam.ca/~tremblay/mgl7460/ Liens/references.pdf

Guide to the SWEBOK

Une ébauche possible de réponse

Une ébauche possible de réponse

Objectifs du Guide to the SWEBOK Définir ce qu est le génie logiciel en définissant un guide vers le corpus des connaissances en GL

Objectifs du Guide to the SWEBOK (bis) 1 To promote a consistent view of software engineering worldwide 2 To specify the scope of, and clarify the place of software engineering with respect to other disciplines such as computer science, project management, computer engineering, and mathematics 3 To characterize the contents of the software engineering discipline 4 To provide a topical access to the Software Engineering Body of Knowledge 5 To provide a foundation for curriculum development and for individual certification and licensing material

Les différents Knowledge Areas (KA)

Software Construction KA

Contenu plus détaillé du Software Construction KA : Software Construction Fundamentals Minimizing complexity Anticipating change Constructing for verification Standards in construction

Contenu plus détaillé du Software Construction KA : Managing Construction Construction in life cycle models Construction planning Constructing measurement

Contenu plus détaillé du Software Construction KA : Practical Considerations Construction design Construction languages Coding Construction testing Construction for reuse Construction with reuse Construction quality Integration

Contenu plus détaillé du Software Construction KA : Construction Technologies API design and use Object-oriented runtime issues Parametrization and generics Assertions, design by contract, and defensive prog. Error handling, exception handling, and fault tolerance Executable models State-based and table-driven construction techniques Runtime configuration and internationalization Grammar-based input processing Concurrency primitives Middleware Distributed software Heterogeneous systems Performance analysis and tuning Platform standards Test-first programming

Contenu plus détaillé du Software Construction KA : Software Construction Tools Development environments GUI builders Unit testing tools Profiling, performance analysis, and slicing tools

Les KAs reliés à Software Construction

Les différents Knowledge Areas (KA)

Les KAs reliés à Software Construction

The Pragmatic Programmer From Journeyman to Master

«The Pragmatic Programmer» est un livre paru en 2000

Ses auteurs : Andrew Hunt et Dave Thomas

Andrew Hunt et Dave Thomas sont deux des signataires du «Manifeste Agile»

Ils ont fondé la maison d édition The Pragmatic Bookshelf : plus de 280 titres parus!

Read this book, and you ll learn how to :

Questions... Qu est-ce que le «software rot»? Qu est-ce qu un contrat? Comment peut-on tester «ruthlessly and effectively»? À quoi réfère l idée d automatisation dans «developments more precise with automation»?

Les auteurs introduisent divers tips Tips : Caractéristiques, pratiques, approches partagées par les «programmeurs pragmatiques», exprimées sous forme de conseils

Quelques tips généraux Care About Your Craft Why spend your life developing software unless you care about doing it well? Invest Regularly in Your Knowledge Portfolio Make learning a habit.

Quelques tips en lien avec l écriture de code Always Use Source Code Control Source code control is a time machine for your work you can go back. DRY Don t Repeat Yourself Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. Use the Power of Command Shells Use the shell when graphical user interfaces don t cut it. Use Exceptions for Exceptional Problems Exceptions can suffer from all the readability and maintainability problems of classic spaghetti code. Reserve exceptions for exceptional things.

Questions... Quel est l exemple le plus commun de comportement «non DRY»? Combien d entre vous utilisez régulièrement un shell Unix/Linux?

Quelques tips en lien avec le débogage Don t Panic When Debugging Take a deep breath and THINK! about what could be causing the bug. «select» Isn t Broken It is rare to find a bug in the OS or the compiler, or even a third-party product or library. The bug is most likely in the application. Find Bugs Once Once a human tester finds a bug, it should be the last time a human tester finds that bug. Automatic tests should check for it from then on.

Débogage et autres problèmes : Step away from the keyboard to solve hard problems. Source : http://phdcomics.com/comics.php

Quelques tips en lien avec les tests Test Your Software, or Your Users Will Test ruthlessly. Don t make your users find bugs for you. Coding Ain t Done Til All the Tests Run Nuff said. Test Early. Test Often. Test Automatically. Tests that run with every build are much more effective than test plans that sit on a shelf. Refactor Early, Refactor Often Just as you might weed and rearrange a garden, rewrite, rework, and re-architect code when it needs it. Fix the root of the problem.

Quelques tips en lien avec les contrats Design with Contracts Use contracts to document and verify that code does no more and no less than it claims to do. Use Assertions to Prevent the Impossible Assertions validate your assumptions. Use them to protect your code from an uncertain world. Crash Early A dead program normally does a lot less damage than a crippled one.

Objectifs et contenu du cours MGL7460

Portée du cours MGL7460

Et la maintenance dans tout cela? Most people assume that maintenance begins when an application is released, that maintenance means fixing bugs and enhancing features. We think these people are wrong. Programmers are constantly in maintenance mode. Our understanding changes day by day. New requirements arrive as wére designing or coding. Perhaps the environment changes. Whatever the reason, maintenance is not a discrete activity but a routine part of the entire development process. A. Hunt & D. Thomas, The Pragmatic Programmer

Objectif général du cours MGL7460 Se familiariser avec les concepts, pratiques, techniques et outils visant à développer et maintenir des logiciels de façon professionnelle.

Objectifs spécifiques du cours MGL7460 Comprendre la problématique de la R & M de logiciels. Situer les activités de R & M dans le cycle de vie. Connaître les approches contemporaines de R & M. Savoir utiliser des outils de gestion de configuration. Connaître les principaux outils et techniques de test et pouvoir en utiliser. Comprendre l importance des activités d assemblage et de déploiement des logiciels. Comprendre le rôle des approches de refactoring et pouvoir les mettre en pratique. Se familiariser avec de nouvelles approches dans le domaine et de nouveaux langages de programmation. Connaître et utiliser des outils d analyse de code pour en évaluer la qualité et la maintenabilité.

Contenu du cours Guide to the SWEBOK Contrôle du code source et gestion de la configuration Langages de programmation dynamique Assemblage et déploiement de logiciels Test unitaires et TDD (Test-Driven Development) Test d acceptation et BDD (Behavior-Driven Development) Concepts et principes de conception Production de code de qualité : critères et outils Métaprogrammation et langages spécifiques au domaine Performance et optimisation Processus de développement et méthodes agiles Maintenance de systèmes patrimoniaux

Contenu du cours (bis)

Éléments d évaluation et modalités du cours

Modalités d évaluation Description Date Pondération Projet 1 + Présentation orale À préciser 25 % Description à venir Projet 2 + Présentation orale À préciser 25 % Description à venir Projet 3 Description à venir À préciser 20 % Examen final 17 déc. 30 %

Les projets En équipe d au plus trois (3) personnes 1, 2 ou 3 Peut être fait seul... mais non recommandé et sera évalué comme n importe quel autre projet Rapport écrit 15 20 pages Présentation orale des résultats des deux (2) premiers projets : 10 15 minutes + quelques questions Rapport de participation ( auto-évaluation)

Le déroulement des cours Première partie du cours : Présentation de divers thèmes et sujets par le professeur Deuxième partie : Rencontre avec les équipes pour l avancement des projets (coaching)

Références P. Bourque and R.E. Fairley, editors. Guide to the Software Engineering Body of Knowledge (Version 3.0). IEEE Computer Society, 2014. http://www.computer.org/web/swebok/v3. A. Hunt and D. Thomas. The Pragmatic Programmer From Journeyman to Master. Addison-Wesley, 2000. Liste plus détaillée de références : http://www.labunix.uqam.ca/~tremblay/mgl7460/ Liens/references.pdf