modélisation des si
TRANSCRIPT
![Page 1: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/1.jpg)
Modélisation des SI2e année - IUT de Nice - département Info
M. Blay-Fornarino -- http://mbf-iut.i3s.unice."/
mercredi 11 septembre 13
![Page 2: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/2.jpg)
Objectifs du module
2
O1 : Connaître les principes de mise en œuvre d’une approche qualité dans le processus de production du logiciel.■ CM4 : Mettre en œuvre une approche qualité dans le processus de production du
logiciel.■ C5 : Qualité du logiciel : objectif du génie logiciel ; assurance qualité, normes,
gestion des projets logiciels et documentation, cycle de vie du logiciel, architecture logicielle.
■ C6 : Principes et techniques de base des tests : familles et niveaux de tests.■ C8 : Interaction homme-machine : prise en compte de l’utilisateur, conception de
l’I.H.M., composants graphiques, choix et recommandations ergonomiques.
Pas connaître Visual
Paradigme
mercredi 11 septembre 13
![Page 3: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/3.jpg)
Evaluation du moduleSeule une page au format A4, recto-verso, sera autorisée pour l'examen final qui portera essentiellement sur une étude de cas.
Les TD se font en groupe. Ils donnent lieu en fin de module à des rendus notés par groupe.
Les TP se font en groupe. Ils donnent lieu en fin de module à des rendus notés par groupe.
Des études sur des sous-thématiques (nouvelles IHMs, agilité et web, …) sur la base d'articles ou de livres pourront également être rendues et notées, pour un bonus sur la note de TD-TP.
Des notes de contrôles oraux pourront être attribuées séance par séance
Un examen final
3mercredi 11 septembre 13
![Page 4: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/4.jpg)
Evaluation du moduleSeule une page au format A4, recto-verso, sera autorisée pour l'examen final qui portera essentiellement sur une étude de cas.
Les TD se font en groupe. Ils donnent lieu en fin de module à des rendus notés par groupe.
Les TP se font en groupe. Ils donnent lieu en fin de module à des rendus notés par groupe.
Des études sur des sous-thématiques (nouvelles IHMs, agilité et web, …) sur la base d'articles ou de livres pourront également être rendues et notées, pour un bonus sur la note de TD-TP.
Un examen final
4
Votre objectif ?
- Comprendre les principes de l’analyse/conception
- Respecter les normes : nommage des associations, ...- Respecter les règles imposées :
rendus à temps avec tout ce qui est demandé,format de rendu, ....
Avoir la meilleure note possible pour passer en S4T !!
mercredi 11 septembre 13
![Page 5: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/5.jpg)
Plan du moduleQualité du logiciel
Tests ....
Introduction
Développement dirigé par les tests.
Mocks...
Méthodes
Méthodes Agiles (XP, Scrum)
RUP
IHMs
mercredi 11 septembre 13
![Page 6: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/6.jpg)
Modélisation, UMLQuiz
Petits rappels après les vacances
et les projets
mercredi 11 septembre 13
![Page 7: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/7.jpg)
7
Question
Un modèle. . .?
A. doit être structurel et comportemental. B. est inutile si les membres d’une équipe savent
programmerC. est une simplification de la réalité.D. est une excuse pour retarder le développement
Réponse :
mercredi 11 septembre 13
![Page 8: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/8.jpg)
8
Question
Pourquoi modéliser? Pour ...
A. Aider à visualiser un systèmeB. Documenter nos décisionsC. Comprendre et cerner les besoins fonctionnels et
techniquesD. Faciliter la planificationE. Toutes ces réponses
Réponse :
Question
mercredi 11 septembre 13
![Page 9: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/9.jpg)
9
A votre connaissance, à partir d’un modèle, avec des outils, on peut. . .?
A. obtenir une bonne noteB. produire de la documentationC. produire des squelettes de codeD. produire du codeE. valider une spécificationF. simuler un systèmeG. autre
Réponse :
Question
mercredi 11 septembre 13
![Page 10: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/10.jpg)
10
Question
La modélisation s’arrête quand ?
A. on commence à développerB. le prof n’est plus là pour l’exigerC. tout le système a été modéliséD. on a fini de représenter la réalitéE. on n’a plus d’argentF. le système s’arrête
Réponse :
Question
mercredi 11 septembre 13
![Page 11: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/11.jpg)
11
QuestionUML ?
A. Un nouvel objet non identifiéB. Un nouveau langage C. Unified Modelling Language
Réponse :
mercredi 11 septembre 13
![Page 12: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/12.jpg)
12
SystèmeDeContrôleDAcces
CapteurAIncendie
PorteurDeCarte
EntrerDébloquerLesPortes
GérerLesCartesAdministrateur
ListerLesTentativesDeFraudes
Gardien
Sortir
Qu’est-ce qu’UML ?
Ce diagramme montre ce que que fait le système et qui l’utilise
Diagrammes des cas d’utilisation
mercredi 11 septembre 13
![Page 13: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/13.jpg)
13
Qu’est-ce qu’UML ?
le compte de P.le distrib. la banquepaul
retirer(500)
débiter(500)
la carte de P.
lireN°Compte()
la reserve
retirerDeLArgent(500,88219)
sortirDesBillets(5)
sortirBillets ()
Diagrammes de séquenceCe diagramme montre les flots de communications
mercredi 11 septembre 13
![Page 14: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/14.jpg)
14
Qu’est-ce qu’UML ?
Client1..4 1..*
titulaires
Consortium
Comptenumérosolde...
1..*
0..*
1
Banque
numéronom
Distributeur0..*
1
0..*
1..*
signataire1
0..*CarteBleue
CoderetraitMax
1..*
AcceptéPar>
Ce diagramme montre les classes et les relations entre elles
Diagrammes de classes
mercredi 11 septembre 13
![Page 15: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/15.jpg)
Qualité du logiciel ?Merci à tous ceux qui ont rendu leurs cours et exposés
disponibles sur le web & dans les livres, voir Biblio.
M. Blay-Fornarino [email protected],
http://users.polytech.unice.fr/~blay/IUT Département Informatique 2è année
15
mercredi 11 septembre 13
![Page 16: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/16.jpg)
Bibliographie
n Reflexion on Software Quality and Maintenance, Alexandre Bergel, Chili
n Cours de Production Du Logiciel, La qualité logicielle, Thierry Milan, Toulouse
n Yann-Gaël Guéhéneuc cours , Université de Montréal, http://www-etud.iro.umontreal.ca/~ptidej/yann-gael/Work/Publications/
16
mercredi 11 septembre 13
![Page 17: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/17.jpg)
Le logiciel ...
S’il vous fallait préparer à l’avance tous les ordres à donner à des individus totalement stupides, mais absolument obéissants, pour qu’ils réalisent une tâche complexe, vous diriez que c’est là un problème de management nouveau : les gens ne sont, en général, ni stupides, ni obéissants, ce qui aide à faire face à l’imprévu. Si, en plus, la moindre erreur provoque une catastrophe, vous diriez que la réussite d’un tel plan d’action tient du miracle. Vous venez pourtant de définir ce qu’est la fabrication d’un logiciel. Pour que la réussite ne tienne pas que du miracle, il faut donc une rigueur de fer, pas mal de culture, et de bons outils tels que ceux qui apparaissent aujourd’hui, ce qui n’est malheureusement pas encore assez connu.
LOGICIELS : COMMENT CHASSER LES BUGS ? par
Gérard BERRY 1996Directeur de Centre de Mathématiques Appliquées
de l’École des mines de Parismembre de l'Académie des sciences française (depuis 2002),
de l'Académie des technologies (depuis 2005), et de l'Academia Europaea (depuis 1998)
17
mercredi 11 septembre 13
![Page 18: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/18.jpg)
iut informatique, Nice, 2013-2014
Qualité ?
Michel Koenig, Polytech’Nice Sophia18
mercredi 11 septembre 13
![Page 19: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/19.jpg)
iut informatique, Nice, 2013-2014
Evaluation de la Qualité ?
19
mercredi 11 septembre 13
![Page 20: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/20.jpg)
iut informatique, Nice, 2013-2014
Evaluation
20
mercredi 11 septembre 13
![Page 21: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/21.jpg)
iut informatique, Nice, 2013-2014
Evaluation
Code à «améliorer» au cours d’un stage IUT 2011
21
mercredi 11 septembre 13
![Page 22: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/22.jpg)
Paris, 2008~100 packages~ 500 classes
Large software in a French telecom company
22
mercredi 11 septembre 13
![Page 23: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/23.jpg)
iut informatique, Nice, 2013-2014
Intuitivement, la qualité ...
à partir du cours d’Alexandre Bergel23
mercredi 11 septembre 13
![Page 24: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/24.jpg)
/* Hello World program */
#include<stdio.h>
int main(){ printf("Hello World");
}
24
mercredi 11 septembre 13
![Page 25: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/25.jpg)
/* Hello World program */
#include<stdio.h>
int main(){ printf("Hello World");
}
no return statement
in the function
25
mercredi 11 septembre 13
![Page 26: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/26.jpg)
/* Hello World program */
#include<stdio.h>
int main(){ printf("Hello World");
}
no return statement
in the function
9 lines of code7 seconds
26
mercredi 11 septembre 13
![Page 27: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/27.jpg)
In Mozilla:dom/base/nsDOMWindowUtils.cpp
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- *//* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1...#include "nsIDOMHTMLCanvasElement.h"#include "nsICanvasElement.h"#include "gfxContext.h"#include "gfxImageSurface.h"...
27
mercredi 11 septembre 13
![Page 28: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/28.jpg)
In Mozilla:dom/base/nsDOMWindowUtils.cpp
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- *//* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1...#include "nsIDOMHTMLCanvasElement.h"#include "nsICanvasElement.h"#include "gfxContext.h"#include "gfxImageSurface.h"...
belong to the core
belong to gfx package
28
mercredi 11 septembre 13
![Page 29: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/29.jpg)
In Mozilla:dom/base/nsDOMWindowUtils.cpp
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- *//* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1...#include "nsIDOMHTMLCanvasElement.h"#include "nsICanvasElement.h"#include "gfxContext.h"#include "gfxImageSurface.h"...
belong to the core
belong to gfx package
695 lines of code3 minutes
29
mercredi 11 septembre 13
![Page 30: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/30.jpg)
protected String getBorderTitle(Border b) { String s; if (b instanceof TitledBorder) { return ((TitledBorder) b).getTitle(); } else if (b instanceof CompoundBorder) { s = getBorderTitle(((CompoundBorder) b).getInsideBorder());! if (s == null) { s = getBorderTitle(((CompoundBorder) b).getOutsideBorder());! }! return s; } else { return null; }...
In Swing:JComponent.java
30
mercredi 11 septembre 13
![Page 31: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/31.jpg)
In Swing:JComponent.java
protected String getBorderTitle(Border b) { String s; if (b instanceof TitledBorder) { return ((TitledBorder) b).getTitle(); } else if (b instanceof CompoundBorder) { s = getBorderTitle(((CompoundBorder) b).getInsideBorder());! if (s == null) { s = getBorderTitle(((CompoundBorder) b).getOutsideBorder());! }! return s; } else { return null; }... 31
mercredi 11 septembre 13
![Page 32: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/32.jpg)
In Swing:JComponent.java
protected String getBorderTitle(Border b) { String s; if (b instanceof TitledBorder) { return ((TitledBorder) b).getTitle(); } else if (b instanceof CompoundBorder) { s = getBorderTitle(((CompoundBorder) b).getInsideBorder());! if (s == null) { s = getBorderTitle(((CompoundBorder) b).getOutsideBorder());! }! return s; } else { return null; }...
Need Double Dispatch
32
mercredi 11 septembre 13
![Page 33: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/33.jpg)
In Swing:JComponent.java
protected String getBorderTitle(Border b) { String s; if (b instanceof TitledBorder) { return ((TitledBorder) b).getTitle(); } else if (b instanceof CompoundBorder) { s = getBorderTitle(((CompoundBorder) b).getInsideBorder());! if (s == null) { s = getBorderTitle(((CompoundBorder) b).getOutsideBorder());! }! return s; } else { return null; }...
5471 lines of code12 minutes
33
mercredi 11 septembre 13
![Page 34: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/34.jpg)
Presentation of AWT
In the AWT framework:
Widgets are components (i.e., inherit from Component)
A frame is a window (Frame is a subclass of Window)
java.awt
Component
ButtonContainerWindowFrame
34
mercredi 11 septembre 13
![Page 35: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/35.jpg)
Swing at the top of AWT
javax.swing
java.awt
Component
ButtonContainerWindowFrame
JButton
JComponentJWindowJFrame
35
mercredi 11 septembre 13
![Page 36: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/36.jpg)
Problem #1: Brocken Inheritance
javax.swing
java.awt
Component
ButtonContainerWindowFrame
JButton
JComponentJWindowJFrame
Are not subclasses of JComponent
36
mercredi 11 septembre 13
![Page 37: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/37.jpg)
Problem #1: Brocken Inheritance
Missing inheritance link between JFrame and JWindow
java.awt
Component
ButtonContainerWindowFrame
javax.swing
JComponent
JButtonJWindowJFrame
37
mercredi 11 septembre 13
![Page 38: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/38.jpg)
Problem #2: Code Duplication
java.awt
Component
ButtonContainerWindowFrame
javax.swing
JButtonaccessibleContextrootPaneupdate()setLayout()...
accessibleContextrootPaneupdate()setLayout()...
accessibleContextupdate()
Code Duplication
JComponentJFrame JWindow
38
mercredi 11 septembre 13
![Page 39: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/39.jpg)
Problem #3: Explicit Type Checks and Casts
public class Container extends Component { Component components[] = new Component [0]; public Component add (Component comp) {...}}
public class JComponent extends Container { public void paintChildren (Graphics g) { for (; i>=0 ; i--) { Component comp = getComponent (i); isJComponent = (comp instanceof JComponent); ... ((JComponent) comp).getBounds(); } }}
39
mercredi 11 septembre 13
![Page 40: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/40.jpg)
Supporting Unanticipated Changes
AWT couldn’t be enhanced without risk of breaking existing code
Swing is, therefore, built on the top of AWT using subclassing
As a result, Swing is a big mess internally!
40
mercredi 11 septembre 13
![Page 41: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/41.jpg)
Why do we care to have a messy Swing ?
Swing appeared in 1998, and has not evolved since!
Swing is too heavy to be ported to PDA, cellphones, ...
SWT* is becoming a new standard.
Either a system evolves, or it is dead. [Lehmans74]
*SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. 41
mercredi 11 septembre 13
![Page 42: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/42.jpg)
42
mercredi 11 septembre 13
![Page 43: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/43.jpg)
J2EE3,430,663 lines of code
? hours
43
mercredi 11 septembre 13
![Page 44: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/44.jpg)
Linux 2.6.287,106,111 lines of code
? hours
44
mercredi 11 septembre 13
![Page 45: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/45.jpg)
45
Qu’est-ce que la qualité ?
appréciation globale d'un logiciel,
basée sur de nombreux indicateurs
n ISO/CEI 9126 : vocabulaire visant à classifier l’ensemble des attributs d’un logiciel relevant de la qualité
ISO/IEC 9126-1,[1] classifies software quality in a structured set of characteristics and sub-characteristics.
mercredi 11 septembre 13
![Page 46: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/46.jpg)
iut informatique, Nice, 2013-2014 46
ISO/CEI 9126
n Capacité fonctionnelle (functionality)
n Répond-il aux besoins de ses utilisateurs ?
mercredi 11 septembre 13
![Page 47: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/47.jpg)
Capacité fonctionnellen Définition
– Ensemble d'attributs portant sur l'existence de fonctions et leurs propriétés; les fonctions sont celles qui satisfont aux besoins exprimés ou implicites
➡ Sous-caractéristiques
- Aptitude : présence et adéquation d’une série de fonctions pour les tâches données
- Exactitude : résultats ou effets justes ou convenus - Interopérabilité : interactions avec d’autres systèmes
- Sécurité : accès non autorisé (accidentel ou délibéré) aux programmes et données
Yann-Gaël Guéhéneuc , Université de Montréal47
mercredi 11 septembre 13
![Page 48: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/48.jpg)
iut informatique, Nice, 2013-2014 48
ISO/CEI 9126
n Capacité fonctionnelle (functionality)
n Répond-il aux besoins de ses utilisateurs ?
n Fiabilité (reliability)
n Est-il en mesure d’assurer un niveau de qualité de service suffisant pour satisfaire les besoins opérationnels de ses utilisateurs ?
mercredi 11 septembre 13
![Page 49: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/49.jpg)
iut informatique, Nice, 2013-2014
Fiabilité
Yann-Gaël Guéhéneuc , Université de Montréal
n Définition
– Ensemble d'attributs portant sur l'aptitude du logiciel à maintenir son niveau de service dans des conditions précises et pendant une période déterminée
➡ Sous-caractéristiques
– Maturité : fréquence des défaillances dues à des défauts
– Tolérance aux fautes : aptitude à maintenir un niveau de service donné en cas de défaut ou d’attaque
– Possibilité de récupération : capacité à rétablir son niveau de service et de restaurer les données directement affectées en cas de défaillance ; temps et effort nécessaire pour le faire
49
mercredi 11 septembre 13
![Page 50: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/50.jpg)
iut informatique, Nice, 2013-2014 50
ISO/CEI 9126n Capacité fonctionnelle (functionality)
n Répond-il aux besoins de ses utilisateurs ?
n Fiabilité (reliability)
n Est-il en mesure d’assurer un niveau de qualité de service suffisant pour satisfaire les besoins opérationnels de ses utilisateurs ?
n Maintenabilité (maintainability)
n Est-il facile d’adapter le logiciel à de nouveaux besoins ou à de nouvelles contraintes ?
mercredi 11 septembre 13
![Page 51: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/51.jpg)
iut informatique, Nice, 2013-2014
Maintenabilité
n Définition
– Ensemble d'attributs portant sur l'effort nécessaire pour faire des modifications données
➡ Sous-caractéristiques
–Facilité d’analyse : effort nécessaire pour diagnostiquer les déficiences et leurs causes ou pour identifier les parties à modifier
–Facilité de modification : effort nécessaire pour modifier, remédier aux défauts ou adapter à l’environnement
–Stabilité : risque des effets inattendus des modifications
–Facilité de test : effort pour valider le logiciel modifiéYann-Gaël Guéhéneuc , Université de Montréal51
mercredi 11 septembre 13
![Page 52: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/52.jpg)
iut informatique, Nice, 2013-2014 52
ISO/CEI 9126
n Facilité d'utilisation (usability)
n Peut-il être utilisé à moindre effort ?
mercredi 11 septembre 13
![Page 53: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/53.jpg)
Facilité d’utilisation
Yann-Gaël Guéhéneuc , Université de Montréal
n Définition
– Ensemble d'attributs portant sur l'effort nécessaire pour l’utilisation et l'évaluation individuelle de cette utilisation par un ensemble défini ou implicite d’utilisateurs
➡ Sous-caractéristiques
–Facilité de compréhension : effort de l’utilisateur pour comprendre la logique et la mise en œuvre
–Facilité d’apprentissage : effort de l’utilisateur pour apprendre son utilisation
–Facilité d’exploitation : effort que doit faire l’utilisateur pour exploiter et contrôler l’exploitation du logiciel
53
mercredi 11 septembre 13
![Page 54: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/54.jpg)
iut informatique, Nice, 2013-2014 54
ISO/CEI 9126n Facilité d'utilisation (usability)
n Peut-il être utilisé à moindre effort ?
n Rendement / Scalabilité (efficiency)
n Les ressources matérielles nécessaires à l’exécution du logiciel sont-elles en rapport avec sa rentabilité ?
mercredi 11 septembre 13
![Page 55: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/55.jpg)
Rendement
Yann-Gaël Guéhéneuc , Université de Montréal
n Définition
– Ensemble d'attributs portant sur le rapport existant entre le niveau de service d’un logiciel et la quantité de ressources utilisées, dans des conditions déterminées
➡ Sous-caractéristiques
–Temps : temps de réponses et de traitement ; débits lors de l’exécution de sa fonction –Ressources : quantité de ressources utilisées ; durée de leur utilisation par fonction
55
mercredi 11 septembre 13
![Page 56: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/56.jpg)
iut informatique, Nice, 2013-2014 56
ISO/CEI 9126n Facilité d'utilisation (usability)
n Peut-il être utilisé à moindre effort ?
n Rendement / Scalabilité (efficiency)
n Les ressources matérielles nécessaires à l’exécution du logiciel sont-elles en rapport avec sa rentabilité ?
n Portabilité (portability)
n Peut-il être transféré facilement d’une plate-forme ou d’un environnement à un autre ?
mercredi 11 septembre 13
![Page 57: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/57.jpg)
Portabilité
Yann-Gaël Guéhéneuc , Université de Montréal
n Définition
– Ensemble d'attributs portant sur l'aptitude du logiciel à être transféré d’un environnement à un autre
➡ Sous-caractéristiques
– Facilité d’adaptation : possibilité d’adaptation à différents environnements donnés sans que l’on ait recours à d’autres actions ou moyens que ceux prévus à cet effet par le logiciel.– Facilité d’installation : effort nécessaire pour installer le logiciel dans un environnement donné.– Conformité aux règles de portabilité : conformité aux normes et aux conventions ayant trait à la portabilité. – Interchangeabilité : possibilité et effort d’utilisation du logiciel à la place d’un autre logiciel donné dans le même environnement.
57
mercredi 11 septembre 13
![Page 58: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/58.jpg)
Qualité : point de vue Utilisateur
58
Extrait de Bonnes Pratiques de développementENVOL_2010: 27 Septembre
Véronique BaudinViolaine Louvetmercredi 11 septembre 13
![Page 59: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/59.jpg)
Qualité : point de vue Concepteur
59
Extrait de Bonnes Pratiques de développementENVOL_2010: 27 Septembre
Véronique BaudinViolaine Louvetmercredi 11 septembre 13
![Page 60: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/60.jpg)
iut informatique, Nice, 2013-2014 60
Comment assurer la qualité ?➡Les tests automatisés
➡Capacité fonctionnelle & Rendement➡Tests fonctionnels➡Tests de charge
➡Fiabilité➡Tests unitaires➡Tests d’intégration
➡Maintenabilité➡Tests de non régression
➡Les métriques, les standards de codage, ...
➡Fiabilité➡Maintenabilité
➡Le refactoring➡Maintenabilité
T. Millan, IUT Toulouse
➡La méthodologie(voir cours suivants)
➡Normes
➡CMMi : Modèle de référence, ensemble structuré de bonnes pratiques, destiné à appréhender, évaluer et améliorer les activités des entreprises d'ingénierie
➡ISO/CEI 9126
mercredi 11 septembre 13
![Page 61: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/61.jpg)
iut informatique, Nice, 2013-2014
En guise de conclusionn La qualité d'un logiciel n'a pas de mesure objective, ni de définition formelle mais
n Il existe des normes:
n ISO/CEI 9126 : définit un langage pour modéliser/décrire les qualités d'un logiciel
n ISO25000/SQuaRE : Software Product Quality Requirement and Evaluation,
n Qualité du logiciel est caractérisée par des facteurs de qualité.
n Comment la mettre en oeuvre à notre niveau ?
➡ Par le biais de bonnes pratiques de développement / programmation
61
mercredi 11 septembre 13
![Page 62: Modélisation des SI](https://reader033.vdocuments.mx/reader033/viewer/2022051603/6280550af3d9a21e77150a58/html5/thumbnails/62.jpg)
iut informatique, Nice, 2013-2014
On retient au moinsn Quelles sont les propriétés que je peux/dois vérifier
lorsque je fournis un logiciel?
n Ne pas répondre à cette question, revient à faire un gâteau sans se poser les questions :
n Est-il assez/trop sucré, y-en a-t-il assez pour tous, va-t-il résister au transport?
n Ne pas répondre à la question dans les rendus de TD/TP/exam au moins...
62
-1pt
mercredi 11 septembre 13