des Stages à l'ENSET-SKIKDA Réalisé par: Encadré par PDF

Title des Stages à l'ENSET-SKIKDA Réalisé par: Encadré par
Author Sihem Taibi
Pages 99
File Size 4.8 MB
File Type PDF
Total Downloads 27
Total Views 69

Summary

République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de 20 Août 1955 Faculté des Sciences Département de l’Informatique Mémoire de Fin d’Études Pour l’obtention du diplôme de Master en Informatique Option Génie Logiciel Ava...


Description

République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de 20 Août 1955 Faculté des Sciences Département de l’Informatique

Mémoire de Fin d’Études Pour l’obtention du diplôme de Master en Informatique Option Génie Logiciel Avancée et Applications - GLAA

Thème Une Étude Orientée Objectifs pour la Réalisation d'un Module sous Odoo de Gestion des Stages à l’ENSET-SKIKDA

Réalisé par: M

me

Encadré par:

TAIBI Sihem

Dr. SELLAMI Samir

Co-encadreur :

Pr. KISSOUM Yacine

Session: Juin 2021

Dédicace Dédicace Newton a bien dit « Si j’ai pu voir plus loin, c’est en montant sur les épaules des géants » Cette citation illustre parfaitement le fait que sans ceux qui nous ont aidées dans notre parcours, nous n’en serions pas là. C’est pourquoi nous tenons à adresser tous nos remerciements à ceux qui ont éclairé notre voie et nous ont apporté leur aide par leur disponibilité et leur assistance.

Je leur dédie ce travail, en particulier ma chère maman. À mon père qui s'est sacrifié et se sacrifie encore pour mon bonheur. À mes deux filles, Meriem et Aya que Dieu vous les préserve. À mon fils Adem, que Dieu vous le préserve. À ma grande et petite famille.

À tous ceux qui, de près ou de loin, Ont contribué à la finalisation de ce mémoire, Nous leur disons Merci !

i

Remerciements Remerciements

En tout premier lieu, je remercie le bon Dieu, tout-puissant, de m’avoir donné la force pour survivre, ainsi que le courage pour dépasser toutes les difficultés. Je tiens à remercier, les membres du jury qui me font l’honneur de participer à l’examen de ce travail. Je tiens tout d’abord à remercier l'enseignant SELLEMI Samir, Docteur à l’ENSET-SKIKDA, de m’avoir encadré, soutenu et fais partager sa passion pour la recherche et sa rigueur scientifique tout au long de ce projet. Un grand merci pour sa patience et sa disponibilité, ainsi que ses qualités humaines et scientifiques. Je remercie également l'enseignant KISSOUM Yacine, Professeur à l’Université de SKIKDA, de m’avoir co‐encadré, qui m'a donné son temps et son expertise et m'a soutenu pour mener à bien ce travail. Un grand merci au professeur AMYOT Daniel, Professeur à l'Université de Ottawa pour la documentation et toutes ces réponses instructives. Je remercie également le directeur de l’ENSET-SKIKDA, Mr. BOUDJAADAR Djamel qui m'a permis de poursuivre mes études, et pour son soutien continu. Je tiens également à remercie le sous-directeur de l’ENSET-SKIKDA, Mr. BABOURI Laidi qui m'a expliqué en détail le déroulement du la procédure des stages de perfectionnement. Je remercie également la responsable du service des stages, Mme. BOUAZIZI Amel qui ma donne l’expertise concernant la procédure générale du programme des stages. Je remercie tous ceux qui m'ont aidé directement ou indirectement à mener à bien ce travail.

ii

Résumé Résumé L'ingénierie des exigences est devenue une partie essentielle du développement des systèmes informatiques car elle contribue à la satisfaction des besoins des utilisateurs et des objectifs organisationnels, ainsi qu'au respect des contraintes, des délais et des budgets prédéfinis. Cependant, l'élicitation des exigences reste l'une des activités critiques et compliquées du génie logiciel. Dans ce travail, nous avons adopté une approche orientée objectif pour développer un module sous Odoo de gestion des stages de perfectionnement à l’ENSET-SKIKDA. Dans la phase analyse, nous avons utilisé l'outil jUCMNav qui offre deux langages complémentaires : le premier UCM pour la modélisation des processus métier avec la possibilité d'exécuter des scénarios sur les exigences fonctionnelles, et le second GRL pour exprimer et clarifier les exigences non fonctionnelles. Après l'analyse et la spécification des exigences du futur système, un accord de validation a été établi avec les parties prenantes. Cela a conduit au développement d'un cadre de qualité, qui nous a permis de passer de la phase d'analyse à la phase de conception. La mise en œuvre du futur système est conçue selon le paradigme MVC (Model View Controller) et sur une architecture web client-serveur. Il fonctionne à la fois sur une plateforme intranet avec une possibilité d'accès depuis l'extérieur via Internet. Les avantages offerts sont : 

