Conception Logicielle Flashcards
Diagrammes et architectures
Identifiez les tests de pertinence d’un cas d’utilisation (3)
- Test du patron : Patron dit oui ou non?
- Test du processus d’affaire élémentaire : Évaluation de la valeur ajoutée au projet
- Test de la dimension : Évaluation de la grosseur du cas d’utilisation
Identifiez les avantages du prototype (2)
- Vérification rapide des aspects importants
- Rétroaction rapide du client
Identifiez les désavantages du prototype (5)
- Difficulté de prototyper des projets complexes
- Facilite trop le changement
- Tendance à être conserver
- Pas de qualité opérationnelle
- Identification au produit final
Identifiez les types de prototype (2)
- Prototype évolutif : Devient le produit final après plusieurs itérations
- Prototype jetable : Sert d’exemple pour orienter le produit final
Identifiez les cinq étapes de l’analyse (Analyse et modélisation)
- Analyse des requis
- Reformulation des requis
a) Définition des requis
b) Spécification des requis - Construction d’un premier modèle
- Élaboration d’un prototype
- Validation du prototype
Identifiez les objectifs d’un cas d’utilisation (4)
- Capturer le comportement désiré
- Spécifier les fonctionnalités sans expliquer la façon de les faire
- Entente entre Utilisateurs / Experts / Développeurs sur les interactions possibles
- Validation de l’architecture logicielle
Définissez ce qu’est un cas d’utilisation
Document narratif décrivant une séquence d’événements dans laquelle plusieurs acteurs utilise un système pour accomplir un processus.
Un acteur est une entité externe au système utilisé
Définissez ce qu’est un diagramme de contexte
Le diagramme de contexte est une visualisation des cas d’utilisation primaires d’un système.
Il aide à définir :
- Acteurs principaux
- Cas d’utilisation primaires
- Limites du système
Identifiez les relations entre les cas d’utilisation (3)
- Relation d’utilisation (include) : Sous-fonction utilisé dans le cas
- Relation d’extension (extend) : Spécialisation du cas
- Relation de généralisation (héritage) : Type de cas
UML est-il un modèle conceptuel ?
Oui
Définissez ce qu’est un concept
Référence à un élément du monde réel issu du domaine d’application
Définissez ce qu’est une classe
Implémentation logicielle qui est associé à un langage d’un concept
Une classe contient :
- Nom
- Attributs
- Opérations (Méthodes)
- Description de ses responsabilités
Comment définir un attribut avec UML?
[visibilité] nom [multiplicité] [ : type ] [= valeur initiale] [{propriétés}]
EXEMPLE
- monNomComplet [2] : string = [“Prénom”, “Nom”] {frozen}
Si l’attribut est souligné, c’est un attribut de classe. (static)
Visibilité
public : +
protected : #
private : -
Propriétés
changeable (Objet mutable … peut être modifié)
addOnly (Valeurs peuvent être ajoutées, mais pas supprimées)
frozen (Objet const en C++)
Identifiez les associations UML (5)
Dépendance A —————> B
A utilise B dans ses méthodes
Association A ———— B
A est relié à B
Généralisation A ————|> B
A est une classe dérivée de B
Agrégation A ———— B
A fait parfois partie de B
Composition A ————- B
A fait toujours partie de B
Association peut avoir des multiplicités à ses extrémités
A 1..* ———– 0..1 B
A contient 0 à 1 fois B
B contient 1 à INF fois A
Identifiez les types de diagramme d’interaction (2)
- Diagramme de séquence
- Diagramme de collaboration
Identifiez les types de messages échangés dans un diagramme de séquence (5)
Appeler ——————|>
Invoque une opération d’un objet
Retourner - - - - - - - - - -|>
Retour d’une valeur à un appelant
Envoyer ___________\
Envoie d’un signal à un objet
Créer ————|> («create» en haut de la ligne)
Instancie un objet
Détruire ————|> («destroy» en haut de la ligne)
Détruire un objet