• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/8

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

8 Cards in this Set

  • Front
  • Back

Avantages de la décomposition d'un logiciel en architecture multi-niveaux

1. La séparation de la logique d'application dans des composantes séparées qui peuvent être réutilisé dans d'autres systèmes




2. La possibilité de répartir les niveaux sur différentes noeuds de calcul, et dans différents processus




3. L'assignation de développeurs à la construction de chaque niveau: parallèlisation des efforts et spécialisation des intervenants

Décrit comment une exception peut amener une fuite de mémoire ou de ressource

Si on utilise un pointeur et une exception est lancée durant son initialisation (constructeur), l'objet ne sera pas construit et donc n'aurait pas de destructeur




Dans le cas d'un socket, si une exception est lancée avant l'instruction shutdown(socket), il ne sera pas fermé.

Comment prévenir que les exceptions amènent une fuite de mémoire ou de ressource

Encapsuler la ressource ou l'objet dans un objet spécifique qui gère la destruction.




On peut aussi utiliser smart pointers (auto_ptr, unique_ptr, shared_ptr)

Définir partie prenante

Un intervenant qui a un intérêt à ce que le système soit développé et fonctionnel, mais qui ne joue pas nécessairement un rôle ou n'utilise pas nécessairement le système directement (pas nécessairement acteurs).




Patient et gestionnaires du système de santé sont des exemples de parties prenantes.

Faire un cas d'utilisation étendue

- Cas d'utilisation


- Système


- Niveau


- Acteur primaire


- Parties prenantes


- Préconditions


- Garanties de succès


- Scénario principal

Expliquez la différence entre la modélisation de la base de données locale et la base de données distante dans un diagramme de paquetage.

La base de données locale est modélisée comme un paquetage de la couche de persistance.




La base de données distante est intégrée dans un paquetage de communication dans la couche de service.

Au sein d'un logiciel conçu selon une architecture multi-niveaux, certains appels defonctions ou de méthodes entre des modules appartenant à des couches distinctes del'architecture sont permis alors que d'autres sont interdits. Décrivez les règles permettantde déterminer quels appels sont permis et quels appels sont interdits.

(Réponse à Eric): Les sous-systèmes sont regroupés en paquetages et les méthodes exposés par la Façade sont permis, une interface simplifiée du sous-système suffisante pour les clients. Cela permet au client d'accéder aux fonctionnalités de haut niveau du sous-système qui permet aux sous-systèmes d'être plus modulaires et portables. Par exemple, une base de données, on ne veut qu'avoir les méthodes créer, lire, modifier (update) et delete et pas toutes les méthodes de l'arbre binaire ou table de hashage qui implémentent la base de données.

(Réponse Eric)




5. L'animal est un Prototype et qu'on va sûrement créer beaucoup d'animaux. Il faudrait aussi implémenter cette méthode dans la sous-classe car elle est virtuelle pure.




6. Nourriture a des chances d'être une classe abstraite et il faudrait l'implémenter dans la sous-classe avec une sous-classe de Nourriture. (e.g. Lapin devrait avoir nourrir(Carrote& c) )




7. Il faudrait appeler chacun des méthodes protected (faireBilanDentition, faireBilanSystemeDigestif et faireBilanSanguin) pour avoir le bilanSante total.




BONUS:


5. Prototype


6. Template Method