You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.8 KiB
TeX

\chapter{Use cases}
In this appendix, we consider particular ``use cases'' or
``scenarios'', i.e. common situations that the user will need to
handle. The purpose of this exercise is twofold:
\begin{enumerate}
\item To give the readers of this specification an idea of how the
system might be used.
\item To determine the requirements of the object store
\seechap{chap-object-store} based on real situations that it must
handle, or not.
\end{enumerate}
\section{Opening a document for reading}
This scenario is defined by the fact that the user wants to start the
execution of some application, while giving it a particular document,
presumably of the type that this application can handle. Examples of
such situation are:
\begin{itemize}
\item The user wants to read a text document in PDF format.%
\footnote{Notice that PDF is a way of storing a structured document
in a file consisting of a sequence of bytes. This is not the kind
of document we mean here. We rather mean some structured version
of the document containing the same sections as the PDF
specification requires, but that is not stored as a sequence of
bytes, but rather as a graph of instances of classes that together
represent such a document.}
\item The user wants to watch a particular movie.
\item The user wants to listen to some piece of music.
\end{itemize}
In all these cases, there are several ways in which the scenario can
play out:
\begin{itemize}
\item The user might be interacting with a listener, and the user
knows some \commonlisp{} form (perhaps the name of a special
variable) to type in order to obtain the desired document. In this
case, the user calls the top-level function of the application,
passing it the result of the form as an argument.
\item The user might be interacting with a listener, but the document
is somewhere in the object store. Then the user first issues a
request to the object store, perhaps with the document type and the
title (or part of the title). The object store then presents%
\footnote{By ``present'', we mean that the output is in the form of
\clim{} presentations that are clickable.} the documents that
correspond to the query. Finally the user types the name of the
application, but instead of giving a form as an argument, he or she
clicks on the relevant presentation.
\item The user might already be interacting with the right
application. Therefore, he or she asks the application to read a
different (or another) document. By doing this, the application
starts a ``document selector'' that allows the user to either type a
\commonlisp{} form with the new document as its value, or to issue a
request to the object store. When the user selects the document, it
becomes the reusult of the call to the document selector, and the
application starts the execution on the new document.
\end{itemize}