9 research outputs found

    Utilising the Software Engineering Methods and Theory framework to critically evaluate software engineering practice in the South African banking industry

    Get PDF
    A research report submitted to the Faculty of Engineering and The Built Environment of the University of Witwatersrand, Johannesburg In partial fulfilment of the requirements for the Degree of Master of Science in Engineering September 2015In recent years, software has become the cornerstone of banking and new business products are directly dependant on software. The delivery cycles for new features is now related to market share. This drive to use software as a vehicle for competitive advantage has created an environment in which software development of new business systems are increasingly on the critical path of many projects. An organisation’s portfolio of software intensive projects is situated within this complexity and organisations attempt to mitigate the risks associated with these complexities by implementing software development processes and practices. A key problem facing the modern bank is how to define and build a software development process that caters for both the traditional and increasingly agile genres of software development characteristics in a consistent and manageable way. The banks attempt to address this problem through continuous methodology and process improvements. Comparing and assessing non-standardised software engineering lifecycle models without a common framework is a complex and subjective task. A standardised language is important for simplifying the task for developing new methods and practices or for analysing and documenting existing practices. The Software Engineering Methods and Theory (SEMAT) initiative has developed a standardised kernel of essential concepts, together with a language that describes the essence of software engineering. This kernel, called the Essence, has recently become an Object Management Group (OMG) standard. The Essence kernel, together with its language, can be used as the underpinning theory to analyse an existing method and help provide insights that can drive method enhancements. The research report proposes a simple, actionable analysis framework to assist organisations to assess, review and develop their software engineering methods. The core concepts of the methodology are identified and mapped to the Essence concepts. The governance model of the Essence is mapped to the governance model of the industry model and a set of practices is identified and documented in the Essence language. The mapping and resulting analysis can be used to test the validity of the Essence theory in practice and identify areas for improvement in both the method and the Essence standard. The analysis framework has been applied to an operational software development lifecycle of a large South African bank. A mapping of the Essence concepts to the governance model and method documented in the lifecycle was completed. This mapping revealed that the Essence is a valid tool and can be used to describe a method in practice. Furthermore it is useful as an analysis framework to assess the governance model that manages and measures the progress of an endeavour in the Bank. The case study and resulting analysis demonstrate that the Essence standard can be used to analyse a methodology and identify areas for improvement. The analysis also identified areas for improvement in the Essence specification

    Integration and Test of MOF/UML-based Domain-specific Modeling Languages

    Get PDF
    In model-driven development (MDD), domain-specific modeling languages (DSMLs) are used as tailor-made software languages targeting dedicated application domains. Due to the narrow domain coverage of DSMLs, demands to integrate their individual functionality into a consolidated DSML arise (e.g., developing a software product combining two or more pre-existing DSMLs). However, in order to realize the benefits of integrated DSMLs, it must be ensured that the integrated DSML is correctly implemented and behaves as specified. To support the integration and the test of DSMLs, this thesis presents an approach targeting the Meta Object Facility (MOF) and the Unified Modeling Language (UML)- a metamodeling infrastructure frequently employed for the MDD of software systems. The integration of DSMLs is based on a rewriting technique for model-to-text (M2T) transformations. This method allows for the reuse as well as for the automatic refactoring of M2T transformation templates to fix important syntactical mismatches between templates and the integrated DSML. To test an integrated DSML, scenarios are used to define domain requirements on an abstract level (via structured text descriptions). In a subsequent step, executable scenario tests are derived from the requirements-level scenarios. These executable scenario specifications are then employed to test the integrated DSML for compliance with corresponding domain requirements. Empirical evaluations of the approach (case studies, controlled experiment) demonstrate its successful application, collect evidence for its usefulness, and quantify its benefits. The integrated proof-of-concept implementations build on the Eclipse Modeling Framework (EMF), making use of and extending well-known Eclipse-based projects. All accompanying developments are placed into the public domain as free/libre open source software. Within the framework of this thesis, research results were originally published as individual contributions (workshop, conference, and journal articles). All research contributions are results of applying a design science research approach. (author's abstract

    Process-Centred Approaches for Model-Driven Engineering (PMDE) - First Edition

    No full text
    International audienceOn one hand, the process engineering community has developed a large background on how to specify, to execute and to improve processes. On the other hand, the model-driven engineering community brings new techniques for easing the construction of languages and applications, editors and compilers. The goal of the PMDE workshop is to bring together experts from both communities to discuss the complementarity of these domains and how they can be combined together for a better software productivity and reliability. The workshop will invite contributions from both academia and the industry and will present the emerging research topics with their main challenges

    Teaching electrical circuits in grade 10 physical science using a conceptual change approach

    Get PDF
    Magister Educationis - MEd (Mathematics and Science Education)The purpose of this paper is to investigate whether the teaching of electric circuits in Grade 10 Physical Sciences using a conceptual change approach would enhance learners' understanding of the concept. The conceptual change approach is a process whereby concepts and relationships between concepts change over the course of an individual's lifetime. The process whereby conceptual change occurs is of central interest in helping to understand the process of learning, and is also important when considering the design of instruction. The study was conducted at a secondary school in a small town in the Karoo. Purposive sampling was used to select the sample of a Physical Science Grade 10 class. A mixed method approach was used to observe the effectiveness of the conceptual change approach - four conditions must exist before a conceptual change is likely to occur: (1) assess learners' dissatisfaction with their existing concepts; (2) the new concept must become intelligible; (3) the new concept must appear plausible; and (4) the new concept must be fruitful. All learners' total scores for the pre-test and post-test were calculated and recorded and total scores were statistically analyzed. This study could provide means to improve science teaching and learning. The learners were assisted to discover what was not clear to them, they were encouraged towards deeper understanding and to use their own knowledge to make sense of new concepts. The conceptual change approach could be used effectively by the teachers as it will assist to remove misconceptions learners have prior to the learning of new science concepts

    Un marco de referencia para facilitar la interoperabilidad y mantenibilidad de los modelos de procesos de software

    Get PDF
    Falta palabras clavesHoy en día los sistemas software son cada vez más complejos y su desarrollo se convierte en un desafío continuo para las empresas de software que deben adaptar su forma de trabajar al entorno cambiante, dinámico y globalizado que las caracteriza. En aras de la fabricación de productos software de calidad, en un tiempo de acceso al mercado adecuado y con un coste competitivo, los procesos de software se han convertido en uno de los activos fundamentales de cualquier empresa del sector de las tecnologías de la información y las comunicaciones (TIC). Son muchos los estándares y modelos de referencia, que la industria del software usa y aplica, que establecen la importancia de tener definidos y documentados los procesos de software, estableciendo qué características o requerimientos deberán cumplir, pero no indican cómo definir esos procesos. La búsqueda de la mejor forma de representar y definir los procesos de software dentro de las organizaciones, para garantizar su uso de forma sistemática e institucionalizada, ha sido objeto de estudio desde hace décadas, mediante la creación de diferentes lenguajes de modelado de procesos de software. Desde los años 90 más de una treintena de lenguajes significativos han sido desarrollados con el objetivo de modelar los procesos de software. Cada uno de estos lenguajes era creado para solventar algún problema existente que no estaba resuelto con los anteriores, pero con el mismo objetivo: obtener los modelos de procesos y sistematizar su uso en las empresas de software. Varias han sido las tendencias sobre las tecnologías base para su modelado, desde la creación de nuevos lenguajes de programación específicos para procesos, pasando por la formalidad de las redes de Petri, hasta los más modernos enfoques basados en modelos de acuerdo con el paradigma de la ingeniería dirigida por modelos (Model Driven Engineering, MDE). Sin embargo, a pesar de todos los esfuerzos por generar un lenguaje de modelado de procesos de software que sobresaliera por encima del resto y se convirtiera en un estándar de uso generalizado por las organizaciones de software a nivel mundial, ninguno ha tenido una aceptación muy superior al resto. Ni siquiera el respaldo de los más importantes organismos de estandarización en el ámbito del software ha conseguido cambiar esta inercia, ya sea por el conocimiento existente en los ingenieros de procesos o por la dinámica heredada por el sector en el que una empresa se mueve. Cada organización selecciona el lenguaje de modelado de procesos de software que considera más adecuado en sus inicios, estableciendo un vínculo tan fuerte que es difícil de romper más adelante, de forma que si las necesidades evolucionan con el tiempo, es preciso un cambio de lenguaje o, simplemente, es necesario que los procesos de una organización interoperen con los de otras para llevar a cabo algún proyecto específico, la actividad de transformación o traducción a otros lenguajes se convierte en una tarea muy costosa en tiempo y esfuerzo de personal, generadora de errores e inconsistencias. A diferencia de las propuestas de estandarización más extendidas, el planteamiento en este trabajo de tesis aboga por mantener la diversidad de lenguajes de modelado de procesos de software en la organizaciones de la forma en la que éstas lo consideren oportuno, siendo su objetivo fundamental el desarrollo de un marco de referencia para facilitar, mejorar y agilizar la interoperabilidad y mantenibilidad de los modelos de procesos de software, independientemente del lenguaje elegido para su modelado. Para alcanzarlo, el marco de referencia está basado en tres pilares fundamentales. El primero de ellos consiste en un lenguaje de modelado de procesos de software adecuado para el marco, que se considera como un lenguaje base y al que hemos denominado INROMA (INteROperabilidad y MAntenibilidad). Dicho lenguaje se caracteriza por ser de fácil aprendizaje y por contener únicamente aquellos conceptos necesarios comunes para la definición y modelado de cualquier proceso de software, siguiendo la norma ISO/IEC TR 24744:2007, por lo que se convierte en una pieza clave para la interoperabilidad y mantenibilidad de los mismos. Estas características le convierten en un lenguaje de fácil acceso para cualquier organización, y no privilegia ningún lenguaje de modelado de procesos de software existente frente al resto. En el desarrollo de INROMA se han definido tanto su sintaxis abstracta, siguiendo el paradigma MDE, mediante un metamodelo, algo básico para obtener las funcionalidades del marco, como su sintaxis concreta, en su uso como lenguaje. El segundo de los pilares fundamentales es el método mediante el que se establecen las bases teóricas que permiten incorporar nuevos lenguajes de modelado de procesos de software al marco de referencia. Por último, el tercero de los pilares son las transformaciones que formalizan las correspondencias y se constituyen como el nexo entre cualquier lenguaje de modelado de procesos de software incorporado al marco de referencia e INROMA. Los tres elementos conforman el marco de referencia para facilitar la interoperabilidad y mantenibilidad de los procesos de software. Teniendo en cuenta que uno de los principales propósitos en el desarrollo de este trabajo de tesis es lograr su utilización en entornos empresariales, para conseguir un importante impacto en estos ámbitos todo este fundamento teórico se completa con MONETA, una herramienta de soporte para el marco de referencia, proporcionando asistencia y automatización en su uso. Dicha herramienta ha sido validada mediante casos de estudio reales extraídos de proyectos de transferencia con empresas en los que se observa cómo la propuesta desarrollada ha sido de gran utilidad en los mismos. En definitiva, esta tesis doctoral plantea el desarrollo de un marco de referencia para facilitar la interoperabilidad y mantenibilidad de los modelos de procesos de software, abordando tanto el planteamiento teórico que los sustenta como la parte práctica mediante una herramienta de soporte para su utilización en empresas

    A software development methodology for solo software developers: leveraging the product quality of independent developers

    Get PDF
    Software security for agile methods, particularly for those designed for individual developers, is still a major concern. With most software products deployed over the Internet, security as a key component of software quality has become a major problem. In addressing this problem, this research proposes a solo software development methodology (SSDM) that uses as minimum resources as possible, at the same time conforming to the best practice for delivering secure and high-quality software products. Agile methods have excelled on delivering timely and quality software. At the same time research also shows that most agile methods do not address the problem of security in the developed software. A metasynthesis of SSDMs conducted in this thesis confirmed the lack practices that promote security in the developed software product. On the other hand, some researchers have demonstrated the feasibility of incorporating existing lightweight security practices into agile methods. This research uses Design Science Research (DSR) to build, demonstrate and evaluate a lightweight SSDM. Using an algorithm adapted for the purpose, the research systematically integrates lightweight security and quality practices to produce an agile secure-solo software development methodology (Secure-SSDM). A multiple-case study in an academic and industry setting is conducted to demonstrate and evaluate the utility of the methodology. This demonstration and evaluation thereof, indicates the applicability of the methodology in building high-quality and secure software products. Theoretical evaluation of the agility of the Secure-SSDM using the four-dimensional analytical tool (4-DAT) shows satisfactory compliance of the methodology with agile principles. The main contributions in this thesis are: the Secure-SSDM, which entails description of the concepts, modelling languages, stages, tasks, tools and techniques; generation of a quality theory on practices that promote quality in a solo software development environment; adaptation of Keramati and Mirian-Hosseinabadi’s algorithm for the purposes of integrating quality and security practices. This research would be of value to researchers as it introduces the security component of software quality into a solo software development environment, probing more research in the area. To software developers the research has provided a lightweight methodology that builds quality and security into the product using minimum resources.School of ComputingD. Phil. (Computer Science

    GSI Scientific Report 2009 [GSI Report 2010-1]

    Get PDF
    corecore