﻿WEBVTT

00:00:10.400 --> 00:00:13.080 align:center line:-2
Hello.
I am Alejandro Rodríguez Ascaso,

00:00:13.120 --> 00:00:16.360 align:center line:-2
lecturer at the Department
of Artificial Intelligence at UNED.

00:00:16.680 --> 00:00:20.200 align:center line:-2
In this video, we are going to look
at how to develop a use case,

00:00:20.240 --> 00:00:24.240 align:center line:-2
which is part of a broader task:
the creation of user requirements.

00:00:26.760 --> 00:00:30.200 align:center line:-2
As part of this creation
of user requirements,

00:00:30.240 --> 00:00:31.600 align:center line:-1
we need to describe

00:00:31.640 --> 00:00:33.640 align:center line:-2
 the functional requirements
of the system;

00:00:33.680 --> 00:00:36.480 align:center line:-2
that is, what the user
does with the system.

00:00:38.200 --> 00:00:41.920 align:center line:-2
We do not utilise use cases
to describe how the interaction

00:00:41.960 --> 00:00:44.280 align:center line:-2
between the user
and the system takes place.

00:00:44.320 --> 00:00:45.920 align:center line:-1
We describe the function,

00:00:45.960 --> 00:00:48.480 align:center line:-2
but to explain
how that interaction occurs,

00:00:48.520 --> 00:00:51.400 align:center line:-2
we will prepare
the non-functional requirements.

00:00:54.520 --> 00:00:57.360 align:center line:-2
A use case represents
the vision the system has

00:00:57.400 --> 00:00:59.560 align:center line:-1
of a user who is external to it.

00:00:59.600 --> 00:01:01.480 align:center line:-1
It expresses a transaction,

00:01:01.520 --> 00:01:04.600 align:center line:-2
an interaction
between the user and the system.

00:01:04.840 --> 00:01:07.360 align:center line:-1
For example, a user calling a lift,

00:01:07.400 --> 00:01:11.120 align:center line:-2
a peripheral requesting data
from a central computer,

00:01:11.160 --> 00:01:13.240 align:center line:-1
as in the case we are about to see,

00:01:13.280 --> 00:01:16.640 align:center line:-2
a person who uses speech recognition
to use their computer,

00:01:16.800 --> 00:01:19.600 align:center line:-2
and, specifically,
to edit a text document. 

00:01:23.800 --> 00:01:27.680 align:center line:-2
(CLAUDIA) I am going to show you
the speech-recognition system that I use:

00:01:27.720 --> 00:01:29.280 align:center line:-1
Dragon NaturallySpeaking.

00:01:29.320 --> 00:01:31.240 align:center line:-1
This software must be purchased.

00:01:32.440 --> 00:01:34.960 align:center line:-1
You install the software like any other,

00:01:35.000 --> 00:01:38.480 align:center line:-2
and once that's done,
you automatically begin training it.

00:01:40.760 --> 00:01:42.520 align:center line:-1
To improve voice recognition,

00:01:42.560 --> 00:01:46.240 align:center line:-2
Dragon NaturallySpeaking
gives us an option to train it.

00:01:47.120 --> 00:01:48.440 align:center line:-1
So let's begin.

00:01:50.840 --> 00:01:53.680 align:center line:-2
"Wisdom pursues me,
but I am faster"

00:01:53.760 --> 00:01:56.160 align:center line:-2
a phrase written
on a Spanish university desk.

00:01:58.760 --> 00:02:02.480 align:center line:-2
"Nothing is so stupid as to vanquish;
the real glory is to convince."

00:02:02.520 --> 00:02:03.720 align:center line:-1
Victor Hugo.

00:02:03.920 --> 00:02:07.640 align:center line:-2
One of the most useful tools
that speech recognition software provides,

00:02:07.960 --> 00:02:11.400 align:center line:-2
especially at first,
is its support feature.

00:02:12.000 --> 00:02:13.800 align:center line:-1
Once you install it, it takes you

00:02:13.840 --> 00:02:16.280 align:center line:-2
on a walkthrough
of the Dragon Speaking software

00:02:16.320 --> 00:02:19.600 align:center line:-2
that helps you see
all the different configuration options

00:02:19.640 --> 00:02:21.560 align:center line:-1
and clears up any doubts.

00:02:22.200 --> 00:02:26.240 align:center line:-2
And for new users, it is very advisable
to read this help page carefully.