L’automatisation des tâches de bureau courantes ;



Augmenter la productivité, réduire les coûts et améliorer la façon dont les opérations sont menées en accélérant les communications opérationnelles et l'exécution des procédures du programme de formation ;



Aider le corps enseignant-chercheurs et le personnel administratif à suivre les étapes en ligne de la candidature au programme de formation.

Ce travail nous a permis de maîtriser et de gérer le développement de logiciels, en particulier de spécifier des exigences de qualité, de les communiquer et de veiller à ce que toutes les parties prenantes approuvent ces exigences au tout début, pendant le développement ou si le logiciel doit être modifié. Ce travail nous a aidé à découvrir et à améliorer des compétences, notamment dans les domaines de l'analyse avancée des exigences, de la gestion de la configuration et de l'intégration des applications.

Mots-clés : Génie Logiciel, Ingénierie des Exigences, Odoo, ERP, Gestion des Stages.

iii

Abstract Requirements engineering has become an essential part of the development of information systems because it contributes to the satisfaction of user needs and organizational objectives, and to the respect of constraints, deadlines and predefined budgets. However, requirements engineering is one of the critical and complicated activities in software engineering. In this work, we adopted an objective-oriented approach to develop a module under Odoo framework for the management of internships at ENSET-SKIKDA. In the analysis phase, we used the jUCMNav tool, which offers two complementary languages: the first UCM for modelling business processes with the possibility to run scenarios on functional requirements, and the second GRL for expressing and clarifying non-functional requirements. After the analysis and specification of the future system requirements, a validation agreement was established with the stakeholders. This led to the development of a quality framework, which allowed us to move from the analysis phase to the design phase. The implementation of the future system is designed according to the MVC (Model View Controller) paradigm and on a client-server web architecture. It operates on both an intranet platform with the possibility of access from the outside via the Internet. The benefits offered are: 

Automation of routine office tasks;



Increase productivity, reduce costs and improve the way business is conducted by speeding up operational communications and the execution of training programme procedures;



Assist faculty and administrative staff with the online application process for the training programme.

This work has allowed us to master and manage software development, in particular to specify quality requirements, communicate them and ensure that all stakeholders approve these requirements at the very beginning, during the development of a project or if the software needs to be modified. This work has helped us to discover and improve skills, particularly in the areas of advanced requirements analysis, configuration management and application integration. Keywords: Software Engineering, Requirements Engineering, Odoo, ERP, Internship Management.

iv

