Site des Oraux

Génie logiciel et gestion de projets (5) :: post
Années :: 2005 :: Toutes

Post nº5 (id1575) envoyé par anonyme  le 08 Oct 2005, 16:57
Réponses

1) On peut étendre l'UML avec l'utilisation de stéréotypes (cfr début du cours et UML)
2) Exigences de l'utilisateur sont les fonctionnalités générales du système et les contraintes du domaine alors que les exigences du systèmes sont des exigences plus détaillées et donnent les fonctions, services et contraintes de manière détaillée.
3) Un use case est une représentation de l'utilisation des fonctionnalités d'un système par les utilisateurs du sytème. (cfr chap Use Case)
4) Simple, multiple et mixing. Le mixing utilise les templates pour implémenter des méthodes communes avec l'appel à une méthode de la classe fille près.
5) Split line: affiche à un moment donné l'état d'avancement (retards, avance) sur le projet alors que le Time Line est un état d'avancement global
6) Les risques s'évaluent selon le tps nécessaire, les moyens nécessaire, le nombre de tps programeur nécessaire, ...
7) Assure que clients et développeurs ne deviennent pas des ennemis. But: maximiser la valeur du soft pour les développeurs. Consiste en le plan de release (client choisi ce qu'on va sortir) et le plan d'itération (le dvlpr décide ce qu'on fait et l'ordre) cfr Chap XP p25 à la fin
8) Imaginer le tps qu'on pense que ça va prendre, comparer avec les expériences passées, on prend les différentes idée et on garde la + optimiste
9)
10) Non approprié car on refait pas un étage dans un bâtiment (généralement). Les exigences et le plan sont définis à l'avance (comme waterfall)
11) bad super send: empêcher l'overriding par la classe fille
12)
13) Agile Development: CRC = Class Responsability Collaboration: http://www.agilemodeling.com/artifacts/crcModel.htm On liste la classe, ses responsabilités et les classes avec lesquelles elle collabore
14) Réutilisable, simple, peu besoin de commentaire, ...
15) Loi de Conway: "Les organisations qui désignent un système (logiciel, ...) sont limités à produire des designs qui sont des copies des structures de communications de ces organisations". (p22 chap1)
La communication entre les groupes vont induire le type des sous-parties de logiciels développés. Si aucun design commun n'est fait au début et que plusieurs groupes travaillent en parallèle avec une communication minimale sur le projet, les différentes parties de logiciels auront des difficultés de communication ce qui impliquera le développement d'interfaces spécifiques entres ces différentes parties alors que la communications entre les différents éléments d'une sous-partie seront bien développés. De plus, certaines fonctionnalités pourront avoir été implémentées plusieurs fois dû au fait que la communication n'est pas bien passée ce qui résulte en un code moins propre, plus lourd.
De plus, si la communication s'est mal passé, la maintenance est plus compliquée.
16) Permet de faire un meilleur découpage en classe, un code plus robuste dans le temps et plus "logique"
17) But à atteindre dans un temps réparti. Permet d'évaluer de manière objective l'état d'avancement du projet
18) cfr cours
19) Modification du code sans modifier sa signature (exemple: ADT et Complex Number)
20)
21) on boucle en 4 étapes, différent du WF car les requirement sont évaluées à chaque incrément, différence avec XP: on modifie le code général de tps à autre (alors que XP on fait que ajouter des fonctionnalités)
21) (origine: forum) Je ne voudrais pas développer mes idées pour le moment, car n'étant pas sûr des reponses à 100%, on risque de tromper les autres... Mais voici une piste qu'il a semblé accepter: dans boehms, t'as un contrat avant d'implementer et tester. Si vous ne vous êtes pas explicitement mis d'accord avec le client pour apporter des modifications aux requirements, tu ne les changera pas, alors qu'en XP c'est par définition l'inverse (le client a le droit de modifier ce qu'il veut quand il veut).
Tu veux dire que dans la spirale une fois qu'on code on attend que ce soit finit de coder pour les nouveaux requirements. Il n'y a pas de retour arrière comme dans XP?
Si t'as un contrat qui ne permet pas de modifier les requirements - non. Apres, dans la boucle suivante on verra...
Je ne pense pas que Boehm exprime XP...
22) cf cours
23) Permet d'assurer le fonctionnement correct du code au travers du développement -> moins de tps de tests, moins d'erreur
24) Les différentes activées pour le développement d'un logiciels sont
a) Récupérer les exigences: à l'aide de features ou de scénarios d'utilisation du logiciel. A noter que les exigences seront souvent incomplètes, ambigües et même parfois incorrectes lors de la première étape.
b) Analyse: On spécifie ce que le système va faire et écrire le document des spécifications. Ce document ne correspondra peut-être pas nécessairement aux exigences du client, les exigences peuvent en effet changer au cours du temps car soit ils ont été mal exprimés ou encore les besoins de la société évoluent pendant la conception du système. C'est pourquoi une validation constante du software est nécessaire et pas uniquement lors de la version finale. Note: les modèles OO contienent les classes et objets, les liens entre ces classes et les Use Case et scénarios (opérations valide et ce qui se passe pour chaque opération)
L'analyse correspond au "what" d'un projet.
c) Design: Le design correspond au "how": comment le comportement du système sera réalisé à partir des composants software. Les résultats sont l'architecture et les documents détaillés de desgin. C'est un processus itératif, en // avec l'implémentation.
d) Implémentation: c'est la construction de la solution software aux exigences du client.
e) Testing: c'est la validation du fait que la solution correspond aux exigences.
f) maintenance: autant correction, ajout de fonctionnalité que adaptation à un nouveau matériel

