GEF 243B Programmation informatique appliquée

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel I.
GEF 243B Programmation informatique appliquée Listes chaînées I – Tableaux de structures §15.1 – 15.2.
GEF 435 Principes des systèmes d’exploitation
GEF 243B Programmation informatique appliquée
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Structure de base des programmes en C.
GEF 243B Programmation informatique appliquée
Généralités sur la préparation et la conduite d’une séance
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
Patterns & Anti Patterns
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
GEF 243B Programmation informatique appliquée Boucles §
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Tests.
GEF 243B Programmation informatique appliquée
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel II.
GEF 243B Programmation informatique appliquée
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation II.
GEF 243B Programmation informatique appliquée Pointeurs et adresses §9.1.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Génie logiciel et Vérification et validation.
GEF 435 Principes des systèmes dexploitation Appels de système (Tanenbaum 1.6)
GEF 243B Programmation informatique appliquée Flot de contrôle et énoncés de sélection §
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Génie logiciel avec composantes.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
GEF 243B Programmation informatique appliquée Expressions de type mixte et blocs §
GEF 243B Programmation informatique appliquée
GEF 243B Programmation informatique appliquée
Hiver 2009Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation Informatique appliquée Introduction et synopsis du cours.
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Fonctions.
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Modules et masquage dinformation.
LOG4430 : Architecture logicielle et conception avancée
Introduction Pour concrétiser l’enseignement assisté par ordinateur
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Système de gestion de bases de données. Modélisation des traitements
2.5 Champ électrique produit par une distribution continue de charges.
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
FSAB1402: Informatique 2 Techniques de Programmation Orientée Objet
Algorithmes et résolution de problèmes FGE
Initiation à la conception de systèmes d'information
B2i Lycée Circulaire BO n°31 du 29/08/2013.
Les organisateurs graphiques
Présentation du mémoire
Sensibilisation a la modelisation
Langage de modélisation graphique de systèmes
ANALYSE METHODE & OUTILS
Supports de formation au SQ Unifié
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Qu'est-ce qu'un ERP  Outils automatisé pour modéliser les comportements d'une entreprise afin de les rendre plus automatiques.
Introduction au Génie Logiciel
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Bureautique M1 Publipostage.
Démarche de résolution
LE CDCF Ce document charnière entre l’analyse du besoin et la conception du produit va permettre de faire émerger les éléments fonctionnels nécessaires.
Nouvelles Technologies Internet & Mobile
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
TP D’UML Groupe N° 3.
Document de spécification d’exigences Normes IEEE et 29148:2011
TSTC développement de clientèles 1 Le système d'information mercatique (SIM)
Transcription de la présentation:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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