Gestion de Production Assistée par Ordinateur (GPAO)

Gestion de Production Assistée par Ordinateur (GPAO)

Cahier des charges

L’objet de l'étude de cas est de construire un système d’information et sa gestion des articles, nomenclature de fabrication, postes de charge, gammes de fabrication, mouvements de stock et inventaires d’une entreprise manufacturière.

L'application de type CRUD (Create – Read - Update - Delete) doit permettre de créer, lire, modifier et supprimer toutes les données du système d’information.

Projet Enterprise Architect ver. 15.2

Script JavaDB SQL

Script Oracle SQL

GPAO, articles

GPAO, nomenclature de fabrication

GPAO, UML Class Diagram

GPAO, UML Class Diagram (Enterprise Architect)

GPAO, postes de charge

GPAO, gammes de fabrication

GPAO, UML Class Diagram cont'd

GPAO, UML Class Diagram cont'd (Enterprise Architect)

GPAO, mouvements de stock

GPAO, UML Class Diagram cont'd

GPAO, UML Class Diagram cont'd (Enterprise Architect)

GPAO, OCL

Les articles de type « Pièce » et « MP » (Matière Première) n'ont pas de gamme de fabrication.

context Article inv:
    self.oclIsTypeOf(Pièce) implies
        self.gamme de fabrication->isEmpty() and
        self.oclIsTypeOf(MP) implies
            self.gamme de fabrication->isEmpty()

Constraint validation in Enterprise Architect ver. 15.2: here… (constraint type must be set to OCL: select package including constraint(s) and next Design (Model) >> Manage >> Validate >> Validate Current Package)

GPAO, implémentation SQL

create table Article(
    reference varchar(30),
    designation varchar(30) not null,
    -- autres propriétés ici...
    constraint Article_pk primary key(reference),
    constraint Article_unique unique(designation),
    constraint Article_check check(PF_ou_MP_ou_Piece_ou_SE = 'PF' or PF_ou_MP_ou_Piece_ou_SE = 'MP' or
                                   PF_ou_MP_ou_Piece_ou_SE = 'Pi' or PF_ou_MP_ou_Piece_ou_SE = 'SE'));
create table Lien_de_nomenclature(
    compose varchar(30),
    composant varchar(30),
    quantite_de_composition float not null,
    constraint Lien_de_nomenclature_pk primary key(compose,composant),
    constraint Lien_de_nomenclature_fk_1 foreign key(compose) references Article(reference) on delete cascade,
    constraint Lien_de_nomenclature_fk_2 foreign key(composant) references Article(reference) on delete cascade,
    constraint Lien_de_nomenclature_check check(compose <> composant));

© Franck Barbier