Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2009:present:hqed [2009/06/21 23:30]
jsi08
pl:miw:2009:present:hqed [2019/06/27 15:50] (aktualna)
Linia 36: Linia 36:
   * Attributes (Adding new attributes; Editing all features of attribute; Removing attributes; Sorting attributes within group; Showing the list of unused attributes; Exporting/​Importing the attributes’ list to/from ATTML file.   * Attributes (Adding new attributes; Editing all features of attribute; Removing attributes; Sorting attributes within group; Showing the list of unused attributes; Exporting/​Importing the attributes’ list to/from ATTML file.
   * Tables (Adding, Editing, Deleting, Selecting table; Table comments; Auto arrangement of tables)   * Tables (Adding, Editing, Deleting, Selecting table; Table comments; Auto arrangement of tables)
 +
 +===== Requirements of functionality =====
 +
   * Connection (Adding new connections;​ Editing, Deleting, Selecting connection)   * Connection (Adding new connections;​ Editing, Deleting, Selecting connection)
   * ARD and XTT integration - Creating XTT schema based on the ARD diagram.   * ARD and XTT integration - Creating XTT schema based on the ARD diagram.
Linia 44: Linia 47:
   * Plugin interface   * Plugin interface
   * PROLOG interface   * PROLOG interface
 +
 +===== System requirements =====
 +
 +  * The platform independence.
 +  * Compiling the source code on different platforms without modification.
 +  * The system requirements should be as low as possible.
 +  * Easy maintenance.
 +  * Portability of the application.
 +  * Scalability.
 +  * Dilatability (interface to plugins).
 +
 +===== Model-View-Controller design pattern =====
 +
 +  * The Extended Tabular Trees editor has been designed with use Model-View-Controller design pattern. Model-View-Controller (MVC for short) is an architectural pattern used in software engineering. The MVC was first described in 1979 by Trygve Reenskaug, then working on Smalltalk at Xerox PARC.
 +  * The main assumption of the pattern is the designing of the project on the three independent layers:
 +    * Model – The model is the internal representation of the information on which the application operates. This representation is not available for the user and it can be interpreted as the state of the system.
 +    * View – The view layer provides representation of the model for the user as well as supports the interaction between application and user.
 +    * Controller – The association between system’s events. It provides communication between Model and User.
 +
 +===== Use case diagram =====
 +
 +{{:​pl:​miw:​2009:​present:​hqed_picture_1.png|}}
 +
 +  * Use case diagram for the general functionality
 +
 +===== Use case diagram =====
 +
 +{{:​pl:​miw:​2009:​present:​hqed_picture_2.png|}}
 +
 +  * Use case diagram for the model (part 1).
 +
 +
 +===== Use case diagram =====
 +
 +{{:​pl:​miw:​2009:​present:​hqed_picture_3.png|}}
 +
 +  * Use case diagram for the model (part 2).
 +
 +===== Use case diagram =====
 +
 +{{:​pl:​miw:​2009:​present:​hqed_picture_4.png|}}
 +
 +  * Use case diagram for the model (part 3).
 +
 +===== Use case diagram =====
 +
 +{{:​pl:​miw:​2009:​present:​hqed_picture_5.png|}}
 +
 +  * Use case diagram for the view.
 +
 +===== HQED implementation =====
 +
 +{{:​pl:​miw:​2009:​present:​hqed_picture_6.png|}}
 +
 +  * The architecture of HQed - HQed has been implemented according to MVC design pattern. The architecture of HQed consists of three layers: model, view, controller.
 +
 +===== HQED implementation =====
 +
 +  * //The XTT model and ARD model// are part of model layer. All the data relating with model are stored and processed in this layer.
 +  * //The controller layer//, in the sense of MVC, combines the following layers of the architecture:​ Controller, PROLOG API, PLUGINS API. The Controller layer can be called as a core of the controller, because all the information,​ between views and model, goes through this layer.
 +  * //The PROLOG API layer//. The task of this layer is making functions and data available to PROLOG engine. As the result, of implementation such a layer, is the possibility to the control of HQed from the PROLOG level. This is a very important issue because there are tools, which are implemented with the help of PROLOG, and support the checking of the logical quality of the model.
 +
 +===== HQED implementation =====
 +
 +  * //The PLUGINS API layer// is responsible for communication between HQed and external plugins. The task of this layer is very similar to PROLOG API layer. The difference lies in the fact that this layer making data and functions available to external plugins. The way of communication can be different: (DLL, TCP/IP). The TCP/IP seems to be the best solution because it is supported by the vast majority of the operating systems. What is more, it makes possible to use the plugins through the network.
 +  * //The view layer// in the sense of MVC, combines the following layers of the HQed architecture:​ User Interface and XML mapping. These layers are responsible for representation of the model.
 +
 +===== HQED implementation =====
 +
 +  * //The User Interface layer// is responsible for communication between user and application. The first task of this layer is the representation of the model layer in the graphical way and suitable for the user form. The second task of this layer, is the intercepting all the events, which come from the user, and the dispatching it to the controller layer.
 +  * //The XML mapping layer// allows to map the model as the XML-based language XTTML and vice versa. This is a very important layer, because with the help of it, the designer can save his work and later load it.
 +
 +===== The minimal system requirements =====
 +
 +  * Installed Qt library in version 4.3.2 or later.
 +  * Installed C++ compiler.
 +  * 200MB of available hard-disk space.
 +  * 128MB of RAM (256MB recommended for complex projects).
pl/miw/2009/present/hqed.1245619847.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0