Ten Years of Experience with Agile and Model-Driven Software Development in a Legacy Platform

Author(s):  
Chung-Yeung Pang

In this chapter, a report containing the author's many years of experience in software development together with a discussion of software engineering are presented. The report begins with the software crisis and includes different projects following the traditional waterfall model with heavy documents. In a re-engineering project of a legacy IT system by modernizing COBOL applications, we established an agile and model driven approach to software development. This approach which has been successfully applied in 13 projects since 2004 is presented. The key factors required for our success will also be discussed. Both the good and bad experiences of the last ten years will be summarized. The chapter will be finalized with a vision of a new architecture for agile software development.

Author(s):  
Chung-Yeung Pang

In this chapter, a report containing the author's many years of experience in software development together with a discussion of software engineering are presented. The report begins with the software crisis and includes different projects following the traditional waterfall model with heavy documents. In a re-engineering project of a legacy IT system by modernizing COBOL applications, we established an agile and model driven approach to software development. This approach which has been successfully applied in 13 projects since 2004 is presented. The key factors required for our success will also be discussed. Both the good and bad experiences of the last ten years will be summarized. The chapter will be finalized with a vision of a new architecture for agile software development.


2022 ◽  
pp. 1511-1534
Author(s):  
Chung-Yeung Pang

Reusability is a clear principle in software development. However, systematic reuse of software elements is not common in most organizations. Application programmers rarely design and create software elements for possible future reuse. In many agile software development processes, the project teams believe that the development of reusable software elements can slow down the project. This can be a misconception. This chapter examines various ways to reuse software. Three approaches to developing reusable software artifacts from 15 years of experience in the agile development process are presented. The first approach is to create generic programs or configurable frameworks that support similar solutions for a variety of use cases and environments. The reuse of patterns is the second approach presented. Another effective way is to use a model-driven approach with model patterns. These approaches help to speed deployment software. The final product is flexible and can easily be adapted to changes. This is one of the main goals of an agile approach.


Author(s):  
Chung-Yeung Pang

Reusability is a clear principle in software development. However, systematic reuse of software elements is not common in most organizations. Application programmers rarely design and create software elements for possible future reuse. In many agile software development processes, the project teams believe that the development of reusable software elements can slow down the project. This can be a misconception. This chapter examines various ways to reuse software. Three approaches to developing reusable software artifacts from 15 years of experience in the agile development process are presented. The first approach is to create generic programs or configurable frameworks that support similar solutions for a variety of use cases and environments. The reuse of patterns is the second approach presented. Another effective way is to use a model-driven approach with model patterns. These approaches help to speed deployment software. The final product is flexible and can easily be adapted to changes. This is one of the main goals of an agile approach.


2015 ◽  
Vol 18 (1) ◽  
pp. 5-14
Author(s):  
Oksana Nikiforova ◽  
Ludmila Kozacenko ◽  
Dace Ahilcenoka ◽  
Konstantins Gusarovs ◽  
Dainis Ungurs ◽  
...  

Abstract Models are widely used not only in computer science field, but also in other fields. They are an effective way to show relevant information in a convenient way. Model-driven software development uses models and transformations as first-class citizens. That makes software development phases more related to each other, those links later help to make changes or modify software product more freely. At the moment there are a lot of methods and techniques to create those models and transform them into each other. Since 2004, authors have been developing the so called 2HMD approach to bridge the gap between problem domain and software components by using models and model transformation. The goal of this research is to compare different methods positioned for performing the same tasks as the 2HMD approach and to understand the state of the art in the area of model-driven software development.


Author(s):  
Wilman Vega ◽  
Henry Umaña

Resumen Los Servicios Web Semánticos ofrecen beneficios, que coadyuvan a la evolución de la Web, como el descubrimiento, invocación y composición dinámica y automática de recursos, habilitan efectivamente la interoperabilidad entre sistemas, permitiendo una amplia gama de nuevos servicios y oportunidades de negocios en la Internet. La estructura necesaria para proveer estos beneficios, hace que su desarrollo sea un proceso complejo, requiriendo establecer formas más fáciles y dinámicas que garanticen reutilización, calidad y rapidez. El desarrollo dirigido por modelos realiza una contribución eficiente en estos aspectos, dado que trabaja de manera intrínseca conceptos como separación de conceptos, reusabilidad e interoperabilidad entre componentes. En este artículo se presenta un enfoque para desarrollo de software dirigido por modelos, orientado al desarrollo de los servicios web semánticos, donde inicialmente se plantean las fases correspondientes al análisis, diseño y desarrollo dentro de la metodología propuesta, aplicando la metodología sobre un pequeño caso de estudio y obtener como resultado la estructura de un Servicio web semántico. Palabras Clave: Servicios web semánticos, Desarrollo dirigido por modelos, ontologías web.   Abstract Semantic Web Services offers benefits that contribute to Web evolution. Benefits such as automatic discovery and invocation, and dynamic composition, effectively enables systems interoperability, allowing a wide range of services and Internet businesses. The necessary structure to provide those benefits by Semantic Web Services makes its development a complex process. It necessary to establish more easy and dynamic ways to develop this kind of software, in order to assure reuse, quality and speediness in the development process. The model-driven software development makes an efficient contribution in those aspect, because it works intrinsically concepts related such separation of concerns, reusability and components interoperability. In this paper we present an approach to model-driven development software applied to Semantic Web Services. First, we establish the phases corresponding to the analysis, design and development in the proposal methodology, by applying it to a case of study we obtain the structure of a Semantic Web Services. Keywords: Semantic Web Services, Model-Driven Development, Web Ontologies.


Sign in / Sign up

Export Citation Format

Share Document