<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
              "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<article lang="en" id="art-dantonio-req-cliente">
  <articleinfo>
    <title>Clientes Donantonio</title>
    <subtitle>Specifications of requisites for Donantonio</subtitle>
    <author>
      <firstname>Juan Jose</firstname>
      <surname>Amor</surname>
    </author>
    <author>
      <firstname>David</firstname>
      <surname>Escorial</surname>
    </author>
    <author>
      <firstname>Ismael</firstname>
      <surname>Olea</surname>
    </author>
    <pubdate>$Id: doc-ers_ieee830-donantonio-cliente.en.xml,v 1.4 2002/11/17 15:14:21 manuelcanales Exp $</pubdate>
  </articleinfo>
  <sect1>
    <title>Introduction</title>
    <para>
This document is a Specification of Software Requeriments (SSR) for the bibliographic system for
automatic distribuited publication Donantonio. All this contents has been elaborated considering
the needs observed by the experience of the authors of Internet's publication. This specification
has been structured inspired in the directrixes gived by the standard IEEE 
<emphasis remap="it">Recommended Practice for Software Requirements
Specification ANSI/IEEE 830 1998</emphasis>.
</para>
    <sect2>
      <title>Purpose </title>
      <para>

The object of the specification is to define in a clear and exact way all the functionalities
and restrictions of the system it wants to build. The document goes directed so much to the 
development equipment, like the members of the projects of free documentation and the community
of possible end users. This document will be the communication channel between the implied parts, 
taking part in its preparation, members from each part. This specification is subject to 
revisions by the implied parts, specially by the potentials usuaries, that will be picked up by 
successive versions of the document, until reach its approval. Once approved it will
serve as base to the equipment of development for the construction of the new system. 
</para>
    </sect2>
    <sect2>
      <title>Scope of the system.</title>
      <para>
This system is required as a result of the increasing complication of 
the publication workings of documentation of free software. 
</para>
      <para>
It's evident the needed of a informatic system 
that it automates the publication workings of documents in Internet, 
in such form that are guaranteed the easy location of them and a fast 
availability to the users. 
</para>
      <para>
Using bibliographical norms it can become general the use and application 
of the system to any type of information susceptible to be classified. 
</para>
      <para>
The scope of the developed system reaches until the production of clients 
and servers for Donantonio, communication protocols between them and user interfaces; 
preferring the design of a system that can be embedded in other compatible 
applications so these can as well be compatible applications 
(clients, servers or interfaces) with Donantonio. 
</para>
    </sect2>
    <sect2>
      <title>Definitions, acronyms and abbreviations</title>
      <sect3>
        <title>Definitions</title>
        <para>
          <variablelist>
            <varlistentry>
              <term>Resource</term>
              <listitem>
                <para>
Element accessible through a URL susceptible 
to be classified bibliographically.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>Scheme</term>
              <listitem>
                <para>
It describes the syntax of a description.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>Description</term>
              <listitem>
                <para>
Instance of a scheme that it identifies by metadata, 
in a unequivocal way to a resource.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>Library</term>
              <listitem>
                <para>
Collection of descriptions.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>Server</term>
              <listitem>
                <para>
Node that takes care of donantonio's queries.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>Client</term>
              <listitem>
                <para>
Node that produce donantonio's queries.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>Query</term>
              <listitem>
                <para>
Request of a subgroup of descriptions 
expressed in a standardized language. 
</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
      </sect3>
      <sect3>
        <title>Acronyms</title>
        <para>
          <variablelist>
            <varlistentry>
              <term>SSR</term>
              <listitem>
                <para>
Specification of Software Requirements 
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>GFDL</term>
              <listitem>
                <para>
GNU Free Documentation License
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>GPL</term>
              <listitem>
                <para>
GNU Public License
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>RDF</term>
              <listitem>
                <para>
Resource Description Framework, standard of the 
World Wide Web Consortium (W3C) for the codification 
and handling of metadata using the markup language XML. 
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>URL</term>
              <listitem>
                <para>
Uniform Resource Locator, scheme used for
the localization of a internet resource.
</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term>XML</term>
              <listitem>
                <para>
eXtended Markup Language, standard of the W3C.
</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
      </sect3>
      <sect3>
        <title>Abbreviations</title>
        <para>
They have not been defined.
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>References</title>
      <para>
        <itemizedlist>
          <listitem>
            <para>
