La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GEF 243B Programmation informatique appliquée

Présentations similaires


Présentation au sujet: "GEF 243B Programmation informatique appliquée"— Transcription de la présentation:

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

2 Maj JGA Beaulieu & Capt MWP LeSauvage
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? Using a system clock or using a loop with counter and if statements to trigger each frequency of tasks. To verify if there is enough space in the schedule to fit the worst case analysis Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

3 Maj JGA Beaulieu & Capt MWP LeSauvage
Synopsis Qu’est que la modélisation Pourquoi construire des modèles? Models en logiciel– caractéristiques Models Diagramme de contexte Liste d’événements Diagramme de flots de données Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

4 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, … Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

5 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…” Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

6 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 Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

7 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 Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

8 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 Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

9 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, et Transformations 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 They have to understand the predictive aspect of modèls Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

10 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ées Les graphiques sont lisibles par tout le monde sans trop d’instructions Les graphiques sont en général plus concis parce qu’ils sont expressifs de nature Les 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) Models that are built, must follow some form of methodology for analysis and design. The modèl must fit into some specific mind frame. Both the events list and data dictionary are used to flesh out some other modèls and provide information that is not available on other modèls. Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

11 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 compris Sé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 Partitionable in the sense that we have to be able to separate them into sections (at the same level of abstraction) or several sub-modèls (layers of abstractions) Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

12 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. Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

13 Modèles – Diagramme de contexte
Comptable Bénéfices taxables Salaire Lois fiscales Calcul d’impôt Dépendants The circle at the center represents the system you are going to build (both software and hardware). What is around the system bubble with arrows pointing to the bubble are the elements that must be considered to build the system as input or conditions. There is only one bubble on these diagrams because there is only one system The Tax return box (represented by two parallel lines is an output that is a record of the results from the system. Square boxes represent entities that are “participants” into the system. The information that is not in boxes or between parallel boxes represents data or information that will flow into the system. The completeness of this diagram must be validated with the end users (clients) Déductions Retour d’impôt Client Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

14 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 Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

15 Modèles – Listes d’é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 Remplit la formule de taxe Some events lists can be done only using a sentence format instead of a table, it all depends on the preference of the system analyst. The events list provide a chronological progression of events.

16 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 Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

17 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 Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

18 Modèles – Diagramme de flots de données
Numéro de chambre Nom du Patient Docteur du patient Met à jour le Dossier du patient 1 Numéro de lit Nom du patient Obtient les résultats de test 2 Each of the bubbles here can be decomposed into smaller bubbles at a lower lever of abstraction. The bubbles can be numbered to help track the level of abstraction. So if the Update Patient Record bubble was to be split into two separate transformation they would be numbered 1.1 and 1.2 and Extract lab Test results would be numbered 2.1 and 2.2 Fichiers médicaux Données de Tests de labo Rapports de test de labo

19 Modèles – Diagramme de flots de données
Numéro de chambre Nom du Patient Obtient L’enregistrement du patient 1.1 Docteur du patient Numéro de lit vieux enregistrement Met à jour 1.2 Note that the data flows are separated between the two sub-transformations. Also some extra flows appear to show the new communication between both sub-transformation (red arrows). If you really look at it, compared to a module or functional chart, here we show what data moves between what could be functions (transformation bubbles) a functional or module hierarchy only shows a relation not data. (the hammer concept) Next class we look at other modèls that will highlight other aspects of the system Fichiers médicaux Met à jour l’enregistrement Lab test data

20 Maj JGA Beaulieu & Capt MWP LeSauvage
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? Abstractions Context diagrams show the entire system to be built in a single bubble. The stuff around it is the environment. A dataflow diagram shows transformation (bubbles) and the data flowing between them. No a data flow diagram only shows data and transformation to this data. It also shows repositories of information. Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage


Télécharger ppt "GEF 243B Programmation informatique appliquée"

Présentations similaires


Annonces Google