Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Durée : 2 H
En cas d'ambiguïté dans le texte, levez cette ambiguïté en présentant votre
interprétation personnelle.
Traitez les questions dans l'ordre de votre choix. N'oubliez pas de commenter vos
programmes.
examenEMsi
Diagramme de classe
Classe Article :
public class Article {
protected int code;
protected String nom;
protected double prixHT;
reponse
Exercice 1 : Questions de cours
Une classe est un modèle permettant de construire des objets qui ont le même
comportement. On peut dire également une classe est moule permettent de construire
des objets qui ont le même comportement.
Une méthode en Java est utilisée pour modifier l’état d’un Objet et de renvoyer
l’état d’un Objet. Une fonction en C est utilisée pour effectuer des calculs….. Une
méthode est une fonction associée à un objet.
Une classe abstraite est une classe qui contient au moins une seule méthode
abstraite, par contre toutes les méthodes d’une interface sont abstraites.
La différence entre ArrayList et LinkedList :
ArrayList: est un tableau dynamique.
LinkedList : est une liste chainée.
La machine virtuelle permet :
l'interprétation du bytecode.
l'interaction avec le système d'exploitation.
la gestion de sa mémoire grâce au ramasse miettes.
Exercice 2 : QCM
Q1 : Réponse 4
Q2 : Réponse 1, 2 et 3
Q3 : Réponse 1
Q4 : Réponse 1, 3
Q5 : Réponse 2
Q6 : Réponse 2
Q7 : Réponse 1
Q8 : Réponse 1
Q9 : Réponse 2
Q10 : Réponse 1
Exercice 3 :
1. La classe Article :
}
2. Instance de la classe Article :
}
9. Les méthodes add et contains :
Exercice I :
On considère le modèle suivant :
ETUDIANT (NEtudiant, Nom, Prénom)
MATIERE (CodeMat, LibelléMat, CoeffMat)
EVALUER (NEtudiant, CodeMat, Date, Note)
Question :
1) Créer la base de données avec les clés primaire et étrangère.
2) Ajouter la colonne date de naissance dans Etudiant : DateN.
3) Ajouter la colonne Groupe : Groupe not null.
4) Ajouter la contrainte unique pour les deux attributs (NEtudiant, CodeMat).
5) Ajouter une colonne Age calculé automatiquement à partir de DateN.
6) Ajouter une contrainte, valeur entre 0 et 20 pour la note.
7) Créer une vue qui affiche la liste des étudiants (Groupe, Nom, Prénom) et leur
moyenne Général
Solution
Code:
USE Master
Go
Drop DataBase S5Ex1
Go
Create DataBase S5Ex1
Go
USE S5Ex1
Go
Create table ETUDIANT (NEtudiant int identity primary key, Nom varchar(30), Prénom
varchar(30))
Create table MATIERE (CodeMat int identity primary key, LibelleMat varchar(30),
CoeffMat int)
Create table EVALUER (NEtudiant int foreign key references ETUDIANT (NEtudiant) on
DELETE CASCADE, CodeMat int foreign key references MATIERE (CodeMat) on DELETE
CASCADE, Date smalldatetime, Note decimal(4,2))
Go
insert into ETUDIANT values('Ali','P-Ali')
insert into ETUDIANT values('Ahmed','P-Ahmed')
insert into ETUDIANT values('Imane','P-Imane')
insert into ETUDIANT values('Amine','P-Amine')
Select * from ETUDIANT
Go
AUTRES
//Q1
alter table Groupe add constraint C1 check(Annee in(1,2))
//Q2
alter table Stagiaire add constraint c2_fixe check (Tel_Fixe like '05________')
alter table Stagiaire add constraint c2_por check (Tel_Portable like '06________')
//Q3
alter table Stagiaire add constraint c3 check (E_Mail like '%@%.%')
//Q4
alter table Stagiaire add constraint c4 unique
(Nom_Stgr,Prenom_Stgr,Date_Naissance)
//Q5
alter table Groupe add constraint c5 check((Annee=1 and Code_Groupe like 'G[A-H]')
or (Annee=2 and Code_Groupe like 'G[1-8]'))
//Q6
alter table Note add default 0 for Note_1
alter table Note add default 0 for Note_2
alter table Note add default 0 for Note_3
alter table Note add constraint c6 check(Note_1 between 0 and 20 and Note_2 between
0 and 20 and Note_3 between 0 and 20)
//Q7
alter table Note add Moyenne as (Note_1+Note_2+Note_3)/3
//Source : www.exelib.net
AUTRES
Travail à faire:
Donnez les requêtes SQL permettant de réaliser les opérations suivantes :
//Q1
create table CLIENT (noclient int primary key identity(1,1),nom varchar(30),prenom
varchar(30),tel varchar(10) unique, adresse varchar(50),codepostal
varchar(5),constraint c1 check(tel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
[0-9][0-9]'),constraint c2 check(codepostal like '[0-9][0-9][0-9][0-9][0-9]'))
create table CIRCUIT(nocircuit int primary key, destination varchar(30),duree
float)
create table VOYAGE(novoyage int primary key,datev date,prix float,nbplacemax
int,nocircuit int foreign key references CIRCUIT(nocircuit))
create table INSCRIPTION (noclient int foreign key references
CLIENT(noclient),novoyage int foreign key references
VOYAGE(novoyage),date_inscription date default GETDATE(),primary key
(noclient,novoyage))
//Q2
insert into CLIENT values('NOM1','PRENOM1','0611111111','ADR1','11111')
insert into CLIENT values('NOM2','PRENOM2','0622222222','ADR2','22222')
insert into CLIENT values('NOM3','PRENOM3','0633333333','ADR3','33333')
//Q3
select COUNT(noclient) as "Nombre de clients"
from INSCRIPTION
where date_inscription between '11/02/2015' and '11/03/2015'
//Q4
select
c.nom,c.prenom,v.novoyage,i.date_inscription,v.datev,v.prix,r.destination,r.duree
from CLIENT c inner join INSCRIPTION i on c.noclient=i.noclient inner join VOYAGE v
on i.novoyage=v.novoyage inner join CIRCUIT r on v.nocircuit=r.nocircuit
//Q5
select v.novoyage,v.nbplacemax - COUNT(noclient) as "Nombre de places libres"
from INSCRIPTION i inner join VOYAGE v on i.novoyage=v.novoyage
group by v.novoyage,v.nbplacemax
//Q6
select c.noclient,c.nom,c.prenom, SUM(v.prix) as "montant total"
from CLIENT c inner join INSCRIPTION i on c.noclient=i.noclient inner join VOYAGE v
on i.novoyage=v.novoyage inner join CIRCUIT r on v.nocircuit=r.nocircuit
group by c.noclient,c.nom,c.prenom
//Q7
update VOYAGE
set prix=prix+prix*10/100,nbplacemax=nbplacemax+nbplacemax*20/100
where novoyage in
(
select v.novoyage
from INSCRIPTION i inner join VOYAGE v on i.novoyage=v.novoyage
group by v.novoyage,v.nbplacemax
having COUNT(noclient)=v.nbplacemax
)
//Q8
delete from CLIENT
where noclient in
(
select noclient
from INSCRIPTION
group by noclient
//having MAX(date_inscription)<cast(DATEADD(year,-3,GETDATE()) as DATE)
having DATEDIFF(year,MAX(date_inscription),GETDATE())>3
)
//Source : www.exelib.net
AUTRES
Travail à faire:
Donnez les requêtes SQL permettant de réaliser les opérations suivantes :
AUTRES
Travail à faire:
Créer la base de données EMPLOYES.
Créez une vue V_EMP contenant : le matricule, le nom, le numéro de département, la
somme de la commission et du salaire nommé GAINS, le lieu du département.
Sélectionnez les lignes de V_EMP dont le salaire total est supérieur à 10.000
Essayez de mettre à jour le nom de l'employé de matricule 1 à travers la vue V_EMP.
Créez une vue V_EMP10 qui ne contienne que les employés du département 10 de la
table EMP (n'utilisez pas l'option CHECK pour cette création). Insérez dans cette
vue un employé qui appartient au département 20.
Essayez ensuite de retrouver cet employé au moyen de la vue V_EMP10 puis au moyen
de la table EMP.
Détruisez cette vue VEMP10 et recréez-la avec l'option CHECK.
Essayez d'insérer un employé pour le département 30. Que se passe-t-il ? Essayez de
modifier le département d'un employé visualisé à l'aide de cette vue.
Afficher la liste des matricules, noms et salaires des employés avec le pourcentage
par rapport au total des salaires de leur département (utilisez une vue qui
fournira le total des salaires).
//Source : www.exelib.net
21 Déc
2015
Les Vues SQL - Base de données EMPLOYES
CHAOULID | SQL | Chapitre: Les Vues SQL | 31487 visites | Facile | Corrigé
Enoncé
Solution
//Auteur: CHAOULID
//Copyright: Exelib.net
//Q1
create database EMPLOYES
go
use EMPLOYES
//Q2
create view V_EMP
as
select e.matricule,e.Nom,e.Prenom,e.Num_Dept,e.Salaire+ISNULL(e.Commission,0) as
"GAINS",d.Ville_Dept
from EMP e inner join DEPT d on e.Num_Dept=d.Num_Dept
//Q3
select *
from V_EMP
where GAINS>10000
//Q4
update V_EMP
set Nom='NOM11'
where matricule=1
//Q5
//Q6
drop view V_EMP10
//Q7
select * from V_EMP10
insert into V_EMP10 values(7,'NOM7','PRENOM7',7000,400,30)
update V_EMP10
set Num_Dept=20
where matricule=2
// les deux requêtes ci-dessus échouent parce que les modifications apportées ne
satisfont pas la condition spécifiée dans la vue crée avec l'option "with check
option"
//Q8
create view V_SOMME_SALAIRES_DEPT as
select Num_Dept,SUM(Salaire) as "Somme_Salaires"
from EMP
group by Num_Dept
select e.matricule,e.Nom,e.Prenom,e.Salaire,cast((e.Salaire*100)/s.Somme_Salaires
as varchar) +'%' as "Pourcentage"
from EMP e inner join V_SOMME_SALAIRES_DEPT s on e.Num_Dept=s.Num_Dept
//Source : www.exelib.net
AUTRES
Travail à faire:
Créez toutes les tables avec les contraintes d’intégrité PK et FK, et ajouter un
enregistrement par table.
Ajouter une contraint strictement positif (>) pour Montant.
Modifier la valeur Null des Montants par la valeur 0
Modifier les villes des Clients en minuscule
Augmenter le solde de tous les clients habitant “Rabat” de “0,5%”
Afficher la Liste des clients dont le nom se termine par E et le quatrième
caractère est un A.
Afficher la Liste des agences ayant des emprunts-clients.
Afficher la liste des clients ayant un emprunt à “Casa”
Afficher la liste des clients ayant un compte et un emprunt à “Casa”
Afficher la liste des clients ayant un emprunt à la ville où ils habitent.
Afficher la liste des clients ayant un compte et emprunt dans la même agence
Afficher l'emprunt moyenne des clients dans chaque agence
Afficher le totale emprunté par client
Afficher Le client qui a le moins des totaux emprunts
Afficher les clients ayant un compte dans toutes les agences de “Rabat”
//Source : www.exelib.net
AUTRES
//Q1
create database EMPRUNTS
go
use EMPRUNTS
//Q2
alter table EMPRUNT add constraint montant_positif check(Montant>=0)
exec sp_helpconstraint EMPRUNT
//Q3
update EMPRUNT
set Montant=0
where Montant is null
//Q4
update CLIENT
set Ville_Cl=LOWER(Ville_Cl)
//Q5
update COMPTE
set Solde=Solde+Solde*0.5/100
where Num_Cl in
(
select Num_Cl
from CLIENT
where Ville_Cl='rabat'
)
//Q6
select *
from CLIENT
where Nom_Cl like '___A%E'
//Q7
select distinct a.*
from EMPRUNT e inner join AGENCE a on e.Num_Ag=a.Num_Ag
//Q8
select distinct c.*
from EMPRUNT e inner join AGENCE a on e.Num_Ag=a.Num_Ag inner join CLIENT c on
e.Num_Cl=c.Num_Cl
where a.Ville_Ag='casa'
//Q9
select *
from CLIENT
where Num_Cl in
(
select distinct Num_Cl
from EMPRUNT e inner join AGENCE a on e.Num_Ag=a.Num_Ag
where a.Ville_Ag='casa'
)
and Num_Cl in
(
select distinct Num_Cl
from COMPTE c inner join AGENCE a on c.Num_Ag=a.Num_Ag
where a.Ville_Ag='casa'
)
//Q10
select distinct c.*
from EMPRUNT e inner join AGENCE a on e.Num_Ag=a.Num_Ag inner join CLIENT c on
e.Num_Cl=c.Num_Cl
where a.Ville_Ag=c.Ville_Cl
//Q11
select distinct c.*
from CLIENT c inner join EMPRUNT e on c.Num_Cl=e.Num_Cl inner join COMPTE cp on
c.Num_Cl=cp.Num_Cl
where e.Num_Ag=cp.Num_Ag
//Q12
select Num_Ag,AVG(Montant) as "Moyenne des Emprunts"
from EMPRUNT
group by Num_Ag
//Q13
select c.Num_Cl,c.Nom_Cl,c.Prenom_Cl,SUM(e.Montant) as "Total des Emprunts"
from EMPRUNT e inner join CLIENT c on e.Num_Cl=c.Num_Cl
group by c.Num_Cl,c.Nom_Cl,c.Prenom_Cl
//Q14
select top 1 c.Num_Cl,c.Nom_Cl,c.Prenom_Cl,SUM(e.Montant) as "Total des Emprunts"
from EMPRUNT e inner join CLIENT c on e.Num_Cl=c.Num_Cl
group by c.Num_Cl,c.Nom_Cl,c.Prenom_Cl
order by "Total des Emprunts"
//Q14--2
select c.Num_Cl,c.Nom_Cl,c.Prenom_Cl,c.Ville_Cl
from EMPRUNT e inner join CLIENT c on e.Num_Cl=c.Num_Cl
group by c.Num_Cl,c.Nom_Cl,c.Prenom_Cl,c.Ville_Cl
having SUM(e.Montant)=
(
select MIN(m.Total)
from
(
select c.Num_Cl,SUM(e.Montant) as "Total"
from EMPRUNT e inner join CLIENT c on e.Num_Cl=c.Num_Cl
group by c.Num_Cl
)m
)
//Q15
select c.Num_Cl,Nom_Cl,Prenom_Cl,Ville_Cl
from CLIENT c inner join COMPTE cp on c.Num_Cl=cp.Num_Cl inner join AGENCE a on
a.Num_Ag=cp.Num_Ag
where a.Ville_Ag='rabat'
group by c.Num_Cl,Nom_Cl,Prenom_Cl,Ville_Cl
having COUNT(distinct a.Num_Ag)=(select COUNT(*) from AGENCE where
Ville_Ag='Rabat')
//Source : www.exelib.net
CORRECTION;
//Q1
create database ELEVES
go
use ELEVES
//Q3
insert into Eleve values(1,'NOM1','PRENOM1',18)
insert into Eleve values(2,'NOM2','PRENOM2',18)
insert into Eleve values(3,'NOM3','PRENOM3',20)
//Q4
select c.Id_Eleve,COUNT(m.Code_Matiere) as "Nombre de controles"
from Controle c inner join Matiere m on c.Code_Matiere=m.Code_Matiere
where m.Nom_Matiere='MATH'
group by Id_Eleve
//Q5
create view V_Moyenne_Matiere as
select
e.Id_Eleve,e.Nom,e.Prenom,m.Nom_Matiere,m.Coef_Matiere,SUM(c.Note)/COUNT(c.Note)
as "Moyenne_Matiere"
from Controle c inner join Eleve e on c.Id_Eleve=e.Id_Eleve inner join Matiere m on
c.Code_Matiere=m.Code_Matiere
group by e.Id_Eleve,e.Nom,e.Prenom,m.Nom_Matiere,m.Coef_Matiere
//Q6
create view V_Moyenne_Genrale as
select Id_Eleve,Nom,Prenom,SUM(Coef_Matiere*Moyenne_Matiere)/(select
SUM(Coef_Matiere) from Matiere) as "Moyenne Générale"
from V_Moyenne_Matiere
group by Id_Eleve,Nom,Prenom
//Source : www.exelib.net
autre
Exercice SQL SQL SERVER ORACLE
Soit la base de donnée SPDB, contenant les relations Fournisseurs (S), Produits (P)
et Fournit (SP).
S
+------+-------+--------+--------+
| snum | sname | status | city |
+------+-------+--------+--------+
| S1 | Smith | 20 | London |
| S2 | Jones | 10 | Paris |
| S3 | Blake | 30 | Paris |
| S4 | Clark | 20 | London |
| S5 | Adams | 30 | Athens |
+------+-------+--------+--------+
5 rows in set (0.00 sec)
+------+-------+-------+--------+--------+
| pnum | pname | color | weigth | city |
+------+-------+-------+--------+--------+
| P1 | Nut | Red | 12.00 | London |
| P2 | Bolt | Green | 17.00 | Paris |
| P3 | Screw | Blue | 17.00 | Rome |
| P4 | Screw | Red | 14.00 | London |
| P5 | Cam | Blue | 12.00 | Paris |
| P6 | Cog | Red | 19.00 | London |
+------+-------+-------+--------+--------+
6 rows in set (0.00 sec)
SP
+------+------+------+
| snum | pnum | qty |
+------+------+------+
| S1 | P1 | 300 |
| S1 | P2 | 200 |
| S1 | P3 | 400 |
| S1 | P4 | 200 |
| S1 | P5 | 100 |
| S1 | P6 | 100 |
| S2 | P1 | 300 |
| S2 | P2 | 400 |
| S3 | P2 | 200 |
| S4 | P2 | 200 |
| S4 | P4 | 300 |
| S4 | P5 | 400 |
+------+------+------+
12 rows in set (0.00 sec)
parent
+--------+--------+
| parent | enfant |
+--------+--------+
| Ali | Fatima |
| Ali | Kacem |
| Fatima | Amina |
| Fatima | Aziz |
| Kacem | Aziza |
| Aziz | Saida |
| Saida | Farid |
+--------+--------+
et qui signifie que "Ali" est père de "Farima" et que celle-ci est mère de "Amina"
etc.
Définir les vues suivantes (ou la requête SQL pour créer la relation
correspondante):
Peut-on de la même façon définir une relation ancetre (x, y), sachant que :
AUTRES
Cardinalités :
Solution
Exercice 2:
Créez le MLD de la base voiture à partir du MCD de l’exercice 1. Vérifiez la
conformité du modèle par rapport aux formes normales.
En application des règles nous obtenons le MLD suivant :
Solution
Exercice 3:
Solution
Il existerait également une autre solution en créant une entité joueurs et une
entité match reliées par l’association jouer.
Exercice 4:
Exercice 5:
Créez le MCD d’une base permettant à un groupe de gérer les droits d’auteur des
livres publiés par ses différentes maisons d’édition. Elle doit répondre aux
contraintes suivantes :
• Un livre peut être écrit par un ou plusieurs auteurs. Un auteur peut écrire un ou
plusieurs livres. Chaque auteur touche un pourcentage des droits totaux d’un livre
en fonction de sa participation.
• Un livre est publié par un seul éditeur.
Solution
Exercice 6:
Solution
Sep 16, 2016
#1
Remarque: Cliquez sur l'image pour la visualiser
Etude de cas: UML
Voir aussi:
Liste de 50 exercices avec correction UML
Soit une entreprise qui possède six usines qui construit des composants de moteurs.
Un seul usine s'occupe du montage,
Les clients passent des commandes, le client prioritaire passe en premier ses
commandes avec 20% de plus de la commande. Les commandes sont reçu par la direction
commerciale. Si le client passe plus de dix commande alors il est prioritaire.
Après traitement des commandes reçu, la direction commerciale obtient un éclatement
des pièces: pièces fabriquées et pièces sous-traitées.
Travail demandé
AUTRES
Etude de cas I:
Un employé s’occupe d’enregistrer les emprunts des adhérents qui veulent emprunter
les cd-rom. L’employé doit d’abord s’authentifier pour effectuer cette opération.
Chaque cd emprunté doit être rendu à l’employé de la biblio après une durée de 3
jours. L’adhérent donc peut réserver des cd-rom contenant des jeux, chaque
réservation doit mentionner l’emprunteur, le jeu et la date de réservation.
L’adhérent est averti quand le jeu (cd) revient en rayon.
L’employé peut aussi organiser des événements, pour se faire il doit donner les
informations suivantes : le nombre minimal et maximal des participants, les jeux à
tester, la date de l’événement et l’heure de début de l’événement.
Question :
On souhaite gérer les réservations de vols effectués dans une agence. D’après les
interviews réalisées avec les membres de l’agence, on sait que :
• Les compagnies aériennes proposent différents vols
• Un vol est ouvert à la réservation et refermé sur ordre de la compagnie
• Un client peut réserver un ou plusieurs vols, pour des passagers différents
• Une réservation concerne un seul vol et un seul passager
• Une réservation peut être confirmée ou annulée
• Un vol a un aéroport de départ et un aéroport d’arrivée
• Un vol a un jour et une heure de départ, et un jour et une heure d’arrivée
• Un vol peut comporter des escales dans un ou plusieurs aéroport(s)
• Une escale a une heure de départ et une heure d’arrivée
• Chaque aéroport dessert une ou plusieurs villes
Travail à faire:
A partir des éléments qui vous sont fournis ci-dessus, élaborez le diagramme de
classes (en y ajoutant tout attribut que vous jugez pertinent et qui n’a pas été
décrit ci-dessus).
Une académie souhaite gérer les cours dispensés dans plusieurs collèges. Pour cela,
on dispose des renseignements suivants :
• Chaque collège possède d’un site Internet
• Chaque collège est structuré en départements, qui regroupent chacun des
enseignants spécifiques. Parmi ces enseignants, l’un d’eux est responsable du
département.
• Un enseignant se définit par son nom, prénom, tél, mail, date de prise de
fonction et son indice.
• Chaque enseignant ne dispense qu’une seule matière.
• Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour
chacune d’elle.
• Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son
année d’entrée au collège.
• Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu
dans la même salle de cours (chacune ayant un nombre de places déterminé).
• On désire pouvoir calculer la moyenne par matière ainsi que par département
• On veut également calculer la moyenne générale d’un élève et pouvoir afficher les
matières dans lesquelles il n’a pas été noté
• Enfin, on doit pouvoir imprimer la fiche signalétique (, prénom, tél, mail) d’un
enseignant ou d’un élève.
Travail à faire:
AUTRES AUTRES
es inscriptions dans une école fonctionnent de la façon suivante. Au début de
chaque semestre, un catalogue des cours proposés est fourni par la scolarité aux
étudiants. Chaque cours est décrit par un certain nombre d'informations, en
particulier : l'enseignant, le cursus et les pré-requis.
(
Voir aussi:
Liste de 50 exercices avec correction UML
)
Ce catalogue ne peut être créé avant que tous les cours ne soient affectés à des
enseignants. Pour cela, chaque enseignant accède au système d'inscription pour
indiquer les cours qu'il prévoit d'enseigner.
Les étudiants doivent remplir des fiches d'enregistrement qui indiquent leurs choix
de cours. L'étudiant standard doit suivre 4 enseignements choisis dans le
catalogue. Il devra indiquer aussi deux cours supplémentaires. En effet, il se peut
que, parmi les 4 cours choisis, l'un des cours soit trop plein ou abandonné par
manque d'étudiants.
Une fois la sélection de cours d'un étudiant validée, l'information est transmise
au système de facturation qui facturera l'étudiant pour son semestre.
Travail à faire:
AUTRES
Gestion d'une médiathèque (diagramme de contexte, diagramme de séquence)
L'objectif du programme est la gestion des achats et des prêts de documents
(papier, vidéo, son, …) aux usagers d'une bibliothèque municipale.
Il existe plusieurs types de documents :
les livres, et parmi eux des livres spéciaux qui seront consultables uniquement sur
place
les journaux qui seront consultables uniquement sur place
les microfilms, qui portent sur des livres ou des journaux déjà référencés dans la
bibliothèque et qui ne pourront être visualisés que sur les écrans de la
bibliothèque
les CD-ROM documentaires (encyclopédies, visites de musées …) qui pourront être
prêtés avec une caution
Chaque document est repéré par sa côte ; Un livre ou un CD-ROM pourra être trouvé
également par son titre et son (ses) auteur(s), un journal par son titre et sa
date; De même pour un microfilm.
Concrètement l'usager peut consulter sur poste informatique la liste des documents,
une consultation séquentielle par ordre alphabétique selon le type de document,
séquentielle par auteur (tous types de documents confondus), par la côte du
document ou par sa référence (titre, …).
Ensuite, l'usager doit aller chercher le document, soit directement dans le
rayonnage où il est rangé pour les livres et les journaux, soit à un guichet pour
les CD-ROM et les microfilms.
Le CD-ROM ne lui sera remis qu'en échange d'une caution, après qu'il ait présenté
sa carte de lecteur. Cette caution lui sera rendue au retour du CD-ROM. La
bibliothèque dispose de postes informatiques permettant une consultation sur place
des CD-ROM.
Le microfilm lui sera remis sous condition qu'un écran de lecture soit libre ; en
effet un microfilm ne pourra jamais être prêté à domicile.
S'il désire emprunter chez lui un CD-Rom ou un livre, il doit en sortant se
présenter à un employé de la bibliothèque et lui fournir sa carte de lecteur et le
document; l'employé référence alors l'emprunt par le numéro du lecteur et par la
côte du document.
Toute mise en circulation de CD-ROM ou de microfilm génère une fiche de prêt dans
le système informatique. De même lors d'emprunts à domicile d'un livre ou d'un CD-
ROM
Les achats des documents, ainsi que les inscriptions de nouveaux usagers seront
réalisés uniquement par le personnel de la bibliothèque. Les prêts de documents aux
usagers pourront être effectués par le personnel bien sûr, mais également par une
équipe de bénévoles qui n'auront ce droit accordé que pour une période limitée. Les
usagers quant à eux auront possibilité de consulter la liste des documents et de
savoir si ceux ci sont disponibles (ni prêtés, ni perdus).
L'enregistrement d'un nouveau document génère un numéro (sa côte) unique et non
récupérable ; ce numéro est incrémenté automatiquement.
De même pour l'enregistrement de nouveaux lecteurs.
Il est cependant possible de modifier les caractéristiques des fiches lecteurs
(adresse…) et de mettre hors service un document qui a été perdu ou volé.
On ne pourra jamais retirer une fiche document ni une fiche lecteur ; une deuxième
approche du problème permettra de gérer le surcroît de fiches lecteurs inutilisées
(déménagement du lecteur, …).
Un prêt ne sera accordé qu'à la condition que le lecteur ait réglé sa cotisation et
n'ait pas plus de 5 emprunts simultanés.
Le prêt est daté et après 4 semaines, une lettre de relance sera envoyée au
lecteur.
Ces relances seront effectuées à la demande du bibliothécaire.
Les employés de la bibliothèque peuvent consulter les états des lecteurs (nombre
d'emprunts, lesquels …)
Travail à Faire :
Donner la Liste des acteurs
Etablir le Diagramme de Contexte
Etablir le Diagramme de Cas d’Utilisation (Gestion Emprunt/Restitution)
Solution:
1- Liste des acteurs
Bibliothécaire : Responsable de la médiathèque, il fait parti du personnel
Bénévole : Aide au fonctionnement de la médiathèque, il ne gère que les emprunts
restitutions. Il a un contrat temporaire.
Personnel : Employé(s) de la médiathèque, il(s) gère(nt) l’ensemble des tâches sauf
les relances.
Usager : personne qui utilise la médiathèque, il est abonné.
abdelouafi
Administrator
Sep 16, 2016
#1
Remarque: Cliquez sur l'image pour la visualiser
TD : Diagramme de classe
Exercice 1:
Chaque personne possède un nom, un prénom, le sexe et l'âge. On peut calculer les
revenus et les charges de chaque personne. Les attributs de la classe sont privés ;
Les opérations de la classe personne sont publiques.
Voir aussi:
Liste de 50 exercices avec correction UML
Question1 :Modélisez la classe Personne?
On peut calculer le salaire d'une personne, puis de calculer les autres sources de
revenus. Les deux revenus sont de type réels. Lees charges globales sont calculées
en appliquant un coefficient fixe de 20% sur les salaires et un coefficient de 15%
sur les autres revenus.
2.2 - Les personnes dans une universités peuvent être soit des étudiants ou des
professeurs.
2.3- Chaque rectangle possède 2 sommets; les sommets sont des points. En utilisant
les coordonnées de ces 2 points, on peut construit un rectangle. On peut calculer
la surface ou bien le périmètre d'un rectangle. On peut aussi translater le
rectangle.
2.4- Une cinéma est constituée de plusieurs salles. Les films sont projetés dans
des salles à une heure déterminée.
2.5- Le facteur distribue des lettres recommandées, lettres ou colis, dans une zone
géographique bien précis. Les habitants sont aussi associés à une zone
géographique.
Chaque hôtel contient minimum 2 chambres qui contiennent chacune une salle d'eau
(douche, baignoire). Un hôtel peut héberger un ou plusieurs personnes puis il peut
employer des personnels. Un hôtel est dirigé par un seul directeur. Chaque employé
est caractérisé par un nom et un prénom. Une personne peut être soit enfant ou
adulte. Chaque hôtel est caractéristique par une adresse, certain un nombre de
chambres puis une catégorie.
Une chambre possède son numéro, un certain nombre de lits et le prix d'hébergement.
On veut savoir la date de réservation d'une chambre par des personnes. Pour chaque
jour de l'année, il faut calculer le prix de location de chaque chambre selon son
prix et sa durée d'occupation. La somme des prix de location nous permet de
calculer le chiffre d'affaires de l'hôtel entre deux dates.
Question :
private float x;
private float y;
Exercice 5:
2- Un doctorant peut est un étudiant qui assure des cours. Modifier le modèle de
précédent?
Exercice 6:
La banque populaire au Maroc contient plusieurs agences, elle est caractérisér par
son nom (banque populaire) et dirigée par un directeur, possède un capital et une
adresse. LE directeur de la banque possède un nom, prénom, âge et son salaire( ou
revenue). Chaque agence possède une adresse , des employés et un identifiant.
Chaque employé possède aussi un nom, prénom et date d'embauche. Un emplyé travail
seulement dans une seule agence, mais peut demander une mutation vers une autres
agence. Un employé peut gérer un ou plusieurs clients, ce dernier possède un seul
compte dans une agence donné, un nom, prénom et une adresse. Chaque client inscrit
est attribué à un employé dans l'agence.
Un compte peut soit être un compte rémunérés ou non. Les comptes rémunérés
possèdent un taux d'intérêt versés annuellement
GGJH
Exercice 1: Etude d'une caisse de supermarché
Voir aussi:
Liste de 50 exercices avec correction UML
Travail à Faire :
Travail à faire:
Une librairie vend des livres, caractérisés par leur auteur et leur nombre de pages
; certains livres possèdent également d’autres caractéristiques : une fourchette
des âges pour les livres pour enfants, et la discipline et le niveau pour les
livres scolaires.
On considère une entreprise, et on suppose qu’un chef dirige plusieurs salariés
(les subordonnés) et que le chef est lui-même un salarié.
On considère une université, et les personnes y travaillant qui peuvent être des
étudiants ou des enseignants.
Exercice 3
Une classe Véhicule a été caractérisée par les propriétés suivantes : Numéro du
véhicule, date de fabrication du véhicule, pavillon du bateau, nombre de réacteurs,
superficie des ailes, puissance fiscale, hauteur du mat, nombre de torpilles.
Quel est le défaut de cette classe ? Proposez une autre représentation à l’aide
d’un diagramme de classes.
Exercice 4
Dans une société de transport, on voudrait gérer les bus de ramassage scolaire et
les conducteurs. Un lycéen est un enfant, il est caractérisé par son nom, son âge
et son sexe. Les informations qui caractérisent le conducteur sont les mêmes que
pour le lycéen, avec en plus le numéro de son permis. Quant au bus, on a besoin de
connaître son numéro d’immatriculation, sa date de mise en service, nombre d’années
de service, et le poids total.
Exercice 5
Une compagnie aérienne propose des places sur différents vols à des passagers. Un
vol est une succession de segments de vol. Un segment de vol a un aéroport de
départ et un aéroport d’arrivée. Les aéroports desservent des villes. Un commandant
de bord, un copilote et un avion sont affectés à chaque segment.
Exercice 6
Un ordinateur est composé d’un ou plusieurs moniteurs, d’un boîtier, d’une souris
optionnelle et d’un clavier. Un boîtier a un châssis métallique, une carte mère,
plusieurs barrettes de mémoire (RAM, ROM et cache), un ventilateur optionnel, des
supports de stockage (disquette, disque dur, CD-ROM, DVD-ROM…) et des cartes
périphériques (son, réseau, graphique). Un ordinateur possède toujours au moins un
lecteur de disquette ou un disque dur.
Voir aussi:
Liste de 50 exercices avec correction UML
Travail à faire:
AUTRES
Voir aussi:
Liste de 50 exercices avec correction UML
Exercice 1 :
On considère un système sous forme d'une lampe, une lampe peut être soit allumée ou
éteinte. Un utilisateur peut allumer ou éteindre la lampe, ces deux opérations
constituent bien les objectifs fonctionnels de cet utilisateur.
3- Après la saisie du mot de passe, on peut saisir un code supplémentaire qui n'est
pas obligatoire. Modifier le modèle précédent?
Exercice 3:
AUTRE
:):)Cliquez sur "SOLUTION" en haut pour voir la correction;);)
Exercice 1:
(
Voir aussi:
Liste de 50 exercices avec correction UML
)
Exercice 2
Exercice 3
On souhaite qu'un utilisateur se connecte à un serveur (le système étudié) par des
protocoles comme FTP ou telnet ....
- Le protocole FTP permet le transfert des fichiers, nécessite une identification.
- Le protocole telnet sert pour exécuter les commandes, nécessite une
identification.
- HTTP pour le transfert des données (pages html).
- Mail permet de transférer les fichier, nécessite une identification
Exercice 4:
Exercice 5:
On souhaite gérer l'inscription des étudiants dans une école, la scolarité propose
un catalogue des cours aux étudiants. Par la suite les étudiants indiquent leurs
choix de cours en remplissant une fiche d'enregistrement, un étudiant peut choisir
jusqu'à quatre cours qui existent dans le catalogue plus deux cours
supplémentaires. Un cours est caractérisé par le nom d'enseignant qui va assurer ce
cours et le cursus. Pour créer un catalogue il faut d'abord affecter les cours aux
enseignants.
Travail demandé
1. Donner les acteurs de ce système
AUTRE
(
Voir aussi:
Liste de 50 exercices avec correction UML
)
B-2- Une personne est soit un professeur ou un étudiant dans une école, modélisez
cette phrase par un diagramme de classe? ajoutez la contrainte nécessaire dans ce
cas? (4pt)
CTM est une société marocaine de livraison express à domicile. Le service Clientèle
reçoit chaque jour les clients qui désirent une livraison au Maroc ou à l'étranger.
Ce service gère deux catégories de paquets (chaque paquet est caractérisés par son
identificateur et son poids) :
· les paquets légers ou lettres dont le poids est < à 2 kg, chaque lettre est
identifiée par un numéro et son poids.
AUTRE
Mar 3, 2017
#1
Remarque: Cliquez sur l'image pour la visualiser
Exercice 1 :
Soit une lampe de chevet (le système est la lampe), les deux interactions liées aux
fonctionnalités du système sont l’allumage de la lampe et son extinction. Un
utilisateur peut allumer ou éteindre la lampe, ces deux opérations constituent bien
les objectifs fonctionnels de cet utilisateur.
(
Voir aussi:
Liste de 50 exercices avec correction UML
)
3- Le réseau électrique fait il partie du système ? quel est donc le rôle joué dans
ce système ?
3- Ajouter la saisie d’un code complémentaire après celle du mot de passe. Ce code
complémentaire est optionnel et n’est destiné qu’aux utilisateurs ayant besoin
d’une sécurité accrue,
AUTRE
Soit un club qui permet la location des cassettes vidéo. Ce club entretient des
relations avec plusieurs éditeurs de cassettes qui procurent ces cassettes aux
employés du club soit en location soit en vente.
Voir aussi:
Liste de 50 exercices avec correction UML
)
Les éditeurs sont donc les fournisseurs de cassettes pour les employés du club qui
peuvent donc passer avec les éditeurs des contrats de location d’une durée de 6
mois, ou bien passer des commandes à partir de catalogues proposés par les
éditeurs.
Les employés du club peuvent vendre les cassettes qui leur appartiennent aux
grossistes lorsqu’ils constatent une usure sur ces cassettes.
Les clients de ce club vidéo sont les adhérents. Chaque adhérent possède une carte
d’adhérent contenant le code adhérent et son nom. L’adhérent peut choisir entre
plusieurs types d’abonnement.
Les tarifs varient selon le mode d'abonnement choisi, il existe alors 4 tarifs de
location en fonction du type d’abonnement. Toutefois, on peut louer des cassettes
aux clients non abonnés sans leur faire profiter des avantages tarifaires réservés
aux abonnés.
Le client non adhérent qui souhaite louer des cassettes vidéo peut passer une
demande d’adhésion, tandis que l’adhérent non abonné peut aussi passer une demande
d’abonnement.
AUTRE
r
Sep 16, 2016
#1
Remarque: Cliquez sur l'image pour la visualiser
Exercice 1:
Voir aussi:
Liste de 50 exercices avec correction UML
Exercice 2
chaque type de produit est référencé dans un catalogue, avec son prix associé.
Quand le prix d'in produit doit être modifié, la manager modifie son prix dans le
catalogue, puis sur l'étager où il est rangé.
la caisse fera les fonctions habituelles d'une caisse: calcul sous total, calcul du
total, possibilité de rentrer plusieurs articles ayant un même code, retour d'une
marchandise avec le ticket de caisse. Le paiement se fera en monnaie seulement.
· le reçu qui sera donné uniquement pour une vente effective . il contient le nom
du magasin, un message de bienvenue, la date et l'heure. Puis pour chaque vente il
donne le code du produit, la description du produit, le prix unitaire, la quantité
et le sous total. Enfin nous y trouvons le total TTC
AUTRES
(
Voir aussi:
Liste de 50 exercices avec correction UML
)
Soit une médiathèque pour l'emprunte des ouvrages par des clients inscris en
utilisant une fiche d'inscription contenant ses informations (nom, adresse,
etc...). On a trois types de clients, soit un client à tarifs réduit, client abonné
pour une année ou un client à tarif normal. Tout emprunte a une durée fixe qui ne
dépasse pas 10 jours.
Un client peut emprunter différents types d'ouvrage: audio, vidéo ou des livres.
Ces ouvrages sont enregistré dans la médiathèque par un code unique. D'autre part,
il existe des document que le client ne peut pas emprunter, mais juste consultable
sur place.
Chaque ouvrage possède un type particulier, par exemple les livres possèdent un
type "roman", ou sont de type "policier" etc.
Questions:
AUTRE
Oct 9, 2018
#1
Remarque: Cliquez sur l'image pour la visualiser
Examen de passage à la 3ème année - Cours du Soir
Session Juillet 2012.
Filière : Techniques de Développement Informatique
Epreuve : Théorique
Niveau : Technicien Spécialisé
Durée : 4 h 00
Barème : 20 Pts
Voir aussi:
Liste de 50 exercices avec correction UML
Une formation possède les informations suivantes : code, intitulé, date de début,
date de fin, état (en cours ou clôturé).
Une formation est décomposée en modules, chaque module se caractérise par : code du
module, objectif, masse horaire, date de début, date de fin, l'état de réalisation
(terminé ou non), nombre d’heures réalisées, un formateur qui enseigne ce module,
EFM (réalisé ou non), date prévue de l’EFM, date de réalisation de l’EFM, PV des
notes (livré ou non).
Après la livraison de tous le PV des modules par les formateurs, la formation sera
clôturée.
upload_2018-10-9_10-31-13.png
Implémenter, dans un langage de programmation orienté objet, les classes du
diagramme ci-dessus. (1,5pts)
Implémenter les liens de composition sous forme d’une structure de données (table
ou collection). (1pt)
Implémenter la méthode abstraite « getNombreDeFormateur » dans les classes ISTA,
Unité mobile et EFP en prison, sachant que : (1,5 pts)
ISTA et EFP en prison : la méthode « getNombreDeFormateur » retourne la valeur de
l’attribut nombre des formateurs.
Unité mobile : retourne « 1 ».
Ajouter une méthode « getNombreDeFormateur » dans la classe « Complexe de formation
» qui retourne le nombre de formateurs de ce complexe (c’est à dire la somme des
nombres de formateurs dans les EFP de ce complexe). (2 pts)
Ajouter une méthode « getNombreDeFormateur » dans la classe « Direction régionale »
qui retourne le nombre de formateurs de cette direction (c’est à dire la somme des
nombres de formateurs dans les complexes de formation de cette direction). (2 pts)
Ajouter une méthode « getNombreDeFormateur » dans la classe « OFPPT» qui retourne
le nombre de formateurs de toutes les directions régionales (c’est à dire la somme
des nombres de formateurs dans toues des directions régionales). (2 pts)
Attachments
AUTRES
Jan 5, 2018
#1
Remarque: Cliquez sur l'image pour la visualiser
Diagramme d'état transitions exercices corrigés pour bien maîtriser la conception
et l'élaboration des différents états d'un projet informatique.
Voir aussi:
Liste de 50 exercices avec correction UML
Exercice 1:
• quand l’heure courante devient égale à l’heure d’alarme, le réveil sonne sans
s’arrêter ;
• on peut interrompre la sonnerie.
Travail à faire :
Dessinez le diagramme d’états correspondant.