Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Génie logiciel avec composantes.

Slides:



Advertisements
Présentations similaires
MySQL Base de données.
Advertisements

Module Systèmes d’exploitation
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 Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
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
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Introduction: Concepts de la programmation
Xavier Blanc Web Services Xavier Blanc
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
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’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 dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel II.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation II.
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 §
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
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
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
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.
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Concevoir un système dinformation hospitalier évolutif, ouvert et adapté grâce à un processus de conception orienté modèle Benjamin Chevallereau Alain.
Les Ateliers de Génie Logiciel
FSAB1402: Informatique 2 Techniques de Programmation Orientée Objet
Etude des Technologies du Web services
Comment (très) bien utiliser
Introduction au Génie Logiciel
Autodesk® Revit® Building 9
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Sommaire Objectif de Peakup Principes de fonctionnement
Chap 4 Les bases de données et le modèle relationnel
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Portée, arrimages et intervenants Évolution des méthodes
Programmation non procédurale Le projet ECOLE 2000
Procédures et fonctions
Patrons de conceptions de créations
Supports de formation au SQ Unifié
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le web service
Introduction au Génie Logiciel
L’enseignement de spécialité SLAM
Le diagramme de composants
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Architecture Client/Serveur
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Nouvelles Technologies Internet & Mobile
Transcription de la présentation:

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Génie logiciel avec composantes

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Revue Nommez les différentes sortes darchitectures. Dans une architecture en couches, une couche qui est en dessous dune autre couche fournit _________ à la couche supérieure Si nous disons quun référentiel a un locus de contrôle qui est implicite, que voulons nous dire?

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Synopsis Réutilisation Réutilisation – Les niveaux supérieurs Composantes – définition Composantes– utilisation Communiquer vos designs Réutilisation par niveau dabstraction

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Quand nous avons discuté la décomposition, nous avons vue quun des ces bénéfices était la réutilisation de certaines parties dune solution pour résoudre un autre problème. La réutilisation est un principe clé en génie logiciel, et elle sapplique à plusieurs niveaux dabstraction

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Pour trouver lorigine de la réutilisation, en génie logiciel, nous retournons à la première conférence de LOTAN qui a adressée la crise du logiciel (1968) On se rappel: Cest là où le terme génie logiciel a été utilisé pour la première fois comme expression Larticle de McIlroy: Mass-Produced Software Components est la première référence à la réutilisation à grand volume des produits logiciels

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation La réutilisation apporte certains bénéfices: Une bonne réutilisation augmente la productivité des programmeurs; ceci permet: La réduction des coûts des projets Réduction des cédules Il existe plusieurs algorithmes et solutions qui ont été codés et sont prouvés; la réutilisation de ces algorithmes peut augmenter la qualité et la fiabilité du logiciel et des systèmes Outre la réduction des coûts, il existe un marché pour les composantes réutilisables; vous pourriez faire des profits dans ce marché…

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Au plus bas niveau du continuum de réutilisation, on trouve notre capacité dutilisé des abstractions des langages de haut niveau (if, while, switch,…) Comme nous lavons vue plus tôt dans le cours, les structures de langage furent les premières abstractions à être réutilisées par les informaticiens Avant les langages de haut niveau, les programmeurs devaient utiliser les langages machine ou les assembleurs et reproduire ces mécanismes plusieurs fois par programme

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Dans le cours 8, nous avons vue que les premières fonctions ont étés créées pour être capable de réutiliser les blocs de code dans le même programme La réutilisation dune fonction dans un programme, au lieu dutiliser les opérations de couper-et-coller pour réutiliser un bloc de code, permet au programmeur de produire des solutions plus vite et davoir un programme plus fiable

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Dans la réutilisation, les modules sont un niveau au dessus des fonctions, parce que vous pouvez former des bibliothèques de modules réutilisables Ces modules peuvent être des bibliothèques de langage: math.h, string.h, conio.h, stdio.h,… Les modules peuvent aussi être produits localement par les ateliers de logiciels 243_lib or my_lib Les bibliothèques sont une grande source de réutilisation dans les langages à haut niveau

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Avant que nous soyons capable de réutiliser le code à grande échelle, nous devons résoudre ces problèmes: Recherche: Comme vous lavez certainement observés, il est difficile de savoir quelle bibliothèque(s) contient quelles fonctions et même de savoir si une fonction existe en premier lieu Les experts, les livres, et le Web sont des points de départ Compréhension: La majorité des modules sur le marché sont des boîtes noires qui doivent être utilisées en suivant une certaine spécification dinterface Linformation suffisante doit être disponible dans un fichier entête pour fournir les détails dutilisation, paramètres, messages derreur,…

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation Adaptation: taponner avec le code nest pas souvent une option: Parce que le code/design nest tout simplement pas disponible Lalgorithme peut ne pas être compris suffisamment pour faire des changements locaux; les changements pourraient avoir des effets secondaires inconnus Parfois une enveloppe peut être utilisée pour changer linterface dun module pour les E/S, la tolérance des défaillances des boîtes noires (attrapage des erreurs), mais ceci doivent être les seuls changements faits avec un module Composition: comment va-t-on joindre les composantes que lon réutilise dans notre système?

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation – Les niveaux supérieurs Le continuum de réutilisation nest pas limité par les structures de langage, blocs de code, fonction, modules et bibliothèques Quand nous avons discuté des architectures logiciels nous avons vue que les idiomes peuvent être réutilisés dune solution à une autre Ces abstractions architecturales peuvent aussi être combinées pour former des architectures hybrides Les idiomes architecturaux sone au plus haut niveau de la réutilisation dans le génie logiciel

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation – Les niveaux supérieurs En dessous de la réutilisation architecturale, nous avons la réutilisation des designs Plusieurs problèmes partagent des solutions de design communes: Avoir besoin dune seule copie (instance) dun serveur. Vérifie si un serveur existe déjà; si oui, on lutilise, sinon, on en crée un. Attacher plusieurs fonctions pour écouter pour un événement (référentiels implicites) Permettre la création de gadgets logiciel indépendamment des plate formes Masquage de modules derrière un module principal (façade) Et plusieurs autres

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation – Les niveaux supérieurs La réutilisation des designs est une discipline plus mature que la réutilisation architecturale Plusieurs livres ont étés publiés sur le sujet de la réutilisation des designs et réfèrent normalement à motifs de design ou principes de design Les motifs de design ne sont pas dépendants des langages, mais sont ils sont basés la méthodologie de design utilisée (orientée-objet ou structurelle) Les motifs de design sont normalement représentés avec des diagrammes ou du pseudo code

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Composante - définition Entre le design et les modules nous avons un autre niveau de réutilisation Il est possible de prendre des solutions entières qui peuvent se tenir par elles mêmes et de les utiliser dans des systèmes que lon construit Le terme composante a souvent été utilisé pour décrire de petits blocs de code, des fonction ou des modules Les composantes sont en fait des programmes qui sont entièrement fonctionnels et autonomes qui peuvent fournir un service complet

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Composante - utilisation La réutilisation des composantes est reliée de proche avec larchitecture des logiciel Larchitecture fournit un contexte pour développer et/ou réutiliser des blocs de construction de logiciel avec des interfaces bien définies Par exemple, si nous avons besoin dun référentiel (architecture de référentiel) pour faire partie dune solution pour un robot qui est implémenté avec une architecture en couches, nous pouvons écrire notre propre référentiel, ou en prendre un qui est disponible commercialement comme composante dans notre système

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Composante - utilisation Il existe plusieurs produits commerciaux qui fournissent une interface interne (interface dusager) et une Interface de Programmeur dApplication (IPA) externe qui leurs permettent dêtre utilisés comme composantes Ces produits peuvent donc être utilisés de façon autonome, ou être programmé à partir de la périphérie en utilisant lIPA MS-Access Visio Excel MySQL,… Ce que nous avons besoin est une IPA bien définit

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Composante - utilisation Lutilisation des composantes pour construire des systèmes est une pratique qui est émergente et est connue comme Génie logiciel avec composantes (Component-Based Software Engineering - CBSE) Une conférence internationale annuelle est dédiée à ce sujet de recherche: International Conference on COTS- Based Systems - ICCBSS

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Communiquer vos designs Quand vous utilisez des composantes dans vos systèmes, vous pouvez utiliser un diagramme de composantes pour montrer quelles composantes vous utilisez, et les dépendances entre elles Une composante est normalement indiqué avec licône suivante:

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Réutilisation par niveau dabstraction - Continuum de la réutilisation Idiomes architecturaux Motifs de design Composantes Bibliothèques/modules Fonctions Structures de langage Impacte de la réutilisation sur les coûts et les cédules Complexité apportée par la réutilisation et sa spécification

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Quiz Time Nommez certains bénéfices de la réutilisation dans le génie logiciel. Nommez les problèmes auxquels nous faisons face en réutilisant le code Quest-ce quune composante?