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
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}
|