WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception d'un service vidéo pour terminaux portables de type smartphone

( Télécharger le fichier original )
par Rodrigue Monjouo Mounjouopou
Ecole Supérieure Multinationale de Télécommunication - Licence Professionnelle / Ingénieur des Travaux de Télécomunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Conclusion

Les objectifs étant à présent clairement exposées, il convient de choisir une méthodologie de recherche et de travail appropriée. En effet, un projet de ce genre, nécessite la mise en place d'un planning organisationnel tout au long de son cycle de vie. C'est ainsi qu'apparait la notion de méthode.

Une méthode, dans le contexte du développement d'applications, peut être définie comme une démarche fournissant une méthodologie et des notations standards qui aident à concevoir des services de qualité.

Dans la partie suivante, nous ferons une étude approfondie de l'ensemble des méthodes d'analyse et de conception existantes. Enfin nous effectuerons un choix parmi ces dites méthodes.

PARTIE 2 : Méthodologie d'Analyse et de Conception

Chapitre 3 : Méthodologie de la recherche et de l'implémentation

Modéliser un système avant sa réalisation permet de mieux comprendre le fonctionnement du système. C'est également un bon moyen de maîtriser sa complexité et d'assurer sa cohérence. Un modèle est un langage commun, précis, qui est connu par tous les membres de l'équipe et il est donc, à ce titre, un vecteur privilégié pour communiquer. Cette communication est essentielle pour aboutir à une compréhension commune aux différentes parties prenantes (notamment entre la maîtrise d'ouvrage et la maîtrise d'oeuvre informatique) et précise d'un problème donné.

Dans le domaine de l'ingénierie du logiciel, le modèle permet de mieux répartir les tâches et d'automatiser certaines d'entre elles. C'est également un facteur de réduction des coûts et des délais. Par exemple, les plateformes de modélisation savent maintenant exploiter les modèles pour faire de la génération de code (au moins au niveau du squelette) voire des allers-retours entre le code et le modèle sans perte d'information. Le modèle est enfin indispensable pour assurer un bon niveau de qualité et une maintenance efficace car, une fois mise en production, l'application va devoir être maintenue, probablement par une autre équipe et, qui plus est, pas nécessairement de la même société que celle ayant créée l'application. Le choix du modèle a donc une influence capitale sur les solutions obtenues. Les systèmes non triviaux sont mieux modélisés par un ensemble de modèles indépendants. Selon les modèles employés, la démarche de modélisation n'est pas la même.

Mais avant de se lancer dans les différentes méthodes d'analyse, de conception et d'implémentation, revoyant certaines définitions de concepts de base clés qui nous permettront de garder la tête émergée.

III.1 L'analyse

L'analyse correspondant à la phase qui répond à la question « que fait le système », l'analyse est l'une des étapes les plus importantes et les plus difficiles de la modélisation. Elle permet de modéliser le domaine d'application, d'analyser l'existant et les contraintes de réalisation. Elle s'effectue par une abstraction et une séparation des problèmes. Elle peut être découpée en trois phases que sont :

La définition des besoins

Il s'agit d'identifier les acteurs et les cas d'utilisation, de structurer le modèle, et d'identifier les autres exigences.

La capture des besoins

Elle consiste à collecter des informations (interviews, lecture de documentation) et à la compréhension du domaine et du problème posé.

A ce niveau il s'agit de restituer les besoins dans un langage compréhensible par le client et de procéder à l'identification, à la structuration et à la définition d'un dictionnaire.

La spécification des besoins

Dans cette phase il sera question d'aller à un niveau de spécification plus détaillé voire même plus formel des besoins. Elle sera d'une grande utilité pour le client mais aussi pour le développeur.

A la fin de cette phase d'analyse un modèle conceptuel sera disponible, lequel modèle sera un outil fondamental lors de la phase de conception.

III.2 La conception

