Atelier de génie logiciel Case, Computer aided software environment Ensemble cohérent d'outils...

Post on 03-Apr-2015

106 views 1 download

Transcript of Atelier de génie logiciel Case, Computer aided software environment Ensemble cohérent d'outils...

Atelier de génie logicielCase, Computer aided software environment Ensemble cohérent d'outils informatiques formant un environnement d'aide à la conception, au développement et à la mise au point de logiciels d'application spécialisés. On retrouvera par exemple dans un AGL des dictionnaires de données, des outils permettant de réaliser des diagrammes, pour faciliter la phase d'analyse et de conception des applications. Puis des générateurs de code ainsi que des aides à la mise au point (encore appelés débogueurs ou débugueurs) viendront accélérer la production et la finalisation de l'application.

Les AGL

I - Programme: typologie des fichiers exécutables

1 - Pourquoi cette typologie

2 - Les différents types de fichiers exécutables dans Windows

•Dll, OCX, EXE, VBS…

•Les composants OLE COM et DCOM

•Le rôle du registre dans l’enregistrement des composants

3 - Les fichiers exécutables dans UNIX/LINUX

I.1- Pourquoi cette typologie

• Les fichiers exécutables sont les produits crées par l’application AGL.

• Une connaissance de ses fichiers correspond à la connaissance des découpages possible de l’application

• Une connaissance de ces mécanismes permet une premier niveau de dépannage

I.2 - Les différents fichiers exécutables dans Windows

• exe• dll, • ocx, • sys, • vxd, • drv, • ….

Qu’est qu’un Exe ?

I.3 - Les fichiers exécutables dans Unix/Linux

• .a (bibliothèque statique)• .so (bibliothèque dynamique)

Remarque: Le nom d'une bibliothèque commence par 'lib', et se termine une des extensions ci-dessus.

I.4 Le WEB ou les Pages Actives

• Un serveur Web va pouvoir exécuter du code pour préparer une page à afficher par le client. Ce code sera soit appelé depuis la page initiale cas du CGI soit mélangé à la page HTML cas des ASP.– Langages CGI : C, C++, Perl, Java.– Langages de script : ASP, PHP, JSP.

Démonstrations ASP

• <% for i=1 to 6

• Response.Write "<font size=" & i & ">" %>

• <p>Bonjour le monde </p>

• <hr>

• </font>

• <%next%>

• <p>&nbsp;</p>

II - Le rôle du registre dans l’enregistrement des composants

III - Le rôle des logiciels de partage de source

Un fichier modifier par une seule personne à la fois

Capable de fournir l’ensemble des sources et documentation d’une version quel conque

Garantie un espace de stockage securisé

Peut être intégrer dans un AGL

Stocke aussi bien du code que du binaire ou de la documentation

III.1 - Un gestionnaire de Version dans le monde Unix/linux

• CVS - Concurrent Version System

Issue du monde libre CVS présente l’avantage de donner ces sources et donc de constituer une base de départ pour beaucoup d’ AGL Maison sur Unix/Linux.

III. 2 - Un gestionnaire de Version dans le monde Windows

• Microsoft Visual SourceSafe

Parfaitement adapté au solution Microsoft cet outil s’intègre évidement dans Visual studio et Visual Studio.net les AGL Microsoft.

IV - Les principaux AGL du marché

AS400, Unix, Windows, …

Puis Java

IV.1 - IBM iSeries (AS/400)

• Adélia iSeries Studio

• …

• Les AGL Windows exploitant des données AS400 (Delphi/400, Windev,…)

IV.2 – Unix / Linux

• Kylix 3

Kylix offre le support des langages de programmation orientés objet C++ ANSI/ISO et Delphi, dans une solution de développement unique.

IV.3 - Windows

• Visual Basic 6• Delphi 7 Studio (Pascal)

• Windev 7.5

• C++ 6

• C  #

Visual Basic 6

• Microsoft Visual Basic 6 est l'un des environnements le plus populaire

pour construire efficacement des programmes sous Windows. Le système de programmation Visual Basic permet aux développeurs de créer des applications qui apportent des solutions efficaces aux besoins urgents des entreprises.

Delphi 7 Studio

• Delphi Studio

Une solution MDA (Model Driven Architecture) complète, de la conception jusqu’au développement, qui intègre la modélisation, le développement et le déploiement de solutions professionnelles et de e-commerce Windows.