24) Voici une ébauche de la réponse :
En fait, par actions il entendait étapes, bien que dans une technique comme XP, ce ne soit plus vraiment des étapes :
1) Collection des demandes des clients
2) Analyse
3) Design
4) Implementation
5) Tests
6) Maintenance
Structures : Waterfall, Boehm, XP
25)
26) J'ai citer les 4 catégories.
Il m'a demander ce qui etait bien/pratique dans le pattern pipe & filters
Ce qu'il y avait en commum dans ses pattern
Si quicksort etait un pattern
27) En gros il voulait test d'unite et utilisation d'un tool pour intégrer tout le temps
28) Gérer le projet, assigner les bonnes personnes mais pas travailler sur le chemin critique -> perte de vue d'ensemble
29) Pour les packages il voulait dire, si je veux rajouter le pattern visitor dans du code déjà fait, en C++/Java je vais devoir modifier toutes les classes tandis que dans SmallTalk on dois pas.

Post nº4 (id951) envoyé par arnaud  le 27 Jan 2005, 18:43
L'examen se déroule en trois parties (sans notes).

1/ Il nous présente notre programme par l'intermédiaire d'un analyseur avancé, et nous dit ce qui n'est pas top.

Pour les deux parties suivantes, on dispose du temps que l'on veut (enfin j'ai pas vu de timing à respecter). On se répartit donc en auditoires (1 étudiant par auditoire, les autres peuvent revenir dans 1 ou deux heures ...). Et qd on a fini de répondre à sa question par écrit, soit on l'appele, soit on glisse une feuille sous la porte (ps: j'ai attendu 3/4h qu'il vienne, ca donne le temps de méditer sur la session pourrie qu'on va boucler juste après :p)

2/ Questions de théorie (avec prof):
- Qu'est-ce qu'un ADT + Exemple. Quelle est la différence avec l'orienté objet ?
- Comment écrire les exigences ? Citez les différences entre les différents types d'exigences.

3/ Question pratique (avec assistant):
- On recoit un énoncé +- 3/4 de pages d'explications du problème à modéliser sous forme de diagramme de classes. Pas trop dur, mais bien tjs penser objets dans les explications qu'on va lui donner.

