D7 Sistema de Informação de Suporte a Produtos de I&D (manual técnico) Coordenador: Equipa: Professor Luís Botelho Bruno Gonçalves nº 17822 Nuno Jesus nº 17247 Grupo nº 16 Salt & Pepper Pack Janeiro 2003 ADETTI Salt & Pepper Pack Tarefa: “Tarefa 2 – Sistema de Informação de Suporte ao Produto” Numero: Designação: “D7 –SI de Suporte a Produtos de I&D” Tipo: Relatório Versão: Idioma: Inglês Data: ?/05/2003 Autores: Bruno Gonçalves , Nuno Jesus, Luís Botelho 2 ADETTI Salt & Pepper Pack 1 Introduction This document technically describes the Information System that was designed and developed to support the management and use of R&D software products. The document also analyses major design and implementation decisions. The section 2 contains the chosen architecture for the system development. Section 3 describes the Information System Class Diagram. Section 4 enumerates the actors that will interact with the system Section 5 presents the activity and sequence diagrams of all the functionalities that are supported by the system and the actors that are able to use these functionalities. Finally section 6 describes the software tools used in the development process. 3 ADETTI Salt & Pepper Pack 2 Information System Architecture This section contains the chosen Information System architecture. The architecture is based on the three-tier model. This model contains the following layers: - Data Service This layer contains the data base management functionalities, which are isolated in a separate layer in order to guarantee data consistency, and independence of the application that accesses it. - Business Service Layer responsible for the processes management. This layer contains the business logic and rules implemented in the system. Centralizing the system process improves the performance of the system, its flexibility, and makes it easier to maintain it, reuse it, and extend it. - User Service; This layer supplies the interface between the user and the application. Another one, without any consequences in the other layers, can replace that interface. The architecture is depicted in figure. 4 ADETTI Salt & Pepper Pack Figure 1 – Three-tier architecture of the Information System As depicted in Figure 1, the Information System is composed of 7 modules: Projects, Products, Software, Documentation, Bugs, Questions and Users. The functionalities of each module and the users that have permission to execute them will be analyzed in section 5 of this document. In the future, the system should be extended with two additional modules: Tasks and Interaction. The tasks management module should support the assignment of tasks to users associated with a specific product. Besides other functionalities, the interaction module should provide an instant messaging service to the users associated to the same product. The user service layer also needs to be modified. At this moment we use applets to implement the Interface. In the future, we should use the JSP/Servlets technology to build the user service layer and communicate via HTML with a Web Browser. 5 ADETTI Salt & Pepper Pack 3 Class Diagram The diagram bellow shows the classes of the system, their inter-relationships, and attributes of the classes. Class diagrams are typically used, although not all at once, to: Explore domain concepts in the form of a domain model; Analyze requirements in the form of a conceptual/analysis model; Depict the detailed design of object-oriented or object-based software. Figure 2 – Class Diagram Class Domains All the following domains represent the built in domains. At any time the system administrator can add new domain items in the database. This action doesn’t require any change in the software code once the domains are constructed dynamically. SoftwareState.state = {to be done, being developed, being tested, final version} DocumentState.state = {to be done, being created, final version} DocumentCategory.category documentation} = {test report, test description, user manual, technical SoftwareCategory.category = {} UserCategory.category = {product manager, tester, developer, final user} BugState.State = {reported, to be done, being fixed, fixed} 6 ADETTI Salt & Pepper Pack 4 Actors Users, depending their category, have different access permissions to the functionalities offered by the Information System. We identified six user categories: administrator; project manager; product manager; developer; tester and end-users. As we can see in Figure 3, there is another actor (general user). This actor doesn’t represent a user category. It was created to represent all possible users in the diagrams, when it is not necessary to distinguish between the several categories. A functionality allowed to the general user is allowed to all system users. Administrator Developer SI Project Manager Product Manager Tester End User General User Figure 3 - System Actors Representation 7 ADETTI Salt & Pepper Pack 5 Activity and Sequence Diagrams (by module) 5.1 5.1.1 Projects Management Module Insert Project This functionality is exclusive of the system administrator. A project is not accepted by the system if it hasn’t associated a project manager. To attribute a project manager to a project, the administrator has to choose a user previously inserted in the system. After the insertion of the new project the system automatically creates a new directory that will contains all the documentation and software of all products of the project recently created. Activity Diagram [ else ] [ category = administrator ] New Project Insert Project Data Select Project Manager Figure 4 - Insert Project Activity Diagram 8 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Projects frm: Frm Project Details bsProject bsUser dsProject dsUser : Administrator <<create>> insert_project_tab <<create>> new() display() insert_project_data select_project_manager_button get_all_users() get_all_users() users_list users_list choose_project_manager ok_button insert_project(projectData) insert_project(projectData) project_inserted project_inserted Figure 5 - Insert Project Sequence Diagram 9 ADETTI Salt & Pepper Pack 5.1.2 Update Project This functionality allows the system administrator and project managers to update a project. The system administrator can remove the project manager and insert a new one. The project manager can update any project data. Activity Diagram List Projects [ category = administrator ] [ category = proj ect manager ] Choose Project Update Project Data Select Project Manager Update Project Manager Figure 6 - Update Project Activity Diagram 10 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Main Menu frm: Project Details frm: Frm Proj ect bsProject bsUser dsProject dsUser : Administrator <<create>> get_projects_li st_button list_projects() list_projects() projects_list projects_list <<create>> new(projects_list) displ ay() select_project_button select_project(projectID) select_project(projectID) project_data project_data <<create>> update_project_button select_new_project_manager get_all_users() get_all_users() users_list users_list choose_project_manager ok_button set_proj ect(projectData) set_project(project_data) project_set project_set Figure 7 - Update Project Sequence Diagram 11 ADETTI Salt & Pepper Pack 5.1.3 Remove Project This functionality allows system administrator to remove a project. When a project is removed, all products that belong to that project are removed too as their documentation and software. Obviously also the directory created in the project insertion process is removed. Activity Diagram [ category = administrator ] List Projects Choose Project Remove Project Figure 8 - Remove Project Activity Diagram 12 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Main Menu frm: Project Details frm: Frm Proj ect bsProject dsProject : Administrator <<create>> get_projects_li st_button list_projects() list_projects() projects_list projects_list <<create>> new(projects_list) displ ay() select_project_button select_project(projectID) sel ect_project(proj ectID) project_data project_data <<create>> new(project_data) displ ay() remove_project_button remove_project(proj ectID) remove_project(proj ectID) project_removed project_reomved Figure 9 - Remove Project Sequence Diagram 13 ADETTI Salt & Pepper Pack 5.2 5.2.1 Products Management Module Insert Product Only the project manager can insert a new product. Besides the product data, the project manager has to choose a user previously inserted to be the product manager. It is impossible to insert a product without associating it product manager associated. A sub-directory for the product is automatically created (into the directory of the project that will contain the new product) where the documentation and software of the product will be created. Activity Diagram [ else ] [ category = proj ect manager ] New Product Insert Product Data Select Product Manager Figure 10 - Insert Product Activity Diagram 14 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Products frm: Frm Product Detail s bsProduct bsUser dsProduct dsUser : Product Manager <<create>> insert_product_tab <<create>> new() displ ay() insert_product_data select_product_manager_button get_all_users() get_all_users() users_list users_list choose_product_manager ok_button insert_product(productData) insert_product(productData) product_inserted product_inserted Figure 11 - Insert Product Sequence Diagram 15 ADETTI Salt & Pepper Pack 5.2.2 Update Product Only the project manager and the product manager can update a product. The project manager can remove the product manager and insert a new one. The product manager can update any product data. Activity Diagram List Products [ category = project manager ] [ category = product manager ] Choose Product Update Product Data Select Product Manager Update Product Manager Figure 12 - Update Product Activity Diagram 16 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Main Menu frm: Product Details frm: Frm Product bsProduct bsUser dsProduct dsUser : Project Manager <<create>> get_products_list_button list_products() list_products() products_list products_list <<create>> new(products_list) display() select_product_button select_product(productID) select_product(productID) product_data product_data <<create>> update_product_button select_new_product_manager get_all_users() get_all_users() users_list users_list choose_product_manager ok_button set_product(productData) set_product(product_data) product_set product_set Figure 13 - Update Product Sequence Diagram 17 ADETTI Salt & Pepper Pack 5.2.3 Remove Product Only the project manager can remove a product. When a product is removed its sub-directory and all its documentation and software are also automatically removed. Activity Diagram [ category = project manager ] List Products Choose Product Remove Product Figure 14 - Remove Product Activity Diagram 18 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Project Details frm: Product Details frm: Frm Product bsProduct dsProduct : Project Manager <<create>> get_products_list_button list_products() list_products() products_list products_list <<create>> new(products_list) display() select_product_button select_product(productID) select_product(productID) product_data product_data <<create>> new(product_data) display() remove_product_button remove_product(productID) remove_product(productID) product_removed product_removed Figure 15 - Remove Product Sequence Diagram 19 ADETTI Salt & Pepper Pack 5.3 Software and Documentation Management Modules The software management module is very similar to the documents management module. Once the two modules have the same functionalities we will explain only the software management module. 5.3.1 Insert Software This functionality is allowed to the users that belong to the development team (product manager and developers). Inserting software consists in inserting the software data (e.g. description, category etc.) Software is composed by one or more versions. Each version will contain the software, the authors and the state of the software. After the insertion of the new software, the system automatically creates a new directory that will contain all its software versions. Activity Diagram [ else ] [ category = product manager or developer ] Insert Software Data Insert Software Version Figure 16 – Insert Software Activity Diagram 20 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Software frm: Frm Software Details bsSoftwareMan agement dsSoftware : Developer <<create>> new(software_versions_list) display() <<create>> insert_software_data insert_software_button is_valid() insert_software(softwareData) insert_software(softwareData) software_inserted software_inserted Figure 17 - Insert Software Sequence Diagram 21 ADETTI Salt & Pepper Pack 5.3.2 Update Software This functionality allows the development team to update the software data. Updating the software version is a different functionality. Activity Diagram Select Software [ else ] [ category = proj ect manager or developer ] Update Software Data Figure 18 - Update Software Activity Diagram 22 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Softwares frm: Frm Software Details bsSoftwareMan agement dsSoftware : Devel oper <<create>> new(softwares_li st) displ ay() select_software select_software(softwareID) sel ect_software(softwareID) software_data software_data <<create>> new(software_data) displ ay() update_software_data ok_button is_vali d() update_software(softwareID,softwareData) update_software(softwareID,softwareData) software_updated software_updated Figure 19 - Update Software Sequence Diagram 23 ADETTI Salt & Pepper Pack 5.3.3 Remove Software All users that belong to the development team of a specific software can remove it. When users remove software, they also remove all software versions. The directory created to contain all software versions is also removed. Activity Diagram Select Software [ else ] [ category = product manager or developer ] Remove Software Figure 20 - Remove Software Activity Diagram 24 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Softwares frm: Frm Software Details bsSoftwareMan agement dsSoftware : Developer <<create>> new(softwares_list) display() select_software select_software(softwareID) select_software(softwareID) software_data software_data <<create>> new(software_data) display() remove_software_button remove_software(softwareID) remove_software(softwareID) software_removed software_removed Figure 21 - Remove Software Sequence Diagram 25 ADETTI Salt & Pepper Pack 5.3.4 Insert Software Version The users that belong to the development team can insert a software version. Besides the software version data (e.g. description, authors and state), the user has to insert the software version. That version will be in the directory created when the user presses the button “add version”. Activity Diagram [ else ] [ category = product manager or devel oper ] Insert Software Version Insert Software Version Figure 22 - Insert Software Version Activity Diagram 26 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Software Versions frm: Frm Software Version Details bsSoftwareM an agement dsSoftware : Devel oper <<create>> new(software_versions_list) displ ay() insert_software_version_data is_vali d() insert_software_version(software versi on data) insert_software_version(software versi on data) software_version_i nserted software_version_i nserted Figure 23 - Insert Software Version Sequence Diagram 27 ADETTI Salt & Pepper Pack 5.3.5 Update Software Version This functionality allows the development team to update the software data. Activity Diagram Select Software Version [ else ] [ category = product manager or developer ] Update Software Version Data Figure 24 - Update Software Version Activity Diagram 28 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Software Versions frm: Frm Software Version Details bsSoftwareM an agement dsSoftware : Devel oper <<create>> new(software_versions_list) displ ay() sel ect_software_version sel ect_software_version(software_versionID) sel ect_software_version(software_versionID) software_version_data software_version_data <<create>> new(software_version_data) displ ay() update_software_version_data update_software_version(software_versionID,software version data) update_software_version(software_versionID,software version data) software_version_updated software_version_updated Figure 25 - Update Software Version Sequence Diagram 29 ADETTI Salt & Pepper Pack 5.3.6 Remove Software Version All users that belong to the development team of specific software can remove any of its software versions. The directory created to contain the software version is removed. Activity Diagram Select Software Version [ else ] [ category = product manager or developer ] Remove Software Version Figure 26 - Remove Software Version Activity Diagram 30 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Software Versions frm: Frm Software Version Details bsSoftwareMan agement dsSoftware : Developer <<create>> new(software_versions_list) display() select_software_version select_software_version(software_versionID) select_software_version(software_versionID) software_version_data software_version_data <<create>> new(software_version_data) display() remove_software_version_button remove_software_version(software_versionID) remove_software_version(software_versionID) software_version_removed software_version_removed Figure 27 - Remove Software Version Sequence Diagram 31 ADETTI Salt & Pepper Pack Módulo de Gestão de Bugs 5.3.7 Report Bug All users associated with a given product can report new bugs in that product. The team responsible for the product development (product manager and developers) is informed via email of the existence of a new bug. A bug is created with the state “reported”. Activity Diagram [ else ] [ user associated with the specific product ] Insert Bug Report Data Report Bug Figure 28 - Report Bug Activity Diagram 32 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Bug Report frm: Frm Bug Report Details dsBugReport bsBugReportMa nagement dbBugStatusCh ange : General User <<create>> bug_tab <<create>> new(productID, userID) display() insert_bug_report insert_bug_report_button is_valid() insert_bug_report(productID,userID,bugReport) insert_bug_report(productID,userID,bugReport) bug_report_inserted insert_bug_status_change(bugReport, bugStateID) insert_bug_status_change(bugReport, bugStateID) bug_status_change_inserted bug_report_inserted Figure 29 - Report Bug Sequence Diagram 33 ADETTI Salt & Pepper Pack 5.3.8 Change bug Status Only users that belong to the development team can change bug statuses. The system records the author responsible by the status change. Activity Diagram List Bugs Choose Bug [ user belongs to the development team ] Change Bug Status Figure 30 - Change Bug Status Activity Diagram 34 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Bugs frm: Frm Bug Details dsBugReport bsBugManagem ent dsBugSatusCha nge : Product Manager <<create>> new(bugs_list) displ ay() select_bug select_bug(bugID) select_bug(bugID) bug_data select_bug_state(bugID) bug_state bug_data_and_bug_state <<create>> new(bug_data, bug_state) displ ay() update_bug_status update_status_button update_bug_status(userID,bugID,bugState) update_bug_status(userID,bugID,bugState) bug_status_updated bug_status_updated Figure 31 - Change Bug Status Sequence Diagram 35 ADETTI Salt & Pepper Pack 5.4 5.4.1 Questions Management Module Insert Question Any user associated with a product can make questions about it. The system records the author and the date of the question. Activity Diagram [ else ] [ user associated with the specific product ] New Question Insert Question Data Figure 32 - Insert Question Activity Diagram 36 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Questions frm: Frm Question Details bsQuestionMan agement dsQuestion : General User <<create>> insert_question_tab <<create>> new(productID, userID) display() insert_question_data insert_question_button is_valid() insert_question(productID,userID,questionData) insert_question(productID,userID,questionData) question_inserted question_inserted Figure 33 - Insert Question Sequence Diagram 37 ADETTI Salt & Pepper Pack 5.4.2 Insert Response Any user associated with a product can answer questions made about the product. The author and date of the answer are recorded by the system. It is possible to know the number of answers available for each question. Activity Diagram [ else ] [ user associated with the specific product ] List Questions Choose Question Insert Response Data Insert Response Figure 34 - Insert Response Activity Diagram 38 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Question Details frm: Frm Response Details bsQuestionana gement dsQuestion : General User <<create>> add_response_button <<create>> new(questionID) display() insert_response_data insert_response_button is_valid() insert_response(questionID,userID,ResponseData) insert_response(questionID,userID,ResponseData) response_inserted response_inserted Figure 35 - Insert Response Sequence Diagram 39 ADETTI Salt & Pepper Pack 5.4.3 Insert FAQ All products have lists of frequently asked questions. The management of that list can only be made by the product manager. A frequently asked question is recorded by the system only if it has at least one answer. Activity Diagram [ else ] [ category = product manger ] Insert FAQ Question Insert FAQ Response Insert FAQ Data Figure 36 - Insert FAQ Activity Diagram 40 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm FAQ frm: Frm FAQ Details bsQuestionMan agement dsQuestion : Product Manager <<create>> insert_FAQ_tab <<create>> new(productID) display() insert_FAQ_data insert_FAQ_button is_valid() insert_FAQ(productID,FAQ_ID,FAQ_data) insert_FAQ(productID,FAQ_ID,FAQ_data) FAQ_inserted FAQ_inserted Figure 37 - Insert FAQ Sequence Diagram 41 ADETTI Salt & Pepper Pack 5.4.4 Update FAQ As any other functionality associated with the AQ list management, only the product manager can do it. The user can change the question and the answer. Activity Diagram List FAQ's Choose FAQ [ category != product manager ] [ else ] [ else ] Update Faq Question Update Faq Response Insert New FAQ Data Figure 38 - Update FAQ Activity Diagram 42 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm FAQs frm: Frm FAQ Details bsQuestionMan agement dsQuestion : Product Manager <<create>> new(FAQs_list) displ ay() select_FAQ select_FAQ(FAQ_ID) sel ect_FAQ(FAQ_ID) FAQ_data FAQ_data <<create>> new(FAQ_data) displ ay() update_FAQ_data update_FAQ_button is_vali d() update_FAQ(FAQ_ID, FAQ_data) update_FAQ(FAQ_ID, FAQ_data) FAQ_updated FAQ_updated Figure 39 - Update FAQ Sequence Diagram 43 ADETTI Salt & Pepper Pack 5.4.5 Remove FAQ Product managers can remove Faqs from the lists they manage. The frequently asked question and its answers are both removed. Activity Diagram List FAQ's Choose FAQ [ else ] [ category = product manager ] Remove FAQ Figure 40 - Remove FAQ Activity Diagram 44 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm FAQs frm: Frm FAQ Details bsQuestionMan agement dsQuestion : Product Manager <<create>> new(FAQs_list) displ ay() select_FAQ select_FAQ(FAQ_ID) sel ect_FAQ(FAQ_ID) FAQ_data FAQ_data <<create>> new(FAQ_data) displ ay() remove_FAQ_button remove_FAQ(FAQ_ID) remove_FAQ(FAQ_ID) FAQ_removed FAQ_removed Figure 41 - Remove FAQ Sequence Diagram 5.5 Módulo de Gestão de Utilizadores 45 ADETTI Salt & Pepper Pack 5.5.1 Login This functionality is allowed to all users and makes it possible their entering the system. In order to successfully login, users have to insert the username and password assigned to them by the user that insert them. Activity Diagram Insert Data username/password [ Username or Password Inval id ] [ Data Correctl y inserted ] Figure 42 - Login Activity Diagram 46 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Login frm: Main Menu bsUserManage ment dsUser : General User <<create>> insert_username insert_password ok_button exists_user(username,password) exi sts_user(username,password) user_data user_data <<create>> new(userData) display() Figure 43 - Login Sequence Diagram 47 ADETTI Salt & Pepper Pack 5.5.2 Insert User A user can be inserted by the system administrator, the project manager, or the product manager. The administrator insert project managers. Project managers insert the product managers. Finally product managers insert users that will be associated with the product. Activity Diagram [ category = administratorproject manager or product manager ] Insert User Data Insert New User Figure 44 - Insert User Activity Diagram 48 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Users frm: Frm User Details bsUserManagement dsUser : Project Manager <<create>> new(users_list) display() insert_user_button <<create>> insert_user_data ok_button is_valid() insert_user(userData) insert_user(userData) user_inserted user_inserted Figure 45 - Insert User Sequence Diagram 49 ADETTI Salt & Pepper Pack 5.5.3 Update User Data User’s data can be updated by the users with permission to insert a new user (administrator, project manager and product manager) and by the user to which it pertains. Activity Diagram List Users Choose User [ else ] [ user with perm ission to update the specifi c user ] Update User Data Update User Figure 46 - Update User Activity Diagram 50 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Users frm: Frm User Details bsUserManagement dsUser : Proj ect Manager <<create>> new(users_list) displ ay() select_user select_user(userID) select_user(userID) user_data user_data <<create>> new(user_data) displ ay() change_user_data update_user_button is_vali d() update_user(userID,newUserData) update_user(userID,newUserData) user_updated user_updated Figure 47 - Update User Sequence Diagram 51 ADETTI Salt & Pepper Pack 5.5.4 Associate User with Product Only product managers can associate users to their products. To perform this operation, product managers have to choose a user from the users list. Activity Diagram List Users Choose User [ else ] [ category = product manager ] Associate User To Product Figure 48 - Associate User with Product Activity Diagram 52 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Product Details frm: Frm Users frm: Frm User Details dsUser bsUserManage ment dsUserProduct Relation : Product Manager <<create>> list_product_users_button list_users(productID) list_users(productID) users_list users_list <<create>> new(users_list) display() select_user select_user(userID) select_user(userID) user_data user_data <<create>> new(user_data) display() associate_user_to_product_button associate_user_to_product(productID,userID) associate_user_to_product(productID,userID) association_inserted association_inserted Figure 49 - Associate User with Product Sequence Diagram 53 ADETTI Salt & Pepper Pack 5.5.5 Dissociate User From Product Only the product manager can dissociate a user from a product. After that moment the removed user can’t perform any task associated with that product. However, the effects of all actions performed by users while was associated with the product are preserved. Activity Diagram List Users Choose User [ else ] [ category = product manager ] Dissociate User From Product Figure 50 - Dissociate User with Product Activity Diagram 54 ADETTI Salt & Pepper Pack Sequence Diagram frm: Frm Product Details frm: Frm Users frm: Frm User Details dsUser bsUserManage ment dsUserProduct Relation : Product Manager <<create>> list_product_users_button list_users(productID) list_users(productID) users_list users_list <<create>> new(users_list) display() select_user select_user(userID) select_user(userID) user_data user_data <<create>> new(user_data) display() dissociate_user_from_product_button dissociate_user_from_product(productID,userID) dissociate_user_from_product(productID,userID) association_removed association_removed Figure 51 - Dissociate User with Product Sequence Diagram 55 ADETTI Salt & Pepper Pack 6 Tools The software tools that were used in the information system development are: - MySQL™ MySQL™ is the Database solution adopted to built the "R&D products support Information System". The MySQL™ in fact is composed of two tools: the MySQL™ Database Server and the MySQL™ Control Center: o MySQL™ Database Server This tool is an open-source database server. o MySQL™ Control Center The MySQL™ Control Center tool allows managing the databases stored in the My SQL database server. The fact that these tools are freeware is the main motive of this technological choice. Another important reason is that MySQL™ is easy to use and the development team had significant experience with the tool. This decision allowed to minimize risks associated with unfamiliarity with selected technology. - Java 2™ Standard Edition 1.4.1. The Java 2™ Standard Edition was used to develop the “R&D products support Information System”. We use this tool for the same reasons, invoked to use MysQL™. - Schema Class Builder The Schema Class Builder it’s part of the Salt & Pepper software and consists of a tool for generating JAVA classes that supports the translation between XML and JAVA, created under the European Project SAFIRA. It also supports an Object Oriented interface for relational databases. We used this tool to enable a simple interface for the XML communication used. 56