220 likes | 300 Views
Développement à base des composants. Origine et définitions. Origine De programmation objet-orienté Différences Les objets sont plus détaillés et spécifiques Les composants sont plus abstraits et indépendants. Ils peuvent être examiné comme des fournisseurs autonomes de services.
E N D
Développement à base des composants B.Shishedjiev - Génie logiciel
Origine et définitions • Origine • De programmation objet-orienté • Différences • Les objets sont plus détaillés et spécifiques • Les composants sont plus abstraits et indépendants. Ils peuvent être examiné comme des fournisseurs autonomes de services. B.Shishedjiev - Génie logiciel
Origine et définitions • Définitions • Councill et Heinmann: • A software component is a software element that conforms to a component model and can be independently deployed and composed without modification according to a composition standard • Le composant de logiciel est un élément de logiciel qui est en conformité avec le modèle des composants et intégré sans modification selon la procédure standard de composition • Szyperski: • A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third-parties. • C’est une unité de composition avec interface spécifié par contrat et ses dépendances ne sont que de contexte et explicites. Il peut être déployé de façon indépendante et est soumis à la composition par des tiers. B.Shishedjiev - Génie logiciel
Origine et définitions • Principes • Indépendants • Implémentation cachée • Communication fait par des interfaces bien spécifiés • Plateformes partagées • Essentiels de génie logiciel basé aux composants • Composants indépendants spécifiés par leurs interfaces • Standard pour faciliter l’intégration • Middleware qui support l’interopérabilité • Processus de développement approprié B.Shishedjiev - Génie logiciel
Origine et définitions • Problèmes • Fiabilité – comment l’utilisateur va croire que le composants ne va pas échouer • Certification – qui va certifié le composant • Les propriétés intégrales – comment les prévoir • Compromis des besoins – comment faire le compromis entre les besoins assurés des différents composants • Caractéristiques • Standardisé • Indépendant • Composable • Déployable • Documenté B.Shishedjiev - Génie logiciel
Requires int er face Provides int er face Defines the services Defines the services that are provided from the component’s Component by the component environment that it to other components uses Interface de composants • Exemple face er Requires int Provides int er face addSensor removeSensor sensorManagement star tSensor Data collector stopSensor testSensor sensorData initialise repor t listAll B.Shishedjiev - Génie logiciel
Composants et objets • Les composants sont déployables • Les composants ne définirent pas des types • L’implémentation des composants est opaque • Les composants sont indépendant de langage • Les composants sont standardisés B.Shishedjiev - Génie logiciel
Modèles • Définition • Le modèle de composants c’est la définition des standard pour implémentation, documentation et déploiement du composant • Exemples • EJB • .NET (COM+) • Corba Component Model B.Shishedjiev - Génie logiciel
Customisation Naming convention Composition Documentation Meta-data Inter face Specific Evolution P ackag ing access definition inter faces suppor t Usage Deployment Inter faces information and use Component model Eléments du modèle B.Shishedjiev - Génie logiciel
Middleware de support • Le modèle est la base de middleware qui assure l’exécution des composants • Middleware services • Services de plateforme – pour communication entre le composants • Services horizontaux – services partagés pour être utilisés par plusieurs composants • Déploiement en conteneur – il contient tous les interfaces nécessaires pour accéder les services de support B.Shishedjiev - Génie logiciel
Horizontal services Component T ransaction Resource management management management Concurrency Security P ersistence Platform services Inter face Exception Component Addressing definition management communications Middleware de support • Services du modèle B.Shishedjiev - Génie logiciel
Réutilisation des composants • Besoins • Plus générales • Liés au domaines abstraites et stables (ex. hôpital) • Cachent les présentations d’états • Une large indépendance • Exception doivent être publiées par l’interface du composant • Compromis • entre réutilisabilité et utilisabilité • entre généralité et efficacité • Entre les hauts frais de développement et les bas frais de réutilisation B.Shishedjiev - Génie logiciel
Réutilisation des composants • Changes qui doivent être faits • En généralisant autres composants • Supprimer les méthodes spécifiques de l’application • Faire les noms plus générales • Ajouter des méthodes pour élargir la couverture • Assurez la gestion des exceptions cohérente • Ajouter un interface de configuration qui fait le composant plus adaptable • Intégrer des composants afin de minimiser la dépendance • Quand on adapte un système hérité • Répaqueter les fonctions utile comme un composant • Ecrire une composant enveloppe qui implémente l’interface et permit l’accès au système hérité B.Shishedjiev - Génie logiciel
Le processus de développement Modify Outline Identify candidate r equir ements system components accor ding to discovered r equir ements components Compose Ar chitectur al Identify candidate components to design components create system B.Shishedjiev - Génie logiciel
Le processus • La spécification des besoins • Plus schématique • Si les besoins ne sont pas couverts par les composant trouvés on peut discuter la modification des besoins. • Identification des composants • Confiance • Les besoins • Validation • La spécification peut de ne pas être assez détaillée pour concevoir des bon tests • Le composant peut avoir une fonctionnalité peu désirée B.Shishedjiev - Génie logiciel
La composition • Définition • Le processus d’intégration • C’est normal d’écrire un code qui «colle» les composants B.Shishedjiev - Génie logiciel
La composition • Types de composition • Composition séquentielle • Composition hiérarchique • Composition additive B.Shishedjiev - Génie logiciel
La composition • Incompatibilité des interfaces • Incompatibilité des paramètres • Incompatibilité des opérations • Incomplétude des opérations Adaptateur qui sépare le post code de location string B.Shishedjiev - Génie logiciel
Composition • Adaptateur B.Shishedjiev - Génie logiciel
Composition • Sémantique de l’interface «This method adds a photograph to the library and associates the photograph identifier and catalogue descriptor with the photograph» On a besoin d’un langage qui décrit la sémantique – OCL (Object design langage B.Shishedjiev - Génie logiciel
Composition • Les compromis de la composition • Conflits • Entre besoins non-foncionnels et besoins fonctionnels • Entre la délivrance rapide et l’évolution • Décisions • Laquelle des compositions est effective pour l’accomplir la fonctionnalité désirée? • Laquelle vous permis des changements futures? • Quelles seront les propriétés intégrales du système composé? B.Shishedjiev - Génie logiciel
Repor t (a) Data Data generator collection management Repor t Data (b) Data base collection Repor t Composition Deux compostions alternatives B.Shishedjiev - Génie logiciel