IEEE Recommended Practice for Software Requirements
Specification. ANSI/IEEE std. 830, 1998.
</para>
          </listitem>
          <listitem>
            <para>
Donantonio: bibliographic system for automatic distribuited publication 
Specifications of requisites for Donantonio. 
J.J. Amor, D. Escorial and I. Olea, 2000.

</para>
          </listitem>
          <listitem>
            <para>
Donantonio's servers. Specifications of requisites for Donantonio.
J.J. Amor, D. Escorial and I. Olea, 2000.
</para>
          </listitem>
        </itemizedlist>
      </para>
    </sect2>
    <sect2>
      <title>Document's General Vision</title>
      <para>
This document is formed by three sections. 
This section is the Introduction and provides a general vision of the SSR. 
In the Section 2 we give a general description of the system, 
with the purpose of knowing the main functions what must make the system, 
the data associate and the factors, restrictions, supposed and dependencies 
that affect the development, without enter in excessive details. 
In section 3 the requirements are defined in detail what must satisfy the system. 
</para>
    </sect2>
  </sect1>
  <sect1>
    <title>General Description</title>
    <sect2>
      <title>Perspective of the Product</title>
      <para>
The donantonio client will interact with servers, by a protocol
that will have to be defined.
</para>
    </sect2>
    <sect2>
      <title>Functions of the system</title>
      <sect3>
        <title>Resources access</title>
        <para>
The client will be able to obtain from the donantonio's servers the information that the administrator determines, 
in form of sets of descriptions of resources (metadata). 
</para>
        <para>
The metadata that the clients get describe the resource, and this will not be necessarily located in the 
server what have provided the description. 
</para>
      </sect3>
      <sect3>
        <title>Local Library</title>
        <para>
The client will maintain, with the got descriptions of the servers, a local library that adjusts to the 
requirements of the administrator of the client. 
</para>
      </sect3>
      <sect3>
        <title>Queries and replication of descriptions </title>
        <para>
The donantonio clients will include mechanisms or protocols 
to make a total or partial replication of the stored descriptions in a server. 
</para>
        <para>
The clients, for this aim, will elaborate queries in a certain language that will have to be defined. 
The query language will allow to get as answer one or more descriptions, 
based on the pattern of query used. 
</para>
      </sect3>
      <sect3>
        <title>Access of the user to resources </title>
        <para>
The client or the library of the client will have to accept also queries of information that interactively 
an user makes, through an application of the kind of 
<emphasis remap="it">donantonio user interface.</emphasis>.
</para>
      </sect3>
      <sect3>
        <title>Access of the user to configuration</title>
        <para>
The client could be configured from an user's interface. 
To configure a client must be understood to establish of what servers are going 
to obtain the data, and how (by of what queries). 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>User Features</title>
      <para>
The user's interfaces that can be required for this application will have to be intuitive for handling, 
easy to learn and simple to handle. The system will have to display a high degree of usability. 
</para>
    </sect2>
    <sect2>
      <title>Restrictions</title>
      <para>
The system will be free software (in agreement with the GNU-GPL license or similar) 
and will have to be free those components that it reuses. 
</para>
      <para>
The system will be designed according to a client/server model. 
</para>
      <para>
The system will based its communications on standard Internet protocols.
</para>
      <para>
The different subsystems must have a simple design and implementation, 
independent of the platform or the programming language. 
</para>
      <para>
        <emphasis remap="it">Note: The requirement &quot;the clients must be able to take care of 
several user requests simultaneously&quot; 
seems more than a present requirement an interesting improvement...</emphasis>
      </para>
    </sect2>
    <sect2>
      <title>Suppositions and dependencies</title>
      <sect3>
        <title>Suppositions </title>
        <para>
It is assumed that the requirements described in this document are stable once 
is approved by the design team taking care of suggestions of the community. 
Any request of changes in the specification must be approved by the design team
and be managed by the same one. 
</para>
      </sect3>
      <sect3>
        <title>Dependencies</title>
        <para>
The Donantonio client requires to communicate with servers to keep his library. 
Therefore there is a dependency of the functionality that offers these. 
</para>
      </sect3>
    </sect2>
  </sect1>
  <sect1>
    <title>Specific requirements </title>
    <para>
