Vous êtes sur la page 1sur 2

‫الجمهورية الجزائرية الديمقراطية الشعبية‬

Democratic and Popular Republic of Algeria


‫وزارة التــعل ـیــم ال ـعــالــي و الب ـحــث ال ـع ـلــمي‬
Minister of Higher Education and Scientific Research
‫جامعة عباس لغرور‬-‫خنشلـة‬
Abbès Laghrour University Khenchela
‫ وكذا التكوين‬،‫ البحث العلمي‬،‫ التأهيل الجامعي‬،‫نيابة مديرية الجامعة للتكوين العالي في الطور الثالث‬
‫العالي فيما بعد التدرج‬
Vice Rectorate of the Higher Education of the Third Cycle and University Accreditation Scientific Research
In Post-Graduation
Concours d’accès à la formation doctorale en Informatique
Epreuve : Génie Logiciel Avancé Durée : 2 heures

Exercice 1 (5Pts)

0,5 pt par réponse exacte et –0,5 pt par réponse fausse. Ne répondez pas au hasard car la note à cette
question peut devenir zéro.

1. Donnez un synonyme de cycle de vie logiciel


2. Le cycle incrémental en V repose sur plusieurs phases d’analyses ?
3. Citez un langage formel autre que le langage B
4. Les principales méthodes systémiques dates des années 60, 70, 80, 90, 00 ?

Soit la classe A, une classe spécialisée de la classe B.

5. Une opération de A peut-elle surcharger une opération de B ?


6. Une opération de la classe B qui invoque l’opération de même signature de sa classe fils A
s’appelle une spécialisation ?
7. Une variable de classe (public en JAVA) représente une constante
8. L’héritage permet la généralisation.
9. L’utilisation d’un modèle à objets permet de se concentrer sur les fonctionnalités à implanter.
10. L’utilisation d’un modèle à objets permet de se concentrer sur la structure des données qui est
plus stable que les fonctionnalités à implanter.

Exercice 2 (5Pts)

On considère le système d’une agence de réservation de billets d’avion. Pour acheter un billet, on passe
généralement par deux guichets. Un premier guichet de type R (Réservation) permet de réserver une
place dans un vol donné et d’établir le billet d’avion. Un second guichet de type C (Caisse) permet
d’encaisser l’argent et de remettre le billet au client. Sachant que cette agence dispose d’une salle
d’attente, de N guichets de type R et de M guichets de type C. En arrivant, les clients passent d’abord
en salle d’attente. Dès qu’un guichet de type R est libre, un client peut se présenter au guichet et procéder
à la réservation. Une fois cette opération terminée, il attend qu’un guichet caisse soit libre pour procéder
au paiement et au retrait de son billet. Le client peut désormais annuler sa réservation avant de passer
au guichet caisse.

1. Modéliser ce système par un réseau de Petri.


2. Donner le graphe de marquage ainsi que le système de transitions étiquetées correspondant pour
un seul client.
Exercice 3 (4 Pts)

Considérons le diagramme de classes suivant :

Donnez une formulation en langage naturel pour chacune des contraintes OCL suivantes :

1) context Personne
inv: femme->notEmpty() implies
(femme.sexe = ``femme'' and self.sexe = ``homme'')
inv: mari->notEmpty() implies
(mari.sexe = ``homme'' and self.sexe = ``femme'')

2) context Entreprise
inv: self.employé->forAll(age<=65) and self.employé->forAll(age>=16)

3) context Personne
def: estEmployé: not employeur->isEmpty()

4) context Personne
inv : femme<>self and homme<>self

Exercice 4 (6 Pts)

1. Ecrire une fonction en langage C permettant de déterminer si un nombre est parfait ou non,
un nombre parfait égal à la somme de ces diviseurs (6=1+2+3). Proposer un diagramme de
Flot de données pour cette fonction (3 points)

2. Ecrire une fonction en langage C permettant de déterminer le plus grand commun diviseur
(PGCD), puis déduire si ces deux nombres sont premiers entre eux. Proposer un diagramme
de contrôle pour cette fonction. (3 points).

Vous aimerez peut-être aussi