Figure 3 - uploaded by Fábio Paulo Basso
Content may be subject to copyright.
Approaches Adopted to Design Web Information System Models 

Approaches Adopted to Design Web Information System Models 

Source publication
Article
Full-text available
Rapid Application Prototyping (RAP) is recommended to obtain quick feedback from clients, allowing the validation of software requirements before acceptance tests. In this regard, Model-Driven Engineering (MDE) and Agile Methods are two important approaches that suggest the use of techniques for RAP. Some fundamental differences between them exist:...

Contexts in source publication

Context 1
... have used BPMN (BPMN, 2014) to model the RAP lifecycle of our methodology as shows Figure 4. In this model, BPMN lanes represent stages of design and refinement in the RAP lifecycle. In each stage different input and output data are used for the model transformations shown in Figure 3. Bellow we depict each stage of the proposed methodology. Agile analysis. In this stage three methodology’s essential artifacts are produced: “Sketch”, “User Story” and “Conceptual Model”. A sketch is a drawing in paper representing GUI components and screen flows and a use story describes intentions of users to accomplish a specific functionality. From these artifacts, an Analyst can specify a conceptual model, which is a set of classes describing the entities whose data/objects will be persisted into a database (also called as analysis classes) shown in the top of Figure 5. This is the minimum set of artifacts to start the RAP approach. However, one can use other representations for requirements such as textual use cases represented with a DSL, glossary, supplementary and non-functional requirements (e.g., representing the periodicity of calls for methods of some ...
Context 2
... of our proposal when introduced in the context of “Company A”, which uses Scrum to manage software development projects (while in our enterprise we make use of AMDA). Taking into account this demand, a case study for MDE as Service was conducted as part of an industrial innovation project. This study was planned a year before introducing our approach in Company A, considering risks. Such innovation project has been supported by FINEP, a Brazilian governmental agency of support to research and development. In order to apply agility principles together with MDE in short iterations, the quick design of annotated models and the generation of testable prototypes must be considered. This is called Rapid Application Prototyping (RAP) and can be performed through several tools and techniques. This section discusses on RAP techniques that we have already applied in practice and introduces briefly the one that we have found to be the more suitable to an agile context. Such technique will be detailed in the next section. Along some years (Basso et al., 2007), we have experienced some RAP approaches for design and code generation on the development of web information systems as follows. First approach. The RAP approach illustrated in Figure 3 (1) makes use of detailed models designed with UML for requirement specification. In this approach, models are manually annotated with stereotypes and tags, providing semantics for business logic, web front ends and persistence logic. It requires experienced designers. A drawback of this approach is the big effort in design before executing the validation of a testable application piece. However, it is appropriate to represent details in a model organized in different MVC layers, enabling the generation of modular source code through a “model-to-code (M2C) Execution Engine” and resulting in a fully implemented prototype. Second approach. The approach for RAP illustrated in Figure 3 (2) allows to generate Mockups from a Conceptual Model (entity classes) through “Start templates”. This is a categorisation for a set of model transformations used in initial phases of prototyping. Besides, a “M2C Execution Engine” enables the use of these Mockups to generate the application code (without Annotated MVC Models). This is similar to implementations of web frameworks such as Ruby on Rails. From our experiences, we have found that this is the easiest and quickest RAP approach because it do not require big effort in design. Code generated from Mockups enables clients to experiment and explore system functionalities, typically generated in a simple layout structure that does not change, such as templates for JSF using Java Facelets. A benefit of this approach is the quick validation of an application piece generated in conjunction with clients, while the previous approach requires more effort in modelling, implying in the validation carried out more lately. However, due to the limited expressiveness of Mockups, simpler prototypes than the ones of the first approach are generated, requiring several changes in source code to make them customized for the client. This effort is due to the lack of rich semantics associated with GUI components in Mockup designs (e.g., absence of semantics for business logic). Thus, the prototype design does not reflect the final code and can be discarded after the code generation. Third approach. The design approach illustrated in Figure 3 (3) includes a “Model Refinement Engine” named MockupToME and was proposed to speed- up the specification of “Annotated MVC Models”. ...
Context 3
... of our proposal when introduced in the context of “Company A”, which uses Scrum to manage software development projects (while in our enterprise we make use of AMDA). Taking into account this demand, a case study for MDE as Service was conducted as part of an industrial innovation project. This study was planned a year before introducing our approach in Company A, considering risks. Such innovation project has been supported by FINEP, a Brazilian governmental agency of support to research and development. In order to apply agility principles together with MDE in short iterations, the quick design of annotated models and the generation of testable prototypes must be considered. This is called Rapid Application Prototyping (RAP) and can be performed through several tools and techniques. This section discusses on RAP techniques that we have already applied in practice and introduces briefly the one that we have found to be the more suitable to an agile context. Such technique will be detailed in the next section. Along some years (Basso et al., 2007), we have experienced some RAP approaches for design and code generation on the development of web information systems as follows. First approach. The RAP approach illustrated in Figure 3 (1) makes use of detailed models designed with UML for requirement specification. In this approach, models are manually annotated with stereotypes and tags, providing semantics for business logic, web front ends and persistence logic. It requires experienced designers. A drawback of this approach is the big effort in design before executing the validation of a testable application piece. However, it is appropriate to represent details in a model organized in different MVC layers, enabling the generation of modular source code through a “model-to-code (M2C) Execution Engine” and resulting in a fully implemented prototype. Second approach. The approach for RAP illustrated in Figure 3 (2) allows to generate Mockups from a Conceptual Model (entity classes) through “Start templates”. This is a categorisation for a set of model transformations used in initial phases of prototyping. Besides, a “M2C Execution Engine” enables the use of these Mockups to generate the application code (without Annotated MVC Models). This is similar to implementations of web frameworks such as Ruby on Rails. From our experiences, we have found that this is the easiest and quickest RAP approach because it do not require big effort in design. Code generated from Mockups enables clients to experiment and explore system functionalities, typically generated in a simple layout structure that does not change, such as templates for JSF using Java Facelets. A benefit of this approach is the quick validation of an application piece generated in conjunction with clients, while the previous approach requires more effort in modelling, implying in the validation carried out more lately. However, due to the limited expressiveness of Mockups, simpler prototypes than the ones of the first approach are generated, requiring several changes in source code to make them customized for the client. This effort is due to the lack of rich semantics associated with GUI components in Mockup designs (e.g., absence of semantics for business logic). Thus, the prototype design does not reflect the final code and can be discarded after the code generation. Third approach. The design approach illustrated in Figure 3 (3) includes a “Model Refinement Engine” named MockupToME and was proposed to speed- up the specification of “Annotated MVC Models”. ...
Context 4
... of our proposal when introduced in the context of “Company A”, which uses Scrum to manage software development projects (while in our enterprise we make use of AMDA). Taking into account this demand, a case study for MDE as Service was conducted as part of an industrial innovation project. This study was planned a year before introducing our approach in Company A, considering risks. Such innovation project has been supported by FINEP, a Brazilian governmental agency of support to research and development. In order to apply agility principles together with MDE in short iterations, the quick design of annotated models and the generation of testable prototypes must be considered. This is called Rapid Application Prototyping (RAP) and can be performed through several tools and techniques. This section discusses on RAP techniques that we have already applied in practice and introduces briefly the one that we have found to be the more suitable to an agile context. Such technique will be detailed in the next section. Along some years (Basso et al., 2007), we have experienced some RAP approaches for design and code generation on the development of web information systems as follows. First approach. The RAP approach illustrated in Figure 3 (1) makes use of detailed models designed with UML for requirement specification. In this approach, models are manually annotated with stereotypes and tags, providing semantics for business logic, web front ends and persistence logic. It requires experienced designers. A drawback of this approach is the big effort in design before executing the validation of a testable application piece. However, it is appropriate to represent details in a model organized in different MVC layers, enabling the generation of modular source code through a “model-to-code (M2C) Execution Engine” and resulting in a fully implemented prototype. Second approach. The approach for RAP illustrated in Figure 3 (2) allows to generate Mockups from a Conceptual Model (entity classes) through “Start templates”. This is a categorisation for a set of model transformations used in initial phases of prototyping. Besides, a “M2C Execution Engine” enables the use of these Mockups to generate the application code (without Annotated MVC Models). This is similar to implementations of web frameworks such as Ruby on Rails. From our experiences, we have found that this is the easiest and quickest RAP approach because it do not require big effort in design. Code generated from Mockups enables clients to experiment and explore system functionalities, typically generated in a simple layout structure that does not change, such as templates for JSF using Java Facelets. A benefit of this approach is the quick validation of an application piece generated in conjunction with clients, while the previous approach requires more effort in modelling, implying in the validation carried out more lately. However, due to the limited expressiveness of Mockups, simpler prototypes than the ones of the first approach are generated, requiring several changes in source code to make them customized for the client. This effort is due to the lack of rich semantics associated with GUI components in Mockup designs (e.g., absence of semantics for business logic). Thus, the prototype design does not reflect the final code and can be discarded after the code generation. Third approach. The design approach illustrated in Figure 3 (3) includes a “Model Refinement Engine” named MockupToME and was proposed to speed- up the specification of “Annotated MVC Models”. ...
Context 5
... approach. The RAP approach illustrated in Figure 3 (1) makes use of detailed models designed with UML for requirement specification. In this approach, models are manually annotated with stereotypes and tags, providing semantics for business logic, web front ends and persistence logic. ...
Context 6
... approach. The approach for RAP illustrated in Figure 3 (2) allows to generate Mockups from a Conceptual Model (entity classes) through "Start templates". This is a categorisation for a set of model transformations used in initial phases of prototyping. ...
Context 7
... approach. The design approach illustrated in Figure 3 (3) includes a "Model Refinement Engine" named MockupToME and was proposed to speed- up the specification of "Annotated MVC Models". In this approach, MVC models are generated through Mockups more detailed than those ones of the second approach, since they specify business logic through tags and stereotypes. ...
Context 8
... profile allows the representation of business logic associated with events of buttons represented in a Mockup. Figure 8 (3) shows the controller layer represented with the "Action Profile", a UML interface with operations to control events and flows. In ( Basso et al., 2012) we discussed on a set of heterogeneous M2M transformations applied in this stage that convert a Mockup specification based on the MockupToME metamodel (see http://prisma.cos.ufrj.br/wct/projects ...

Citations

... The study also reports real-world case studies about developing web information systems. In his research, it was produced that the development of information systems that combined the Model Driven Engineering (MDE) and Scrum approach enabled the design and validation of the pre-prototype model system more quickly [10]. ...
Conference Paper
Full-text available
On this research the scrum framework is utilized to optimize website building for mapping salted egg production. The scrum framework works repeatedly and gradually in its development process. Hence, on the result of this research the sprint planning that able to create faster development process is generated. The former problem which the data displayed on the website has not used interesting visualization then the use of hyperlinks on the website is also not optimal. However, with scrum framework implementation the process of developing a website for mapping salted egg production can be resolved faster, because all scrum teams are involved in the process of completion.
... La implementación del enfoque se realizó en el proyecto Market Server Capabilities (MSC) propuesto por la empresa SunGard. Los autores F.P. Basso et al. presentan una propuesta que combina los enfoques de MDA y metodologías ágiles en el contexto del Prototipado de Aplicación Rápida (RAP por sus siglas en inglés) [13]. RAP permite la validación de los requerimientos de software, antes de las pruebas de aceptación, con el fin de obtener una respuesta rápida de los clientes. ...
Article
Full-text available
RESUMEN La industria del software integra, en su proceso de desarrollo, las metodologías ágiles como un estándar, porque brindan valor agregado a los usuarios en el menor tiempo posible y además se adapta a los cambios del negocio en forma oportuna. Sin embargo, muchas de estas técnicas carecen de definiciones de sus procesos completamente. Se observa también que no hay herramientas que ofrezcan soporte sobre a los mismos. El desarrollo de software dirigido por modelos permite mejorar esta situación, incorporando al proceso de desarrollo de software la abstracción y el formalismo necesario, para automatizar y optimizar las tareas más críticas del proceso de desarrollo. La integración de ambas metodologías produjo un nuevo enfoque denominado Desarrollo de software dirigido por modelos ágil, (AMDD, Agile Model Driven Development), que permite acelerar el desarrollo a partir una perspectiva ágil. La línea de investigación propone en el contexto de AMDD, incorporar un proceso metodológico y crear herramientas con MDD (Model-Driven Development) para que sea aplicado a un proyecto ágil.
... The study also reports realworld case studies about developing web information systems. In his research, it was produced that the development of information systems that combined the Model Driven Engineering (MDE) and Scrum approach enabled the design and validation of the preprototype model system more quickly [10]. ...
Article
Full-text available
Indonesia as a producer of duck eggs is abundant enough to be the main raw material for making salted eggs. Publication of salted egg production has been presented using media websites, so that data can be accessed quickly and easily. However, the data displayed on the website has not used interesting visualization, the use of hyperlinks on the website is also not optimal. Even though one of the functions of the website is the utilization of optimal hyperlinks. Therefore, a website development is needed so that the data displayed on the website has good and interesting visualization and can maximize the use of hyperlinks. Development of a website for mapping salted egg production is done using the scrum framework. There are three core roles in the Scrum framework that work together to produce product enhancements triggered by each sprint. By using the Scrum Framework, the process of developing a website for mapping salted egg production can be resolved faster, because all scrum teams are involved in the process of completion.
... The study also reports realworld case studies about developing web information systems. In his research, it was produced that the development of information systems that combined the Model Driven Engineering (MDE) and Scrum approach enabled the design and validation of the preprototype model system more quickly [10]. ...
... RAP Method Basso et al. [30] propose a MDDbased Rapid Application Prototyping (RAP) method. They define four main phases in the development lifecycle: ...
Article
Full-text available
Model-based development (MBD) is the development of software systems using graphical and textual models such as UML class diagrams. MBD and related approaches such as Model-driven development (MDD) have had some success within specific application domains, such as the automotive industry. Agile software development approaches such as Scrum and eXtreme Programming (XP) have been widely adopted in many different industry sectors. These approaches emphasise iterative development and close customer collaboration. eXtreme Modeling (XM) is a model-based development analogue of eXtreme Programming: it is an agile development approach based on the use of software models to specify and synthesise software systems. In this paper we look at the track record of agile and model-based development, and we consider the case for combining these approaches into XM to obtain benefits from both approaches: rapid automated software generation, lightweight development processes, and direct customer involvement. An example application of XM in the financial services domain is described.
... F.P.Basso and al. presents an approach that combines a Model Driven Architecture approach and Agility in the context of Rapid Application Prototyping (RAP) [10]; RAP allows the validation of software requirements before acceptance tests which in order to obtain a quick feedback from clients. This approach aims to take account of the agility principles in the context of MDA based on RAP methodology to generate front end and models based on MVC pattern, the implementation of this approach was applied on the generation of the Web Information System based on scrum methodology and MDE practices. ...
... Reuse mechanisms for tool chain are related with the toolbox built on the FOMDA DSL (BASSO et al., 2013a(BASSO et al., , 2014c, a representation language that we have used to build foundations for MDE as a Service through characterization studies (BASSO et al., 2014a(BASSO et al., , 2015b(BASSO et al., , 2016d(BASSO et al., , 2017a. Thus, below we describe related works to this topic. ...
... Lack of studies combining MDE and arbitrary reference models for software development process in practice. The body of knowledge concerning practical issues in implementation of MDE as a Service is poorly discussed (BASSO et al., 2014a(BASSO et al., , 2015b(BASSO et al., , 2016d(BASSO et al., , 2017aBRAMBILLA and FRATERNALI, 2014;MO-HAGHEGHI et al., 2009MONTEIRO et al., 2014a,b). This finding corroborates with HEBIG and BENDRAOU (2014), who claimed that future studies in Software Engineering should evaluate the impact that introduction of MDE causes on reference process models in general, in special evaluating the daily practice of teams. ...
... Several assumptions have to be defined, which is a difficult decision for the service provider, since no one knows exactly how to deal with these approaches together. In (BASSO et al., 2015b), we have invested big effort to understand incompatibilities between MDE and Scrum and at the end of our analysis we have realized that the unique relevant issue to the combination of these approaches is the need of Sprints with short timescale. Our analysis concludes that the body of knowledge for decision making in this matter is poor, thus implementations for MDE as a Service are ad-hoc. ...
Thesis
Artifacts associated with Model-Driven Engineering (MDE) such as model transformations, Domain Specific Languages (DSL), and modeling or refinement tools have been proposed in the literature as a mean to increase the quality in products derived from activities of Software Engineering. These artifacts are introduced in technical-level settings, including DSLs adopted by model transformation engines, software project workspaces, and other ways to represent tool chains. In technical terms, a successful MDE introduction in target contexts includes the execution of integration phases that establish customized tool chains. This customization has been performed by software engineers in the called ``MDE as a Service'', where new opportunities for tool chain are available in asset repositories through coopetition scenarios (collaboration between competing companies). Coopetition benefits market leaders and their competitors and may help promoting MDE adoption. This way, it is necessary a common/hybrid representation for assets and tool chain, which represents a limitation in the state of the art. By including properties from MDE Artifact repositories and tool chain representations, a common representation would simplify the integration of scenarios for coopetition in MDE, allowing automatic transformation of structural features from a scenario to another one. Thus, we proposed RAS++, a new representation language for hybrid assets. Our research results indicate that RAS++ is representative enough to support implementations of MDE as a Service in evaluated coopetition scenarios. Institutional download link <http://www.cos.ufrj.br/index.php/pt-BR/publicacoes-pesquisa/details/15/2811>
... We have reported lessons in assisting MDD tasks in SDPs through representations for Model Transformation Chains (MTC) [5] built on a MTE named WCT [6]. In this sense, one of the lessons is from a developers' perspective: a request for execution of these tasks in an Integrated Development Environment (IDE) [7]. ...
... Resources/artifacts for MDD are independent from the SDP reference model adopted by a company. It is in this scenario that our previous work presented valuable lessons for the practice [6], [11]. One of the key findings from these experiences is the need from developers that MDD tasks could be assisted internally to Eclipse IDE, thus motivating the execution of this work. ...
Conference Paper
Model Driven Development (MDD) tasks are used in different software development processes. These tasks are traditionally started with transformation engines. Adapting MDD tasks to be managed in Eclipse Mylyn instead of traditional solutions can facilitate the access to and use of MDD techniques and tools for other contexts in software development, such as agile teams. In a previous work we have introduced a new Domain Specific Language (DSL) named RAS++ used on the top of proposals for MDE Artifacts and Settings. This work adds technical-level information that allows to transform RAS++ specifications to the Eclipse Mylyn. Through a proof-of-concept, we show that RAS++ plays the role of a pivotal representation language between a tool for Application Lifecycle Management (ALM) in Eclipse IDE and Model-Driven Engineering (MDE) Ecosystems, pointing out new research directions.
... We have reported lessons in assisting MDD tasks in SDPs through representations for Model Transformation Chains (MTC) [5] built on a MTE named WCT [6]. In this sense, one of the lessons is from a developers' perspective: a request for execution of these tasks in an Integrated Development Environment (IDE) [7]. ...
... Resources/artifacts for MDD are independent from the SDP reference model adopted by a company. It is in this scenario that our previous work presented valuable lessons for the practice [6], [11]. One of the key findings from these experiences is the need from developers that MDD tasks could be assisted internally to Eclipse IDE, thus motivating the execution of this work. ...
... • • The Benefits of Agile MDD Approaches: the benefits of combining Agile and MDD reported (Eliasson et al., 2014) Shorten development cycle, get early feedback Mechatronic systems MDD-based General Agile process, MDE S5 (Zhang, 2004) Enhance MDD for agility and quality Telecommunication MDD-based XP, MDD S6 (Kirby Jr, 2006) Get early feedback Reactive systems MDD-based General Agile process, MDD S7 (Nakićenović, 2012) Shorten development cycle Financial systems MDD-based Scrum, MDA S8 (Kulkarni et al., 2011) Shorten development time Business systems MDD-based General Agile process, MDD S9 (Basso et al., 2015) Involve customers, quick designs Web applications Agile-based Scrum, MDE S10 (Lano et al., 2015) Improve agility in MDD Transformation MDD-based Scrum, MDD S11 (Luna et al., 2009) Improve user involvement Web applications Agile-based TDD, MDD S12 (Rivero et al., 2014) Improve user involvement Web applications Agile-based Scrum, MDD S13 (Rivero et al., 2013) Improve requirements gathering and customer involvement Web applications Agile-based Scrum, MDD S14 (Cáceres et al., 2004) Combine the advantages of Agile methods and MDD Web applications MDD-based XP, MDA S15 (Krasteva et al., 2013) Improve the modernisation development process Web applications MDD-based Scrum, MDE in the studies are highlighted and discussed. ...