‫ملخص‬ ‫أصبحت هندسة المتطلبات جز ًءا أساسيًا من تطوير أنظمة المعلومات ألنها تساهم في تلبية احتياجات‬ ‫المستخدم واألهداف التنظيمية من جهة‪ ،‬ومن جهة اخرى في احترام القيود والمواعيد النهائية والميزانيات‬ ‫المحددة مسبقًا ‪.‬رغم هذا‪ ،‬تبقى عملية استنباط المتطلبات من أحد األنشطة الحاسمة والمعقدة في هندسة‬ ‫البرمجيات‪.‬‬ ‫في هذا العمل‪ ،‬انتهجنا على طريقة تعتمد على االهداف لتطوير وحدة من نظام ‪ Odoo‬إلدارة تربصات‬ ‫تحسين المستوى في المدرسة العليا ‪ .ENSET-SKIKDA‬في مرحلة التحليل‪ ،‬استخدمنا أداة‪ ، jUCMNav‬التي‬ ‫توفر لغتين متكاملتين‪ :‬األولى ‪ UCM‬لنمذجة العمليات مع إمكانية تشغيل السيناريوهات على المتطلبات الوظيفية‪،‬‬ ‫والثانية ‪ GRL‬للتعبير عن المتطلبات الغير وظيفية وتوضيحها‪ .‬بعد اتمام التحليل وتحديد متطلبات النظام‬ ‫المستقبلي‪ ،‬تم إبرام اتفاقية تحقق مع أصحاب المصلحة المعنية‪ .‬أدى ذلك بالخروج بإطار عمل يضمن الجودة‪،‬‬ ‫والذي سمح لنا باالنتقال من مرحلة التحليل إلى مرحلة التصميم‪.‬‬ ‫تم تصميم تنفيذ النظام المستقبلي وفقًا لنموذج ‪ )Model View Controller( MVC‬وعلى بنية‬ ‫الويب زبون‪-‬خادم‪ .‬يمكن للنظام العمل على كل من منصة االنترانات الداخلية للمؤسسة مع إمكانية الوصول من‬ ‫الخارج عبر اإلنترنت ‪.‬المزايا المقدمة هي‪:‬‬ ‫‪ ‬رقمنة المهام المكتبية الروتينية ‪.‬‬ ‫‪ ‬زيادة اإلنتاجية وخفض التكاليف وتحسين طريقة إدارة األعمال من خالل تسريع تنفيذ إجراءات‬ ‫برنامج التدريب واالتصاالت التشغيلية‪.‬‬ ‫‪ ‬مساعدة أعضاء هيئة التدريس والموظفين في عملية الترشح عبر اإلنترنت لبرنامج تربصات‬ ‫تحسين المستوى في الخارج‪.‬‬ ‫لقد سمح لنا هذا العمل بإتقان تطوير البرامج وإدارتها‪ ،‬ال سيما لتحديد متطلبات الجودة‪ ،‬واإلبالغ عنها‬ ‫والتأكد من موافقة جميع أصحاب المصلحة على هذه المتطلبات في البداية‪ ،‬أثناء تطوير المشروع أو إذا كان‬ ‫البرنامج بحاجة إلى تعديل ‪.‬لقد ساعدنا هذا العمل في اكتشاف المهارات وتحسينها‪ ،‬ال سيما في مجاالت تحليل‬ ‫المتطلبات المتقدمة وإدارة اإلعدادات وتكامل التطبيقات ‪.‬‬

‫الكلمات المفتاحية‪:‬‬

‫هندسة البرمجيات‪ ،‬هندسة المتطلبات‪ ،‬أودو‪ ،Odoo-‬برامج تخطيط موارد المؤسسات‬

‫‪ ،ERP‬إدارة تربصات تحسين المستوي‪.‬‬

‫‪v‬‬

Table des matières Dédicace _________________________________________________________________________ i Remerciements ___________________________________________________________________ ii Résumé _________________________________________________________________________ iii Table des matières _________________________________________________________________ vi Liste des figures___________________________________________________________________ ix Liste des tableaux _________________________________________________________________ xi Introduction Générale ______________________________________________________________ 1 Chapitre I: Ingénierie des Exigences ___________________________________________________ 5 1. Introduction __________________________________________________________________ 6 2. Les concepts fondamentaux______________________________________________________ 6 1.1.

Génie logiciel __________________________________________________________ 6

1.2.

L'impact de l’IE sur la qualité logicielle ______________________________________ 7

1.3.

Les techniques d’élicitation des exigences : ___________________________________ 8

1.3.1. 1.3.2. 1.3.3. 1.3.4. 1.3.5. 1.3.6. 1.3.7. 1.3.8. 1.3.9. 1.3.10.

1.4.

L’analyse des exigences orienté objectifs ____________________________________ 11

1.4.1. 1.4.2.

1.5.

Le but ______________________________________________________________ 13 L’objectif ___________________________________________________________ 13 Le principe de décomposition des buts _____________________________________ 14

Notations et langages de l’IE ______________________________________________ 14

1.6.1. 1.6.2. 1.6.3.

1.7.

Hiérarchie des exigences _______________________________________________ 12 Catégories d’exigences _________________________________________________ 12

Le but versus l’objectif __________________________________________________ 13

1.5.1. 1.5.2. 1.5.3.

1.6.

Analyse des parties prenantes _____________________________________________ 8 Brainstorming _________________________________________________________ 8 Entretien _____________________________________________________________ 8 Analyse / Revue de documents ____________________________________________ 9 Groupe de discussion ___________________________________________________ 9 Analyse d'interface _____________________________________________________ 9 Observation __________________________________________________________ 9 Prototypage __________________________________________________________ 10 Ateliers de développement conjointes (JAD) / Exigences ______________________ 10 Enquête / Questionnaire ________________________________________________ 11

User Requirements Notation (URN) – Définition du langage ___________________ 14 Goal-oriented Requirement Language _____________________________________ 15 La notation Use Case Map (UCM) ________________________________________ 18

Modélisation des objectifs avec l’outil jUCMNav _____________________________ 18

1.7.1. 1.7.2. 1.7.1.

L’outil jUCMNav _____________________________________________________ 18 Qui a créé jUCMNav? _________________________________________________ 19 Comment l'outil-a-t ‘il été construit ? _____________________________________ 19

3. Conclusion __________________________________________________________________ 20 vi

Chapitre II: Spécification et Conception _______________________________________________ 21 1. Introduction _________________________________________________________________ 21 2. Analyse et spécification________________________________________________________ 21 2.1.

Faisabilité et analyse préliminaire __________________________________________ 21

2.1.1. 2.1.2.

2.2.

Analyse approfondie ____________________________________________________ 25

2.2.1. 2.2.2. 2.2.3. 2.2.4.

2.3.

Présentation de l’organisme d’accueil _____________________________________ 22 Comprendre le workflow _______________________________________________ 23 Modèle conceptuel des flux _____________________________________________ 25 Les parties prenantes externes ___________________________________________ 26 Les parties prenantes internes____________________________________________ 26 Le diagramme de contexte ______________________________________________ 28

Spécification en objectifs et stratégies_______________________________________ 29

2.3.1. 2.3.2. 2.3.3. 2.3.4.

Les objectifs du marché ________________________________________________ 29 Objectif des parties prenantes____________________________________________ 29 Négociation des exigences via la notation URN _____________________________ 30 Validation des exigences _______________________________________________ 41

3. La conception UML___________________________________________________________ 44 3.1.

Diagrammes d’activités __________________________________________________ 44

3.2.

Diagramme de séquence _________________________________________________ 47

3.3.

Diagramme de classes ___________________________________________________ 49

3.4.

Diagramme de déploiement _______________________________________________ 50

3.5.

OCL - Object Constraint Language _________________________________________ 50

4. Conclusion __________________________________________________________________ 51 Chapitre III: Mise en Œuvre ________________________________________________________ 52 1. Introduction _________________________________________________________________ 53 2. Les outils et environnements de travail ____________________________________________ 53 2.1.

Le système d’exploitation Ubuntu__________________________________________ 53

2.2.

Les ERPs et le Framework Odoo __________________________________________ 54

2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.2.6.

Les différents environnements de travail d’un ERP ____________________________ 55 L’architecture du système Odoo ___________________________________________ 57 Le modèle de conception MVC ____________________________________________ 57 Arborescence des dossiers Odoo ___________________________________________ 58 Structure d'un module Odoo _____________________________________________ 59

3. Les langages et environnements de développement __________________________________ 61 3.1.

PyCharm _____________________________________________________________ 61

3.2.

Git/Github ____________________________________________________________ 61

3.3.

Le Python ____________________________________________________________ 61

3.4.

PostgreSQL ___________________________________________________________ 61

3.5.

Langage XML _________________________________________________________ 62

4. Les étapes de développement du module «gestion des stages»__________________________ 62 4.1.

Installation Odoo12 sous Ubuntu __________________________________________ 62

4.2.

La configuration de notre module __________________________________________ 64 vii

4.2.1. 4.2.3.

La création d’une nouvelle base de données ________________________________ 64 La création des groupes et les comptes ____________________________________ 68

4.3.

Le développement des modèles ____________________________________________ 69

4.4.

Le développement des vues _______________________________________________ 72

4.5.

L’importation des données vers notre module ________________________________ 75

5. Conclusion __________________________________________________________________ 76 Conclusion générale ______________________________________________________________ 77 Liste des abréviations _____________________________________________________________ 80 Bibliographie ____________________________________________________________________ 81

viii

Liste des figures

Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig. Fig.

0.1 : Diagramme de Gantt de déroulement de notre projet. .......................................... 4 1.1: Hiérarchie des exigences . ...................................................................................... 12 1.2: Arbre de décomposition des buts[40].................................................................... 14 1.3: Sommaire des éléments principaux de la notation GRL [50]. ............................ 16 1.4: Sommaire des éléments principaux de la notation UCM [52]. ........................... 18 11.5 : Diagramme de déploiement de jUCMNav [55]. ............................................... 20 2.1: Organigramme de l’ENSET-SKIKDA – Structure d’accueil « Service des stages ». .................................................................................................................. 22 2.2: Diagramme de contexte. ......................................................................................... 28 2.3: L’exécution d’une stratégie d’évaluation avec l’algorithme GRL quantitative. ............................................................................................................ 35 2.4: L’exécution d’une stratégie d’évaluation avec l’algorithme GRL qualitatif. ................................................................................................................................. 36 2.5: L’exécution d’une stratégie d’évaluation avec l’algorithme GRL orienté contraintes. ............................................................................................................. 37 2.6: Exécution de scénario complet en UCM. .............................................................. 38 2.7: Exécution de scénario ...


Similar Free PDFs