NDT-Tool: A Model-Driven tool to deal with Web Requirements M.J. Escalona, G. Aragón University of Seville
[email protected] everis, Spain
[email protected]
1. Introduction In the last years, the Web Engineering has getting a big importance in the Software research environment. A high number of research groups are working in finding suitable models, techniques and methodological process for the development of Web systems. However, this line is yet a very young one. Several comparative studies [1][2][3][8] show that there are important gaps in the available methodologies. The lack of practical experiences, the low number of methodologies that cover the first phases of the life cycle or the low shortage of CASE tools, are the most important ones. In this paper, we want to present a global vision of our approach, NDT (Navigational Development Techniques) [5]. Although, the work starts with a description of NDT in section two, it is focused on the description of its tool, NDT-Tool.
2
NDT (Navigational Development Technique)
NDT was born from some exhaustive comparative studies between web proposals [1][2][3][5][8]. NDT proposes a complete and a detail requirements phase to get systematically the analysis models of web systems. It is an approach to specify and analyse web information systems. NDT development process can be defined as a bottom-up one. The development process is focussed on a very detailed requirements definition guided by objectives, which covers three subphases: requirements capture, requirements definition and requirements validation. NDT only covers the first phases in the life cycle. Also, it is necessary to emphasize that workflows in NDT to go from requirements to analysis are systematic workflows. The necessity of offering systematic process to develop web design models has
2
M.J. Escalona, G. Aragón
been detected by several research groups. For this goal, NDT uses the model driven engineering. The process starts by defining objectives. Using a described procedure, requirements are captured and defined. Requirements are classified and dealt with depending on whether they are: information storage requirements, actors’ requirements, functional requirements, interaction requirements or non functional requirements. These requirements are described in NDT using a metamodel that describes artefacts in NDT requirements phase and their relations. The life cycle of NDT continues with the analysis phase defining three models: the conceptual model, which is a class diagram. It expresses the static view of the system; the navigational model, which shows how users can navigate in the system; the abstract interface model, which shows the abstract interface of the system. These models are also defined in NDT using metamodels. For this analysis models, NDT does not propose its own metamodels, NDT assumes UWE[6] metamodels. UWE analysis metamodels and NDT requirements metamodel are completely based on UML metamodel extensions. Between them, NDT define a set of relationships using QVT[9] relations. Thus, the translation between requirements and analysis is normalized and, even, automatic if a tool is used. One of the main contributions of the NDT process is that it offers a systematic way to get analysis models from requirements, which makes each model independent. This systematic process can be even automatical if NDTTool is used. Using the model driven paradigm and QVT relations, analysis models can be gotten from requirements models. For instance, interaction requirements represent how and who can interact with the system. These necessities have to be modelled into navigational analysis models. Thus, some relations between both concepts are defined and these relations can be translate intro transformations, this is the base of NDT Development process. In[7][4] an analysis of this mechanism is presented. When the development team applies these translations, they obtain the basic models: the conceptual basic model, the navigational basic model and the abstract interface model. These basic models can be modified in order to obtain models more suitable to the system. In this way, they obtain the final conceptual model, the final navigational model and the abstract interface model. The step from basic models to final models is not automatic because it requires analysts’ experience to be applied. However, NDT offers some guides and heuristics to get them. Besides, NDT manages the consistence between requirements and analysis models using the relations between them. The life cycle of NDT finishes in the analysis phase. Thus, we can conclude that NDT is not a complete web methodological proposal. It is a methodological procedure to get a conceptual, a navigational and an abstract interface model from the users’ requirements.
NDT-Tool: A Model-Driven tool to deal with Web Requirements
3
3.1 NDT-Tool NDT-Tool is a tool developed by the University of Seville for NDT. This tool is developed by J2EE and it was developed using the Model-ViewController . Its architecture is presented in Figure 1.
Fig. 1. NDT-Tool Adaptation
The application interface, NDT-Tool, receives some request from the user and it translates each request to the controller. It interacts with the model, developed using JavaBeans and EJBs. Besides, the controller sends the request to the View, modelled using JSP and TagLibs. The view makes some queries to the model and presents the results to the user using the interface. Nowadays, there is a special collaboration with two companies: Telvent and everis, to finish the new tool that will be presented at the end of March. NDT-Tool is very suitable for applying NDT because it support completely its life cycle. It allows to get all NDT results automatically: requirements and analysis documents and also system prototypes. Besides, transformations between requirements and analysis models are completely implemented in NDT-Tool. Another important advantage is that NDT-Tool is a free tool. However, it is an ad-hoc tool. For big projects or special adaptations of NDT it is too closed. For instance, in a real project developed named Diraya, NDT-Tool was not useful because this project is a very big one and they need a special identification of requirements and modularization of the system that was impossible with NDT-Tool. However, it is very useful for small projects with a low number of analysts and users.
4. Conclusions and Future Works In this paper a global vision of NDT and NDT-Tool was presented. Our approach offers important aspects in the web engineering. The first one is the
4
M.J. Escalona, G. Aragón
development of metamodels, techniques and a tool to deal with the requirements phase in web applications. In web engineering, the requirements phase was not treated enough [8]. But, besides, NDT based on the model driven paradigm offers a systematic way to get the analysis results from the requirements elements. NDT normalizes requirements and analysis artifacts using metamodels and, between them, defines a group of formal transformations that allow to get analysis models from the requirements models. However, one the most important contribution of our approach is the definition of NDT-Tool that implements these transformations and offers an automatic way to apply these transformations. Although NDT is focused on the requirements and the analysis phase, it is compatible with other approaches for the rest of phases. The requirements phase has not been treated enough in web engineering Our main line is the fusion of NDT-Tool with other tools in order to offer a suitable environment for the complete software development. Besides, NDT is a methodology that is being applied in real projects in Spain. The application of NDT-Tool is necessary and we hope to get an important feed back from these applications.
5. References 1. 2. 3.
4.
5.
6. 7.
Barry, C., Lang, M. A Survey of Multimedia and Web Development Techniques and Methodology Usage. IEEE Multimedia. pp. 52-56. Abril-Junio 2001. Cachero, C. Una extensión a los métodos OO para el modelado y generación automática de interfaces hipermediales. PhD Thesis. Alicante, España. Enero 2003. Escalona, M.J., Koch, N. Requirements Engineering for Web Applications: A Comparative Study. Journal on Web Engineering, Vol.2 Nº3, pp. 193-212. Febrero 2004. Rinton Press. Escalona, M.J., Koch, N. Metamodeling Requirements of Web Systems. In Proc. of International Conference on Web Information System and Technologies, INSTICC, 310317, Setúbal, Portugal. 2006. Escalona, M.J. Modelos y técnicas para la especificación y el análisis de la Navegación en Sistemas Software. Ph. European Thesis. Department of Computer Language and Systems. University of Seville. Seville, Spain. October, 2004. Koch, N. Software Engineering for Adaptative Hypermedia Applications. Ph. Thesis, FAST Reihe Softwaretechnik Vol(12), Uni-Druck Publishing Company. Germany. 2001. Koch, N., Zhang, G., Escalona, M.J. Model Transformations from Requirements to Web System Design. ACM International Conference Proceeding Series. Proceedings of the 6th international conference on Web engineering (ICWE 2006). ISBN: 1-59593-352-2. Ed. ACM. pp. 281-288. Palo Alto. California. USA. July 2006
8.
Lang, M. Hypermedia System Development. Do we really need new Methods?. Site-Where Parallels Intersect. Informing Science. pp. 883-891. June 2002
9.
Query QVT-Merge Group, Revised submission for MOF 2.0 Query/Views/ Transformations RFP. 2004, Object Management Group, http://www.omg.org/cgibin/apps/doc?ad/04-04-01.pdf.