Upload
axelle-martin
View
102
Download
0
Embed Size (px)
Citation preview
GEF 243BProgrammation 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?
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
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, …
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…”
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
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
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
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
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)
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
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.
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
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
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
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
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
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
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
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?