3 research outputs found

    Una propuesta de mejoramiento del estándar Essence mediante el uso de unificación terminológica

    Get PDF
    Context: SEMAT (Software Engineering Method and Theory) is promoting a software engineering theory with adequate terminology to improve the transference of methods and practices between teams. Terminologies should be uniform in order to eliminate ambiguity, improve communication among teams, and support new concepts. Method: The process of reaching uniformity is called terminology unification. In this paper we propose a method for improving the Essence standard based on terminology unification. This method comprises four stages: selection of base models and definitions for structuring terms, identification of terminology problems by comparing the base models and definitions, unification of terms among the base models and definitions, and measurement of the gap between the current standard terms and the proposed changes. Results: We propose a set of modifications to the Essence standard in constructs like: alpha state cards, relationships among alphas, and names of activity spaces. Conclusions: By solving such conflicts, we can define a common, unambiguous terminology for software engineering teams.Contexto: En SEMAT (Software Engineering Method and Theory) se promueve una nueva teoría de la ingeniería de software con terminología apropiada para mejorar la transferencia de métodos y prácticas entre equipos. La terminología debe ser uniforme para eliminar la ambigüedad, mejorar la comunicación entre equipos y apoyar el surgimiento de nuevos conceptos. Método: Al proceso para alcanzar uniformidad se le denomina unificación terminológica. En este artículo se propone un mejoramiento del estándar Essence basado en la unificación terminológica. Este método comprende cuatro etapas: selección de modelos base y definiciones para estructurar términos, identificación de problemas terminológicos comparando las bases y definiciones, unificación de términos con base en los modelos y definiciones y medición de la brecha entre los términos actuales del estándar y los cambios propuestos. Resultados: Se propone un conjunto de modificaciones al estándar Essence en constructos como cartas de estado de los alfas, relaciones entre los alfas y nombres de los espacios de actividad. Conclusiones: Al corregir estos conflictos, es posible definir una terminología común y sin ambigüedades para todos los equipos de ingeniería de software

    A holistic method for improving software product and process quality

    Get PDF
    The concept of quality in general is elusive, multi-faceted and is perceived differently by different stakeholders. Quality is difficult to define and extremely difficult to measure. Deficient software systems regularly result in failures which often lead to significant financial losses but more importantly to loss of human lives. Such systems need to be either scrapped and replaced by new ones or corrected/improved through maintenance. One of the most serious challenges is how to deal with legacy systems which, even when not failing, inevitably require upgrades, maintenance and improvement because of malfunctioning or changing requirements, or because of changing technologies, languages, or platforms. In such cases, the dilemma is whether to develop solutions from scratch or to re-engineer a legacy system. This research addresses this dilemma and seeks to establish a rigorous method for the derivation of indicators which, together with management criteria, can help decide whether restructuring of legacy systems is advisable. At the same time as the software engineering community has been moving from corrective methods to preventive methods, concentrating not only on both product quality improvement and process quality improvement has become imperative. This research investigation combines Product Quality Improvement, primarily through the re-engineering of legacy systems; and Process Improvement methods, models and practices, and uses a holistic approach to study the interplay of Product and Process Improvement. The re-engineering factor rho, a composite metric was proposed and validated. The design and execution of formal experiments tested hypotheses on the relationship of internal (code-based) and external (behavioural) metrics. In addition to proving the hypotheses, the insights gained on logistics challenges resulted in the development of a framework for the design and execution of controlled experiments in Software Engineering. The next part of the research resulted in the development of the novel, generic and, hence, customisable Quality Model GEQUAMO, which observes the principle of orthogonality, and combines a top-down analysis of the identification, classification and visualisation of software quality characteristics, and a bottom-up method for measurement and evaluation. GEQUAMO II addressed weaknesses that were identified during various GEQUAMO implementations and expert validation by academics and practitioners. Further work on Process Improvement investigated the Process Maturity and its relationship to Knowledge Sharing, resulted in the development of the I5P Visualisation Framework for Performance Estimation through the Alignment of Process Maturity and Knowledge Sharing. I5P was used in industry and was validated by experts from academia and industry. Using the principles that guided the creation of the GEQUAMO model, the CoFeD visualisation framework, was developed for comparative quality evaluation and selection of methods, tools, models and other software artifacts. CoFeD is very useful as the selection of wrong methods, tools or even personnel is detrimental to the survival and success of projects and organisations, and even to individuals. Finally, throughout the many years of research and teaching Software Engineering, Information Systems, Methodologies, I observed the ambiguities of terminology and the use of one term to mean different concepts and one concept to be expressed in different terms. These practices result in lack of clarity. Thus my final contribution comes in my reflections on terminology disambiguation for the achievement of clarity, and the development of a framework for achieving disambiguation of terms as a necessary step towards gaining maturity and justifying the use of the term “Engineering” 50 years since the term Software Engineering was coined. This research resulted in the creation of new knowledge in the form of novel indicators, models and frameworks which can aid quantification and decision making primarily on re-engineering of legacy code and on the management of process and its improvement. The thesis also contributes to the broader debate and understanding of problems relating to Software Quality, and establishes the need for a holistic approach to software quality improvement from both the product and the process perspectives
    corecore