Post nº3 (id901) envoyé par anonyme  le 24 Jan 2005, 23:32
INFO 369 - Gestion de projets - Recueil de questions

1) Comment étendre UML
2) Comparer exigence user et exigences système
3) Qu'est ce qu'un use case
4) Expliquer les 3 types d'héritage et coder un exemple de mixin en c++
5) Différence entre split line et time line
6) Comment évaluer les risque d'un logiciel
7) Expliquer le planning game dans xp
8) Comment estimer les "user stories" dans XP?
9) Comparer les modèles source-code view / software reflection view
10) Métaphore construction software/ construction immeuble : est-elle appropriée et pourquoi? càd Construction de batiment (waterfall, incremental developement)
11) qu'est-ce qui peut foirer avec super càd Bad super send (qu'est-ce qui cloche avec le super)
12) reengineering càd Management de Team de Reengineering (donc gestion d'equipe + reengineering)
13) CRC
14) Il est dit quelque part que les méthodes doivent être courtes. Pourquoi? (reuse, simple, etc.)
15) Loi de Conway + explications + exemple (cfr cours, rien de plus)
16) En quoi les responsabilités peuvent nous aider pour créer les classes et les objets ? (RDD, CRC cards, etc.)
17) Qu'est que les milestones. Expliquez. Pourquoi est-ce important
18) Donner la structure du visitor pattern, expliquer le packaging et donnez le lien entre les 2 (en utilisant java et smalltalk)
19) Refactoring : définition, explications, exemples.
20) "It's not about technology, it's about people" -> Pq, Comment, Ou, Quoi?
21) Boehm's Spiral -> Description, comparaison avec waterfall, XP (differences?)
22) Patterns de conception = Patterns de Designs -> Description + exemple patterns, description AbstractFactory/Composition/Visitor (+nuances implementation)
23) Test Units
24) Différentes actions dans le développement d'un projet. Quelles sont les structures qui permettent d'organiser ces actions ? Explications des différentes structures en détail.
25) Qu'est-ce "extrême" dans l'Extreme Programming ?
26) Exemples de Pattern.
27) Comment faire pour avoir un truc qui tourne tout le temps (en francais dans le texte)
28) Que doit faire un project manager
29) Donne moi le pattern Visitor et explique comment ca marche. Quelle est la différence si tu dois le mettre dans un package SmallTalk ou un package C++/Java ?

Post nº2 (id899) envoyé par frederic  le 24 Jan 2005, 20:39
Pour ceux que ca interesse, voici le deroulement de l'exam :

On defent le projet, petite presentation puis il pose qques questions. Il utilise un drole de programme qui lui dit comment sont liés les methodes et aussi s'il y a des morceaux de codes inutiles.

Ensuites on se sépare en deux groupes car il a pas assez de locaux pour interrogertout le monde. L'exam dure 2h environ.
Deux questions theories :
- qu'est ce que method look-up et a quoi ca sert (chap 2)
- Explicitez les use case diagramme

Et une application : faite un diagramme uml (pas trop compliquer)

Post nº1 (id811) envoyé par Frédéric from ML  le 19 Jan 2005, 10:51
1°)comment étendre UML
2°)comparer exigence user et exigences système
3°)Qu'est ce qu'un use case
4°)expliquer les 3 types d'héritage et coder un exemple de mixin en c++
5°)différence entre split line et time line
6°)Comment évaluer les risque d'un logiciel
7°)Expliquer le planning game dans xp

On recoit 3 questions par personne (sans le cours), mais on peux en refuser
une (auquel cas on divise nos points par deux pour la nouvelle question
qu'on recoit)

Wuyts vient pour la 1 et il se tire pdt 1h30 puis il revient pour la 2 il se
tire 1h30 et puis il revient pour la 3 tu dis que tu veux changer et il se
retire pdt 1h30


oraux.pnzone.net - infos - 40ms