Your SlideShare is downloading. ×
‫رة ا‬     105 ‫ا‬Master Spécialisé : Qualité du Logiciel       Rapport de Stage 2008/2009                                ...
Dédicaces            Pour les grands sacrifices que tu as faits pour nous,        Pour les nuits où tu es resté sans dormi...
Remerciement     Avant d’entamer ce rapport, je tiens à témoigner ma profonde gratitude à toutes lespersonnes qui ont part...
Résumé     On ne présente plus les logiciels libres, aujourd’hui reconnus pour leur qualité et leurouverture. Ils ont démo...
Abstract     It is no longer open source software, today recognized for their quality and openness.They have demonstrated ...
Liste des abréviations Sigle         Définition ERP           Enterprise Resource Planning PGI           Progiciels de Ges...
Liste des figures Figure 1 :    Cycle de développement en Y………………………………………                            20 Figure 2 :    Dia...
Liste des tableaux Tableau 1 :   Synthèse des méthodologies utilisées dans le cadre de               développement Objet e...
Tables des matièresIntroduction générale…………………………………………….....................................     11Partie I : Contexte g...
1.4 Langage XML…………………………………………………………………. 61   2. Réalisation du système…………………………………………………………… 63     2.1 Exemples d’illu...
Introduction générale      Les ERP open source permettent à des petites PME de disposer doutils de gestioncomplets au meil...
La troisième partie est consacrée à la mise en œuvre du projet, elle s’articule autour dedeux chapitres: le premier est co...
Contexte général du       Partie                           projet          1                        Cette première partie ...
Chapitre       Présentation de NEXTMA                     Dans ce chapitre, je présente de manière générale la société    ...
La gamme de services de NEXTMA est articulée autour de quatre axes majeurs quipermettent daccompagner les clients durant t...
2. Secteurs d’activités     De part les multiples projets que NEXTMA a mené, elle a acquis un savoirfaire susceptible de l...
Chapitre                        Présentation du projet                                 Dans ce deuxième chapitre je présen...
1.2.1 Le formalisme UML      UML est considéré comme le langage standard de conception orienté objet, il est unformalisme ...
On constate que toutes ces méthodologies proposent de travailler de façon itérative, quece soit au niveau des plannings, d...
La figure ci-dessous (Figure 1) illustre les différentes branches du cycle dedéveloppement en Y :                         ...
2. Planning du projet     Dés mon première réunion avec mon encadrant, il m’a proposé un planning prévisionnel(Table 2) qu...
Dans sa globalité, le sujet consiste à concevoir et développer un module de gestion detransit à l’aide de l’ERP open sourc...
fonctionnelle                                   Etude fonctionnelle       Partie                         et technique     ...
Chapitre                    Etude préliminaire                          Dans ce chapitre je présente une étude préliminair...
De suivre toutes les opérations effectuées par les intervenants en temps réel ;              D’avoir des tableaux de pilot...
2.1 Circuit simplifié d’un dossier import/export                                    Secrétaire I                          ...
2.2 Le circuit d’un dossier               2.1.1 Réception des documents «la secrétaire I »     Réception par fax, par cour...
le nom et l’adresse de l’expéditeur des marchandises ;             la désignation de la marchandise ;             les docu...
2.1.4 La déclaration en détail (DUM) «L’OPÉRATRICE DE               SAISIE»     Le logiciel SADOC permet la saisie, la mod...
3. Problématique     Le système actuel de la société SECORATRANS est basé sur les registres manuels ainsique des applicati...
4. Synthèse     Pour remédier aux problèmes cités ci-dessus, et pour améliorer le système de suivi desdossiers pour les tr...
Chapitre                           Etude fonctionnelle                              Ce chapitre présente l’étude fonctionn...
2. Capture des besoins fonctionnels      Après avoir cerner les besoins de la société dans le chapitre précédent (étudepré...
Remarque :      L’opérateur de saisie n’est pas un acteur système car il n’interagie qu’avec le systèmeSADOC de la douane....
Figure 5 : Diagramme de cas d’utilisation Cycle de vie d’un dossier clientMaster Spécialisé : Qualité du Logiciel         ...
2.3 Description des cas d’utilisation                 2.3.1 Cas d’utilisation AuthentificationLe tableau ci-dessous (Table...
Code                     CU_Gerer_DossierNom                      Gérer DossierActeurs système          AdministrateurObje...
2.3.3 Cas d’utilisation Gérer Ventilation        Ce cas d’utilisation consiste à saisir les détails des différents article...
2.3.4 Cas d’utilisation Gérer Déclaration     Ce cas d’utilisation consiste à calculer la contre valeur, le poids net tota...
2.3.5 Cas d’utilisation Gérer Facturation       Ce cas d’utilisation reprend tous les frais engagés qui sont à la charge d...
2.3.6 Cas d’utilisation Paramétrage      Ce cas d’utilisation concerne le paramétrage de l’application (la gestion des acc...
Chapitre                       Etude technique                      Ce chaplitre détaille la branche technique du processu...
1.1 Architecture technique                             Figure 6 : Architecture technique d’un ERP     LERP est donc sur se...
blocs de Lego et fonctionnent ensemble (pas de vérification de compatibilité àeffectuer).Voici un exemple darchitecture mo...
2. Solution de gestion intégrée OpenERP     Open ERP est un progiciel de gestion intégré en licence libre, dont la grande ...
2.2 Environnement dexécution     Pour exécuter le code, lOpenERP serveur doit être installée dans un serveur exécutantMVC ...
2.4 Framework OpenObject      OpenObject est le Framework dOpenERP, ou programme permettant la générationdOpenERP. Il est ...
2.4.2 Génération de rapportsLes rapports sont très simplement définis et intégrés, ce sous 2 formes :             Rapports...
Mise en Œuvre du       Partie                              projet          3                       Le contenu de cette par...
Chapitre            Conception de la solution                             Ce chaplitre détaille la phase conception de la ...
Figure 12 : Diagramme de séquences du scénario Authentification               1.1.2 Scénario Paramétrage     Ce scénario e...
1.1.3 Scénario Gestion des Dossiers :     Ce scénario est déclenché par l’administrateur du système, il consiste à faire l...
Figure 15 : Diagramme de séquences du scénario Ventilation             1.1.5 Scénario Déclaration    La déclaration de la ...
Figure 16 : Diagramme de séquences du scénario DéclarationMaster Spécialisé : Qualité du Logiciel                      Rap...
1.1.6 Scénario Gestion de la facturation     La facture reprend tous les frais engagés qui sont à la charge de client. Une...
1.2 Digramme de classes     Le diagramme de classes exprime, de manière générale, la structure statique d’unsystème, en te...
Figure 19 : Diagramme d’activité Cycle de vie d’un dossierMaster Spécialisé : Qualité du Logiciel                         ...
Le schéma ci-dessous (Figure 20) représente le diagramme d’état que j’ai établi pour laconception du système:             ...
Chapitre                        Réalisation de la solution                          Ce chaplitre détaille la phase réalisa...
La cohabitation entre plusieurs versions dun même plug-in sur une même plate-             forme ;             Le support d...
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Gestion d"une société de transit avec openerp
Upcoming SlideShare
Loading in...5
×

Gestion d"une société de transit avec openerp

22,222

Published on

Développement d'une solution métier de gestion de transit avec le framework opensource openerp

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
22,222
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2,066
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Transcript of "Gestion d"une société de transit avec openerp"

  1. 1. ‫رة ا‬ 105 ‫ا‬Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 1
  2. 2. Dédicaces Pour les grands sacrifices que tu as faits pour nous, Pour les nuits où tu es resté sans dormir pour veiller sur nous, Pour la formidable mère que tu es Toi qui es toujours fier de moi, Pour le symbole respectueux que tu es pour moi, Pour le père que tu es Nul mot ne reflète ma reconnaissance vers vous Pour votre temps et encouragement Pour le frère et sœur que vous êtes Pour votre soutien Vous membres de ma famille Je dédie ce travailMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 2
  3. 3. Remerciement Avant d’entamer ce rapport, je tiens à témoigner ma profonde gratitude à toutes lespersonnes qui ont participé de loin ou de près à l’élaboration de ce projet de fin d’études. Mes sincères remerciements sont à adresser à Mr. Abderrahman ELKAFIL, directeur dela société NEXTMA et mon encadrant professionnel, pour l’intérêt et le professionnalismeavec lesquels il a suivi la progression de mon travail, et pour ces aides et ces conseilsfructueux qu’il n’a cessé de me prodiguer durant toute la durée de mon Projet de Find’Études. Je tiens à exprimer ma profonde gratitude à Mr. Kamal Eddine EL KADIRI, monencadrant universitaire et responsable du Master Spécialisé : Qualité du Logiciel à la Facultédes Sciences de Tétouan, pour son excellent suivi, ses remarques pertinentes et sesrecommandations fortes enrichissantes dont j’ai bénéficié tout au long de ce stage,qu’il trouve, ainsi, mes vifs remerciements et mes sentiments les plus respectueux. Je remercie tout particulièrement Mr. Mohamed KHALDI, professeur à la Faculté desSciences de Tétouan pour sa disponibilité, ses nombreux conseils et ses indicationsprécieuses qui m’ont permis de mener mon travail à bien. Mes vis remerciements vont également à tout le cadre professoral de la faculté dessciences de Tétouan, pour la formation prodigieuse qu’il nous a prodiguée. Que messieurs les membres de jury trouvent ici l’expression de ma reconnaissancepour avoir accepté de juger mon travail. Que tous ceux et celles qui ont contribué de près ou de loin à l’accomplissementde ce travail, trouvent l’expression de mes remerciements les plus chaleureux. Hatim EL BOUANANIMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 3
  4. 4. Résumé On ne présente plus les logiciels libres, aujourd’hui reconnus pour leur qualité et leurouverture. Ils ont démontré leur efficacité dans plusieurs domaines, notamment Internet, avecpar exemple, le serveur web Apache et le système d’exploitation Linux. Aussi, de nombreusesentreprises et gouvernements ont commencé la migration de leurs systèmes d’informationvers des solutions libres. En conséquence, on commence à trouver ces logiciels dans des secteurstraditionnellement réservés aux logiciels propriétaires, en particulier Les ERP (en anglaisEnterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés (PGI). Ainsi,OpenERP, les GNU Entreprise, Compiere et autres viennent empiéter sur les terres de BAAN,SAP, ORACLE, etc. Cependant, ce type d’application joue un rôle stratégique au sein desentreprises qui les utilisent. Il requiert un très haut niveau de technicité et de compétences queces dernières ne sont pas prêtes à laisser aux mains de développeurs éparpillés aux quatrecoins du monde. C’est pourquoi, comme pour les logiciels propriétaires, est apparue la nécessité d’avoirdes entreprises prestataires de services spécialisées en logiciels libres. Ce besoin s’est renforcéavec la rationalisation des coûts liés aux systèmes d’information depuis l’éclatement de la«Bulle Internet». NEXTMA, société dans laquelle j’ai effectué mon stage de fin d’études du 16 mars au01 juillet 2009, est une de ces nouvelles SSLL (Société de Services en Logiciels Libres). Ellepropose à ses clients un PGI basé sur le logiciel libre « OpenERP » pour lequel elle peutdévelopper des besoins spécifique pour chacun d’entre eux. Au cours de ce stage, mon travail a consisté à comprendre le fonctionnement del’OpenERP, et à concevoir et développer un module de gestion de transit à l’aide de lERPopen source OpenERP. Ce stage m’a aussi permis de mieux comprendre comment fonctionneune société de services et comment une SSLL peut vivre du logiciel libre.Mots clés : ERP open source OpenERP ; Framework OpenObject ; Python ; XML.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 4
  5. 5. Abstract It is no longer open source software, today recognized for their quality and openness.They have demonstrated their effectiveness in several areas, including the Internet, forexample, the Apache Web server and the Linux operating system. Also, many companies andgovernments have begun migrating their information systems to open source solutions. Accordingly, we begin to find these programs in areas traditionally reserved forproprietary software, especially ERP (Enterprise Resource Planning), also called IntegratedManagement Software (IMS). Thus, OpenERP, GNU Enterprise, Compiere and others fromencroaching on the lands of BAAN, SAP, Oracle, etc... However, this application plays astrategic role within companies that use them. It requires a very high level of technology andskills that they are not ready to leave in the hands of developers scattered around the world. Therefore, as with proprietary software, has emerged the need for service providersspecializing in open source software. This need has increased with the rationalization of costsassociated with information systems since the bursting of the "Internet bubble".NEXTMA, in which I conducted my internship graduation from 16 March to 30 June 2009, isone of these new SSLL (in french Société de Services en Logiciels Libres). It offers itscustomers an ERP system based on free software "OpenERP" for which it can developspecific needs for each of them. During this stage, my job was to understand the functioning of the OpenERP and realizethe design and dévloppement the Module transit Management using the open source ERPOpenERP. This internship also allowed me to better understand how a service company and how aSSLL can live free software.Keywords : ERP open source OpenERP ; Framework OpenObject ; Python ; XML.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 5
  6. 6. Liste des abréviations Sigle Définition ERP Enterprise Resource Planning PGI Progiciels de Gestion Intégrés GNU General Public License SAP Systeme Anwendungen Produkte in der Datenverarbeitung(en anglais Systems, Applications and Products in Data Processing) SSLL Société de Services en Logiciels Libres PME Petites et Moyennes Entreprises CRM Customer Relationship Management BI Business Intelligence UML Unified Modeling Language 2TUP Two Track Unified Process RUP Rational Unified Process XP eXtreme Programming FOB Free On Board DHS Dirhams DUM Déclaration Unique de la Marchandise SADOC Système de lAdministration des Douanes et de lOffice des Changes ODEP Office dExploitation des Ports SI Système d’Information MVC Model View Controller XML eXtensible Markup Language RPC Remote Procedure Call LDAP Lightweight Directory Access Protocol OLAP Online Analytical Processing SGBD Système de Gestion de Base de Données IDE Itegrated Development Environment SWT Standard Widget Toolkit SQL Structured Query Language SGML Standard Generalized Markup Language HTML Hypertext Transfer Protocol DTD Document Type DefinitionMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 6
  7. 7. Liste des figures Figure 1 : Cycle de développement en Y……………………………………… 20 Figure 2 : Diagramme de Gantt……………………………………………....... 21 Figure 3 : Circuit d’un dossier…………………………………………………. 26 Figure 4 : Les acteurs principaux du système 34 Figure 5 : Diagramme des cas d’utilisation Cycle de vie d’un dossier client….. 35 Figure 6 : Architecture technique d’un ERP……………………………........... 43 Figure 7 : Architecture modulaire d’un ERP………………………………....... 44 Figure 8 : Fonctionnalités de base d’un ERP………………………………….. 44 Figure 9 : les relations structurelles entre les trois objets……………………… 45 Figure 10 : Environnement d’exploitation de l’ERP open source OpenERP…… 46 Figure 11 : Diagramme de séquences du scénario Authentification……………. 51 Figure 12 : Diagramme de séquences du scénario Paramétrage………………… 51 Figure 13 : Diagramme de séquences du scénario Gestion des dossiers………... 52 Figure 14 : Diagramme de séquences du scénario Ventilation………………….. 53 Figure 15 : Diagramme de séquences du scénario Déclaration…………………. 54 Figure 16 : Diagramme de séquences du scénario Gestion de la facturation…… 55 Figure 17 : Diagramme de classes……………………………………………… 56 Figure 18 : Diagramme d’activité Cycle de vie d’un dossier…………………… 57 Figure 19 : Diagramme d’état Cycle de vie d’un dossier 58 Figure 20 : Page d’authentification…………………………………………....... 63 Figure 21 : Page de module…………………………………………………....... 64 Figure 22 : Page de dossier……………………………………………………… 64 Figure 23 : Détails de dossier…………………………………………………… 65 Figure 24 : Détails de ventilation de dossier……………………………………. 65 Figure 25 : Détails de déclaration de dossier……………………………………. 66 Figure 26 : Facture des ventes………………………………………………....... 67 Figure 27 : Interface de configuration de la base de données…………………… 75 Figure 28 : Interface de la connexion avec la base de données…………………. 75 Figure 29 : Interface de configuration du profil de l’entreprise………………… 76 Figure 30 : Interface d’authentification des utilisateurs………………………… 76 Figure 31 : Représentation d’une classe………………………………………… 78 Figure 32 : Représentation d’un objet………………………………………....... 78 Figure 33 : Association entre deux classes……………………………………… 78 Figure 34 : Agrégation entre deux classes………………………..…………....... 78 Figure 35 : Héritage entre deux classes…………………………………………. 79 Figure 36 : Diagramme de séquence……………………………………………. 79 Figure 37 : Diagramme de collaboration……………………………………....... 80 Figure 38 : Diagramme d’états transition……………………………………….. 80 Figure 39 : Diagramme d’activité organisé par acteur………………………….. 80 Figure 40 : Diagramme de cas d’utilisation…………………………………....... 81 Figure 41 : Diagramme d’objets……………………………………………........ 81 Figure 42 : Diagramme de classe……………………………………………….. 82 Figure 43 : Diagramme de composant………………………………………....... 82 Figure 44 : Diagramme de déploiement……………………………………........ 82Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 7
  8. 8. Liste des tableaux Tableau 1 : Synthèse des méthodologies utilisées dans le cadre de développement Objet et Nouvelles technologies……………………. 18 Tableau 2 : Planning du projet…………………………………………………… 21 Tableau 3 : Scénario d’authentification………………………………………….. 36 Tableau 4 : Scénario de gérer dossier…………………………………………….. 37 Tableau 5 : Scénario de gérer ventilation………………………………………… 38 Tableau 6 : Scénario de gérer déclaration………………………………………... 39 Tableau 7 : Scénario de gérer facturation………………………………………… 40 Tableau 8 : Scénario de paramétrage…………………………………………….. 41Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 8
  9. 9. Tables des matièresIntroduction générale……………………………………………..................................... 11Partie I : Contexte général du projet………………………………………………………….. 13 Chapitre 1 : Présentation de NEXTMA……………………………………………….. 14 1. Présentation générale de NEXTMA……………………………………………… 14 1.1. NEXTMA en Bref………………………………………................................. 14 1.2. Prestations et services………………………………………………………… 14 2. Secteurs d’activités ……………………………………………………………... 16 Chapitre 2 : Présentation du projet……………………………………………………. 17 1. Présentation du projet……….………………………………................................. 17 1.1. Thème du projet………………………………………………………………. 17 1.2. La démarche à suivre…………………………………………………………. 17 2. Planning du projet………………………………………………………………… 20Partie II : Etude fonctionnelle et technique…………………………………………………… 23 Chapitre 1 : Etude préliminaire………………………………………………………... 24 1. Projet de la gestion de transit……………………………………………………... 24 2. Procédures et circuit d’un dossier de transit……………………………………... 25 2.1 Circuit simplifié d’un dossier import/export………………………………….. 26 2.2 Le circuit d’un dossier………………………………………………………… 27 3. Problématique…………………………………………………………………….. 30 4. Synthèse…………………………………………………………………………... 31 Chapitre 2 : Etude fonctionnelle………………………………………………………. 32 1. Objectifs du projet………………………………………………………………... 32 2. Capture des besoins fonctionnels…………………………………………………. 33 2.1 Définition des acteurs du système…………………………………………….. 33 2.2 Cas d’utilisation du système………………………………………………….. 34 2.3 Description des cas d’utilisation………………………………………………. 36 Chapitre 3 : Etude technique…………………………………………………………... 42 1. Les ERP : Entreprise Resource Planning…………………………………………. 42 1.1 Architecture technique………………………………………………………… 43 1.2 Architecture modulaire………………………………………………………... 43 1.3 Les fonctionnalités de base……………………………………………………. 44 2. Solution de gestion intégrée OpenERP…………………………………………… 45 2.1 Environnement de développement……………………………………………. 45 2.2 Environnement dexécution…………………………………………………… 46 2.3 Environnement dexploitation…………………………………………………. 46 2.4 Framework OpenObject……………………………………………………….. 47Partie III : Mise en Œuvre du projet…………………………………………………………... 49 Chapitre 1 : Conception de la solution………………………………………………... 50 1. Conception des classes métiers…………………………………………………… 50 1.1 Diagrammes de séquences……………………………………………………. 50 1.2 Digramme de classes…………………………………………………….......... 56 Chapitre 2 : Réalisation de la solution………………………………………………… 59 1. Outils utilisés……………………………………………………………………... 59 1.1 IDE Eclipse……………………………………………………………………. 59 1.2 SGBD PostgreSQL.…………………………………………………………… 60 1.3 Langage Python.....……………………………………………………………. 60Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 9
  10. 10. 1.4 Langage XML…………………………………………………………………. 61 2. Réalisation du système…………………………………………………………… 63 2.1 Exemples d’illustration………………………………………………………... 63Conclusion et Perspectives……………………………………………………………… 68Glossaire……………………………………………………………………………........ 70Bibliographie……………………………………………………………………………. 71Webographie…………………………………………………………………………….. 71Annexes…………………………………………………………………………………. 72Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 10
  11. 11. Introduction générale Les ERP open source permettent à des petites PME de disposer doutils de gestioncomplets au meilleur coût, leur apportant rapidement un vrai bénéfice en termes decompétitivité. Mais déjà, ils remontent léchelle, et sadressent à des PME de plus de 1000salariés, que ce soit dans les secteurs industriel, distribution ou services. Mon projet de fin d’études vise à concevoir et développer un module de gestion detransit, qui sera incorporé et déployé sur un progiciel de gestion intégré open source, qui portele nom « OpenERP ». SECORA-TRANS, Société générale de transit, opère au sein d’un secteur concurrentiel,à forte agressivité commerciale et en pleine évolution. La mise en place donc des procédureset d’une organisation de système d’information sort à l’évidence pour mieux répondre auxexigences d’un tel environnement. Pour cela, SECORATRANS s’est donné dés fin 2006, comme objectif prioritairel’acquisition d’un Progiciel de Gestion Intégrée open source, afin daméliorer la qualité de lagestion des dossiers, le partage de linformation dans le cadre des réseaux de gestion, lacommunication interne, et dassurer la traçabilité des documents et une rapidité dans leurtraitement, pour un meilleur suivi du circuit global des dossiers. Alors mon projet de fin d’études s’articule à concevoir et développer un module degestion de transit pour SECORATRANS, afin de suivre et contrôler les dossiers. Mon rapport s’axe principalement sur trois parties: La première partie présente une vue générale sur mon projet de fin d’études, elle estcomposée de deux chapitres: le premier est consacré à la présentation de l’organismed’accueil, quant au deuxième il présente les objectifs de mon projet de fin d’études et ladémarche suivie pour assurer son bon déroulement. La deuxième partie est consacrée à l’étude fonctionnelle et technique, elle est constituéede trois chapitres: le premier expose une étude préliminaire visant à donner une vue surl’existant, le deuxième présente l’étude fonctionnelle, à travers la capture des besoinsfonctionnels, les cas d’utilisations UML et leurs descriptions textuelles, et le troisième définitl’architecture logicielle et le Framework utilisé.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 11
  12. 12. La troisième partie est consacrée à la mise en œuvre du projet, elle s’articule autour dedeux chapitres: le premier est consacré à la conception des classes métiers en présentant lesdifférents diagrammes de séquences, le diagramme de classes, le diagramme d’activité et lediagramme d’état, quant au deuxième il est consacré à la réalisation de la solution enprésentant les différents outils utilisés et quelques prises d’écran du système que j’ai réalisé.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 12
  13. 13. Contexte général du Partie projet 1 Cette première partie présente une vue générale sur mon projet de fin d’études intitulé « Conception et Développement d’un module de gestion de transit à l’aide de lERP open source OpenERP ». Elle se compose de deux chapitres : Le premier chapitre est consacré à la présentation de l’organisme d’accueil. Le deuxième chapitre présente les objectifs de mon projet de fin d’études ainsi que la démarche suivie pour assurer son bon déroulement dans les délais fixés.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 13
  14. 14. Chapitre Présentation de NEXTMA Dans ce chapitre, je présente de manière générale la société NEXTMA en tant qu’organisme d’accueil où s’est déroulé mon projet, en exposant ses domaines d’activités d’une façon générale.1. Présentation générale de NEXTMA 1.1 NEXTMA en Bref NEXTMA est une Société de Services en Logiciels Libres (SSLL) qui accompagne lesentreprises et institutions dans le choix de solutions open source ainsi que dans lintégration,le développement, ladaptation aux besoins spécifiques, la maintenance et le support. Afin debénéficier des meilleures solutions libres dans la gestion des systèmes dinformation,NEXTMA offre aux PME marocaines des services qui sont orientés sur le modèle «ONE STOP SHOPPING ». Cest-à-dire en offrant une gamme étendue des servicescomplémentaires sur mesure, car chaque entreprise à sa spécificité, afin quelles puissent faireface aux échéances du libre échange et soient à niveau par rapport aux normes de qualité et deperformance internationalement reconnues. 1.2 Prestations et services NEXTMA offre une large palette de prestations et de services basés sur descomposants libres adaptés aux systèmes et aux réseaux des clients. La principale tâchede cette société est d’offrir des solutions sur mesure, en matière de formation etd’assistance, concernant les problématiques relevant des systèmes d’informations,moyennant des outils libres.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 14
  15. 15. La gamme de services de NEXTMA est articulée autour de quatre axes majeurs quipermettent daccompagner les clients durant toutes les phases dun projet afin den assurer saréussite. Support En plus des offres de formations. La société propose aux équipes dédiées audéveloppement, des prestations de support d’aide à la maintenance, afin de réduire letemps de résolution des interrogations ou des difficultés que les entreprises pourraientrencontrer lors de la mise en œuvre de certains logiciels. Conseil NEXTMA possède une équipe formée de consultants techniques et fonctionnelsqui assure soit dans le cadre de projets, soit en amont, des missions de conseil dansles domaines suivants: gestion de contenu, travail collaboratif, dématérialisation desprocédures, migration vers le libre, architecture et dimensionnement dapplications baséessur open ERP…etc. Développement Il constitue le cœur métier de NEXTMA et comprend le développement sur la base delogiciels libres, de portails collaboratifs Internet ou Intranet, avec des composantes depublication web, de travail collaboratif, de gestion électronique de documents et deworkflow. Formation L’offre des formations, techniques et fonctionnelles, permet daccompagner lesorganisations qui disposent d’équipes opérationnelles capables de mener à bien des projets.Ces formations peuvent être établies sous forme de transferts de compétences, en phasesavals des projetsMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 15
  16. 16. 2. Secteurs d’activités De part les multiples projets que NEXTMA a mené, elle a acquis un savoirfaire susceptible de lui permettre l’implantation de logiciels libres dans les différents secteurs. Enterprise Ressource Planning (ERP) En français Progiciels de Gestion Intégré (PGI). NEXTMA est le partenaire officiel del’ERP open source Open ERP au Maghreb depuis 2006. Elle adapte celui-ci à la législationmarocaine et aux besoins spécifiques des entreprises. Customer Relationship Management (CRM) NEXTMA propose l’offre SUGARCRM qui permet la gestion de la relation client. Business Intelligence (BI) ou informatique décisionnelle. Intranet des entreprises et gestion des contenus Création d’identités visuelles et sites Internet institutionnels et e-Commerce La solution proposée est SMARTSHOP qui une solution libre de e-commerce(commerce électronique) qui sappuie sur le gestionnaire contenu Joomla! Gestion électronique des documents Il s’agit d’un système informatisé d’acquisition, classement, stockage, archivagedes documents.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 16
  17. 17. Chapitre Présentation du projet Dans ce deuxième chapitre je présente mon projet de fin d’études, ses objectifs ainsi que la démarche suivie pour son déroulement dans les meilleures conditions.1. Présentation du projet 1.1. Thème du projet Mon projet de fin d’études vise à concevoir et développer un module de gestion detransit pour les transitaires, afin de mettre en place des indicateurs pour suivre et contrôler lesdossiers des clients. Le module permettra alors de gérer le cycle de vie d’un dossier,depuis l’ouverture jusqu’à la facturation de vente. 1.2. La démarche à suivre Afin d’élaborer mon projet, j’ai choisi d’utiliser UML (Unified Modeling Language)comme formalisme, et 2TUP (Two Track Unified Process) comme démarche. Dans cettesection, je commence par une brève présentation du langage de modélisation UML enjustifiant ce choix, et ensuite, je passe en revue les différentes étapes de la démarche 2TUP enexpliquant les raisons qui j’ai poussé à l’adopter. (Pour plus de détails sur le formalisme UMLvoir l’annexe 2)Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 17
  18. 18. 1.2.1 Le formalisme UML UML est considéré comme le langage standard de conception orienté objet, il est unformalisme et pas une méthode. Il sen suit quil définit un ensemble d’éléments demodélisation et une notation graphique pour modéliser les systèmes et ne décrit pas les étapesà suivre pour le faire. Les raisons qui m’ont poussé à adopter UML dans mon projet se résument en : UML offre un outil prêt à lemploi basé sur une modélisation visuelle qui permet déchanger des modèles compréhensibles ; Si on développe avec des langages Orientés Objet, il est plus approprié de concevoir avec des formalismes Orientés Objet. 1.2.2 Processus de développement Le succès d’un projet dépend de l’adéquation du projet au processus de développement.Le tableau suivant (Tableau 1) présente une synthèse des processus les plus en vogue dans lacommunauté Objet et Nouvelles Technologies. Description Points Forts Points Faibles - Itératif ; - Méthodologie centrée - Spécifie le dialogue entre lesRUP sur l’architecture et différents intervenants du - Coûteux à personnaliser ;Rational couplée aux diagrammes projet : les livrables, les - Très axé processus, auUnified UML ; plannings, les prototypes… détriment du développement.Process - Cible des projets de - Propose des modèles de plus de 10 personnes. documents, et des canevas pour des projets types. - Ne couvre pas les phases en - Itératif ;XP amont et en aval au - Cible des projets de - Simple à mettre en œuvre ;eXtreme développement ; moins de 10 personnes. - Fait une large place auxProgramming - Assez flou dans sa mise en aspects techniques. œuvre. - Itératif ; -Sarticule autour de - Fait une large place à la - Plutôt superficiel sur les2TUP larchitecture ; technologie et à la gestion du phases situées en amont et enTwo Track -Propose un cycle de risque ; aval du développement ;Unified développement en Y ; - Définit les profils des - Ne propose pas deProcess - Cible des projets de intervenants, les livrables, les documents types. toutes tailles. plannings, les prototypes. Tableau 1 : Synthèse des méthodologies utilisées dans le cadre de développement Objet et Nouvelles technologies Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 18
  19. 19. On constate que toutes ces méthodologies proposent de travailler de façon itérative, quece soit au niveau des plannings, des spécifications, ou du développement. Si litératif sest imposé, cest parce quil réduit la complexité de la réalisation des phases,en travaillant par approches successives et incrémentales. Il est alors possible de présenterrapidement aux utilisateurs des éléments de validation. De plus, litératif permet une gestionefficace des risques, en abordant dès les premières itérations, les points difficiles. Le RUP couvre lensemble du processus en spécifiant les interactions entre chacune desphases, XP se concentre sur la phase de développement, tandis que 2TUP fait une large placeà lanalyse et à larchitecture. Ainsi, et en prenant compte des modalités de mon projet, le 2TUP semble le plus adaptépour mener mon projet. Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects techniquesdes aspects fonctionnels. Le processus en Y sarticule autour de 3 phases : une phase d’étude technique; une phase d’étude fonctionnelle; une phase de réalisation.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 19
  20. 20. La figure ci-dessous (Figure 1) illustre les différentes branches du cycle dedéveloppement en Y : Figure 1 : Cycle de développement en Y Lobjectif de la branche technique est de rassembler les besoins techniques (sécurité,intégration à lexistant,…) dans un dossier, élaborer une architecture logicielle et applicativequi répond aux contraintes présentées dans le dossier technique et identifier les besoins enframeworks techniques afin de palier aux manques de la technologie (formulaires de saisieinteractifs, outils de mapping Objet / Relationnel, …). Quant à la branche fonctionnelle, elle apour objectif de juger de la capacité des développeurs à intégrer larchitecture applicative àmonter en compétences sur les frameworks techniques, à comprendre la conception et à suivreles règles de développement.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 20
  21. 21. 2. Planning du projet Dés mon première réunion avec mon encadrant, il m’a proposé un planning prévisionnel(Table 2) que j’ai ajusté par la suite et au fur et à mesure de l’avancement du projet. Lestâches inscrites dans ce planning correspondent parfaitement aux phases du cycle dudéveloppement Y.Id Tâche Date de début Date de fin Durée1 Autoformation / Formation : 16/03/2009 04/04/2009 20j Langage de programmation Python ; Framework d’OpenERP OpenObject ; Fonctionnement d’OpenERP.2 Etude de l’existant 06/04/2009 20/04/2009 11j3 Etude fonctionnelle 21/04/2009 28/04/2009 6j4 Etude technique 29/04/2009 05/05/2009 5j5 Conception de la solution 06/05/2009 18/05/2009 9j6 Réalisation 19/05/2009 26/06/2009 28j7 Validation et tests 29/06/2009 30/06/2009 2j8 Finalisation du rapport 01/07/2009 02/07/2009 2j Total 83j Tableau 2 : Planning du projet Figure 2 : Diagramme de GanttMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 21
  22. 22. Dans sa globalité, le sujet consiste à concevoir et développer un module de gestion detransit à l’aide de l’ERP open source OpenERP pour les transitaires. Pour la bonne conduitedu projet, le processus adopté est le processus 2TUP vu qu’il offre l’avantage d’effectuer enparallèle deux études technique et fonctionnelle avant d’attaquer la conception de la solution.La partie suivante sera consacrée à l’étude fonctionnelle et technique en plus d’une étudepréliminaire. Dans cette partie, il était question de présenter le contexte général du projet permettantd’avoir une idée plus claire sur le cadre entourant mon projet, afin de découvrir lesdifférentes parties qui suivent avec une vision plus claire.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 22
  23. 23. fonctionnelle Etude fonctionnelle Partie et technique 2 La deuxième partie de ce rapport est consacrée à l’étude fonctionnelle et technique. Elle s’articule autour de trois chapitres : Le premier chapitre présente une étude préliminaire visant à donner une vue sur l’existant à SECORATRANS où j’ai fait l’étude de l’existant. Le deuxième chapitre présente l’étude fonctionnelle, à travers la capture des besoins fonctionnels, les cas d’utilisation UML et leurs descriptions textuelles. Le troisième chapitre définit l’architecture logicielle du système et le Framework utilisé.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 23
  24. 24. Chapitre Etude préliminaire Dans ce chapitre je présente une étude préliminaire sur le projet en commençant par l’étude de l’existant, la problématique et enfin une synthèse.1. Projet de la gestion de transit SECORA-TRANS, est une société générale de transit où j’ai fait l’étude de l’existant,opère au sein d’un secteur concurrentiel, à forte agressivité commerciale et en pleineévolution, la mise en place donc des procédures et d’une organisation de systèmed’information sort à l’évidence pour mieux répondre aux exigences d’un tel environnement. Les moyens mis en place pour exercer les formes de coordination au niveau de ladirection tout en laissant au personnel leur autonomie, sont de trois sortes : Le contrôle de performance, d’où une gestion par objectif ; La supervision directe, d’où la standardisation et la formalisation de toutes les procédures de travail ; Le travail de groupe pour une polyvalence des collaborateurs et un système de résultat. Ces moyens réduisent la surface de contrôle du sommet stratégique. Les qualificationsprofessionnelles requises et la formation continue y contribuent pour beaucoup. En outre toute cette organisation ne peut donner ces meilleurs fruits que si elle estaccompagnée d’un système d’information bien rodé. Cela ne peut se faire qu’à l’aide d’unProgiciel de Gestion Intégré open source qui permettra : D’assurer une coordination entre tous les intervenants de l’équipe ;Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 24
  25. 25. De suivre toutes les opérations effectuées par les intervenants en temps réel ; D’avoir des tableaux de pilotage retraçant toute l’activité ; D’avoir un archivage et accès aux documents et aux informations sécurisé et rapide. Pour faire face à l’évolution des structures et des technologies du commerceinternational, SECORA-TRANS a lancé d’une manière successive depuis 5 ans une série delogiciels afin de mieux répondre à ces problèmes de gestion interne, je peux citer à titred’exemple : le logiciel « Gestion des dossiers » : qui sert seulement à l’archivage des dossiers validés non encore facturés. le logiciel « Gestion de Ventilation » : c’est un logiciel utilisé par le déclarant afin de répartir la valeur totale déclarée entre plusieurs articles d’une même facture soumis à un même régime douanier ; le logiciel « Gestion de la facturation » : c’est un logiciel utilisé par l’employé afin de l’aider à Facturer et suivre le paiement des clients.2. Procédures et circuit d’un dossier de transit Le système actuel est basé sur les registres manuels, ainsi que des applications métiersne communiquant pas entre elles en plus des états et des tableaux réalisés sur Excel ou word. Le processus du métier est décrit dans les lignes qui suivent :Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 25
  26. 26. 2.1 Circuit simplifié d’un dossier import/export Secrétaire I Réception des documents Secrétaire II Ouverture et suivi des dossiers import/export Déclarant Déclaration de la marchandise Opératrice de saisie Saisie de la déclaration en détail Commis Dédouanement des produits Agent de facturation Etablissement de la facture clients : Comptable Contrôle et suivi des dépenses et factures clients Figure 3 : Circuit d’un dossierMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 26
  27. 27. 2.2 Le circuit d’un dossier 2.1.1 Réception des documents «la secrétaire I » Réception par fax, par courrier de l’ordre de transit et des documents quil’accompagnent (avis d’arrivée + factures fournisseur,…) afin de permettre au transitaire deprendre les dispositions nécessaires à la déclaration (la date de réception ainsi que lesdocuments reçus). Parfois le client se présente directement au bureau de la société muni des documentsnécessaires (factures fournisseur, liste de colisage, titre d’importation, certificat d’origine,titre de transport, …). Dans ce cas, «la secrétaire I» lui délivre un accusé de réception sur lequel est mentionnéle jour de réception, ainsi que les documents reçus, et garde une copie. 2.1.2 Ouverture d’un dossier «la secrétaire II» Tout d’abord, elle vérifie les documents reçus et s’assure de leur caractère original,relève les documents manquants au dossier, qui peuvent être source de blocage. Elle procède par la suite à leur enregistrement sur un registre contenant les indicationssuivantes : le numéro de dossier (numéro de classement+l’année) ; le nom de l’importateur ; le bureau de dédouanement (ex casa port, casa extérieur...) ; la désignation de la marchandise ; la valeur de la marchandise en dirham et en devise ; le fournisseur. Sur ce registre sont mentionnés par la suite, le poids de la marchandise ainsi que lanature des colis. Le régime douanier attribué à la marchandise ainsi que le numéro de la DUMdoivent également être enregistrés sur ce registre (après la validation du dossier). Elle ouvre enfin un dossier sous un numéro et le remplit en fonction des documentsreçus, Elle doit mentionner (sur le dossier) les indications suivantes : la date de réception des documents ; le nom et l’adresse du destinataire des marchandises ;Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 27
  28. 28. le nom et l’adresse de l’expéditeur des marchandises ; la désignation de la marchandise ; les documents manquants. Après la réception du bon à délivrer, elle complète les énonciations manquantes àsavoir : Date d’arrivée ; Les marques, numéros, espèces et nombre des colis ; La nature et le poids brut des marchandises ; Le numéro du titre de transport ; Le dernier port ou aéroport (la provenance). Le numéro du titre d’importation doit également figurer sur le dossier après sadomiciliation. 2.1.3 Déclaration de la marchandise « le déclarant » Il s’agit pour le déclarant de procéder à : Exploitation de dossier par «les secrétaires» ; Identification de tous les éléments lui permettant d’établir la déclaration en détail et de choisir le régime douanier, en fonction de l’usage que lopérateur économique souhaite réserver à sa marchandise ; Désignation des nomenclatures : recherche de la nomenclature (numéro et libellé) correspondante à chaque produit figurant sur la facture ; Calcul de la contre valeur en monnaie nationale : par l’application du cours de change du jour de la déclaration ; Calcul du poids net total et poids brut total ; Calcul du montant à imputer sur le titre d’importation. La valeur totale à déclarer Prix FOB en devise * cours de change en DHS + montant du fret en devise * cours de change + Frais d’assurance (0.3% du montant coût et frêt en dirhams + Frais d’aconage (23.4 dhs la tonne du poids brut sauf si le montant de l’aconage est indiqué sur la facture de la compagnie de transport)Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 28
  29. 29. 2.1.4 La déclaration en détail (DUM) «L’OPÉRATRICE DE SAISIE» Le logiciel SADOC permet la saisie, la modification et la consultation des éléments dela déclaration, il permet également la consultation des déclarations sommaires. Avant decommencer la saisie du dossier, elle lui donne un numéro de répertoire. Une fois les énonciations de la DUM saisies, l’opératrice a deux possibilités. Soit mettrela déclaration en «ATTENTE» dans ce cas le système procède à son enregistrement provisoireet les données saisies sont gardées en mémoire pour une durée limité avant qu’elles soientautomatiquement effacées. Soit de valider définitivement la déclaration ce qui vaut signatureet enregistrement définitif par le système. Une déclaration signée et enregistrée définitivementne peut être ni supprimée ni modifiée par l’opératrice. Mais elle peut être consultée. 2.1.5 La facturation : « Agent de facturation » Une fois le processus de dédouanement achevé, le dossier est transmis à l’agent chargéde la facturation. La facture reprend tous les frais engagés qui sont à la charge de client. Unefois établie une copie est adressée au client avec toutes les pièces justificatives (factured’échange, facture magasinage, récépissé d’envoi des lettres de réserve,…) en plus d’unecopie de l’exemplaire redevable de la DUM et l’engagement d’importation imputé. Et l’autrecopie est transmise au service comptabilité. La facture client comprend plusieurs frais dont on peut citer à titre d’exemple : frais d’ouverture de dossier ; manipulation ; frais de transport local ou national ; frais d’échange ; aconage ODEP ; les lettres de réserves ; droit de douane ; frais de surestarie ; frais de magasinage (en cas de dépotage) ; honoraires.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 29
  30. 30. 3. Problématique Le système actuel de la société SECORATRANS est basé sur les registres manuels ainsique des applications métiers ne communiquant pas entre elles en plus des états et des tableauxréalisés sur Excel ou word. Les outils existant aujourd’hui sur le marché proposent des fonctionnalités nettementplus avancées et mieux adaptées aux besoins de SECORATRANS, en terme de pilotage,d’intégration de données, de partage d’information en temps réel... Ils permettent égalementde répondre aux exigences des clients et partenaires de l’entreprise. Dans un tel contexte, l’entreprise avait plus que jamais besoin d’un nouveau système quicorrespond le plus à ses exigences. Car, les premiers diagnostics qui ont été effectués ont fait ressortir que les applicationsinformatiques actuelles, qui malgré leur contribution effective à la gestion de l’entreprise,restent marqués par des insuffisances techniques, stratégiques et organisationnelles. Les principales faiblesses diagnostiquées sont : L’existence de diverses applications informatiques isolées ; un recours à l’informatique insuffisamment développé (exemple : opération du contrôle et du suivi des dossiers non informatisée…) ; Coexistence de procédures manuelles avec les applications informatiques; Les systèmes informatiques n’intègrent pas toutes les demandes fonctionnelles exprimées par l’entreprise ; Une large utilisation de documents non informatisés (les chemises import/export (vert et jaune), fiches de dépense, chèque, bulletin de réception…) ; Manque de traçabilité ; Insuffisance du contrôle et du suivi des dossiers ; l’absence de procédure automatisée de recoupement dinformation utilisant un identifiant unique;Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 30
  31. 31. 4. Synthèse Pour remédier aux problèmes cités ci-dessus, et pour améliorer le système de suivi desdossiers pour les transitaires, SECORATRANS cherche à mettre en place un ERP opensource OpenERP qui assure la gestion de lensemble des services de l’entreprise depuis laréception des documents jusqu’au recouvrement : réception des documents, suivi et contrôledes dossiers. Cette étude préliminaire m’a permis de bien cerner le sujet et de dégager les principalesfonctionnalités utiles pour la mise en place de mon projet. J’entamerai dans le chapitre suivantl’étude fonctionnelle.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 31
  32. 32. Chapitre Etude fonctionnelle Ce chapitre présente l’étude fonctionnelle du projet qui comprend la capture des besoins fonctionnels et la formalisation de ces besoins en cas d’utilisation UML.1. Objectifs du projet La solution recherchée va couvrir l’ensemble des activités de l’entreprise : suivi desdossiers, la ventilation de la valeur déclarée, la déclaration de la marchandise et l’archivagedes dossiers facturés, suivi et contrôle des dossiers, et devra permettre la dématérialisation del’ensemble des opérations de l’entreprise. En effet, ce projet doit aussi avoir pour objectif : la réalisation dune application informatique unique pour la gestion de lensemble des services de l’entreprise depuis la réception des documents jusqu’au recouvrement : réception des documents, suivi et contrôle des dossiers. mettre en place un système commun et partagé répondant aux attentes de l’ensemble des utilisateurs de l’entreprise l’introduction d’un mot de passe pour chaque utilisateur, choisi par lui-même. Et qui une fois attribué, il n’engage que la personne titulaire de dit mot de passe. mettre en place une solution complète de serveur dentreprise comprenant des fonctions de messagerie et de collaboration un stockage de données protégé et centralisé.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 32
  33. 33. 2. Capture des besoins fonctionnels Après avoir cerner les besoins de la société dans le chapitre précédent (étudepréliminaire), je vais formaliser ces besoins en cas d’utilisation en définissant les acteursinteragissant avec le système. 2.1 Définition des acteurs du système À ce stade je vais déterminer les six acteurs principaux interagissant avec le système Utilisateur Cet acteur accède de manière sécurisée au système, et consulte les contenus. Secrétaire de réception des dossiers Cet acteur accède de manière sécurisée au système, recevoir les contenus, et c’est celuiqui valide ou pas les dossiers des clients. Déclarant Cet acteur accède de manière sécurisée au système, ventile les dossiers, et c’est celui quifait la déclaration des marchandises. Opérateur de saisie Cet acteur accède d’une manière sécurisée, obtient le numéro de la D.U.M de lamarchandise. Agent de facturation Cet acteur accède d’une manière sécurisée, établit la facture des ventes des dossiersclients. Administrateur Cet acteur attribue les droits daccès aux utilisateurs, gère les utilisateurs (ajout,modification, suppression dun utilisateur), ainsi que le contenu et l’arborescence del’OpenERP.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 33
  34. 34. Remarque : L’opérateur de saisie n’est pas un acteur système car il n’interagie qu’avec le systèmeSADOC de la douane. Figure 4 : Les acteurs principaux du système 2.2 Cas d’utilisation du système Le diagramme des cas d’utilisation permet de structurer les besoins des utilisateurs et lesobjectifs d’un système. En effet, il identifie les acteurs et leurs interactions avec le système.Afin de mieux comprendre tous les volets du système, je l’ai décomposé en huit casd’utilisations. Par la suite, je vais détailler les principaux cas d’utilisation. La figure ci-dessous (Figure 5) représente le diagramme des cas d’utilisation :Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 34
  35. 35. Figure 5 : Diagramme de cas d’utilisation Cycle de vie d’un dossier clientMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 35
  36. 36. 2.3 Description des cas d’utilisation 2.3.1 Cas d’utilisation AuthentificationLe tableau ci-dessous (Tableau 3), représente la description de ce cas d’utilisation: Code CU_Authentification Nom Authentification Acteurs système Tous les acteurs Objectif/Résultat Accès aux fonctionnalités attribuées. Description Ce scénario permet à tout acteur de s’identifier auprès du système et d’accéder aux fonctionnalités qui lui sont attribuées. Pré condition Existence à dans la base de données du système Scénario Action de l’acteur Action du système authentification 1 Se connecter au système. 2 Vérifier login et mot de passe, valider et autoriser l’accès selon les droits. Exceptions 1 Se connecter au système 2 Le système ne répond pas 1 Se connecter au système 2 Vérifier les informations de l’utilisateur. Retour à 1 (login ou password incorrect) Fréquence A la demande. Tableau 3 : Scénario d’authentification 2.3.2 Cas d’utilisation Gérer Dossier Ce cas d’utilisation concerne la gestion des dossiers, opération effectuée parl’Administrateur qui peut ajouter, modifier et supprimer un dossier, ainsi que la validationd’un dossier. Le tableau ci-dessous (Tableau 4), représente la description de ce cas d’utilisation:Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 36
  37. 37. Code CU_Gerer_DossierNom Gérer DossierActeurs système AdministrateurObjectif/Résultat Suivre et contrôler les dossiers clients.Description Ce scénario permet de faire les opérations d’ajout, de modification et de suppression d’un dossier client dans la base de données du système, ansi que la validation et la clôture d’un dossier client.Pré condition Authentification au système avec le compte Administrateur.Scénario Gérer_Dossier Action de l’acteur Action du système 1 Saisir les informations de dossier à ajouter. 2 Rechercher le numéro de dossier à modifier. 3 Rechercher le numéro de dossier à supprimer. 4 Enregistrer les informations dans la base de données du système. 5 Valider dossier 6 Etat dossier ouvertExceptions 1 Saisir les informations de dossier à ajouter. 2 Le système ne répond pas. 1 Saisir les informations de dossier à ajouter. 2 Données insuffisantes. 1 Rechercher le numéro de dossier à modifier, à supprimer et valider. 2 Le système ne répond pas. 1 Rechercher le numéro de dossier à modifier, à supprimer et à valider. 2 Erreur.Fréquence A la demande. Tableau 4 : Scénario de gérer dossierMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 37
  38. 38. 2.3.3 Cas d’utilisation Gérer Ventilation Ce cas d’utilisation consiste à saisir les détails des différents articles de la marchandise(nomenclature, quantité, poids, valeur). Le tableau ci-dessous (Tableau 5), représente la description de ce cas d’utilisation: Code CU_Gerer_Ventilation Nom Ventilation de la marchandise. Acteurs système Déclarant. Objectif/Résultat Saisie des détails des différents articles de la marchandise. Description Ce scénario permet de faire la saisie des articles qui seront utiles pour la déclaration de la marchandise. Pré condition Authentification au système avec le compte Déclarant. Scénario Gerer_Ventilation Action de l’acteur Action du système 1 Lister dossiers ouverts 2 Afficher liste dossiers ouverts. 3 Choisir numéro dossier 4 Afficher dossier choisi 5 Ajouter ventilation 6 Enregistrer les informations dans la base de données du système Exceptions 1 Lister dossiers ouverts 2 Choisir numéro dossier 3 Ajouter ventilation 4 Le système ne répond pas 5 Données insuffisantes pour la ventilation Fréquence A la demande Tableau 5 : Scénario de gérer ventilationMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 38
  39. 39. 2.3.4 Cas d’utilisation Gérer Déclaration Ce cas d’utilisation consiste à calculer la contre valeur, le poids net total, poids brut totalet le montant à imputer sur le titre d’importation brut. Le tableau ci-dessous (Tableau 6), représente la description de ce cas d’utilisation: Code CU_Gerer_Declaration Nom Déclaration de la marchandise Acteurs système Déclarant Objectif/Résultat Calcul des différents indicateurs de la marchandise Description Ce scénario permet de faire le calcul de la contre valeur, le poids net total, poids brut total et le montant à imputer sur le titre d’importation brut. qui seront utiles pour la déclaration chez le système de la douane (SADOC). Pré condition Authentification au système avec le compte Déclarant Scénario Gerer_Declaration Action de l’acteur Action du système 1 Lister dossiers à déclarer 2 Afficher liste dossier à déclarer 3 Choisir numéro dossier 4 Afficher dossier choisi 5 Déclarer dossier 6 Calculer paramètres 7 Etat dossier déclaré Exceptions 1 Choisir numéro dossier 2 Déclarer dossier 3 Le système ne répond pas 4 Données insuffisantes pour le calcul Calcul impossible dossier (déjà déclaré) Fréquence A la demande Tableau 6 : Scénario de gérer déclarationMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 39
  40. 40. 2.3.5 Cas d’utilisation Gérer Facturation Ce cas d’utilisation reprend tous les frais engagés qui sont à la charge de client. Une foisétablie une copie est adressée au client avec toutes les pièces justificatives. Le tableau ci-dessous (Tableau 7), représente la description de ce cas d’utilisation: Code CU_Gerer_Facturation Nom Facture des ventes Acteurs système Agent Facturation Objectif/Résultat Calcul des frais de dossier Description Ce scénario permet de faire le calcul tous les frais engagés qui sont à la charge de client Pré condition Authentification au système avec le compte Agent Facturation Scénario Gerer_Facturation Action de l’acteur Action du système 1 Lister dossiers déclarés 2 Afficher liste dossiers déclarés 3 Choisir numéro dossier 4 Afficher dossier choisi 5 Facturer dossier 6 Calculer montant total 7 Etat dossier facturé Exceptions 1 Choisir numéro dossier 2 Facturer dossier 3 Le système ne répond pas 4 Données insuffisantes pour la facturation Fréquence A la demande Tableau 7 : Scénario de gérer facturationMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 40
  41. 41. 2.3.6 Cas d’utilisation Paramétrage Ce cas d’utilisation concerne le paramétrage de l’application (la gestion des accès et lagestion de contenu). Le tableau ci-dessous (Tableau 8), représente la description de ce cas d’utilisation: Code CU_PARAM_APPLICATION Nom Définition des paramètres de l’application Acteurs système Administrateur. Objectif/Résultat Paramétrer l’application Description Ce scénario permet de paramétrer l’application, la gestion des accès, la gestion de contenus... Pré condition Connexion avec le compte Administrateur Scénario Action de l’acteur Action du système Paramétrage du 1 Choisir l’option Paramétrage du système Système. 2 Afficher la liste des paramètres. 3 Définir les paramètres. 4 Valider 5 Sauvegarder Exceptions 1 Définir les paramètres 2 Le système ne répond pas 1 Définir les paramètres 2 Paramètres désactivés Fréquence A la demande. Tableau 8 : Scénario de paramétrage Au terme de ce chapitre, j’ai achevé les différentes phases de la branche fonctionnelledu processus Y. L’objet du chapitre suivant est l’étude technique du projet qui a pour but defaire apparaître le choix de l’architecture du système et les frameworks techniques qui serontutilisés.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 41
  42. 42. Chapitre Etude technique Ce chaplitre détaille la branche technique du processus Y. Je présente d’abord, la technologie utilisée, puis l’architecure logicielle du système pour enfin le Framework et techniques utilisés1. Les ERP : Entreprise Resource Planning Les ERPs (Enterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés(PGI), sont des applications dont le but est de coordonner lensemble des activités duneentreprise autour dun même système dinformation. Les Progiciels de Gestion Intégrés proposent généralement des outils de Groupware etde Workflow afin dassurer la transversalité et la circulation de linformation entre lesdifférents services de lentreprise. Plus quun simple logiciel, un ERP est un véritable projet demandant une intégrationtotale dun outil logiciel au sein dune organisation et dune structure spécifique, et donc descoûts importants dingénierie. Dautre part sa mise en place dans lentreprise entraîne desmodifications importantes des habitudes de travail dune grande partie des employés. Ainsi onconsidère que le coût de loutil logiciel représente moins de 20% du coût total de mise enplace dun tel système.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 42
  43. 43. 1.1 Architecture technique Figure 6 : Architecture technique d’un ERP LERP est donc sur serveur. La majorité des ERP sont couplés à une base de donnéesORACLE. De plus, les ERP sont compatibles packs Office, en particulier pour PowerPoint etExcel. En effet, le premier étant utile pour personnaliser les bureaux ERP en fonction delentreprise et le second pour effectuer les imports/exports de données. Enfin, les ERP sontaussi compatibles avec des outils de reporting (CrystalReport en général). Le reporting étantutilisé en particulier pour le module de gestion relation client, que nous verrons par la suite. 1.2 Architecture modulaire Un ERP est un ensemble dont toutes les parties fonctionnent les unes avec les autresdoù lergonomie et lunicité des informations et donc la cohérence du SI. Un ERP est modulaire dans le sens où il est possible de navoir quune ou plusieursapplications en même temps, ou peu à peu. Les applications modulaires telles que les ERPpermettent dêtre sûr de la compatibilité des modules entre eux, ils simbriquent comme desMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 43
  44. 44. blocs de Lego et fonctionnent ensemble (pas de vérification de compatibilité àeffectuer).Voici un exemple darchitecture modulaire qui tend à représenter tous les ERP: Figure 7 : Architecture modulaire d’un ERP Larchitecture modulaire schématisée ci-dessus intègre plusieurs modules retouchant auxgrandes fonctions dune entreprise : le module finance, logistique et e-commerce… 1.3 Les fonctionnalités de base La figure ci-dessous (Figure x) représente les fonctionnalités de base d’un ERP : Figure 8 : Fonctionnalités de base d’un ERPMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 44
  45. 45. 2. Solution de gestion intégrée OpenERP Open ERP est un progiciel de gestion intégré en licence libre, dont la grande souplesseest idéale aussi bien pour les indépendants que pour les PME. Il couvre pratiquementtous les secteurs d’activité : industrie, commerce, prestations de services, e-Commerce,négoce, etc. Comme la plupart des logiciels libres, laccessibilité, la flexibilité et la simplicitésont les maîtres mots du développement. 2.1 Environnement de développement Un MVC est une architecture de modèle utilisée en génie logiciel. Dans desapplications complexes qui présentent des lots de données aux utilisateurs, onsouhaite souvent séparer les données (modèle) et linterface utilisateur (vue), de sorteque les changements à linterface utilisateur naffectent pas le traitement des données,et que les données peuvent être réorganisées sans changer linterface utilisateur. Le MVC résout ce genre de problème en découplant laccès des données et lalogique des applications de la présentation des données et de linteraction utilisateur,en introduisant un composant intermédiaire : « le contrôleur ». Dans open ERP, on peut appliquer cette sémantique de Model-View-Controller avec : Model : les modèles sont les objets déclarés dans OpenERP. Ils sont également des tables PostgreSQL ; View : les vues sont définies en fichiers XML dans OPENERP ; Controller : le contrôleur est Python qui contrôle OPENERP. Figure 9 : les relations structurelles entre les trois objetsMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 45
  46. 46. 2.2 Environnement dexécution Pour exécuter le code, lOpenERP serveur doit être installée dans un serveur exécutantMVC Framework Foundation et un groupe dapplications de tierce-partie que nous appelonslenvironnement dexploitation. Les utilisateurs nont besoin de rien de plus quun OpenERPweb client ou OpenERP GTK client pour accéder aux différents modules de l’ERP. 2.3 Environnement dexploitation OpenERP a besoin dun groupe bien connu dapplications tierces telles web services,OpenERP web client ou OpenERP GTK client, et quelques autres utilitaires. Base de donnéesPostgreSQL est également nécessaire. Le modèle est basé sur le standard SQL, et toutes ces applications peuvent être installéesaussi bien sur Linux ou Windows. Figure 10 : Environnement d’exploitation de l’ERP open source OpenERPMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 46
  47. 47. 2.4 Framework OpenObject OpenObject est le Framework dOpenERP, ou programme permettant la générationdOpenERP. Il est très souple et complet, et permet la création des applications de gestion,quelles quelles soient. Figure 11 : Framework OpenObject d’OpenERP 2.4.1 Rapidité de développement Développer des applications de gestion avec OpenObject, bien plus quavec nimportequel autre outil de ce type. On crée un fichier Python contenant la description des champs etles règles de gestion, un fichier XML décrivant les écrans, et le tour est joué. Bien sûr, il ny aaucune limitation aux codes, ceci étant écrit en Python, langage très riche. Si on a besoin daller plus loin, OpenObject permet la création de Wizards (sous-programmes), lautomatisation des tâches et leur planification, lintégration de données.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 47
  48. 48. 2.4.2 Génération de rapportsLes rapports sont très simplement définis et intégrés, ce sous 2 formes : Rapports imprimables Ils sont générés par le biais de reportlab. Les fichiers de génération de ces rapports peuvent être transformés dans OpenOffice, puis importés rapidement. Ecrans On peut définir tout type de tableau de bord, contenu des données, des listes, des graphiques. 2.4.3 Gestion des workflows Toutes les règles de gestion peuvent être définies. Le moteur de WorkflowsdOpenObject est très puissant, et permet des imbrications de règles complexes (ou simples),qui peuvent être ensuite modifiées par le biais de lapplication elle-même. 2.4.4 Communication avec des applications tierces Toutes les communications entre OpenObject et les interfaces (même vers le client GTKofficiel) sont effectuées en XMLRPC. Les types dobjets, les écrans, les données sonttransmises par ce protocole. On a besoin dintégrer les applications OpenObject à un portailou à une autre application. Des connecteurs existent entre OpenObject et LDAP, ainsi quavec de nombreusesautres applications Open Source (ezPublish, Asterisk, ...). 2.4.5 Business Intelligence OpenObject est, dans sa version 5, entièrement doté des fonctionnalités pour effectuersimplement le stockage des données dans des bases de données tierces (OLAP). Les rapportssont donc le vrai reflet des activités, non de simples statistiques internes. Ce chapitre a permis de détailler les différents choix techniques, à savoir la technologieadoptée, l’architecture logicielle et le Framework utilisé. La partie suivante détaillera labranche réalisation du processus Y.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 48
  49. 49. Mise en Œuvre du Partie projet 3 Le contenu de cette partie s’articule sur deux chapitres : Le premier est consacré à l’analyse et la conception du module métier du système, en présentant le diagramme de classes, d’activité et d’état, quelques diagrammes de séquences et la structure du système. Le deuxième est consacré à la réalisation du système, en présentant quelques prises d’écran.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 49
  50. 50. Chapitre Conception de la solution Ce chaplitre détaille la phase conception de la branche réalisation du processus Y. Je présente d’abord la conception des classes métiers puis la structure du système.1. Conception des classes métiers 1.1 Diagrammes de séquences Le diagramme de séquences permet de mettre en relief les différents messages échangésentre les objets et acteurs du système, et ce selon un point de vue temporelle. En effet, lordredenvoi dun message est déterminé par sa position sur laxe vertical (axe temporel) dudiagramme ; le temps sécoule indépendamment des événements, "de haut en bas" de l’axevertical. Je vais dans la suite présenter quelques diagrammes de séquences. 1.1.1 Scénario Authentification Ce scénario permet à l’utilisateur de se connecter au système en saisissant son login etmot de passe. Le système vérifie ces informations qui sont stockées dans la base de donnéeset affiche la page d’accueil suivant les privilèges et le rôle de l’utilisateur. La figure ci-dessous (Figure 12) représente le diagramme de séquences du scénariod’authentificationMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 50
  51. 51. Figure 12 : Diagramme de séquences du scénario Authentification 1.1.2 Scénario Paramétrage Ce scénario est déclenché par l’administrateur du système, il consiste à faire la gestiondu contenu, et la gestion des comptes utilisateurs et les droits d’accès attribués à ces derniers. La figure suivante (Figure 13), présente le diagramme de séquences du cas Paramétrage. Figure 13 : Diagramme de séquences du scénario ParamétrageMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 51
  52. 52. 1.1.3 Scénario Gestion des Dossiers : Ce scénario est déclenché par l’administrateur du système, il consiste à faire la gestiondes dossiers, et le suivi et le contrôle de ces dossiers (Figure 14). Figure 14 : Diagramme de séquences du scénario Gestion des dossiers 1.1.4 Scénario Ventilation : La ventilation consiste à saisir les détails des différents articles (nomenclature, quantité,poids, valeur)Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 52
  53. 53. Figure 15 : Diagramme de séquences du scénario Ventilation 1.1.5 Scénario Déclaration La déclaration de la marchandise consiste à effectuer les opérations suivantes : Calcul de la contre valeur en monnaie nationale : par l’application du cours de change du jour de la déclaration ; Calcul du poids net total et poids brut total ; Calcul du montant à imputer sur le titre d’importation.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 53
  54. 54. Figure 16 : Diagramme de séquences du scénario DéclarationMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 54
  55. 55. 1.1.6 Scénario Gestion de la facturation La facture reprend tous les frais engagés qui sont à la charge de client. Une fois établieune copie est adressée au client avec toutes les pièces justificatives (facture d’échange, facturemagasinage, récépissé d’envoi des lettres de réserve,…). Pour créer un avoir, agent de facturation utilise le numéro de la facture correspondant àla commande client. Figure 17 : Diagramme de séquences du scénario Gestion de la facturationMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 55
  56. 56. 1.2 Digramme de classes Le diagramme de classes exprime, de manière générale, la structure statique d’unsystème, en termes de classes et de relations entre elles. Une classe permet de décrire un ensemble d’objets (attributs et comportements), tandisqu’une relation ou association permet de faire apparaître des liens entre ces objets. Le schéma ci-dessous (Figure 18) représente le diagramme de classe que j’ai établi pourla conception du système: Figure 18 : Diagramme de classes Le schéma ci-dessous (Figure 19) représente le diagramme d’activité que j’ai établi pourla conception du système:Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 56
  57. 57. Figure 19 : Diagramme d’activité Cycle de vie d’un dossierMaster Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 57
  58. 58. Le schéma ci-dessous (Figure 20) représente le diagramme d’état que j’ai établi pour laconception du système: Figure 20 : Diagramme de classes Ce chapitre avait pour objectif la présentation de la conception détaillée de la solution àtravers le diagramme de classes, d’activité, d’état, et quelques diagrammes de séquences.Dans le chapitre suivant je exposerai les outils utilisés, et quelques exemples d’illustration.Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 58
  59. 59. Chapitre Réalisation de la solution Ce chaplitre détaille la phase réalisation de mon projet. Je présente d’abord, les outils utilisés et quelques prises d’écran du système.1. Outils utilisés Pour le développement du système je me suis basés sur l’ERP OpenERP et lesdifférentes technologies et Framework qu’il utilise, pour ajouter le système comme module ausein de cet ERP j’ai eu recours à plusieurs outils comme l’IDE Eclipse et le SGBDPostgreSQL, ainsi que la langage de programmation Python et la langage à balises extensibleXML, dont la présentation est détaillée dans les paragraphes suivants. 1.1 IDE Eclipse Eclipse est un environnement de développement intégré dont le but est de fournir uneplate-forme modulaire pour permettre la réalisation des développements informatiques. Eclipse utilise énormément le concept de modules nommés "plug-ins" dans sonarchitecture. Dailleurs, hormis le noyau de la plate-forme nommé "Runtime", tout le reste dela plate-forme est développé sous la forme de plug-in. Ce concept permet de fournir unmécanisme pour lextension de la plate-forme et fournir ainsi la possibilité à des tiers dedévelopper des fonctionnalités qui ne sont pas fournies en standard par Eclipse. Eclipse possède de nombreux points forts qui sont à lorigine de son énorme succès dontles principaux sont : L’extensibilité de plate-forme grâce au mécanisme de plug-ins ;Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 59
  60. 60. La cohabitation entre plusieurs versions dun même plug-in sur une même plate- forme ; Le support de plusieurs langages grâce à des plug-ins dédiés : Python, Java, Cobol, C, PHP, C#, ... ; Le support de plusieurs plates-formes dexécution : Linux, Windows,… La rapidité dexécution grâce à lutilisation de la bibliothèque SWT ; La construction incrémentale des projets grâce à un compilateur interne qui permet de compiler un code même avec des erreurs, de générer des messages derreurs personnalisés… 1.2 SGBD PostgreSQL PostgreSQL est un serveur de bases de données SQL (Structured Query Language) qui aacquis une popularité croissante au fil des années, notamment par sa gratuité et sonexploitation sur Internet [www.Postgres.com]. Il consiste en un serveur de base de données SQL Multi-Utilisateur et multi-thread.Nous avons utilisé PostgreSQL sous Linux, et nous avons utilisé l’utilitaire pgAdmin pourl’utiliser à distance à partir d’un client Windows. 1.3 Langage Python Python est un langage portable, dynamique, extensible, gratuit, qui permet (sanslimposer) une approche modulaire et orientée objet de la programmation. Python estdéveloppé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles. Détaillons un peu les principales caractéristiques du langage Python: Portable : Il est supporté par les différents systèmes d’exploitation ; Gratuit ; Simple : Il possède une syntaxe très simple tout en combinant des types de données évolués (listes, dictionnaires…) ; Absence des pointeurs ; Il est orienté objet et supporte l’héritage multiple et la surcharge des opérateurs ;Master Spécialisé : Qualité du Logiciel Rapport de Stage 2008/2009 60

×