Phase menée à la suite de l'analyse des besoins, la conception met en oeuvre tout un ensemble d'activités qui à partir d'une demande d'informatisation d'un processus permettent la conception, l'écriture et la mise au point d'un produit informatique (et donc de programmes informatiques) jusqu'à sa livraison au demandeur. Elle a comme objectifs de répondre à la question « comment faire le système ?» et de décomposer de façon modulaire le système à mettre en place. La conception définit l'architecture du logiciel. Elle définit par la même occasion chaque constituant du logiciel (Informations traitées, traitements effectués, résultats fournis, contraintes à respecter. A la suite un modèle logique utilisable à la phase d'implémentation est produit.

III.3 L'implémentation

Cette phase consiste à la mise en oeuvre des programmes dans un langage de programmation conformément aux spécifications définies dans les phases précédentes. Elle renferme en son sein les phases de test et de mise au point (débogage). A la sortie il sera produit un modèle physique (collection de modules implémentés mais non testés, documentation de programmation expliquant le code).

III.3.1 Classification des méthodes d'analyse et de conception

Malgré la diversité des méthodes d'analyse et de conception, il est possible de les classer en trois catégories :

Les méthodes cartésiennes ou fonctionnelles

Avec cette méthode, le système étudié est abordé par les fonctions qu'il doit assurer plutôt que par les données qu'il doit gérer. Le processus de conception est vu comme un développement linéaire. Il y a décomposition systématique du domaine étudié en sous domaines, eux-mêmes décomposés en sous-domaines jusqu'à un niveau considéré élémentaire. SADT (Structured-Analysis-Design-Technique) en est un exemple.

Les méthodes objet

Ce sont des méthodes consistant à créer une représentation informatique des éléments du monde réel auxquels on s'intéresse, sans se préoccuper de l'implémentation, ce qui signifie indépendamment d'un langage de programmation. Il s'agit donc de déterminer les objets présents et d'isoler leurs données et les fonctions qui les utilisent. Pour cela des méthodes ont été mises au point. Entre 1970 et 1990, de nombreux analystes ont mis au point des approches orientées objets, si bien qu'en 1994 il existait plus de 50 méthodes objet. Toutefois seules 3 méthodes ont véritablement émergé :

- La méthode OMT de Rumbaugh

- La méthode BOOCH'93 de Booch - La méthode OOSE de Jacobson

Les méthodes agiles

Les méthodes de développement dites « méthodes agiles » (en anglais Agile Modeling) visent à réduire le cycle de vie du logiciel (donc accélérer son développement) en développant une version minimale, puis en intégrant les fonctionnalités par un processus itératif basé sur une écoute client et des tests tout au long du cycle de développement.

L'origine des méthodes agiles est liée à l'instabilité de l'environnement technologique et au fait que le client est souvent dans l'incapacité de définir ses besoins de manière exhaustive dès le début du projet. Le terme « agile » fait ainsi référence à la capacité d'adaptation aux changements de contexte et aux modifications de spécifications intervenant pendant le processus de développement. En 2001, 17 personnes mirent ainsi au point le manifeste agile dont la traduction est la suivante :

- individus et interactions plutôt que processus et outils

- développement logiciel plutôt que documentation exhaustive

- collaboration avec le client plutôt que négociation contractuelle - ouverture au changement plutôt que suivi d'un plan rigide

Grâce aux méthodes agiles, le client est pilote à part entière de son projet et obtient très vite une première mise en production de son logiciel. Ainsi, il est possible d'associer les utilisateurs dès le début du projet. Comme méthode agile nous pouvons citer eXtreme Programming (XP).

Les méthodes systémiques

Les méthodes systémiques sont des méthodes s'appuyant sur une approche systémique. Elles définissent différents niveaux de préoccupation ou d'abstraction et proposent de nombreux modèles complémentaires. Les méthodes systémiques sont souvent spécialisées pour la conception d'un certain type de systèmes. Comme exemple de méthode systémique nous pouvons citer MERISE, AXIAL ...

III.3.2 Choix d'une méthode d'analyse et de conception

Pour l'analyse et la conception de notre application nous opterons pour une méthode systémique notamment la méthode MERISE. Une méthode étant un assemblage d'une démarche et d'un langage de modélisation, nous allons choisir le tandem le plus adéquat.