In this section the it shows the functionalrequirements that will have 
to be satisfied by the system. All the requirements exposed here are 
ESSENTIAL, that is, a system would not be acceptable that does not satisfy 
some of the requirements presented here. 
These requirements have been specified considering, among others, 
the criterion of testing: given a requirement, 
it would have easily to be demonstrable if it is satisfied or not by the system. 
</para>
    <para>
      <emphasis remap="it">
Note: It is convenient to make the &quot;requirements matrix&quot;, that confronts the 
requirements with the verification method. 
</emphasis>
    </para>
    <sect2>
      <title>Functional requirements </title>
      <sect3>
        <title>REQ01: Selection of descriptions</title>
        <para>
All donantonio client will implement queries mechanisms that allow to access 
in a server to a set of the descriptions that this one have.
</para>
      </sect3>
      <sect3>
        <title>REQ02: Replication of descriptions</title>
        <para>
All donantonio client will be able to replicate a set of descriptions 
obtained from a donantonio server by a criteria of selection of the 
defined in REQ01. 
</para>
      </sect3>
      <sect3>
        <title>REQ03:Storage of descriptions</title>
        <para>
All client will have a local library where it will store the 
descriptions that it obtains by means of queries to the servers. 
</para>
      </sect3>
      <sect3>
        <title>REQ04: Unicity of the descriptions</title>
        <para>
The descriptions will have to be unique in the library of each client.
</para>
      </sect3>
      <sect3>
        <title>REQ05: Queries Programming</title>
        <para>
All client will internally store the different queries what will make periodically 
to update the content of his library. 
The programming of queries will consist of adjust all the necessary information 
to execute them (the own query, the server against which it is executed 
and when it is executed). 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>Extern interfaces requisites</title>
      <sect3>
        <title>User's interfaces</title>
        <sect4>
          <title>REQ06: User interface.</title>
          <para>
The donantonio client will be able to configure all its functions by a user
interface easy to use.
</para>
        </sect4>
      </sect3>
      <sect3>
        <title>Hardware's interfaces</title>
        <para>
They have not been defined 
</para>
      </sect3>
      <sect3>
        <title>Software's interfaces</title>
        <sect4>
          <title>REQ07: Communication with other modules </title>
          <para>
The communication with the clients donantonio will be made with protocols 
based on standards that allow to fulfill the other requirements of the system. 
</para>
        </sect4>
      </sect3>
      <sect3>
        <title>Communication interfaces</title>
        <sect4>
          <title>REQ08: Standard protocols in Internet</title>
          <para>
The servers, clients and applications donantonio will communicate to each other 
through standard protocols in Internet, whenever it is possible. 
For example, to transfer files (resources or blocks of descriptions) 
existing protocols will have to be used (FTP or another convenient one). 
</para>
        </sect4>
      </sect3>
    </sect2>
    <sect2>
      <title>Performance Requeriments</title>
      <sect3>
        <title>REQ09: Response time</title>
        <para>
The response times to the interactive queries will have to be reduced, 
considering a efficient communication network. 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>Development requisites</title>
      <sect3>
        <title>REQ10: Life's Cicle.</title>
        <para>
The chosen life's cycle to develop the system will be the evolutionary 
prototype, so changes and new functions can be incorporated easily. 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>Technological requirements</title>
      <sect3>
        <title>REQ11: Bibliographical norms</title>
        <para>
The bibliographical schemes to use in the system will be expressed in RDF. 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>Attributes</title>
      <sect3>
        <title>REQ12: Free Software </title>
        <para>
The system will be free software and, therefore, any software component 
that it will be reused will have to be free. 
</para>
      </sect3>
      <sect3>
        <title>REQ13: Portability</title>
        <para>
The system will be designed portable. It will have to be possible to 
implement applications donantonio in diverse languages and platforms. 
</para>
      </sect3>
      <sect3>
        <title>REQ14: Maintenance</title>
        <para>
The system is susceptible to be extended. Therefore it will have 
to be designed easily supported, applying for his development 
the methodologies what it be precise for that. 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>Other requisites</title>
      <para/>
    </sect2>
  </sect1>
  <sect1>
    <title>Appendices</title>
    <sect2>
      <title>Licence</title>
      <para>
Donantonio: Specification of Software Requirements
</para>
      <para>
Copyright (c) 2000 Juan J. Amor, David Escorial and Ismael Olea. 
</para>
      <para>
Permission is granted to reproduce total or partially this document, 
as long as the source is mentioned. Any modification of this document 
will have to be approved by the authors. 
</para>
    </sect2>
  </sect1>
</article>
