PLAN DE COURS
Hiver 2008

Site WEB du cours : http://www.trempet.uqam.ca/Enseignement/Cours/MGL7260/Hiver2008/Default.html


Exigences et spécification de systèmes logiciel
MGL7260

DESCRIPTION (selon l'annuaire)

Introduction à l'ingénierie des systèmes. Modèles de processus des exigences logicielles. Intervenants dans le processus des exigences logicielles. Support et gestion du processus des exigences logicielles. Qualité et amélioration du processus des exigences logicielles. Sources des exigences logicielles. Techniques d'explicitation des exigences logicielles. Classification des exigences logicielles. Modélisation conceptuelle. Conception architecturale et allocation des exigences logicielles. Négociation des exigences logicielles. Document de définition des exigences logicielles. Document de spécification des exigences logicielles. Structure et normes de documentation des exigences logicielles. Qualité de la documentation des exigences logicielles. Revue des exigences logicielles. Prototypage. Validation des modèles. Tests d'acceptation. Gestion des changements des exigences logicielles. Attributs des exigences logicielles. Trace des exigences logicielles. Sujets avancés en exigences logicielles.


CONTENU DU COURS

Le cours sera organisé autour d’une liste de sujets et de discussions de chapitres du manuel ou d’articles. Certains sujets pourraient être annulés et d’autres introduits si l’enseignant ou les étudiants en ressentent le besoin.

Sujets

1.      Mise en contexte des exigences (GL)

·         Définitions

·         Prolégomènes IV

2.      Exigences (SWEBOK)

·         Qu’est-ce qu’une exigence ?

·         Processus

1.       élicitation

2.       analyse

3.       Spécification

4.       Validation

·         Critique

3.      Principes d’opération

·         Sa place dans le GL

·         Objectifs

·         Éléments

·         Une norme

4.      Processus

·         Cycle de vie des produits et types de produits

·         Processus (archétypes)

1.       Lourd

§         Centré sur les exigences

§         Centré sur la qualité

§         Piloté par l’échéancier

2.       Agile (UP)

§         Centré sur l’architecture

§         Itération et incréments

§         Piloté par les risques

·         ISO 12207

5.      Artefacts et « Fiches »

·         Problèmes

·         Besoins

·         Exigences

·         Test

6.      À la recherche des concepts

·         Exemple UML pour architecture

·         Méthode ?

·         Niveau de détail

·         Exemple : chasse à l’orignal

7.      Fonctions versus qualité

·         Versus ?

·         Qu’est-ce qu’une exigence fonctionnelle ?

·         Qualité ?

1.       ISO 9126

8.      Exemple : Interopérabilité

·         Domaine d’application 

·         Pourquoi ?

·         Projet « SCALCID »

9.      Extreme requirements

·         Domaine d’application 

·         Pourquoi ?

·         Prototypage

·         Fiches

10.  IEEE 830

·         Utilité

·         Structures

·         Limites

11.  La méthode de Jackson

·         Problèmes

·         Exigences

·         Machine

·         Types des problèmes

·         Structure des problèmes

12.  Ontologies

·         Définition

·         Approches

·         Critique

13.  De la nécessité des cas d’utilisation

·         Pour

·         Contre

·         Au-delà

Discussions en partant du livre : Karl E. Wiegers, Software Requirements, Microsoft Press, 2003

1.       Deuxième semaine : chapitres 1..2.

2.       Troisième semaine : chapitres 3..4.

3.       Quatrième semaine : chapitres 5..6.

4.       Cinquième semaine : chapitres 7..9.

5.       Sixième semaine : chapitres 10..12.

6.       Septième semaine : chapitres 13..14.

7.       Huitième semaine : chapitres 15..16.

8.       Neuvième semaine : chapitres 17..18.

9.       Dixième semaine : chapitres 19..20.

10.    Onzième semaine : chapitres 21..23.

Note : les discussions auront lieu dans la deuxième heure du cours mais ne concerneront pas, nécessairement, le sujet traité dans la première moitié. Ceci permettra de revenir ou d’anticiper sur les sujets pour ne pas les traiter que ponctuellement.


Approche pédagogique

Les objectifs du cours seront atteints par un enseignement hebdomadaire sous la forme de :

·         cours magistral (1 heures) ;

·         discussions en groupe des chapitres du manuel lus ;

·         travail en classe sur les TP.

Pour un suivi de l’apprentissage et pour, éventuellement, adapter les sujets, les étudiants remettront, chaque semaine, pendant 10 semaines, un document d’au moins 5 000 caractères sur les chapitres du manuel à discuter en classe. Le document aura trois sections qui contiendront :

1.      Les points les plus intéressants du chapitre.

2.      Les points faibles du chapitre.

3.      Questions et considérations pour la discussion en classe.


ÉVALUATION

Description sommaire

Pour le

Pondération

Examen final oral

À partir de la dernière semaine de cours (pendant trois semaines au maximum)

25 %

Projet d'équipe de 3 ou 4 personnes

 

25 février 2008 (TP1)

15 %

3 mars 2008 (Revue)

5 %

28 avril 2008 (TP2)

25 %

Documents pour discussion et participation en classe

À partir de la deuxième semaine pendant 10 semaines

30 %

RÉFÉRENCES

OBLIGATOIRES

·         WIEGERS Karl, Software Requirements, Microsoft Press, 2003.

·         IEEE : Std 1233-1998 Guide for Developing System Requirements Specifications.

·         IEEE : Std IEEE Guide for Information Technology System Definition Concept of Operations (ConOps) Document

·         IEEE : Std 830-1998 IEEE Recommended Practice for Software Requirements Specification

·         SWEBOK Version 2004 : Chapitre 2 (http://www.swebok.org/home.html).

·         Maffezzini I, Premiana A., Martin L., « Prolégomènes à une critique du génie logiciciel : Partie IV, Exigences », Génie Logiciel, Mars 2005. Disponible à : http://www.trempet.uqam.ca/trempet/membres/Maffezzini/Articles/ArticlesGL/ProlegIV.pdf

·         Maffezzini I, Most Stable Elements First Approach (3rd International Conference on Cybernetics and Information Technologies, Systems and Applications, CITSA 2006) http://www.trempet.uqam.ca/trempet/membres/Maffezzini/Articles/ArticlesGL/CITSA2006-MostSatbleElementFirst-I877AS-AvecPaginationPourWEB.pdf

·         Maffezzini I, Toward Extreme Requirements?, (4th International Conference on Cybernetics and Information Technologies, Systems and Applications, CITSA 2007) http://www.trempet.uqam.ca/trempet/membres/Maffezzini/Articles/ArticlesGL/CITSA2007-Final.pdf

·         Maffezzini I., De l'utilité des ontologies en GL (Génie Logiciel, Sept. 2006, No 78) http://www.trempet.uqam.ca/trempet/membres/Maffezzini/Articles/ArticlesGL/Delanécessitédesontologies.mht

·         Maffezzini I., De la nécessité des cas d'utilisation (Génie Logiciel, Déc. 2005, No 75) http://www.trempet.uqam.ca/trempet/membres/Maffezzini/Articles/ArticlesGL/LC03-CasUtilisation.pdf

·         Articles, normes et autres documents distribués en classe ou mise à disposition des étudiants sur le site Internet du cours.

 

Autres

  • Normes
    • IEEE : Std 730-1998 Standard for Software Quality Assurance Plans.
    • IEEE : Std 982.1-1988 Standard Dictionary of Measures to Produce Reliable Software.
    • IEEE : Std 1012-1998 Standard for Software Verification et Validation.
    • IEEE : Std 1012a-1998 Supplement to IEEE Standard for Software Verification et Validation : Content Map to IEEE/EIA 12207.1-1997.
    • IEEE : Std 1074-1993 Standard for Software Life Cycle.
    • IEEE : Std 1063-1998 Standard for Software User Documentation.
    • IEEE : Std 12207.1-1997 Standard Life Cycle Processes - Life cycle data.
    • IEEE : Std 12207.2-1997 Standard Life Cycle Processes - Implementation
  • Livres
    • BOEHM B., TURNER, R., Balancing Agility and Discipline, Addison Wesley, 2004.
    • ARLOW J., NEUSTADT I., UML and the Unified Process, Addison Wesley, 2005.
    • COCKBURN A., Writing Effective Use Cases, Addison Wesley, 2001.
    • Constantine L., Software for Use, ACM Press, 1999.
    • DAVIS A., Software Requirements – Objects, Functions, & States, Prentice Hall, 1993.
    • FOWLER M., Analysis Patterns – Reusable Object Models, Addison Wesley, 1997.
    • GAUSE D., WEINBERG G., Exploring requirements quality before design, Dorset House, 1989.
    • JACKSON M., Software Requirements and Specifications, Addison Wesley, 1995
    • JACKSON M., Problem Frames – Analyzing and structuring software development problems, Addison Wesley, 2001.
    • KOVITZ B., Practical Software Requirements, Manning, 1999
    • LEFFINGWELL D., WIDRIG D., Managing Software Requirements, Addison Wesley, 2003.
    • NICOLA J. et alii., Mike Streamlined Object Modeling, Prentice-Hall, 2002.
    • ODELL J., Advanced Object-Oriented Analysis & Design Using UML, SIGS Books, 1998.
    • ROBERTSON S., ROBERTSON J., Mastering the Requirements Process, Addison Wesley, 2006.
    • WIEGERS K., More about Software Requirements, Microsoft Press, 2006
    • Winograd T., Bringing Design to Software, Addison Wesley, 1996.