UML/génie logiciel

17

Transcript of UML/génie logiciel

UML/génie logiciel

Diagramme d’acteurs

Diagramme de contexte statique

Tableau des exigences

Réf Exigence ActeurE1 Choisir catégorie clientE2 Consulter listes filmes ClientE3 Consulter fiche filmes ClientE4 Rechercher film par nom ClientE5 Rechercher film par acteur ClientE6 Choisir film ClientE7 Payer film ClientE8 Retirer cassette et ticket clientE9 Récupérer les pièces Agent de MaintenanceE10 Alimenter GAV par des cassettes Agent de Maintenance

UML/génie logiciel

Regroupement des exigences par intention

Réf Exigence Intention ActeurI1 E1 Choisir

catégorieClient

I2 E2, E3 Consulter film ClientI3 E4, E5 Rechercher film ClientI4 E6, E7, E8 Acquérir film ClientI5 E9, E10 Maintenir GAV Agent

Diagramme de use case

UML/génie logiciel

Description textuel de haut niveauNom : Choisir catégorieRôle : permet au client de choisir une catégorieEvènement déclencheur :

GAV allumé Client devant GAV

Terminaison : le client choisi la catégorieDate création :Version : 1.0Responsable :Acteur Principal : ClientActeur Secondaire : Sans.

Nom : Acquérir filmRôle : permet au client d’acheter une cassetteEvènement déclencheur :

Client veut acheter un filmTerminaison : Cassette et ticket sortisDate création :Version : 1.0Responsable :Acteur Principal : ClientActeur Secondaire : Sans.

Nom : Consulter filmRôle : permet au client de consulter les informations d’un filmEvènement déclencheur :

Le client choisi la catégorie de filmTerminaison : Les informations sont affichées (fiche)Date création :Version : 1.0Responsable :Acteur Principal : ClientActeur Secondaire : Sans.

UML/génie logiciel

Description textuel de bas niveau  

Nom : Consulter Film. Pré-condition : Films existe déjà dans la base de la donnéePost-condition : Affichage des informations.

Scénario nominal

Actions Acteur Actions Système1 : le client choisi catégorie. 2 : le sys affiche liste des

films.3 : le client choisi un film parmi la liste.

4 : le sys affiche la fiche présentative du film.

Nom : Acquérir Film. Pré-condition : GAV alimenter par film. Post-condition : enregistre l’opération dans la base de données.

Nom : Rechercher filmRôle : permet au client de retrouver un filmEvènement déclencheur :

Le client choisi recherche filmTerminaison : Les informations sont affichées Date création :Version : 1.0Responsable :Acteur Principal : ClientActeur Secondaire : Sans.

UML/génie logiciel

Scénario nominal

Actions Acteur Actions Système1 : le client paye le film 2 : le système demande insère les

pièces monétaires en Dirhams. 3 : le client insert les pièces monétaire.

4 : le système vérifie la validité des pièces.5 : le système éjecte la cassetteet le ticket.

6 : le client reprend la cassetteet le ticket

7 : le système enregistre l’opération dans la base de données

Enchaînement d’exception

E1 : la vérification de la validé des pièces monétaires échoué (pièce != 5 et pièce != 10 DH)

Le point de démarrage est 4 du SN.Le système se termine par un arrête de Use case.

E2 : la cassette n’est pas prise après un laps de temps

Le point de démarrage est 6 du SN.

Le système aval la cassette et annule l’opération.Le système se termine par un arrête de Use case.

Nom : Choisir catégorie. Pré-condition : Catégorie existe. Post-condition : chargement de la liste des films.

Scénario nominal

Actions Acteur Actions Système1 : le client choisie une catégorie.

2 : le système affiche les films qui correspondent au choix du client.

UML/génie logiciel

Nom : Recherche film. Pré-condition : film existe. Post-condition : chargement de la liste des films.

Scénario nominal

Actions Acteur Actions Système1 : le client choisie une option de recherche.

2 : le système affiche demande letitre du film ou le nom d’acteur.

3 : le client saisie les paramètres de recherche

4 : le système vérifie l’existence des films demandé 5 : le système affiche la liste des films.

6 : le client choisi un film parmi la liste.

7: le système affiche la fiche présentative du film.

Enchaînement alternatifs

A1 : film introuvable 