Rappel sur Merise

Un système d'information est un système organisé de ressources, de personnes et de structures qui évoluent dans une organisation et dont le comportement coordonné vise à atteindre un but commun. Les systèmes d'information sont censés aider les utilisateurs dans leurs activités : stocker et restaurer l'information, faire des calculs, permettre une communication efficace, ordonnancer et contrôler des tâches, etc.

Dans ce contexte, la méthode Merise s'avère appropriée ; c'est une méthode française d'analyse et de conception des systèmes d'information, élaborée en 1978 sous la direction du ministère de l'Industrie français. L'année 1981 a connu l'apparition de Merise version 1 qui s'est enrichie des premières années d'expérience. En 1991, la version 2 de Merise a vu le jour, elle est une extension de la méthode Merise version 1, elle intègre les flux et les données aux principes de traitement. La puissance de cette approche réside dans le fait qu'elle permet de schématiser les niveaux d'abstraction et offre un niveau de granularité adaptable à tous les besoins. Elle utilise :

- un modèle fonctionnel basé sur les diagrammes de flux ;

- un modèle statique basé sur l'Entité-Association enrichi de méthodes de - traitement ;

- un modèle dynamique des objets explicitant le contrôle et les - interactions des objets.

Merise sépare les données et traitements et définit trois niveaux d'abstraction qui permettent de décomposer les préoccupations du concepteur.

- Le niveau conceptuel s'appuie sur les invariants, il répond à la question «quoi ?» - Le niveau organisation et logique précise les aspects pratiques (qui fait

- quoi ?) et la vision informatique de la solution (comment ?).

- Le niveau physique décrit l'outil informatique (avec quoi ?).

Les niveaux d'abstraction de Merise ainsi que ces modèles correspondants sont présentés dans le tableau suivant :

Niveau

Statique (données)

Dynamique (traitements)

 

Conceptuel

MCD

MCT

Indépendant du système,

quoi ?

Organisationnel et Logique

MLD

MOT

Choix SGBD Qui fait quoi ? comment ?

Physique

MPD

MOPT

Maîtrise du SGBD, avec

quoi ?

Tableau II.1 : Les niveaux d'abstraction de Merise

Par ailleurs, la méthode Merise présente une approche par étapes itératives et réalisées successivement. Les étapes de Merise sont représentées avec leur ordre de réalisation dans le tableau suivant :

 

Nom de l'étape

Description

1

Schéma directeur

Approche globale du développement

2

Etude préalable

Etude des différentes solutions possibles puis choix de la solution appropriée

3

Analyse détaillée

Complément des spécifications du domaine, étude détaillée

4

Analyse technique

Spécifications techniques complètes

5

Réalisation

Ecriture des programmes, tests, essais, formation utilisateur

6

maintenance

Correction et adaptation du logiciel

Tableau II.2 : les étapes de Merise

L'utilisation de Merise s'est progressivement étendue dans les services informatiques des entreprises et des administrations. Aujourd'hui, elle est utilisée dans plus de 75 % des services informatiques en France. Cette large diffusion est due à son évolution et à son adaptation aux nouvelles technologies : architectures client/serveur, interfaces graphiques, démarche de développement rapide, approche objet, applications ouvertes intranet/intemet. Elle correspond aussi et globalement aux savoir-faire actuels en ingénierie de systèmes d'information et de gestion. L'utilisation de la méthode Merise dans le cas de la bibliothèque universitaire est justifiée par le fait que :

- Merise est une méthodologie qui dispose de beaucoup d'outils de développement informatique tel que AMC Designer, Power Designer, Designor.

- Merise est présentée souvent comme une méthode d'analyse informatique, elle offre une démarche rigoureuse pour l'établissement des systèmes d'information.

- Merise sort du domaine de l'informatique pure pour s'intéresser à la gestion des organisations concernées

La Méthodologie MERISE

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rêvent de jour ont conscience de bien des choses qui échappent à ceux qui rêvent de nuit"   Edgar Allan Poe