Windev 8

• WINDEV 8 est unique. C’est le seul environnement de développement

totalement intégré. Un seul environnement prend en compte toutes les phases du développement, du cahier des charges à la maintenance.

                                                                                        

C++

• C++ Builder (Borland)est un environnement de développement C++

ANSI, dédié à la conception d'applications Internet ou distribuées.

• Visual C++ (Microsoft)se présente comme l'un des outils C++ les plus

productifs pour le développement d'applications hautes performances pour Windows et pour le Web.

IV.4 - Java

• Visual Age for Java (IBM)

• Jbuilder (Borland)

• Visual J++ (Microsoft)

IV.5 - J2EE

• J2EE, c'est un standard ? En fait, c'est un ensemble de standards. J2EE (pour Java 2 Enterprise Edition) peut être considéré comme un intitulé générique qui couvre plus d'une dizaine de services techniques. Ces services définissent par exemple comment accéder à un annuaire, à une base de données, comment faire dialoguer des machines virtuelles Java ou encore quelles interfaces un composants doit présenter pour être réutilisable dans un tel environnement. C'est la combinaison de tous ces services techniques qui constitue l'architecture J2EE.

IBM Websphere (WSAD)

• Une famille de plus de 100 produits dont certains tournent même sur Windows

L’AGL se nommeIBM WebSphere® Studio

Le système est centré sur Java et les outils du libre tel que CVS. Il incorpore des outils venu de chez National (racheté par IBM) et remplace le célèbre VisualAge for Java.

IBM Websphere Studio

+• Offre très riche• Création de Site et

service Web simplifié• Unix / Linux /AIX

-

Offre complexe et intégration des solutions plus ou moins réussie

IV.6 – Les Services Web

• Qu'est-ce qu'un Service Web ?Il s'agit d'une technologie permettant à des applications de dialoguer à distance via Internet, et ceci indépendamment des plates-formes et des langages sur lesquelles elles reposent. Pour ce faire, les services Web s'appuient sur un ensemble de protocoles standardisant les modes d'invocation mutuels de composants applicatifs. Un projet qui passe notamment par l'élaboration de WSDL et de SOAP.

• .NET, c'est l'intégration. Fondée sur des standards de l'industrie (http,

XML, SOAP, WSDL), la plate-forme .NET est un moyen simple de normaliser la coopération des services logiciels entre eux (services Web XML), quelle que soit leur localisation, leur implémentation technique, qu'ils soient internes ou externes, existants ou à inventer. "

Visual Studio .NET

IV.7 - iPlanet by Sun

• Cette solution de bout en bout marque une nouvelle étape dans le développement des services web au sein de SunOne (Sun Open Net Environment), l'alternative à la plate-forme de services web proposée par Microsoft, .NET.

• Ou le serveur Web devient l’environnement de développement.

• Iplanet n’est en fait que le serveur Netscape réinventé auquel on a ajouté des produits libres repackagés.

• Toujours du Java (Sun oblige) et du Web• Une base de donné, un débuggeur

Critères de choixLe choix d’un AGL est un véritable casse tête

Comment choisir sans tout essayer ?

L’objectif: le web , une application, une base de donnée, du transactionnel …

Les compétences techniques des équipes

La plateforme (Windows / Linux/Unix)

La documentation ….

Comparaison AGL/LangagesServeur WEB !

Langage ASP JSP PERL PHP3

Complexité d'apprentissage

moyen élevé élevé faible

Puissance moyen bon/élevé élevé moyen

Complexité /Puissance

bon faible bon élevé

Portabilité faible élevé élevé Bonne

AGL MS Visual InterDev

IBM VisualAge for Java,

Perl Builder

Ressources Peu Peu Beaucoup énormément

Sources

Glossaire

• API Application Programming Interface:Bibliothèque de fonctions disponibles pour le développeur d’une application et lui permettant de

s’affranchir de la programmation de tâches déjà réalisées par l’API.

• L3GLangage de développement de bas niveau (boucles, tests, calculs, manipulation de variables ou

d’enregistrements). COBOL ou le langage C sont des L3G.

• L4GLangage automatisé proposant des fonctions de haut niveau, généralement graphique, et

permettant la sélection et les mises à jour de données en général issues d’un SGBD relationnel.