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

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

Présentations similaires


Présentation au sujet: "Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Génie logiciel avec composantes."— Transcription de la présentation:

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

2 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?

3 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

4 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

5 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

6 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é…

7 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

8 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

9 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

10 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,…

11 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?

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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:

20

21 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

22 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?


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

Présentations similaires


Annonces Google