Conception et réalisation d'un système d'information de gestion du stock pour des boissons aromatisées aux fruits.( Télécharger le fichier original )par Marouane BENDALI Université Saad Dahlab Blida1 - Licence Informatique générale 2014 |
Chapitre II :ConceptionAprès avoir connu la situation existante dans le chapitre précédent et compris le fonctionnement du système actuel, nous allons présenter dans ce chapitre la conception et la modélisation du futur système (application). La phase de conception nécessite des méthodes ou des langages permettant la mise en place d'un modèle sur lequel on va s'appuyer, nous avons décidé de choisir le langage de modélisation UML en passant par la démarche suivante : La présentation d'un modèle se compose de plusieurs documents en langage courant et d'un document formalisé, elle ne doit en aucun cas se limiter au seul document formalisé car celui- ci est pratiquement incompréhensible si on le présente seul. Ses objectifs sont de comprendre, de concevoir, de communiquer et de documenter la solution informatique apportée à un système. Le modèle est réalisé par étapes successives, chaque étape enrichissant et précisant les résultats de la précédente. On doit préciser le processus d'élaboration des modèles, pour cela nous avons choisi le processus de développement en cascade qui découpe le projet en phase distinct, lorsqu'une phase est achevée, son résultat sert de point d'entrée à la phase suivante, les unes après les autres. L'avantage de ce processus est de proposer exactement une démarche de réduction des risques en minimisant l'impact des incertitudes. L'inconvénient est l'exclusion de l'utilisateur dès la phase conception car elle est trop technique. Figure 3 : Le modèle en cascade du langage UML UML << Unified Modeling language >> ou encore en français << Un langage de modélisation unifié >> offre un standard de modélisation, pour représenter l'architecture logicielle, il offre une manière claire de représenter le système selon différentes vues complémentaire grâce aux diagrammes qu'il fournit. Ce langage est né de la fusion de plusieurs méthodes existantes auparavant : · OMT (objet Modeling Techniq) de JAMESRUBGH. · OOD (objet Oriented Design) de GRAY BOOCH. · OOSE (Objet Oriented Softwer Engunering) de IVRA JACOBSON. UML permet de définir et de visualiser un modèle, à l'aide de diagrammes. Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis du modèle. Chaque type de diagramme UML possède une structure (les types des éléments de modélisation qui le composent sont prédéfinis) et véhicule une sémantique précise (il offre toujours la même vue d'un système). Combinés, les différents types de diagrammes UML offrent une vue complète des aspects statiques et dynamiques d'un système. UML 2.0 comporte treize types de diagrammes représentant autant de vues distinctes pour représenter des concepts particuliers du système d'information. Ils se répartissent en deux grands groupes :
Ø Diagramme de classes. Ø Diagramme d'objets. Ø Diagramme de composants. Ø Diagramme de déploiement. Ø Diagramme de paquetages. Ø Diagramme de structures composites.
Dons notre projet, nous avons utilisé 3 digrammes qui sont les plus utilisés lors de la modélisation (cas d'utilisation, séquence, classes).
La mise en pratique d'UML nécessite un apprentissage qui passe par une période d'adaptation.
L'analyse des besoins est la première étape de la conception qui consiste à analyser la situation pour tenir compte des contraintes et des risques. C'est une méthode qui permet de caractériser le besoin exprimé. Notre système doit faire la mise à jour du fichier auxiliaire, avec des entrée est des sorties des articles et permettre aussi de faire la comparaison entre le fichier auxiliaire et le physique existant lors des inventaires et de faire ressortir, par la suite, les différences. Ce système permet au responsable de contrôler le patrimoine de son entreprise et de lui permettre de suivre son développement futur. Ces informations doivent être fiables, synthétiques et disponibles. II.5.1.1.Spécification : Pour les vues dynamiques, on montre le fonctionnement et le comportement du système résultant de la spécification, ce qui permet d'utiliser le « diagramme de cas d'utilisation ». · Définition : Le diagramme de cas d'utilisation représente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système. C'est le premier diagramme du modèle UML, celui où s'assure la relation entre l'utilisateur et les objets que le système met en oeuvre. Il permet de décrire l'interaction entre les trois concepts suivants :
Un cas d'utilisation modélise donc un service rendu par le système, sans imposer le mode de réalisation de ce service. Un cas d'utilisation se représente par une ellipse contenant le nom du cas (un verbe à l'infinitif). · Identification des acteurs : L'étude préliminaire des besoins fonctionnels a révélé la présence de 4 acteurs :
Figure 4 : diagramme de cas d'utilisation générale Nous détaillons dans ce qui suit les cas d'utilisations suivantes :
Figure 5 : diagramme de cas d'utilisation des commandes produits finis Figure 6 : diagramme de cas d'utilisation gestion des ventes
Figure 7 : Diagramme de cas d'utilisation gestion des produits en stocks Cette partie représente le système physique et l'interaction du système, les diagrammes utilisés lors de cette phase sont les diagrammes de séquence et de classe. Définition : Le diagramme de séquence est un diagramme d'interaction mettant l'accent sur la chronologie de l'envoi des messages. Montrer explicitement les interactions pouvant intervenir entre des objets. Représenter les interactions en favorisant une vision temporelle de celles-ci. Préciser la chronologie des interactions en précisant les contraintes temporelles. Le diagramme de séquences permet de cacher les interactions d'objets dans le cadre d'un scénario d'un diagramme des cas d'utilisation. Dans un souci de simplification, on représente l'acteur principal à gauche du diagramme, et les acteurs secondaires éventuels à droite du système. Le but étant de décrire comment se déroulent les actions entre les acteurs ou objets. La dimension verticale du diagramme représente le temps, permettant de visualiser l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages. Figure 8 : Diagramme de séquence cas authentification Figure 9 : Diagramme de séquence ajouter client Figure 10 : Diagramme de séquence ajouter paiement II.5.4.5.Diagramme de séquence établir commande : Figure 11 : Diagramme de séquence établir commande Figure 12 : Diagramme de séquence établir PV réception Figure 13 : Diagramme de séquence établir bon de commande Figure 14 : Diagramme de séquence établir bon de sortie Figure 15 : Diagramme de séquence établir facture Figure 16 : Diagramme de séquence imprimer PV réception Figure 17 : Diagramme de séquence imprimer bon de commande Figure 18 : Diagramme de séquence imprimer bon de sortie Figure 19 : Diagramme de séquence imprimer facture Figure 20 : Diagramme de séquence modifier client Figure 21 : Diagramme de séquence modifier PV réception Figure 22 : Diagramme de séquence modifier commande Figure 23 : Diagramme de séquence recherche produit Figure 24 : Diagramme de séquence supprimer client Figure 25 : Diagramme de séquence supprimer commande Le diagramme de classes est considéré comme le plus important de la modélisation orientée objet, il est le seul et l'obligatoire lors d'une telle modélisation. Il s'agit d'une vue statique, car on ne tient pas compte du facteur temporel dans le comportement du système. Chaque langage de Programmation « orienté objet » donne un moyen spécifique d'implémenter le paradigme objet (pointeurs ou pas, héritage multiple ou pas, etc.), mais le diagramme de classes permet de modéliser les classes du système et leurs relations indépendamment d'un langage de programmation particulier. Le diagramme de cas d'utilisation montre un système du point de vue des acteurs, alors que le diagramme de classes en montre la structure interne. Le diagramme de classes permet de représenter l'ensemble des informations finalisées qui sont gérées par le domaine. Ces informations sont structurées, c'est-à-dire qu'elles sont regroupées dans des classes. Le diagramme de classes modélise les concepts du domaine d'application ainsi que les concepts internes créés de toutes pièces dans le cadre de l'implémentation d'une application. Le diagramme de classes met en oeuvre des classes, contenant des attributs et des opérations, et reliées par des associations ou des généralisations. Avant d'établir le diagramme de classe, il fallait déterminer les principales règles de gestion. Le diagramme de classe du système se base sur les règles de gestion suivantes :
La collection et l'analyse des informations nous a permis d'établir le dictionnaire de données ci-dessous :
Figure 26 : Diagramme de classe Définition : Le modèle relationnel est une manière de modéliser les informations contenues dans une base de données qui repose sur des principes mathématiques. On appelle relation un ensemble d'attributs qui définissent un fait. C'est le premier modèle de base de données indépendant des critères, il permet :
Dans le modèle relationnel tout est définie comme relation même les classes ainsi les associations et des liens sont représentés de façon unique. Les règles de passage - Les individués : chaque individu se transforme en une table. - Les propriétés : deviennent des attributs de la relation. - Les identifiants : chaque identifient devient la clé primaire. Relation <<père-fils>> - La cardinalité de l'individu père (0-n) et la cardinalité l'individu fils (1-1). - L'identifiant de l'individu père devient attribut de la table fils. - Cet attribut est appelé clé étrangère. - La propriété de l'association devient les attributs de la table fils. Client (ID_Client, Nom_C, Prénom_C, Adr_C, Email_C, Num_Tel, Num_RC_C, Num_MF_C). Commande Client (ID_commande_C, Date_Com_C, ID_Client*) Produit Fini (ID_Prod, Int_Prod, Prix_unit) Commande Fournisseur (ID_Commande_F, Date_Com_F) PV de Réception (ID_PV, Date_PV, ID_Facture_F*) Facture Client (ID_Facture_C, Date_Facture_C, Paiement_C, Prix_Total_F, ID_commande_C*) Facture Fournisseur (ID_Facture_F, Date_Facture_F, Prix_Total_F, ID_Commande_F*) Contient 1(ID_Prod,ID_Commande_F, Qte_Commander) Contient 2(ID_commande_C,ID_Prod, Qte_Commander) Contient 3(ID_Prod,ID_Facture_C, Qte_délivré) Contient 4(ID_Prod,ID_Facture_F, Qte_acheter, Date_Fab, Date_Exp) Contient 5(ID_Prod,ID_PV, Qte_théo_recu, Qte _manq, Qte _avérer) Remarque : Clé primaire : Clé étrangère. :* Règle1 : une classe devient une table, ses attributs deviennent ceux de la table et son identifiant est la clé primaire de cette dernière. Règle2 : pour chaque association "plusieurs à plusieurs " on crée une nouvelle table, la clé primaire est la concaténation des clés des relations traduisant les classes intervenantes dans l'association. - Règle3 : une association "un à plusieurs" est traduite en incluant dans la relation de multiplicité 1 la clé primaire de l'autre comme clé étrangère. - Règle4 : une association "un à un" est traduite en incluant la clé primaire de l'une des relations comme clé étrangère dans l'autre. - Règle5 : la traduction d'une association n_aire est une relation ayant comme clé primaire, un sous ensemble des clés de relations traduisant les classes qui intervient dans l'association. - Règle6 :L'héritage se traduit par une table pour chacune des sous classes en reportant les attributs de la super classe dans les tables des sous classes. - Pour la création des tables de notre base de données on a utilisés Microsoft SQL Server 2014 - Le schéma suivant représente le Modèle logique des données correspondant à notre système. Figure 27 : Modèle Logique des données du Système A l'issue de ce chapitre nous avons appris à mieux connaitre la conception du système, c'est une phase très long et pénible, chaque étape de la conception est très importante, tout en respectant leurs normes grâce à la conception UML et le processus du développement en cascade, elle doit être effectuée en tenant compte des résultats des étapes qui la précèdent, elle permet de dégager l'architecture générale de notre application web représentée dans le prochain chapitre. |
|