Cas Enregistreur Audio Numérique en UML

Transcription

Cas Enregistreur Audio Numérique en UML
Analyse des besoins
Cas Enregistreur Audio Numérique en UML
Les principales caractéristiques de l'appareil au niveau de la conception sont:
Ivan Porres Paltor et Johan Lilius, Turku Center of Computer Science (TUCS), Finland.
2003
• L!enregisteur audio-numérique (digital sound recorder) à développer est un appareil
conçu pour enregistrer et lire des messages vocaux ;
• Ces messages sont enregistrés en utilisant un microphone intégré dans une mémoire
numérique ;
• L'utilisateur peut rapidement écouter un message à tout moment grâce à un haut
parleur situé sur la façade de l'appareil. Cet appareil doit être petit, léger, facile à
utiliser et fonctionner sur batteries ;
Apparence extérieure de l!appareil à développer :
1
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
• Disposer d'une capacité de 10 messages. La longueur de chaque message est
limitée par la mémoire disponible;
• Facilité d'usage grâce à des menus d'écran;
• L!accès direct à tout message;
• Disposer d'une horloge avec alarme et d'un calendrier permettant à l'utilisateur de
programmer un réveil journalier. L'alarme sonne jusqu'à ce que l'utilisateur presse un
bouton ou durant 60 secondes;
• L'appareil dispose d'un écran à cristaux liquide (LCD) permettant d'afficher
constamment la date et l'heure. Il permet aussi de guider l'utilisateur dans l'usage
de l'appareil;
• L'appareil a aussi un indicateur de charge de batterie. Lorsque la batterie est
faible, un bip informe l'utilisateur;
• Il existe un mode "stand by" permettant d'économiser la batterie. L'appareil bascule
dans ce mode lorsqu'il n'est pas en utilisation. Dès que l'utilisateur presse une touche,
l'appareil passe de ce mode en mode opération;
• L'appareil possède une bonne qualité sonore obtenue en traitant le son à 6 kHz en
utilisant 8 bits.
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Diagramme de contexte
2
Les évènements externes
= message important depuis l!environnement
Seconde suivante
Temps
Enregistrer message, régler l’alarme
Régler l’heure
Écouter message, beep
alarme, regarder l’heure
Utilisateur
Alimentation
Événement
Une seconde passe
Enregistreur Audio-numérique
Capteurs/Actionneurs
système
1
Boutons
Microphone
Écran
Haut-parleur
Jauge de batterie
2
Interfaces
3
analogique / numérique
numérique /analogique
numérique/ numérique
4
Batterie
•
•
•
•
5
capteurs des messages provenant de l!utilisateur = boutons et microphone ;
actionneurs de l!utilisateur sont le haut-parleur et l!écran ;
La jauge de la batterie détecte l!état de celle-ci ;
L!acteur temps envoie un message vers le système périodiquement, il représente les
messages du type « Seconde suivante »
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
3
6
7
Réponse du système
Type
TdR
a : actualiser l!horloge interne
b : surveiller l!alarme
c : actualiser l!affichage de l!horloge
P
0,5 sec.
d : actualiser l!affichage de progression de la
tâche
Une période d!échantillon passe a : jouer ou enregistrer le prochain échantillon
"
P
période
L!utilisateur appuie sur un a : afficher la progression de la tâche
bouton de commande
b : commencer a jouer ou a enregistrer un
A
0,5 sec.
message
L!utilisateur appuie sur le bouton a : le tâche courante est arrêtée
A
0,5 sec.
stop
b : actualiser l!affichage
Alarme de batterie faible
a : avertir l!utilisateur et stopper la tâche
A
1 sec.
courante
Entrer dans le mode veille
a : éteindre l!affichage
A
1 sec.
L!utilisateur appuie sur un a : quitter la veille, allumer l!écran
bouton quand le système est en
A
1 sec.
mode veille
• Le type d!entrée de l!évènement peut être périodique (P) ou aléatoire (A) .
• La colonne #TdR! indique le temps de réponse du système.
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
4
Cas d!utilisation
Les 6 cas d!utilisation
6 cas principaux :
1. Enregistrer un message : l!utilisateur sélectionne un emplacement depuis le
répertoire des messages et appuie sur la touche « Enregistrer ». Si l!emplacement est
plein, les messages qui y résident sont effacés. Le système commence à enregistrer
depuis le microphone jusqu'à :
• l!arrêt de l!utilisateur en pressant la touche « Stop »
• saturation de la mémoire.
2. Écouter un message : l!utilisateur sélectionne un emplacement et appuie sur le
bouton « Play ». Si l!emplacement contient un message , le son contenu est transmis à
travers le haut-parleur, jusqu!à la fin de l!enregistrement ou l!appui sur le bouton
« Stop ».
3. Effacer un message : l!utilisateur sélectionne un emplacement plein et choisi l!option
« Effacer » dans le menu. Le message est effacé et la mémoire est libérée.
4. Régler l!alarme : l!utilisateur peut activer ou pas l!alarme et régler l!heure d!alarme.
Pour ce faire il sélectionne les différentes options dans le menu #Alarme!.
5. Régler l!heure : l!utilisateur a la possibilité de régler l!heure et la date courante à
travers le menu #Date!.
6. Regarder l!heure : l!utilisateur peut à tout moment regarder l!heure sur l!écran.
Enregistreur Audionumérique
Enregistrer un
message
Écouter un
message
Effacer un
message
«!Utilisate
ur!»
Régler l’alarme
Régler l’heure
Regarder l’heure
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
5
Les scénarios
6
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Scénario « Ecouter un message »
• Les scénarii doivent décrire les interactions entre les acteurs externes et le système ;
• Même si le rôle de chaque acteur est généralement clair, il peut être difficile d!étudier
tous les scénarii ;
: Système
Acteur
Utilisateur
: Haut parleur
1!: lire message
{ 0,5 s }
2!: commencer a jouer
3!: afficher la jauge de progression
4!: seconde suivante
• Le cas d!utilisation est un outil d!analyse utilisé pour déterminer ce que l!utilisateur
attend du système ;
5!: afficher l’heure
{ 0,5 s }
6!: afficher la jauge de progression
7!: stop
• Un scénario de base pourrait être un des cas d!utilisation.
{ 0,5 s }
8!: arrêter de jouer
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
7
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
8
Scénario « écoute d!un message et alarme sonne »
Scénario « passage en stand-by »
l!utilisateur écoute un message et l!alarme sonne : on considère l!alarme prioritaire
«!Acteur!»
Utilisateur
: Système
le système éteint l!affichage de l!écran, le microphone et le haut-parleur au bout d!un temps
d!inactivité. Lorsque l!alarme se met en route, le système repasse en mode normal. Si la
batterie franchit son niveau minimum, il faut repasser en mode stand-by.
: HautParleur
1!: lire message
2!: commencer à jouer
: Batterie
: Ecran
: Système
: HautParleur
3!: afficher la jauge de progression
4!: seconde suivante
1!: seconde suivante
Apres quelques
minutes d’inactivité
5!: afficher l’heure
2!: seconde suivante
6!: afficher la jauge de progression
3!: éteindre l’écran
4!: éteindre l’amplificateur
7!: alarme
5!: seconde suivante
8!: commencer le son d’alarme
6!: alarme
9!: afficher l’indicateur d’alarme
7!: allumer l’écran
10!: stop
8!: allumer l’amplificateur
11!: stopper le son d’alarme
9!: commencer le son d’alarme
10!: seconde suivante
12!: seconde suivante
11!: batterie faible
13!: afficher l’heure
12!: arrêter le son d’alarme
13!: arrêter l’amplificateur
14!: éteindre l’écran
9
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Analyse Statique : Identification des objets
Catégorie
Objets actifs
date courante
Heure d’alarme
Services
Icône du monde réel
Composants physiques
Concepts clés
Message d’aide
Objets persistants
• L!interaction avec l!utilisateur se fait grâce à un menu
• A l!écran il y a toujours le menu courant
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
10
Analyse Statique : Identification des objets
L!interface comprend des éléments visuels :
Heure courante
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Transaction
Eléments visuels
11
Objets
Message Enregistrement et Ecoute
Boutons, Ecran
Heure d!alarme
Capteur niveau batterie
Convertisseur A/N (entre le microphone et le processeur)
Convertisseur N/A (entre le processeur et le microphone)
Contrôleur d!écran ( gère image sur écran LCD)
Date
Heure
Parler
Ecouter
Microphone, Haut-parleur
Batterie
Clavier, Ecran
Parler, Echantillonnage, Echantillons sonores
Messages sonores
Collection de messages enregistrés
Date, Heure courante
Heure d!alarme
Message
Menu, Option menu, Sélection menu
Horloge, Indicateur de mise en route de l!alarme
Calendrier
Barre d!état, ligne d!aide, indicateur de progression de tache
Les boutons Play, Enregistrer, Stop, Oui, Non, Haut, Bas, Gauche et Droite
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
12
Le diagramme de classes
Ecran
InterfaceUtilisate
ur
Le diagramme de classes
• L!utilisateur agit sur le système grâce à l!écran et au clavier. Comme ils sont considérés
comme des objets passifs, un objet #InterfaceUtilisateur! est ajouté afin que celui-ci
gère l!interaction avec l!utilisateur.
Clavier
• La classe #InterfaceUtilisateur! est reliée à la classe #ControleurAudio! pour exécuter les
tâches. La classe #ControleurAudio! est le cœur du système, elle utilise les classes
#EntreeAudio! et #SortieAudio! pour traiter les sons. Ces classes sont en relation avec
le microphone et le haut-parleur grâce à une couche matérielle.
HeureAlarme
Batterie
ControleurAu
dio
MemoireMsg
EntreeAud
io
SortieAud
io
Microphon
e
HautParle
ur
• Les messages sont stockés dans la classe #MemoireMsg!, elle conserve un répertoire
contenant les messages enregistrés, alloue de l!espace pour les nouveaux messages et
efface les anciens.
• Une classe #HeureAlarme! met à jour l!horloge et vérifie quand l!alarme doit être
déclenchée. Au moment du déclenchement, cette classe avise la classe
#InterfaceUtilisateur! de cet événement, ainsi cette classe affichera une indication à
l!écran et déclenchera l!alarme avec l!aide de la classe #ControleurAudio! (pour le son).
Message
• L!objet #Batterie! mesure régulièrement le niveau de la batterie. Quand il franchit le
niveau minimum, l!événement est reporté à la classe #InterfaceUtilisateur!.
13
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
14
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Le diagramme de classes : « packages »
. Le sous-système "Audio!
On distingue 5 sous systèmes (packages) dans ce diagramme représentant dans une vue
d!ensemble les principales classes de l!enregistreur audio numérique :
• Chaque message est composé de plusieurs blocs audio et chaque bloc audio est
composé de beaucoup d!échantillons sonores
• Ce sous-système enregistre et joue un bloc audio complètement
• On a besoin de 3 classes différentes pour traiter un son car cette opération est très
complexe.
«!soussystème!»
HeureAlarme
Le schéma suivant montre la décomposition d!un message :
«!soussystème!»
InterfaceUtilisat
eur
«!soussystème!»
Batterie
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Message
«!soussystème!»
Memoire
joue
ControleurAu
dio
«!soussystème!»
Audio
15
Séquence
de
0..
*
BlocAudio
joue
SortieAudio
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
Séquence
de
*
EchanSon
joue
HautParleur
16
. Le sous-système "Audio!
BlocAudio
0..*
getSample()
addSample(
)
Message
ControleurAud
io
Synthétiseur
getAudioBlock
()
- addSample()
- getheader()
- setheader()
playMessage()
recordMessage
()
deleteMessage(
)
- playAlarm()
- stop()
buildAudioBlock
()
- playNote()
- playChord()
- silence()
CompressedAudioBl
ock
Microphone
- getSample()
Le diagramme de séquence suivant montre l!échange de séquences afin d!écouter un
message enregistré. Le diagramme a été simplifié car il faut effectuer 2000 fois la méthode
playSample() avant de pouvoir passer au bloc audio suivant :
SortieAudio
EntreeAudio
recordCompressedAudioBloc
k()
- selectInputFilter()
Le sous-système "Audio! : diagramme de séquence
Tim
er
playCompresseurAudioBlock
()
- playAudioBlock()
- selectOutputFilter()
Hautparleur
- playSample()
• Les classes #EntreeAudio! et #SortieAudio! ont des exigences temps réel c!est pourquoi
la classe #Timer! procure une synchronisation exacte à ces classes. Cette classe est une
couche logicielle pour le timer.
• Les classes #Microphone! et #HautParleur! idem.
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
17
Cas Enregistreur Audio-Numérique – UML – Bernard ESPINASSE
18

Documents pareils