Le point de démarrage est de 4 du SN.

5 : le système affiche message «  aucun résultat obtenu ».Le Scénario nominal reprend au point 2.

Diagramme de séquence boite noire

Diagramme de sequence boite noire :Acquirir film et consulter film

UML/génie logiciel

Diagramme de sequence boite noire :Rechercher film

UML/génie logiciel

Digramme de classe d’analyse

UML/génie logiciel

Contrat d’opération de LARMAN

Use case : Acquérir film

Opération de LARMAN

-Choisir film- Payer film.- retire film.

Pré-condition client instanciéCatégorie créeFilm créeActeur créePrix crée

Post-condition -Récupérer catégorie.- Récupérer prix.- Récupérer acteur.-instancie film.- Récupérer montant film.- Récupérer date acquisition film.- instancier ticket.

Use case : consulter film

Opération de LARMAN

- Consulter film.

Pré-condition Catégorie créeFilm instanciéActeur créePrix crée

Post-condition -Récupérer catégorie.- Récupérer prix.- Récupérer acteur.

Use case : recherche film

Opération de LARMAN

- Recherche.

Pré-condition Catégorie crée

UML/génie logiciel

Film crée.Acteur créePrix crée

Post-condition -Instancier film.

Use case : choisir catégorie

Opération de LARMAN

- sélectionner catégorie.

Pré-condition Catégorie crée

Post-condition -Instancier film.

Diagramme de séquence boite blanche

UML/génie logiciel

Diagramme de classe de conception

Implémentation des classes avec java

Acteur:

import java.util.Vector;

public class Acteur {

private int idActeur;

UML/génie logiciel

private String nom;

private String prenom;

public Vector<Film> auteur = new Vector<Film>();

public Acteur() {

}

public Acteur getActeur(int idFilm) {

}

}

Catégorie   :

import java.util.Vector;

import Diagramme_de_classe_d_analyse.Categorie;

public class Catégorie {

private int idCategorie;

private String nom;

public Vector<Film> categorie = new Vector<Film>();

public Categorie() {

}

}

Film:

import java.util.Vector;

public class Film {

private int idFilm;

private String titre;

private int montant;

public Vector<Catégorie> film = new Vector<Catégorie>();

UML/génie logiciel

public Vector<Ticket> film = new Vector<Ticket>();

public Film() {

}

public Film getFilm(int idCategorie) {

}

public int getMontant( int idFilm) {

}

}

Acquisition :

public class Acquisition {

private int numOperation;

private Date dateEditoin;

public GAV acquisition;

public Film acquisition;

public Acquisition() {

}

public void setDate(date da) {

}

public Film getFilm( int idFilm) {

}

UML/génie logiciel

public Client getclient(int idClient) {

}

}

Prix   :

import java.util.Vector;

public class Prix {

private int idPrix;

private String libelle;

public Vector<Film> prix = new Vector<Film>();

public Prix () {

}

public String getPrix(int idfilm) {

}

}

Modèle logique de données

UML/génie logiciel

Elaboration de la base de données

create table acteur(IDacteur int primary key, nom varchar(50) not null, prenom varchar(50) not null)

create table categorie (IDcat int primary key, libellecat varchar(50) not null)

create table prix(IDprix int primary key,libelleprix varchar(50) unique not null)

create table gav(IDgav int primary key,adresse varchar(50) not null)

create table film(IDfilm int primary key, titre varchar(50) notnull, montant integer not null)

UML/génie logiciel

create table film_cat(IDfilm int constraint fk_f foreign key references film,IDcat int constraint fk_c foreign key references categorie, constraint pk_ap primary key(IDfilm,IDcat))

create table film_acteur(IDfilm int constraint fk_fi foreign key references film, IDacteur int constraint fk_acteur foreign key references acteur, nomrole varchar(50) not null,constraint pk_fc primary key(IDfilm,IDacteur))

create table recompence(IDfilm int constraint fk_fil foreign key references film, IDprix int constraint fk_prix foreign key references prix, daterec datetime not null, constraint pk_rec primary key(IDfilm,IDprix))

create table acquesition(IDope int primary key IDENTITY (1,1), Dateope datetime not null, IDfilm int not null constraint fk_film foreign key references film, IDgav int not null constraint fk_gav foreign key references GAV)