<?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">
  <articleinfo>
    <title>Donantonio: bibliographic system for automatic distribuited publication </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.en.xml,v 1.8 2002/11/17 14:54:58 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>
        </itemizedlist>
      </para>
      <para>
OMF, GNU, GFDL, GPL, RDF, XML, URL? 
<emphasis remap="it">
Note: In the previous list the really necessary references must go. 
That is, a sieve on the list that appears in specifications.sgml 
</emphasis></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>
This system will not interact with any other software system
</para>
    </sect2>
    <sect2>
      <title>Functions of the system</title>
      <sect3>
        <title>Publication of resources </title>
        <para>
The system will allow to publish resources located in any place of Internet. 
</para>
        <para>
Each resource will be located by its description, 
that will be in the Donantonio servers, and therefore, it will not have 
why to coincide with the publication place of the resource. 
</para>
      </sect3>
      <sect3>
        <title>Descriptions's Registry</title>
        <para>
Each description will have a publication point, from which a donantonio server
incorporates it to his library through the registry process. 
</para>
        <para>
The registry will be distributed, in the systems that we will denominate  
<emphasis remap="it">donantonio servers</emphasis>.
</para>
      </sect3>
      <sect3>
        <title>Quey and replication of descriptions </title>
        <para>
The <emphasis remap="it">donantonio servers</emphasis> 
will include mechanisms or protocols to admit the total or partial replication 
of the descriptions, that will ask for the called 
<emphasis remap="it">donantonio clients</emphasis>.
</para>
        <para>
For this aim, the servers will have to be able to take care of queries of descriptions, 
for which the corresponding mechanisms or protocols will be defined. 
</para>
      </sect3>
      <sect3>
        <title>User's Mechanisms for searches </title>
        <para>

The <emphasis remap="it">donantonio User Interface</emphasis> 
will implement suitable mechanisms of navigation and search of the information
</para>
      </sect3>
      <sect3>
        <title>Distribution</title>
        <para>
The descriptions could be replicated through donantonio networks. 
</para>
        <para>
A hierarchy in the server network does not setted, that is, all will treat between equals
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>User Features</title>
      <para>
The made system will have to offer an intuitive user interface, 
easy to learn and simple to handle. The system will have to display a 
high degree of usability. The desirable thing would be that a new user 
became familiar with the system in short time, for the immediate use 
for the functions of resources search.
</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>
The servers must be able to attend queries of a concurrently way. 
</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 system works independently, with no need to communicate 
with other external systems, reason why there are no dependencies 
respect to other systems. 
</para>
      </sect3>
    </sect2>
  </sect1>
  <sect1>
    <title>Specific requirements </title>
    <para>
In this section the it shows the functional requirements 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: Registry of descriptions </title>
        <para>
The system must register descriptions of resources (metadata and 
the corresponding URL localizer). 
</para>
      </sect3>
      <sect3>
        <title>REQ02: Visibility of the descriptions</title>
        <para>
All donantonio server will implement query mechanisms that allow 
to select from a client a set of the descriptions that this one has.
</para>
      </sect3>
      <sect3>
        <title>REQ03: Transportability of the descriptions </title>
        <para>
All donantonio server will allow the export of a selected set of descriptions. 
</para>
      </sect3>
      <sect3>
        <title>REQ04: Selection of descriptions</title>
        <para>
All donantonio client will implement query mechanisms that allow acess 
in a server to a set of the descriptions that this one has. 
</para>
      </sect3>
      <sect3>
        <title>REQ05: Replication of descriptions </title>
        <para>
All donantonio client will be able to replicate a set of descriptions 
obtained from donantonio server through a selection  criterion of the 
defined ones in REQ04. 
</para>
      </sect3>
      <sect3>
        <title>REQ06: Independence between servers</title>
        <para>
The servers will be independent to able give the service 
independently to the clients. 
</para>
      </sect3>
      <sect3>
        <title>REQ07: unicity of the descriptions</title>
        <para>
The descriptions will have to be unique in each library.
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>External interfaces requirements</title>
      <sect3>
        <title>User's interfaces</title>
        <sect4>
          <title>REQ08: User Interface</title>
          <para>
The system will count with an user interface who allows to make 
the queries of descriptions easily and to access to the referenced 
resources of a query. 
</para>
        </sect4>
      </sect3>
      <sect3>
        <title>Hardware Interfaces</title>
        <para>
They have not been defined. 
</para>
      </sect3>
      <sect3>
        <title>Software interfaces</title>
        <para>
They have not been defined. 
</para>
      </sect3>
      <sect3>
        <title>Communication interfaces</title>
        <sect4>
          <title>REQ09: 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>REQ10: Response time</title>
        <para>
The response times to the interactive queries will have to be reduced, 
considering a efficient communication network. 
</para>
      </sect3>
      <sect3>
        <title>REQ11: Concurrence</title>
        <para>
The system will have to support concurrent attention to the queries. 
</para>
      </sect3>
    </sect2>
    <sect2>
      <title>Development requisites</title>
      <sect3>
        <title>REQ12: 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>REQ13: 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>REQ14: 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>REQ15: 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>REQ16: 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>