00:02:30.880 --> 00:02:33.640 align:center line:-2
Dragon allows you
to create different profiles,

00:02:33.680 --> 00:02:36.960 align:center line:-2
meaning not only can I use
this speech-recognition system,

00:02:37.160 --> 00:02:41.920 align:center line:-2
but also the people around me,
which can be much more productive.

00:02:45.480 --> 00:02:48.320 align:center line:-2
Now I am going to start
the speech-recognition system

00:02:48.360 --> 00:02:49.680 align:center line:-1
to write a document.

00:02:49.720 --> 00:02:52.800 align:center line:-2
I have opened the Word processor
and turned it on.

00:02:54.320 --> 00:02:56.480 align:center line:-1
"Dear Margarita, comma."

00:03:02.680 --> 00:03:06.000 align:center line:-2
"Everything’s going great."
"Start new line."

00:03:11.480 --> 00:03:12.760 align:center line:-1
"We are..."

00:03:15.000 --> 00:03:16.200 align:center line:-1
"Undo."

00:03:18.280 --> 00:03:21.320 align:center line:-2
With this command,
I delete the previous word.

00:03:23.000 --> 00:03:24.360 align:center line:-1
"Go to sleep."

00:03:25.760 --> 00:03:28.800 align:center line:-2
With this command,
I tell the speech-recognition system

00:03:28.840 --> 00:03:30.840 align:center line:-1
to stop recognising my voice

00:03:30.880 --> 00:03:33.240 align:center line:-2
so that I can speak
to the person next to me.

00:03:37.560 --> 00:03:40.120 align:center line:-2
This is useful when we want
to write an acronym

00:03:40.160 --> 00:03:43.960 align:center line:-2
or add a word that does not appear
in the Spanish vocabulary.

00:03:45.560 --> 00:03:49.400 align:center line:-2
We will activate
the spelling command: "Spell."

00:03:51.560 --> 00:03:52.640 align:center line:-1
O...

00:03:58.000 --> 00:03:59.000 align:center line:-1
N...

00:04:02.920 --> 00:04:04.040 align:center line:-1
U.

00:04:13.880 --> 00:04:16.480 align:center line:-1
A use case contains several elements.

00:04:16.600 --> 00:04:18.880 align:center line:-1
On one hand, the use cases themselves

00:04:18.920 --> 00:04:22.480 align:center line:-2
consist of a sequence of actions
and possible variants of these

00:04:22.520 --> 00:04:24.360 align:center line:-1
between the system and the actors.

00:04:26.560 --> 00:04:29.440 align:center line:-2
And then the actors,
the people or sets of roles

00:04:29.480 --> 00:04:33.000 align:center line:-2
performed by users
when they interact with the use cases.

00:04:34.160 --> 00:04:36.320 align:center line:-1
In our case, we have several actions,

00:04:36.360 --> 00:04:39.800 align:center line:-2
for example, requesting help to learn
how to use the system;

00:04:40.280 --> 00:04:44.280 align:center line:-2
selecting one of the users
configured to use the system;

00:04:45.640 --> 00:04:50.120 align:center line:-2
training the system so that it
recognises my voice better over time;

00:04:51.920 --> 00:04:56.680 align:center line:-2
activating the speech-recognition system
to dictate or edit a text;

00:04:58.880 --> 00:05:02.000 align:center line:-1
and deactivating speech recognition.

00:05:08.920 --> 00:05:12.720 align:center line:-2
The type of user we are talking about
is the client, the end user:

00:05:12.760 --> 00:05:16.680 align:center line:-2
 the person who uses
the speech recogniser and the text editor.

00:05:18.240 --> 00:05:20.760 align:center line:-2
But there might be
other roles or actors,

00:05:20.800 --> 00:05:24.960 align:center line:-2
for example, an installer,
the person who may assist a user

00:05:25.000 --> 00:05:27.960 align:center line:-2
to sell them the product,
install it, or repair it.

00:05:28.000 --> 00:05:31.160 align:center line:-2
There are many roles
concerning ICT products.

00:05:38.640 --> 00:05:41.080 align:center line:-2
The parts of the use case
are the following.

00:05:41.120 --> 00:05:43.920 align:center line:-2
On one hand, the diagram,
the one we have just seen,

00:05:43.960 --> 00:05:45.880 align:center line:-1
a UML diagram,

