--
PedroRio - 14 Dec 2010
XEO Library - Introduction
In this chapter you'll be introduced to a sample application, The XEO Library, which will used throughout the documentation to go more in depth in the various XEO Concepts described up until now.
The XEO Library is an application to help manage a library with its target users being the librarians who work there, whom must register the books users take home to read and also register when they return the books. Librarians are also responsible for creating user accounts (the equivalent of giving them a Library Identity Card) and managing all the information about the books (including their titles, authors, publishers, etc...). Librarians also have a private messaging system so that they can send notifications to each other. Figure
LibIntr.1 depicts a subset set of actions Users and Librarians can do in this library (the figure is a UML-like Use Case diagram), the diagram is not complete will all the actions that are possible, but includes the most important actions and actors.
Figure LibIntr.1 - User Interactions with the XEO Library
XEO Methodology for the Library Application
To create the XEO Library application using this description as our basis, the first step would be to try an identify the entities that could become XEO Models, their attributes and their relations. The next step would be to create a XEO Project in XEO Studio and proceed with the creation of the XEO Models and Viewers that represent our entities.
The creation of the XEO Project in XEO Studio will be done in the next chapters, the purpose of this chapter is to identify the entities and their relations, as well as their attributes.
The most important entities in the XEO Library are Books. A Book typically has a set of simple (textual, numeric, etc...) attributes such as a title, a summary, a front and back cover (images), a state (whether it's loaned to a user or not), an edition, an ISBN, as well as relations to other entities; for instance a book has one or more authors, has one publisher and a set of categories.
An entity representing an author, would only require basic information to define a person, such as name. The same is true for a category. A publisher on the other hand represents a company which requires a name, an address, a website and can have several Nucleus in the country as well as several contacts (people that represent the publisher), as depicted in figure
LibIntr.2.
Figure LinIntr.2 - Book and related entities attributes
A Librarian User and a Librarian represent the users that interact with the Library. A Librarian User will have an account (managed by the librarian) to help keep track of the books the user takes home and returns (and includes information such as name, password, e-mail, etc...) the same attributes are valid for a Librarian which can also send messages to other Librarians.
The two remaining entities which allow the interaction with books are "Movements" and "Returns". A "Movement" is the act of a Librarian User requesting books to take home (A user can take any number of books each time) and a "Return" is the opposite act (returning a part or all of the books of a given movement). Book movements are valid for a period of time, after that the Librarian User will be fined the next time he visits the library. These entities are depicted in figure
LibIntr.3, bellow.
In the next chapter
you'll learn about XEO Studio, the development environment for XEO Applications.