8 research outputs found

    Foundations of Programming Languages

    Get PDF
    This clearly written textbook provides an accessible introduction to the three programming paradigms of object-oriented/imperative, functional, and logic programming. Highly interactive in style, the text encourages learning through practice, offering test exercises for each topic covered. Review questions and programming projects are also presented, to help reinforce the concepts outside of the classroom. This updated and revised new edition features new material on the Java implementation of the JCoCo virtual machine

    Quality-Aware Tooling

    Get PDF
    Programming is a fascinating activity that can yield results capable of changing people lives by automating daily tasks or even completely reimagining how we perform certain activities. Such a great power comes with a handful of challenges, with software maintainability being one of them. Maintainability cannot be validated by executing the program but has to be assessed by analyzing the codebase. This tedious task can be also automated by the means of software development. Programs called static analyzers can process source code and try to detect suspicious patterns. While these programs were proven to be useful, there is also an evidence that they are not used in practice. In this dissertation we discuss the concept of quality-aware tooling —- an approach that seeks a promotion of static analysis by seamlessly integrating it into development tools. We describe our experience of applying quality-aware tooling on a core distribution of a development environment. Our main focus is to provide live quality feedback in the code editor, but we also integrate static analysis into other tools based on our code quality model. We analyzed the attitude of the developers towards the integrated static analysis and assessed the impact of the integration on the development ecosystem. As a result 90% of software developers find the live feedback useful, quality rules received an overhaul to better match the contemporary development practices, and some developers even experimented with a custom analysis implementations. We discovered that live feedback helped developers to avoid dangerous mistakes, saved time, and taught valuable concepts. But most importantly we changed the developers' attitude towards static analysis from viewing it as just another tool to seeing it as an integral part of their toolset

    Model Transformation Languages with Modular Information Hiding

    Get PDF
    Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain

    (Fase 2) bajo minería de datos. Caso de estudio: MOTOS ELECTROMUEBLES- Departamento de Arauca

    Get PDF
    Motos Electromuebles es una empresa con 6 años de experiencia en el mercado Araucano, su actividad comercial consta de venta de repuestos para motos Honda y Hero, servicio de mantenimiento para motos; actualmente cuentan con cuatro sedes en el Departamento de Arauca: Arauca, Tame, Arauquita y Saravena. La empresa cuenta con un sistema transaccional web que almacena todos los registros de las diferentes dependencias. La siguiente propuesta presenta un diseño y desarrollo de un módulo CRM (Customer Relationship Management) adaptado a la empresa Motos Electromuebles de Arauca, aplicando un modelo de minería de datos. La minería de datos es un mecanismo para explorar grandes cantidades de datos y convertirlo en información, para este caso se utiliza para encaminar los datos que tiene la empresa de clientes, organizarla y lograr obtener la información que se solicita. Un CRM es una herramienta comercial y de marketing importante para cualquier empresa, se centra en la relación empresa - cliente. Es el pilar donde se centra la fidelización del cliente y se aplicará las acciones de mercadeo. En el estado del arte se consigna una definición precisa y clara de los dos conceptos ya que se requiere tener la definición clara para generar el análisis y el módulo con las estrategias de marketing. La base tecnológica para el desarrollo de la propuesta es el gestor de base de datos MYSQL y un lenguaje de programación PHP, se plantea la idea de desarrollo adecuado para esta empresa. Además se realiza una toma de requerimientos que se deberá utilizar para hacer la clasificación de los roles de acceso, manejo y clasificación de los clientes para que la empresa haga la toma de decisiones y ayudar a la gestión de ventas.Motos Electromuebles es una empresa con 6 años de experiencia en el mercado Araucano, su actividad comercial consta de venta de repuestos para motos Honda y Hero, servicio de mantenimiento para motos; actualmente cuentan con cuatro sedes en el Departamento de Arauca: Arauca, Tame, Arauquita y Saravena. La empresa cuenta con un sistema transaccional web que almacena todos los registros de las diferentes dependencias. La siguiente propuesta presenta un diseño y desarrollo de un módulo CRM (Customer Relationship Management) adaptado a la empresa Motos Electromuebles de Arauca, aplicando un modelo de minería de datos. La minería de datos es un mecanismo para explorar grandes cantidades de datos y convertirlo en información, para este caso se utiliza para encaminar los datos que tiene la empresa de clientes, organizarla y lograr obtener la información que se solicita. Un CRM es una herramienta comercial y de marketing importante para cualquier empresa, se centra en la relación empresa - cliente. Es el pilar donde se centra la fidelización del cliente y se aplicará las acciones de mercadeo. En el estado del arte se consigna una definición precisa y clara de los dos conceptos ya que se requiere tener la definición clara para generar el análisis y el módulo con las estrategias de marketing. La base tecnológica para el desarrollo de la propuesta es el gestor de base de datos MYSQL y un lenguaje de programación PHP, se plantea la idea de desarrollo adecuado para esta empresa. Además se realiza una toma de requerimientos que se deberá utilizar para hacer la clasificación de los roles de acceso, manejo y clasificación de los clientes para que la empresa haga la toma de decisiones y ayudar a la gestión de ventas
    corecore