00:05:46.200 --> 00:05:49.320 align:center line:-2
and on the other hand,
the description of the use case.

00:05:50.000 --> 00:05:51.920 align:center line:-1
In that description of the use case,

00:05:51.960 --> 00:05:54.440 align:center line:-2
we provide
slightly more complete information

00:05:54.480 --> 00:05:56.360 align:center line:-2
that is not included
in the diagram,

00:05:56.480 --> 00:05:59.560 align:center line:-2
such as the general description
of the use case.

00:05:59.840 --> 00:06:03.640 align:center line:-2
Here we see that the user can,
in general, request help,

00:06:03.960 --> 00:06:06.360 align:center line:-2
configure the user,
train the system,

00:06:06.400 --> 00:06:09.560 align:center line:-2
and use voice recognition
to edit texts.

00:06:09.800 --> 00:06:13.440 align:center line:-2
The version, the date,
which actors participate in the use case,

00:06:13.680 --> 00:06:16.240 align:center line:-2
and then we can include
a brief description

00:06:16.280 --> 00:06:18.480 align:center line:-2
 to define
the basic course of action,

00:06:18.520 --> 00:06:21.000 align:center line:-2
that is, the steps
that are necessary

00:06:21.040 --> 00:06:24.600 align:center line:-2
to provide this set of functions
that our system offers. 

00:06:28.200 --> 00:06:30.040 align:center line:-1
There may be an alternative course.

00:06:30.080 --> 00:06:32.840 align:center line:-2
It may happen
that this basic course of action

00:06:32.880 --> 00:06:35.600 align:center line:-2
suffers a small modification
on some occasions.

00:06:39.680 --> 00:06:43.280 align:center line:-2
It is also necessary to state
a series of preconditions,

00:06:43.320 --> 00:06:45.720 align:center line:-2
what we assume
has happened beforehand,

00:06:45.760 --> 00:06:48.480 align:center line:-1
so that this use case can take place.

00:06:50.360 --> 00:06:54.680 align:center line:-2
In our case, in which the user
is using the voice-recognition system,

00:06:54.840 --> 00:06:58.440 align:center line:-2
we say that we assume that the user
has approached the computer,

00:06:58.480 --> 00:06:59.920 align:center line:-1
that it is switched on,

00:06:59.960 --> 00:07:02.840 align:center line:-2
that the voice-recognition
and word-processing programmes

00:07:02.880 --> 00:07:05.520 align:center line:-2
have been previously installed
and executed,

00:07:05.560 --> 00:07:08.240 align:center line:-2
there is a microphone
that is correctly installed,

00:07:08.280 --> 00:07:09.800 align:center line:-1
 connected to the sound card,

00:07:09.840 --> 00:07:11.920 align:center line:-1
and that the sound card is configured

00:07:11.960 --> 00:07:15.160 align:center line:-2
so that the microphone signal
reaches the computer properly

00:07:15.200 --> 00:07:17.720 align:center line:-2
and the voice recogniser
can do its job.

00:07:25.520 --> 00:07:28.480 align:center line:-2
There may also be
a series of postconditions,

00:07:28.520 --> 00:07:31.560 align:center line:-2
conditions that arise
after this use case ends

00:07:31.600 --> 00:07:34.080 align:center line:-2
and which may in turn
become preconditions

00:07:34.120 --> 00:07:36.200 align:center line:-1
for another use case to take place.

00:07:39.560 --> 00:07:43.880 align:center line:-2
Two tools can help us generate
our UML use-case diagrams:

00:07:44.040 --> 00:07:46.400 align:center line:-1
extends and include.

00:07:48.160 --> 00:07:52.680 align:center line:-2
"Include" is used to add a sub-function
within a step of a use case.

00:07:52.840 --> 00:07:56.000 align:center line:-2
We are talking about a subset
of the functionality

00:07:56.040 --> 00:07:59.000 align:center line:-2
established
by that more general use case.

00:07:59.360 --> 00:08:00.880 align:center line:-1
In the video we have just seen,

00:08:00.920 --> 00:08:05.360 align:center line:-2
we could describe "Edit text"
as a sequence or iteration

00:08:05.400 --> 00:08:10.040 align:center line:-2
of "Enter paragraph",
"Start new line", and "Undo".

00:08:13.160 --> 00:08:16.520 align:center line:-2
On the other hand,
we have "Extends".

