20
GEF 243B Programmation informatique appliquée Modélisation

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Embed Size (px)

Citation preview

Page 1: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

GEF 243BProgrammation informatique

appliquée

Modélisation

Page 2: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Revue

• Nommez une façon d’implémenter un exécutif cyclique

• Pourquoi est-ce que vous voudriez modéliser des tâches apériodiques comme tâches pseudo périodiques?

Page 3: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Synopsis

• Qu’est que la modélisation• Pourquoi construire des modèles?• Models en logiciel– caractéristiques• Models

Diagramme de contexteListe d’événements Diagramme de flots de données

Page 4: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Qu’est-ce que la modélisation

• L’idée de créer des modèles est d’enlever de la confusion, de simplifier les designs et de communiquer des idées

• Dans la majorité des disciplines d’ingénierie, plusieurs modèles sont souvent utilisés pour exprimer des abstractions de diverses sortes

• i.e. pour une maison, plusieurs abstractions (modèles) sont créées :La charpente, électricité, plomberie, sécurité,

chauffage, refroidissement, lumière, …

Page 5: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Qu’est-ce que la modélisation

• Le génie logiciel lui aussi possède plusieurs modèles

• Chaque modèle exprime une vue différente du système sous considération

• Il est important de voir un système de plusieurs angles qui chacun illumine un aspect du système “Si le seul outil que vous avez est un marteau, alors vous

allez voir le reste du monde comme un clou…”

Page 6: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Qu’est-ce que la modélisation

• Jusqu’à maintenant, nous avons utilisés quatre principales types de modèles dans ce cours: Organigrammes: (flowcharts) principalement utilisés par les

programmeurs pour décrire et comprendre, à un bas niveau, leurs propres design algorithmiques

Hiérarchies de Modules/Fonctions: Modèles qui sépare un problème en plus petits morceaux qui sont facile à traiter. Ce sont des modèles organisationnels.

Styles Architecturales: Nous permettent de décrire comment le code que nous construisons va se connecter pour former un tout dans une solution et comment ces morceaux de code vont communiquer. Organisation principale pour résolution des problèmes ou modèle idiomatique.

Diagrammes de composantes: Modèle qui démontre comment le logiciel indépendant peut être interconnecté pour former des solutions

Page 7: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Qu’est-ce que la modélisation

• Un modèle est une représentation d’une chose réel, sans tous les détails trouvés dans la réalitéUn modèle de navire n’est pas un navire totalement

fonctionnel (à moins que vous soyez très petit)

• Un modèle est donc une abstraction; il inclus seulement les détails que nous jugeons nécessaires et que nous voulons accentuer pour nous aider à comprendre et communiquer nos designs

• Le modèle est un approximation qui nous rapproche de la solution au niveau des idées avant que l’on implémente nos systèmes

Page 8: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Pourquoi construire des modèles?

• Les modèles sont moins coûteux et plus rapide à construire que le système final

• Tout comme avec les architectures, les modèles nous aides à communiquer; mais les modèles de design nous aides à communiquer avec les utilisateurs cibles sans avoir les détails d’implémentation

• Parce qu’ils nous aident à communiquer, les modèles devraient se concentrer sur les éléments critiques et les activités de validation

Page 9: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Pourquoi construire des modèles?

• Les modèles nous permettent de prédire le comportement des systèmes en nous montrant le flot ou le changement de:L’information,Contrôle, etTransformations

• Un modèle est dit prédictif si il est complet et précis (ces deux conditions sont cruciales)

• Les modèles doivent donc être validés et vérifiés pour être acceptabilité et complétion

Page 10: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles en logiciel - caractéristiques

• Comme nous l’avons vu, la majorité des modèles utilise des graphiques avec un apport textuel pour communiquer nos idéesLes graphiques sont lisibles par tout le monde sans trop

d’instructionsLes graphiques sont en général plus concis parce qu’ils

sont expressifs de natureLes graphiques sont multidimensionnels

• Certains modèles sont purement textuel (comme les listes d’événements et les dictionnaires de données que nous allons voir)

Page 11: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles en logiciel - caractéristiques

• Les modèles doivent être séparables; nous devons être capable de séparer les modèles quand ils sont trop gros pour être comprisSéparation en plusieurs vues (même niveau

d’abstraction)Séparation par niveau de décomposition (aller plus en

détails quand nous allons dans les abstractions de plus bas niveau)

• Les modèles ne doivent pas seulement montrer la structure mais permettre de prédire le(s) comportement(s) du système

Page 12: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Diagramme de contexte

• Le premier modèle que nous allons regarder est le diagramme de contexte.

• Un diagramme de contexte montre l’information essentiel de l’environnement qui peut devenir un facteur dans la solution

• Ceci n’est PAS un modèle de logiciel, c’est un modèle dans le monde réel où nous voulons implémenter une solution.

Page 13: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Diagramme de contexte

Calcul d’impôt

Retour d’impôt

Salaire

Dépendants

Bénéfices taxables

Lois fiscales

Déductions

Comptable

Client

Page 14: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Listes d’événements

• Quand nous avons un diagramme de contexte, nous avons une vue statique de l’information qui va nous aider à régler ou diriger le comportement du système

• Pour aider à décrire cet environnement autour de notre bulle de système, nous pouvons élaborer une liste d’événements qui identifie les stimuli pour le flot d’information

• Une liste d’événements est une table d’événements et de conditions qui vont engendrer des effets

Page 15: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Listes d’événements

Événements Conditions Résultats

Fin de l’année – Le client vient pour un RV

Salaire + bénéfices taxables > 0

Débute le processus pour préparer le rapport d’impôt

Comptable collecte l’information

Aucune Ouvre un nouveau fichier

Comptable additionne tout les salaires et bénéfices

Aucune Remplit la formule de taxe

Page 16: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Diagramme de flots de données (Data flow diagram)

• Les diagrammes de flots de données (DFD) sont similaires aux diagrammes de contexte, mais représentent un plus bas niveau d’abstraction

• Les DFD montrent des données en transitions entre les transformations qui forment un système

• Ces diagrammes ne montre pas le contrôle, la séquence ou les algorithmes

Page 17: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Diagramme de flots de données

• Chaque bulle représente une transformation• Chaque flèche représente un flot de données

(transfert d’information)• Le stockage d’information est représenté avec un

nom de magasin entre deux lignes parallèles• Les flots de données, les bulles de transformation

et les magasins de données devraient être nommés dans le vocabulaire des utilisateurs cibles pour qu’ils puissent valider le design

Page 18: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Diagramme de flots de données

Met à jour le Dossier du

patient1

Fichiers médicaux

Nom du Patient

Numéro de lit

Numéro de chambre

Docteur du patient

Obtient les résultats de test

2

Données de Tests de labo

Nom du

patient

Rapports de test de labo

Page 19: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Modèles – Diagramme de flots de données

ObtientL’enregistrement

du patient1.1

Numéro de lit

Numéro de chambre

Docteur du patient

Met à jour1.2

Lab test data

vieux enregistrement

Met à jour l’enregistrement

Nom du Patient

Fichiers médicaux

Page 20: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation

Quiz Time

• Les modèles ne montrent pas tout les détails du monde réel, ils sont donc des ______________.

• Quelle est la différence entre les diagrammes de contexte et les DFD?

• Est-ce qu’un DFD montre la séquence des événements?