1 Analyse et Conception de iSudoku V1. 12/12/2013 Yann Thierry-Mieg 2 Contenu N
1 Analyse et Conception de iSudoku V1. 12/12/2013 Yann Thierry-Mieg 2 Contenu Nature du document : ......................................................................................................................... 4 Synopsis : ............................................................................................................................................. 4 Acteurs : ............................................................................................................................................... 6 Cas d’utilisation : ................................................................................................................................. 6 Diagramme de cas d’utilisation ........................................................................................................... 7 Fiches Détaillées ...................................................................................................................................... 8 UC01 : Jouer Partie .............................................................................................................................. 8 Alternatives : ................................................................................................................................... 8 Exceptions ....................................................................................................................................... 9 UC02 : Choisir Grille ........................................................................................................................... 10 Alternatives : ................................................................................................................................. 10 Exceptions ..................................................................................................................................... 10 UC03 : Consulter Statistiques ............................................................................................................ 12 Alternatives : ................................................................................................................................. 12 Exceptions ..................................................................................................................................... 12 UC04 : Gérer Options ........................................................................................................................ 13 Alternatives : ................................................................................................................................. 13 Exceptions ..................................................................................................................................... 13 Diagramme de classes métier ........................................................................................................... 14 Séquences d’interaction .................................................................................................................... 16 UC01. Séquence Nominale ............................................................................................................ 16 UC02. Séquence Nominale (charger fichier) ................................................................................. 17 UC02.A1 Séquenc e Alternative 1 (charger image) ....................................................................... 17 UC03.SN Séquence Nominale (Consulter Stats) ............................................................................ 18 UC04.SN Séquence Nominale (Gérer Options) ............................................................................. 18 Opérations offertes par le système ................................................................................................... 19 Tests de Validation ............................................................................................................................ 20 Phase de transition ................................................................................................................................ 27 Découpe Structurelle ......................................................................................................................... 27 Découpe Fonctionnelle...................................................................................................................... 28 La conception .................................................................................................................................... 28 Interfaces ........................................................................................................................................... 30 Composants ....................................................................................................................................... 32 3 Configuration nominale des composants.......................................................................................... 33 Séquences d’interaction ........................................................................................................................ 35 Initialisation : Chargement Fichier .................................................................................................... 35 Affichage d’une grille en fonction des options .................................................................................. 36 Mise à jour des cellules ..................................................................................................................... 37 Gestion des options de difficulté ...................................................................................................... 38 Affichage des statistiques .................................................................................................................. 39 Conception Détaillée ............................................................................................................................. 40 Composant CGrille ............................................................................................................................. 40 Composant CFileLoader..................................................................................................................... 41 Composant CStats ............................................................................................................................. 42 Composant CGrilleContrainte ........................................................................................................... 43 Composant CLoadImage .................................................................................................................... 45 Composant CIHM .............................................................................................................................. 47 4 Nature du document : Ce document est à vocation de servir de support pour l’UE MI 017, Ingénierie du Logiciel, en Master 1 à l’université P&M Curie. Il résout partiellement le cahier des charges posé aux étudiants des promos 2009 à 2013 du master, et servira de base exemple pour résoudre le cahier des charges des promos suivantes. Le cahier des charges initial est reproduit ici, les sections barrées ne sont pas couvertes par ce document. Synopsis : iSudoku est une application pour plateforme mobile qui permet de s’entraîner et de progresser au Sudoku. Le but du jeu de Sudoku est de remplir la grille composée de 9 sous-grilles avec une série de chiffres allant de 1 à 9 tous différents, qui ne se trouvent jamais plus d’une fois sur une même ligne, dans une même colonne ou dans une même sous-grille. Les sous-grilles sont des carrés de 3 × 3. Quelques chiffres sont déjà disposés dans la grille, ce qui permet progressivement de déduire les autres valeurs. L’application supportera les fonctionnalités suivantes : • Permettre de façon intuitive et ergonomique d’afficher et de résoudre des grilles de Sudoku. • Différentes difficultés seront proposées, de la plus difficile (on ne peut valider la grille que quand elle est finie) à la plus facile (dans chaque case, le système n’offre que les valeurs possibles au vu du reste de la grille, et/ou met en valeur les cellules qui n’ont plus qu’une option possible). En difficulté intermédiaire l’application signale une erreur au moment où elle est commise. Les options d’aide à l’utilisateur (signaler les erreurs, afficher des suggestions..) seront configurables par ce dernier. • Générer des grilles de diverses difficultés, et utiliser des grilles existantes fournies avec l’application ou téléchargées. • En prenant une photo d’une grille (typiquement celle de votre journal), le système permettra de la charger dans l’application et ainsi à l’utilisateur de la résoudre. Cette fonctionnalité s’appuie sur un module de reconnaissance de forme existant déjà développé dans la SSII. • L’application permettra de mesurer le QI du joueur. Il s’appuie pour cela sur la difficulté des grilles traitées et le temps mis à les résoudre. On pourra voir les statistiques du joueur et sa progression au fil du temps. Le joueur sera encouragé à persévérer par des bonus quand il résout une grille. 5 • L’application permettra de publier ses résultats sur divers réseaux sociaux (face2bouc etc.) via un module de diffusion existant. 6 Analyse de iSudoku Acteurs : Désignation Sens métier Joueur Le propriétaire du téléphone, et donc l’utilisateur du logiciel Reconnaissance Formes Le composant (fourni) qui est chargé de lire les images est modélisé comme un acteur Cas d’utilisation : Id Désignation Acteurs Description UC01 Jouer Partie Joueur Permet de jouer une partie de sudoku : saisie des valeurs… UC02 Choisir Grille Joueur, Reconnaissance Formes Permet au joueur de choisir une grille parmi les fichiers ou images présents dans sa bibliothèque UC03 Gérer Options Joueur Permet de positionner le niveau d’aide à la résolution (suggestions, erreurs signalées…) UC04 Consulter Statistiques Joueur Permet de voir son QI et des statistiques sur le joueur 7 Diagramme de cas d’utilisation Ces cas d’utilisation sont modélisés sur la figure 1 qui suit. Ils seront détaillés dans les sections « Fiches Détaillées ». Nous n’avons pas retenu dans cette itération les cas d’utilisation « Publier Résultats », « Générer Grille », « Télécharger Grille » et « Consulter Progression ». Fig.1 : Cas d’utilisation de iSudoku 8 Fiches Détaillées UC01 : Jouer Partie Description : Permet au joueur de jouer une partie de sudoku. Acteurs : Joueur Hypothèse : L’application est démarrée Préconditions : aucune Scénario Nominal : 1. Le joueur choisit l’option « charger » 2. Exécution du cas d’utilisation « Choisir Grille » 3. Le système démarre un chronomètre. 4. Le système affiche la grille et le contenu des cellules. Les cellules initiales sont mises en évidence. 5. Le système affiche une bordure rouge si la grille est invalide, i.e. le contenu des cases viole une ou plusieurs contraintes ligne, colonne ou bloc. 6. Le système met en valeur (rouge) les cellules dont le contenu viole une contrainte du sudoku : son contenu est en contradiction avec une contrainte ligne, colonne ou bloc. Les cellules vides mais qu’on ne peut plus remplir sans violer de contrainte sont aussi mise en évidence. 7. Le système met en valeur (vert) les cellules qui n’ont plus qu’une seule possibilité, c’est à dire qu’elle est vide et qu’il n’y a qu’une valeur qu’on puisse y mettre sans violer de contrainte. 8. Le Joueur sélectionne une cellule, non initiale (fixée par énoncé). 9. Le système affiche les valeurs qu’il est possible de mettre dans la cellule sans violer de contraintes (suggestions). 10. Le système invite à saisir une valeur entre 1 et 9 (0 ou une chaine vide seront interprétés comme « vider la case »). 11. Le joueur saisit une valeur 12. Le système met à jour la grille avec la valeur saisie. 13. Le système teste si la partie est finie (toutes les cases sont remplies). 14. Le système enregistre les résultats obtenus et arrête le chronomètre (temps de résolution). 15. Le système affiche un message saluant la victoire et donnant les statistiques sur la partie jouée. Post-conditions : Le système a enregistré les statistiques de la partie. Le joueur s’est bien amusé. Alternatives : A1 : Difficulté de jeu « Facile » (cf. UC. Gérer Options) Les étapes 7 et 9 du scenario nominal ne sont pas exécutées dans ce niveau de difficulté. A2 : Difficulté de jeu « Moyen » (cf. UC. Gérer Options) 9 Les étapes 6, 7 et 9 du scenario nominal ne sont pas exécutées dans ce niveau de difficulté. A3 : Difficulté de jeu « Difficile » (cf. UC. Gérer Options) Les étapes 5, 6, 7 et 9 du scenario nominal ne sont pas exécutées dans ce niveau de difficulté. A4 : Partie non terminée A l’étape 13 du scenario nominal, si la grille n’est pas remplie, retour en SN4. A5 : Faute saisie A l’étape 12 du scénario nominal, si la valeur saisie n’est pas cohérente (une chaine qui ne soit pas un entier de 0 à 9), le contenu de la cellule n’est pas mis à jour et le comportement reprend à l’étape SN4. Exceptions E1 : Interruption de la partie A partir de l’étape 3 du scénario nominal, le joueur peut à tout moment déclencher le cas d’utilisation « choisir grille » et donc interrompre la partie en cours. Les résultats de la partie en cours sont perdus, la partie est abandonnée. Commentaires : Une difficulté est de modéliser correctement la boucle (on remplit les cellules une par une jusqu’à ce que la grille soit pleine). Pour garder un scenario nominal linéaire, on a recours à une alternative (A4) placée sur une étape ou le système teste une condition dans le nominal. Ceci permet de préserver les conventions de rédaction de la fiche. Au niveau des options, le choix retenu est de faire un scenario nominal qui couvre toutes les options possibles (le mode newbie), et d’en désactiver certaines dans les alternatives. Cela donne un résultat plus lisible en général que l’inverse (nominal en difficile + ajout des étapes d’affichage dans les alternatives). Il est très important de bien détailler les affichages du système, ce sera la base pour décrire au niveau fonctionnel ce que le système a besoin de calculer (suggestions, validités…). Cela pose des besoins qu’il faut identifier à ce stade de l’analyse. On note l’étape SN2, uploads/Ingenierie_Lourd/ isudoku-rapport.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/JcqzHXOgjiibVRnOtxnLWAlAIRa6Mqn3rZ7Qk7YfuddS69Xg5UsD364GYw3eXET1UVidUW6cwvzXIJimD9FWofkg.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/kq3VrQtfpzfNO9X684a9sCpoNX0L1q3ntdJZnXGtGHSL2xir7sJmyEoWCNPEQwb1TVr2gh26NFzxaBbs74ARa7or.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/R1AbMJ8TR3kV3T4ONUQKGKcsegFDtM7OnLqNaJ4U6XhQZfvtNsxuRV01zsxb9WI1VeKZww0oIs6t2kVcNg5371s9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/c0ptln4dkbg2sJllZoZNHlWQzUTJq0ELSP3sPRXGP76G7oWypPd437pv67WjbvKHmlNaiZMoFzLwSbfCDZJAY76b.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/VyixZGk299Cpnl9OxO95s0mhXU7PdPwpmH48z6uAmWA2fmtrGla6Mk0e09lyYmlhpIwLShVbp7e60UdeD84IlfHd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/O6UUZL75Bzcx507SGPGgTwXqYCm6rU0OZXke8nzDEi9FAE1soHYfPb07BqVxaSm0WUWMPsUugLti9iucr1tiPRaW.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/8Na53mt1uLJLY8ibG3fGEEhq0FZz8x3HQHpn6G9nt7zI53bwT9lEPj1ph0BPwBKuquaFHHNzUlqHiwie3mbuU8hL.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/GsTrkaJC8ZAUEDaMPDXpRrnTBDk1fEUrdElHlp62AKIGNiCJZe1ZZkV5Hb8VbqH0Pc5CO5bgkaTgG7tBHgPoaqDb.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/lO5kwLFu4LQnWEbqOy0Zly2kVVuu8mVKKIsyMz7A8hHJuLwqWt47PhIM1F2zMlJE9PgAmHmHG4WjYuXkKNq2c21X.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/oWLiH8IHdcIjAJhoPWAJdJy2r9weA8jFQyFdW5XvvNntnipTyQ6wvw7HZFG5J1kAo6NiH9xxEttulxYzcqSbBqTm.png)
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 19, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 7.6465MB