00:08:16.720 --> 00:08:19.920 align:center line:-2
"Extends" allows us
to add a sub-function

00:08:19.960 --> 00:08:22.360 align:center line:-2
that does not always occur,
only occasionally,

00:08:22.400 --> 00:08:24.400 align:center line:-1
in exceptional situations.

00:08:24.520 --> 00:08:27.720 align:center line:-2
For example, spelling a word
when entering text.

00:08:27.880 --> 00:08:29.680 align:center line:-1
We only do that when, for instance,

00:08:29.720 --> 00:08:32.720 align:center line:-2
that word is unknown
to our voice recognition software.

00:08:35.400 --> 00:08:38.120 align:center line:-2
Let us stop for a moment
to reflect on all this.

00:08:38.240 --> 00:08:42.800 align:center line:-2
Let us remember that "Edit text"
was a step within a previous use case,

00:08:42.840 --> 00:08:43.920 align:center line:-1
the general one,

00:08:44.080 --> 00:08:46.800 align:center line:-2
but it has acquired
a complexity of its own

00:08:46.840 --> 00:08:50.000 align:center line:-2
 that makes it deserving
of creating a new use case.

00:08:50.240 --> 00:08:54.000 align:center line:-2
To create this use case,
we will generate a specific table

00:08:54.040 --> 00:08:56.080 align:center line:-2
in which we will record
a description,

00:08:56.200 --> 00:08:59.560 align:center line:-2
the basic course of action,
preconditions, etc.

00:09:03.680 --> 00:09:08.000 align:center line:-2
Well, as the saying goes, everyone
has their own way of doing things,

00:09:09.080 --> 00:09:14.000 align:center line:-2
and there are multiple ways
of defining a task through use cases.

00:09:14.720 --> 00:09:17.480 align:center line:-2
The important thing is
that whichever we choose,

00:09:17.520 --> 00:09:21.160 align:center line:-2
 the system’s functionality
is described fully and coherently

00:09:21.200 --> 00:09:24.440 align:center line:-2
with the objective
of preparing user requirements.

00:09:32.240 --> 00:09:34.840 align:center line:-2
For example,
here we have our user,

00:09:34.880 --> 00:09:37.080 align:center line:-1
who, in order to edit texts,

00:09:37.120 --> 00:09:40.280 align:center line:-2
we can think
of dividing it into entering words,

00:09:40.640 --> 00:09:45.560 align:center line:-2
entering punctuation marks,
starting a new line, and undo,

00:09:46.880 --> 00:09:49.280 align:center line:-2
another decomposition
of functionality,

00:09:49.320 --> 00:09:52.160 align:center line:-2
but one
that can still serve our purpose.

00:09:54.440 --> 00:10:00.520 align:center line:-2
In summary, we can say that we utilise
use cases to describe functionality.

00:10:01.800 --> 00:10:03.960 align:center line:-1
It is important to emphasise

00:10:04.000 --> 00:10:08.040 align:center line:-2
that we do not include aspects
of accessibility or usability.

00:10:08.200 --> 00:10:10.840 align:center line:-2
A single use case
should generally apply

00:10:10.880 --> 00:10:13.560 align:center line:-2
to two people
with different accessibility needs,

00:10:13.600 --> 00:10:17.480 align:center line:-2
 because it refers exclusively
to the system’s functionality.

00:10:20.520 --> 00:10:23.960 align:center line:-2
Furthermore, we have seen
that the elements of the use case

00:10:24.000 --> 00:10:26.840 align:center line:-2
are the use cases themselves
and the actors.

00:10:28.400 --> 00:10:32.680 align:center line:-2
We have also seen that use cases
consist of a UML diagram

00:10:32.720 --> 00:10:34.240 align:center line:-1
and a textual description

00:10:34.280 --> 00:10:38.320 align:center line:-2
that provides some information
not contained in the UML diagram.

00:10:40.400 --> 00:10:43.880 align:center line:-2
We have also seen the use
of "include" and "extends".

00:10:45.760 --> 00:10:47.120 align:center line:-1
And that is all.

00:10:47.520 --> 00:10:50.840 align:center line:-2
Here we finish this video
on developing use cases

00:10:50.960 --> 00:10:53.320 align:center line:-1
as part of user requirements.

00:10:54.400 --> 00:10:55.880 align:center line:-1
Until the next video.