36 resultados para Alienation from development process
Resumo:
The growing interest for integrating agile methodologies and usability has brought various challenges to practitioners. This research focuses on a specific part of these challenges that is related to the integration of usability mechanisms (features such as cancel, undo, warning, etc.) into agile requirements, usually written in the form of user stories. For this aim, a framework has been developed, conformed first by a well-defined modeling language that aims to formalize previous empirical research in the field, models of the impact of usability mechanisms into user stories, and a tool to help practitioners applying them to user stories. Results show that the use of this framework helps agile developers to think about usability from the beginning of the development process, without needing to be an expert in the subject. Our proposal can therefore complement other usability practices to improve the quality of use of software developed using agile methodologies.
Resumo:
El presente trabajo tiene como objetivo diseñar un modelo de gestión de responsabilidad social sustentado en estándares internacionales para las empresas del sector petrolero venezolano. Esta investigación no se suscribe a un modelo epistémico en particular, como forma parcializada de ver la realidad. Por el contrario, se realizó un abordaje holístico de la investigación, entendiendo el evento de estudio, la gestión de la responsabilidad social, como un evento integrado por distintas visiones de la relación empresa – sociedad. La holística se refiere a una tendencia que permite entender la realidad desde el punto de vista de las múltiples interacciones que la caracterizan. Corresponde a una actitud integradora como también a una teoría explicativa que se orienta hacia una comprensión contextual de los procesos, de los protagonistas y de los eventos. Desde la concepción holística se determinó que la investigación es de tipo proyectiva. Este tipo de investigación propone soluciones a una situación determinada a partir de un proceso de indagación. Implica describir, comparar, explicar y proponer alternativas de cambios, lo que da lugar a los estadios de investigación. En cuanto al diseño de la investigación, aplicando el ciclo holístico, se tiene un diseño que es univariable, transeccional contemporáneo y de fuente mixta. Univariable, porque se enfoca en la gestión de responsabilidad social. Transeccional contemporáneo, porque el evento se estudia en la actualidad y se realiza una sola medición de los datos. De fuente mixta, porque en los estadios descriptivo y explicativo se aplica un diseño de campo, al recolectar los datos directamente en las empresas objeto de estudio, mientras que para los estadios analítico y comparativo se aplica un diseño documental. Las técnicas de recolección de la información estuvieron constituidas por fuentes primarias provenientes de la observación directa, la revisión documental y la aplicación de un cuestionario estructurado tipo escala Likert. El análisis de los datos comprendió el análisis estadístico descriptivo, la estimación de la fiabilidad y el análisis de coeficientes de correlación y análisis de ruta, a través del software estadístico SPSS v.19.0 y AMOS v.20. En los estadios descriptivo y explicativo se estudió la gestión de la responsabilidad social en las empresas del sector petrolero. Los resultados indicaron que las empresas del sector petrolero actúan bajo los lineamientos trazados en el Plan de Desarrollo Nacional y de acuerdo con las políticas, directrices, planes y estrategias para el sector de los hidrocarburos, dictadas por el Ministerio de Energía y Petróleo. También incluyen el compromiso social y la política ambiental en su filosofía de gestión. Tienen en su estructura organizacional una gerencia de desarrollo social que gestiona la responsabilidad social. Las actividades de inversión social se presentan poco estructuradas y en ocasiones se improvisan ya que atienden a los lineamientos políticos del Estado y no a una política interna de sostenibilidad del negocio petrolero. En cuanto a la integralidad de la gestión las empresas no consideran la responsabilidad social en todas las áreas, por lo que deben ampliar su concepción de una gestión responsable, redefiniendo estructuras, estrategias y procesos, con una orientación hacia una gestión sustentable. En cuanto a los estadios analítico y comparativo aplicados al estudio de las guías y estándares internacionales de responsabilidad social, se determinó que en términos de la integralidad de la gestión las iniciativas que destacan son: en cuanto a los principios, las directrices para empresas multinacionales según la OCDE y el Libro Verde de la Unión Europea. En relación con las guías de implementación y control, el Global Reporting Initiative y la norma ISO 26000. Y en cuanto a los sistemas de gestión el Sistema de Gestión Ética y Responsable (SGE 21) y el Sistema de Gestión de Responsabilidad Social IQNET SR10. Finalmente se diseñó una estructura para la gestión integral de responsabilidad social basada en los estándares internacionales y en el concepto de desarrollo sostenible. Por tanto abarca el desarrollo social, el equilibrio ecológico y el crecimiento económico, lo que permite un desarrollo sinérgico. La originalidad del enfoque consistió en la comprensión de la investigación desde una concepción holística, que permitió la integración de las teorías que tratan el tema de la responsabilidad social a través de un abordaje estructurado. ABSTRACT The present research aims to design a model of social responsibility management underpinned by international standards for companies in the Venezuelan oil sector. This research is not framed in a particular epistemic model as a biased way of looking at reality. Instead, a holistic approach to the research was conducted, understanding the event under study, the management of social responsibility as an event composed of different views of the relationship between corporation and society. The term holistic refers to a trend in understanding the reality from the point of view of the multiple interactions that characterize it. It corresponds to an integrative as well as an explanatory theory that is oriented towards a contextual understanding of the processes, of the participants and of the events. From the holistic conception it was determined that this research is of a projective type. The research proposes solutions to a given situation from a process of inquiry. It implies describing, comparing, explaining and proposing alternative changes, which results in the different research stages. Regarding the research design, applying the holistic cycle, an univariate, contemporary cross-sectional and mixed source design is obtained. It is univariate, because it focuses on the management of social responsibility. It is contemporary cross-sectional, because the event is studied in the present time and a single measurement of data is performed. It relies on mixed source, because in the descriptive and explanatory stages a field design is applied when collecting data directly from the companies under study, while for the analytical and comparative stages applies a documentary design is applied. The data collection techniques were constituted by primary sources from direct observation, document review and the implementation of a structured Likert scale questionnaire. The data analysis comprised descriptive statistical analysis, reliability estimates and analysis of correlation and the path analysis through the SPSS v.19.0 and AMOS V.20 statistical software. In the descriptive and explanatory stages social responsibility management in the oil sector companies was studied. The results indicated that the oil companies operate under the guidelines outlined in the National Development Plan and in accordance with the policies, guidelines, plans and strategies for the hydrocarbons sector, issued by the Ministry of Energy and Petroleum. They also include the social commitment and the environmental policy in their management philosophy. They have in their organizational structure a social development management which deals with social responsibility. Corporate social investment is presented poorly structured and is sometimes improvised since they follow the policy guidelines of the state and not the internal sustainability policy of the oil business. As for the integrity of management companies they do not consider social responsibility in all areas, so they need to expand their conception of responsible management, redefining structures, strategies and processes, with a focus on sustainable management. As for the analytical and comparative stages applied to the study of international guidelines and standards of social responsibility, it was determined that, in terms of the comprehensiveness of management, the initiatives that stand out are the following: With respect to principles, the guidelines for multinational enterprises as indicated by OECD and the Green Paper of the European Union. Regarding the implementation and control guides, the Global Reporting Initiative and the ISO 26000 standard are relevant. And as for management systems the Ethics and Responsible Management System (SGE 21) and the IQNet SR10 Social responsibility management system have to be considered. Finally a framework for the comprehensive management of social responsibility based on international standards and the concept of sustainable development was designed. Hence, social development, ecological balance and economic growth are included allowing therefore a synergistic development. The originality of this approach is the understanding of research in a holistic way, which allows the integration of theories that address the issue of social responsibility through a structured approximation.
Resumo:
UML is widely accepted as the standard for representing the various software artifacts generated by a development process. For this reason, there have been attempts to use this language to represent the software architecture of systems as well. Unfortunately, these attempts have ended in the same representations (boxes and lines) already criticized by the software architecture community.In this work we propose an extension to the UML metamodel that is able to represent the syntactics and semantics of the C3 architectural style. This style is derived from C2. The modifications to define C3 are described in section 4. This proposal is innovative regarding UML extensions for software architectures, since previous proposals where based on light extensions to the UML meta-model, while we propose a heavyweight extension of the metamodel. On the other hand, this proposal is less ambitious than previous proposals, since we do not want to represent in UML any architectural style, but only one: C3.
Resumo:
This document is the result of a process of web development to create a tool that will allow to Cracow University of Technology consult, create and manage timetables. The technologies chosen for this purpose are Apache Tomcat Server, My SQL Community Server, JDBC driver, Java Servlets and JSPs for the server side. The client part counts on Javascript, jQuery, AJAX and CSS technologies to perform the dynamism. The document will justify the choice of these technologies and will explain some development tools that help in the integration and development of all this elements: specifically, NetBeans IDE and MySQL workbench have been used as helpful tools. After explaining all the elements involved in the development of the web application, the architecture and the code developed are explained through UML diagrams. Some implementation details related to security are also deeper explained through sequence diagrams. As the source code of the application is provided, an installation manual has been developed to run the project. In addition, as the platform is intended to be a beta that will be grown, some unimplemented ideas for future development are also exposed. Finally, some annexes with important files and scripts related to the initiation of the platform are attached. This project started through an existing tool that needed to be expanded. The main purpose of the project along its development has focused on setting the roots for a whole new platform that will replace the existing one. For this goal, it has been needed to make a deep inspection on the existing web technologies: a web server and a SQL database had to be chosen. Although the alternatives were a lot, Java technology for the server was finally selected because of the big community backwards, the easiness of modelling the language through UML diagrams and the fact of being free license software. Apache Tomcat is the open source server that can use Java Servlet and JSP technology. Related to the SQL database, MySQL Community Server is the most popular open-source SQL Server, with a big community after and quite a lot of tools to manage the server. JDBC is the driver needed to put in contact Java and MySQL. Once we chose the technologies that would be part of the platform, the development process started. After a detailed explanation of the development environment installation, we used UML use case diagrams to set the main tasks of the platform; UML class diagrams served to establish the existing relations between the classes generated; the architecture of the platform was represented through UML deployment diagrams; and Enhanced entity–relationship (EER) model were used to define the tables of the database and their relationships. Apart from the previous diagrams, some implementation issues were explained to make a better understanding of the developed code - UML sequence diagrams helped to explain this. Once the whole platform was properly defined and developed, the performance of the application has been shown: it has been proved that with the current state of the code, the platform covers the use cases that were set as the main target. Nevertheless, some requisites needed for the proper working of the platform have been specified. As the project is aimed to be grown, some ideas that could not be added to this beta have been explained in order not to be missed for future development. Finally, some annexes containing important configuration issues for the platform have been added after proper explanation, as well as an installation guide that will let a new developer get the project ready. In addition to this document some other files related to the project are provided: - Javadoc. The Javadoc containing the information of every Java class created is necessary for a better understanding of the source code. - database_model.mwb. This file contains the model of the database for MySQL Workbench. This model allows, among other things, generate the MySQL script for the creation of the tables. - ScheduleManager.war. The WAR file that will allow loading the developed application into Tomcat Server without using NetBeans. - ScheduleManager.zip. The source code exported from NetBeans project containing all Java packages, JSPs, Javascript files and CSS files that are part of the platform. - config.properties. The configuration file to properly get the names and credentials to use the database, also explained in Annex II. Example of config.properties file. - db_init_script.sql. The SQL query to initiate the database explained in Annex III. SQL statements for MySQL initialization. RESUMEN. Este proyecto tiene como punto de partida la necesidad de evolución de una herramienta web existente. El propósito principal del proyecto durante su desarrollo se ha centrado en establecer las bases de una completamente nueva plataforma que reemplazará a la existente. Para lograr esto, ha sido necesario realizar una profunda inspección en las tecnologías web existentes: un servidor web y una base de datos SQL debían ser elegidos. Aunque existen muchas alternativas, la tecnología Java ha resultado ser elegida debido a la gran comunidad de desarrolladores que tiene detrás, además de la facilidad que proporciona este lenguaje a la hora de modelarlo usando diagramas UML. Tampoco hay que olvidar que es una tecnología de uso libre de licencia. Apache Tomcat es el servidor de código libre que permite emplear Java Servlets y JSPs para hacer uso de la tecnología de Java. Respecto a la base de datos SQL, el servidor más popular de código libre es MySQL, y cuenta también con una gran comunidad detrás y buenas herramientas de modelado, creación y gestión de la bases de datos. JDBC es el driver que va a permitir comunicar las aplicaciones Java con MySQL. Tras elegir las tecnologías que formarían parte de esta nueva plataforma, el proceso de desarrollo tiene comienzo. Tras una extensa explicación de la instalación del entorno de desarrollo, se han usado diagramas de caso de UML para establecer cuáles son los objetivos principales de la plataforma; los diagramas de clases nos permiten realizar una organización del código java desarrollado de modo que sean fácilmente entendibles las relaciones entre las diferentes clases. La arquitectura de la plataforma queda definida a través de diagramas de despliegue. Por último, diagramas EER van a definir las relaciones entre las tablas creadas en la base de datos. Aparte de estos diagramas, algunos detalles de implementación se van a justificar para tener una mejor comprensión del código desarrollado. Diagramas de secuencia ayudarán en estas explicaciones. Una vez que toda la plataforma haya quedad debidamente definida y desarrollada, se va a realizar una demostración de la misma: se demostrará cómo los objetivos generales han sido alcanzados con el desarrollo actual del proyecto. No obstante, algunos requisitos han sido aclarados para que la plataforma trabaje adecuadamente. Como la intención del proyecto es crecer (no es una versión final), algunas ideas que se han podido llevar acabo han quedado descritas de manera que no se pierdan. Por último, algunos anexos que contienen información importante acerca de la plataforma se han añadido tras la correspondiente explicación de su utilidad, así como una guía de instalación que va a permitir a un nuevo desarrollador tener el proyecto preparado. Junto a este documento, ficheros conteniendo el proyecto desarrollado quedan adjuntos. Estos ficheros son: - Documentación Javadoc. Contiene la información de las clases Java que han sido creadas. - database_model.mwb. Este fichero contiene el modelo de la base de datos para MySQL Workbench. Esto permite, entre otras cosas, generar el script de iniciación de la base de datos para la creación de las tablas. - ScheduleManager.war. El fichero WAR que permite desplegar la plataforma en un servidor Apache Tomcat. - ScheduleManager.zip. El código fuente exportado directamente del proyecto de Netbeans. Contiene todos los paquetes de Java generados, ficheros JSPs, Javascript y CSS que forman parte de la plataforma. - config.properties. Ejemplo del fichero de configuración que permite obtener los nombres de la base de datos - db_init_script.sql. Las consultas SQL necesarias para la creación de la base de datos.
Resumo:
El convento de la Tourette se concibe en un marco temporal concreto. Sin embargo sería erróneo limitarse a él a la hora de intentar desentrañar las claves del proyecto y llegar a un entendimiento completo del mismo. Es necesario analizarlo atendiendo al conjunto global de la producción del arquitecto, la cual ha ido forjando una forma propia de hacer que condicionará en gran medida las decisiones tomadas en cada momento. Esta tesis realiza una investigación de doble sentido (recogida en los dos volúmenes que la componen). Por un lado analiza el proceso evolutivo en el que se enhebra la obra intentando desentrañar la influencia de aquel en ésta, pero por otro, invirtiendo el sentido, también desvela ciertas claves de la arquitectura de Le Corbusier a través del preciso análisis de proyecto de la Tourette. Pero aún más, la pertenencia del convento de la Tourette al “tipo monacal” introduce la presencia de un tiempo histórico “ab origine, in hillo tempore” del que la investigación se hace eco. Un tiempo al que Le Corbusier siempre volverá la mirada, y que en este caso se encuentra muy presente, determinando el devenir del proyecto de una forma particular y definitiva. Por tanto este trabajo pretende convocar los dos tiempos que conviven en el proyecto del convento de la Tourette, el corto, concreto y cerrado de su génesis y desarrollo, que se circunscribe al periodo de proyecto comprendido entre los años 1953 y 1956, y el más dilatado, abstracto y abierto, que enlaza el proyecto con la producción de Le Corbusier, y aún más atrás, con el tiempo histórico. En la primera parte del trabajo (A. “PROYECTO”) se realiza un análisis cronológico de la documentación gráfica ‐incluyendo su re‐dibujo‐ y escrita del proyecto, desde los croquis que el arquitecto esboza en su primera visita al valle del Turdine hasta el documento final del project d’exécution, a partir del cual se materializará la obra. El objetivo de la investigación no es describir la realidad construida, sino participar del secreto de su génesis analizando y intentando comprender los dibujos o el pensamiento de sus creadores. Frente a la multitud de escritos sobre la obra del convento de la Tourette el foco de atención de la tesis se centra en el proyecto. Es en esta fase de elaboración y desarrollo de las ideas, previa a la acción de construir, donde pensamos que La deriva de la propia actividad del arquitecto avala esta decisión. A lo largo de su carrera Le Corbusier va reduciendo progresivamente su presencia en la obra centrándose cada vez más en las fases de la concepción y proyecto arquitectónico. Considera que en ellas se produce lo “esencial” mientras que deja las decisiones de obra en manos de sus colaboradores y de los diversos “operadores”, participando tan solo en el visto bueno final de las mismas (esta posición contrasta con la entrega de los constructores para quienes el arquitecto encarna la innovación tecnológica). En la Tourette realiza exclusivamente tres visitas de obra en las que actúa como un mero escenógrafo, ajustando aquí y allá pequeñas decisiones de la construcción. Esta distancia refuerza su posición en el proceso y subraya su búsqueda de un ideal teórico desarrollado sobre todo en la fase de proyecto frente a lo subsidiario de la realidad práctica. En la segunda parte de la tesis, denominada “RE‐VISIONES”, se abre el campo de acción a otras facetas de la ingente actividad de Le Corbusier como la pintura, la escritura o incluso la escultura; una nueva MIRADA bajo el prisma de una serie de conceptos‐llave recurrentes en su Petit vocabulaire (l’homme, la céllule, la bôite, l’organisme). Se amplía, por tanto, el marco temporal, repasando de modo genérico y transversal la evolución de los mismos en la trayectoria del arquitecto, comprobándose como el convento de la Tourette es un eslabón característico y clave en todos ellos. ABSTRACT The Convent of La Tourette is conceived in a specific time frame. However, it would be erroneous to limit oneself simply to this when trying to unravel the keys to the project and to fully understand it. It is necessary to analyse the project attending to the entire production of the architect, who progressively shaped his own way of doing things which would condition to a large extent the decisions taken at each point in time. This thesis carries out its research in a dual sense (brought together in both its volumes). On the one hand, it analyses the development process threading the work attempting to fathom the influence of the former on the latter but, on the other hand, inverting the sense which also reveals certain keys to the architecture of Le Corbusier by means of a detailed analysis of the project for La Tourette. Even more so, the Convent of La Tourette belonging to the “monastic type” introduces the presence of a historical period “ab origine, in hillo tempore" reflected in the research. A period to which Le Corbusier would always look back on and which is extremely present in this case, determining the evolution of the project in a particular and definitive manner. Therefore, this piece of work attempts to bring together both time periods co‐existing in the project for the Convent of La Tourette, the short, specific and closed one regarding its genesis development, encompassing the project period going from 1953 to 1956, and the broader, more abstract and open one linking the project with the production by Le Corbusier, and even further back, with the historical period. The first part of this work (A. “PROJECT") performs a chronological analysis of the graphic – including its re‐drawing –and written documentation of the project, from the outlines the architect sketched in his first visit to the Turdine valley up to the final document of the project d’exécution from which the works would materialise. The main object of the investigation is not intend to describe the reality constructed, but to participate in the secret of its genesis, analysing and trying to understand the drawings or the thoughts of its creators. As opposed to the many writings on the work of the Convent of La Tourette, the attention of this thesis focusses on the project. It is in this preparation and development stage, previous to the construction action, where it is believed the real keys to understand and explain it lie. The enormous work collecting, ordering and analysing the abundant graphic and written information reveals “a multidirectional process, full of regrets and securities, errors and certainties, leaps backwards and tremendous foresight in the process” directed not only by the conditions of the assignment, but also by the way of doing things of Le Corbusier and his collaborator I. Xenakis. A web of hidden relationships is weaved in this open space of the process, often distant in time, allowing us to draw a new route, not only towards the constructed works of the Convent of La Tourette, but towards understanding his entire production. It is in the creation of this new path of knowledge, and not only in its conclusion, where the “thesis” acquires its true meaning. In second place, the drift in the actual activity of the architect backs this decision. Throughout his career, Le Corbusier progressively reduced his presence on site, focussing more and more on the conception and architectural project stages. He considered that which was “essential” took place in these, while leaving the on‐site decisions to his collaborators and the different “operators”, only participating in their final approval (this position is in contrast with the delivery by the constructors for whom the architect embodies the technological innovation). In La Tourette he exclusively made three on‐site visits, in which acted as a pure stage designer, adjusting small construction decisions here and there. This distance reinforces his position in the process and underlines his search for a theoretical ideal developed primarily in the project stage as opposed to that which is secondary of the practical reality. The second part of the thesis, called “RE‐VISIONS”, widens the scope of action to other aspects of the huge activity by Le Corbusier, encompassing painting, writing or even sculpture; a new VIEW under the prism of a series of recurrent key concepts in his Petit vocabulaire (l’homme, la céllule, la bôite, l’organisme). The time frame is therefore extended, revising in a generic and transversal manner the development of these concepts throughout the career of Le Corbusier, confirming how the Convent of La Tourette is a characteristic and key link to each of them.
Resumo:
La usabilidad es un atributo de calidad de un sistema software que llega a ser crítico en sistemas altamente interactivos. Desde el campo de la Interacción Persona-Ordenador se proponen recomendaciones que permiten alcanzar un nivel adecuado de usabilidad en un sistema. En la disciplina de la Ingeniería de Software se ha establecido que algunas de estas recomendaciones afectan a la funcionalidad principal de los sistemas y no solo a la interfaz de usuario. Este tipo de recomendaciones de usabilidad se deben tener en cuenta desde las primeras actividades y durante todo el proceso de desarrollo, así como se hace con atributos tales como la seguridad, la facilidad de mantenimiento o el rendimiento. Desde la Ingeniería de Software se han hecho estudios y propuestas para abordar la usabilidad en las primeras actividades del desarrollo. En particular en la educción de requisitos y diseño de la arquitectura. Estas propuestas son de un alto nivel de abstracción. En esta investigación se aborda la usabilidad en actividades avanzadas del proceso de desarrollo: el diseño detallado y la programación. El objetivo de este trabajo es obtener, formalizar y validar soluciones reutilizables para la usabilidad en estas actividades. En este estudio se seleccionan tres funcionalidades de usabilidad identificadas como de alto impacto en el diseño: Abortar Operación, Retroalimentación de Progreso y Preferencias. Para la obtención de elementos reutilizables se utiliza un método inductivo. Se parte de la construcción de aplicaciones web particulares y se induce una solución general. Durante la construcción de las aplicaciones se mantiene la trazabilidad de los elementos relacionados con cada funcionalidad de usabilidad. Al finalizar se realiza un análisis de elementos comunes, y los hallazgos se formalizan como patrones de diseño orientados a la implementación y patrones de programación en cada uno de los lenguajes utilizados: PHP, VB .NET y Java. Las soluciones formalizadas como patrones se validan usando la metodología de estudio de casos. Desarrolladores independientes utilizan los patrones para la inclusión de las tres funcionalidades de usabilidad en dos nuevas aplicaciones web. Como resultado, los desarrolladores pueden usar con éxito las soluciones propuestas para dos de las funcionalidades: Abortar Operación y Preferencias. La funcionalidad Retroalimentación de Progreso no puede ser implementada completamente. Se concluye que es posible obtener elementos reutilizables para la implementación de cada funcionalidad de usabilidad. Estos elementos incluyen: escenarios de aplicación, que son la combinación de casuísticas que generan las funcionalidades de usabilidad, responsabilidades comunes necesarias para cubrir los escenarios, componentes comunes para cumplir con las responsabilidades, elementos de diseño asociados a los componentes y el código que implementa el diseño. Formalizar las soluciones como patrones resulta útil para comunicar los hallazgos a otros desarrolladores y los patrones se mejoran a través de su utilización en nuevos desarrollos. La implementación de funcionalidades de usabilidad presenta características que condicionan su reutilización, en particular, el nivel de acoplamiento de la funcionalidad de usabilidad con las funcionalidades de la aplicación, y la complejidad interna de la solución. ABSTRACT Usability is a critical quality attribute of highly interactive software systems. The humancomputer interaction field proposes recommendations for achieving an acceptable system usability level. The discipline of software engineering has established that some of these recommendations affect not only the user interface but also the core system functionality. This type of usability recommendations must be taken into account as of the early activities and throughout the software development process as in the case of attributes like security, ease of maintenance or performance. Software engineering has conducted studies and put forward proposals for tackling usability in the early development activities, particularly requirements elicitation and architecture design. These proposals have a high level of abstraction. This research addresses usability in later activities of the development process: detailed design and programming. The goal of this research is to discover, specify and validate reusable usability solutions for detailed design and programming. Abort Operation, Feedback and Preferences, three usability functionalities identified as having a high impact on design, are selected for the study. An inductive method, whereby a general solution is induced from particular web applications built for the purpose, is used to discover reusable elements. During the construction of the applications, the traceability of the elements related to each usability functionality is maintained. At the end of the process, the common and possibly reusable elements are analysed. The findings are specified as implementation-oriented design patterns and programming patterns for each of the languages used: PHP, VB .NET and Java. The solutions specified as patterns are validated using the case study methodology. Independent developers use the patterns in order to build the three usability functionalities into two new web applications. As a result, the developers successfully use the proposed solutions for two of the functionalities: Abort Operation and Preferences. The Progress Feedback functionality cannot be fully implemented. We conclude that it is possible to discover reusable elements for implementing each usability functionality. These elements include: application scenarios, which are combinations of cases that generate usability functionalities, common responsibilities to cover the scenarios, common components to fulfil the responsibilities, design elements associated with the components and code implementing the design. It is useful to specify solutions as patterns in order to communicate findings to other developers, and patterns improve through further use in other development projects. Reusability depends on the features of usability functionality implementation, particularly the level of coupling of the usability functionality with the application functionalities and the internal complexity of the solution.
Resumo:
En la actualidad existe una gran expectación ante la introducción de nuevas herramientas y métodos para el desarrollo de productos software, que permitirán en un futuro próximo un planteamiento de ingeniería del proceso de producción software. Las nuevas metodologías que empiezan a esbozarse suponen un enfoque integral del problema abarcando todas las fases del esquema productivo. Sin embargo el grado de automatización conseguido en el proceso de construcción de sistemas es muy bajo y éste está centrado en las últimas fases del ciclo de vida del software, consiguiéndose así una reducción poco significativa de sus costes y, lo que es aún más importante, sin garantizar la calidad de los productos software obtenidos. Esta tesis define una metodología de desarrollo software estructurada que se puede automatizar, es decir una metodología CASE. La metodología que se presenta se ajusta al modelo de ciclo de desarrollo CASE, que consta de las fases de análisis, diseño y pruebas; siendo su ámbito de aplicación los sistemas de información. Se establecen inicialmente los principios básicos sobre los que la metodología CASE se asienta. Posteriormente, y puesto que la metodología se inicia con la fijación de los objetivos de la empresa que demanda un sistema informático, se emplean técnicas que sirvan de recogida y validación de la información, que proporcionan a la vez un lenguaje de comunicación fácil entre usuarios finales e informáticos. Además, estas mismas técnicas detallarán de una manera completa, consistente y sin ambigüedad todos los requisitos del sistema. Asimismo, se presentan un conjunto de técnicas y algoritmos para conseguir que desde la especificación de requisitos del sistema se logre una automatización tanto del diseño lógico del Modelo de Procesos como del Modelo de Datos, validados ambos conforme a la especificación de requisitos previa. Por último se definen unos procedimientos formales que indican el conjunto de actividades a realizar en el proceso de construcción y cómo llevarlas a cabo, consiguiendo de esta manera una integridad en las distintas etapas del proceso de desarrollo.---ABSTRACT---Nowdays there is a great expectation with regard to the introduction of new tools and methods for the software products development that, in the very near future will allow, an engineering approach in the software development process. New methodologies, just emerging, imply an integral approach to the problem, including all the productive scheme stages. However, the automatization degree obtained in the systems construction process is very low and focused on the last phases of the software lifecycle, which means that the costs reduction obtained is irrelevant and, which is more important, the quality of the software products is not guaranteed. This thesis defines an structured software development methodology that can be automated, that is a CASE methodology. Such a methodology is adapted to the CASE development cycle-model, which consists in analysis, design and testing phases, being the information systems its field of application. Firstly, we present the basic principies on which CASE methodology is based. Secondly, since the methodology starts from fixing the objectives of the company demanding the automatization system, we use some techniques that are useful for gathering and validating the information, being at the same time an easy communication language between end-users and developers. Indeed, these same techniques will detail completely, consistently and non ambiguously all the system requirements. Likewise, a set of techniques and algorithms are shown in order to obtain, from the system requirements specification, an automatization of the Process Model logical design, and of the Data Model logical design. Those two models are validated according to the previous requirement specification. Finally, we define several formal procedures that suggest which set of activities to be accomplished in the construction process, and how to carry them out, getting in this way integrity and completness for the different stages of the development process.
Resumo:
Cognitive rehabilitation aims to remediate or alleviate the cognitive deficits appearing after an episode of acquired brain injury (ABI). The purpose of this work is to describe the telerehabilitation platform called Guttmann Neuropersonal Trainer (GNPT) which provides new strategies for cognitive rehabilitation, improving efficiency and access to treatments, and to increase knowledge generation from the process. A cognitive rehabilitation process has been modeled to design and develop the system, which allows neuropsychologists to configure and schedule rehabilitation sessions, consisting of set of personalized computerized cognitive exercises grounded on neuroscience and plasticity principles. It provides remote continuous monitoring of patient's performance, by an asynchronous communication strategy. An automatic knowledge extraction method has been used to implement a decision support system, improving treatment customization. GNPT has been implemented in 27 rehabilitation centers and in 83 patients' homes, facilitating the access to the treatment. In total, 1660 patients have been treated. Usability and cost analysis methodologies have been applied to measure the efficiency in real clinical environments. The usability evaluation reveals a system usability score higher than 70 for all target users. The cost efficiency study results show a relation of 1-20 compared to face-to-face rehabilitation. GNPT enables brain-damaged patients to continue and further extend rehabilitation beyond the hospital, improving the efficiency of the rehabilitation process. It allows customized therapeutic plans, providing information to further development of clinical practice guidelines.
Resumo:
La producción habitacional moderna chilena del siglo xx proporcionó modelos valiosos en los que abundaban espacios proclives al encuentro de la comunidad que, además, han logrado perdurar en el tiempo. Sin embargo, el estado de degradación en que se encuentran algunos de estos conjuntos ha puesto en entredicho sus cualidades efectivas para resolver el problema de la vivienda, tanto por su racionalidad excesiva como por su escasa capacidad para acoger los modos de vida propios de sus habitantes. A día de hoy, ante la masificación indiscriminada del mercado inmobiliario, cabe plantearse una mirada retrospectiva hacia algunos de estos conjuntos que mediaron entre la renovación y la realidad local preexistente, como ocurrió en algunos contextos geográficos complejos como el ‘Gran Valparaíso’. Las ciudades de Valparaíso y Viña del Mar destacan por su peculiar morfología urbana entre planicie y cerros, conformada tanto por construcciones espontáneas como planificadas, generalmente adaptadas a la geografía. La aparición de nuevos modelos en altura en los cerros tuvo consecuencias significativas para la escala del barrio y la ciudad, como la apropiación del patrimonio común de los ciudadanos —la vista hacia el paisaje de la bahía— y un cierto descontrol en las relaciones entre lo construido y su entorno inmediato. Dicha situación se tradujo en la deshumanización de los espacios colectivos y la pérdida del ‘sentido de lo comunitario’, dos situaciones propias del habitar local. Sin embargo, algunos conjuntos modernos dieron importancia a este tipo de espacios, que utilizaron como complemento a los reducidos recintos comunes de la unidad habitacional. Así, mediante la integración de circulaciones, espacios comunitarios y dotaciones, se estimuló la ‘comunidad’ y se favoreció la relación socio-espacial entre la vecindad y el barrio. El hecho de que en su implantación recogiesen cualidades locales —o no— requiere de un estudio más exhaustivo, especialmente en lo que toca a los modos de vida asociados. Esta tesis presenta la trayectoria y el proceso de desarrollo comunitario de siete conjuntos habitacionales modernos construidos en Valparaíso y Viña del Mar. Una evolución que estuvo impulsada por las cualidades formales y funcionales de los espacios comunes, profundamente arraigados al lugar. A través de un análisis retrospectivo de los ámbitos de encuentro y la trayectoria de la vida cotidiana, y construido desde la documentación junto con los recuerdos de los habitantes originarios, este trabajo revisa el estado actual de dichos conjuntos, sus singularidades y los cambios que han experimentado en el tiempo. ABSTRACT The twentieth century’s Chilean modern housing production has provided valuable models in which abounded spaces likely to community encounter, that also have managed to survive over time. However, some modern housing complexes exhibit an evident state of deterioration, that contradicts their characteristics for solving housing problems, both for its excessive rationality as their limited capacity to accommodate the ways of life of its inhabitants. However while the housing market has established a model based on standardization and individuality, an evaluation of the real characteristics of the main modern constructions is required, that mediate between the renewal and the existing local reality especially in cities emplaced in geographic complexes such as the ‘Gran Valparaíso’. The cities of Valparaiso and Viña del Mar are notable for its unique urban morphology between flat land and hills, formed both by spontaneous as planned constructions, generally adapted to the geography. The emergence of these new height models, particularly in the hills, had significant consequences at neighborhood and city. On the one hand has implied ownership of the common heritage of the people —the view of the landscape of the bay— and on the other hand have devalued the relationship between the built and the immediate environment. That situation even involved the dehumanization of collective spaces and loss of ‘sense of community’, both part of the local ways of live. However some modern collective housing gave importance to such spaces as a way to address the lack of common spaces in the dwelling unit. Through the integration of circulations, community spaces and endowments, ‘community’ was stimulated and socio-spatial relationship between vicinity and the neighborhood was favored. The fact that in its implementation to collect local qualities —or not— requires further study, especially in terms of associated lifestyles. This thesis presents the trajectory and community development process of seven modern housing complexes built in Valparaíso and Viña del Mar. As will be seen, without a doubt the formal and functional qualities of common spaces prompted the neighborhood’s evolution, deeply rooted in place.. Through a built from the documentation with the memories of the original inhabitants retrospective analysis of the areas of encounter and experience of everyday life, this research reviews the current status of these sets, their singularities and the changes that have experienced over time.
Resumo:
Usability guidelines are a useful tool for the developers to improve interaction with systems. It includes knowledge of different disciplines related to usability and provides solutions and best practices to achieve the objectives of usability. Heuristic evaluation is one of the methods most widely used to evaluate and user interfaces. The objective of this study is to enrich the process of heuristic evaluation with the design guidelines focusing it on the evaluation of applications for mobile devices. As well as generate a homogeneous classification of guidelines content, in order to help that from design and development process, be included solutions and good practices provided by the guidelines. In order to achieve the objectives of this work, it is provides a method for generating heuristics for mobile applications, with which four applications were evaluated, and a web tool has also been developed that allows access to the content of the guidelines using the homogeneous classification of guidelines content. The results showed the ease and utility of performing heuristic evaluations using a set of heuristics focused on mobile applications.
Resumo:
Starting from the documentation of high sprint velocity fluctuations in a Scrum project, this paper presents a thorough approach to identify the sources of issues arising in the context of Scrum implementation. Given that Scrum provides guidance on identifying process issues but not their root causes, various approaches are explored. This is of great relevance because Scrum defines project schedules relying heavily on sprint velocity and because it is the most widely used agile methodology. The findings provide a new approach to evaluate such fluctuations and establish a more realistic project assessment than what is currently defined by Scrum. In this respect, this paper contributes to improve the understanding of the software development process using this agile framework.
Resumo:
La Ingeniería de Pruebas está especializada en la verificación y validación del Software,y formalmente se define como: “Proceso de desarrollo que emplea métodos rigurosos para evaluar la corrección y calidad del producto a lo largo de todo su ciclo de vida” [3]. Este proceso comprende un conjunto de métodos, procedimientos y técnicas formalmente definidas las cuales, usadas de forma sistemática, facilitan la identificación de la mayor cantidad de errores y fallos posibles de un software. Un software que pase un proceso riguroso de pruebas es un producto de calidad que seguramente facilitará la labor del Ingeniero de Software en la corrección de futuras incidencias, algunas de ellas generadas tras la implantación en el entorno real. Este proceso constituye un área de la Ingeniería del Software y una especialidad por tanto, de la misma. De forma simple, la consecución de una correcta Verificación y Validación del Software requiere de algunas actividades imprescindibles como: - Realizar un plan de pruebas del proyecto. - Actualizar dicho plan y corregirlo en caso necesario. - Revisar los documentos de análisis de requisitos. - Ejecutar las pruebas en las diferentes fases del desarrollo del proyecto. - Documentar el diseño y la ejecución de las pruebas. - Generar documentos con los resultados y anomalías de las pruebas ya ejecutadas. Actualmente, la Ingeniería de Pruebas no es muy reconocida como área de trabajo independiente sino más bien, un área inmersa dentro de la Ingeniería de Software. En el entorno laboral existe el perfil de Ingeniero de Pruebas, sin embargo pocos ingenieros de software tienen claro querer ser Ingenieros de Pruebas (probadores o testers) debido a que nunca han tenido la oportunidad de enfrentarse a actividades prácticas reales dentro de los centros de estudios universitarios donde cursan la carrera. Al ser un área de inherente ejercicio profesional, la parte correspondiente de la Ingeniería de Pruebas suele enfocarse desde un punto de vista teórico más que práctico. Hay muchas herramientas para la creación de pruebas y de ayuda para los ingenieros de pruebas, pero la mayoría son de pago o hechas a medida para grandes empresas que necesitan dicho software. Normalmente la gente conoce lo que es la Ingeniería de Pruebas únicamente cuando se empieza a adquirir experiencia en dicha área en el ejercicio profesional dentro de una empresa. Con lo cual, el acercamiento durante la carrera no necesariamente le ha ofrecido al profesional en Ingeniería, la oportunidad de trabajar en esta rama de la Ingeniería del Software y en algunos casos, NOVATests: Metodología y herramienta software de apoyo para los Ingenieros de Prueba Junior 4 los recién egresados comienzan su vida profesional con algún desconocimiento en este sentido. Es por el conjunto de estas razones, que mi intención en este proyecto es proponer una metodología y una herramienta software de apoyo a dicha metodología, para que los estudiantes de carreras de Ingeniería Software y afines, e ingenieros recién egresados con poca experiencia o ninguna en esta área (Ingenieros de Pruebas Junior), puedan poner en práctica las actividades de la Ingeniería de Pruebas dentro de un entorno lo más cercano posible al ejercicio de la labor profesional. De esta forma, podrían desarrollar las tareas propias de dicha área de una manera fácil e intuitiva, favoreciendo un mayor conocimiento y experiencia de la misma. ABSTRACT The software engineering is specialized in the verification and validation of Software and it is formally defined as: “Development process which by strict methods evaluates and corrects the quality of the product along its lifecycle”. This process contains a number of methods, procedures and techniques formally defined which used systematically make easier the identification of the highest quantity of error and failures within a Software. A software going through this rigorous process of tests will become a quality product that will help the software engineer`s work while correcting incidences. Some of them probably generated after the deployment in a real environment. This process belongs to the Software engineering and therefore it is a specialization itself. Simplifying, the correct verification and validation of a software requires some essential activities such as: -Create a Test Plan of the project - Update this Test Plan and correct if necessary - Check Requirement’s specification documents -Execute the different tests among all the phases of the project - Create the pertinent documentation about design and execution of these tests. - Generate the result documents and all the possible incidences the tests could contain. Currently, the Test engineering is not recognized as a work area but an area immerse within the Software engineering. The professional environment includes the role of Test engineer, but only a few software engineers have clear to become Test engineers (testers) because they have never had the chance to face this activities within the university study centers where they take study of this degree. Since there are little professional environments, this area is focused from a theoretical way instead of a more practical vision. There are plenty of tools helping the Test engineer, but most of them are paid tools or bespoke tools for big companies in need of this software. Usually people know what test engineering is by starting working on it and not before, when people start acquiring experience in this field within a company. Therefore, the degree studied have not approach this field of the Software engineering before and in some cases the graduated students start working without any knowledge in this area. Because of this reasons explained, it is my intention to propose this Project: a methodology and a software tool supporting this methodology so the students of software engineering and similar ones but also graduated students with little experience in this area (Junior Test Engineers), can afford practice in this field and get used to the activities related with the test engineering. Because of this they will be able to carry out the proper tasks of this area easier, enforcing higher and better knowledge and experience of it.
Resumo:
El desarrollo como política de las naciones marca el período de la postguerra, que en América Latina se concreta en múltiples programas de Desarrollo Rural. El modelo inicial de crecimiento económico se va enriqueciendo con visiones centradas en el ser humano y sus múltiples concepciones de desarrollo. En este entender el desarrollo desde la diversidad cultural y antropológica de los pueblos de América Latina, surge la comunicación radiofónica como camino común para la persuasión, socialización y apropiación colectiva de conocimientos y ámbito participativo para consensuar objetivos y acordar actividades. El activismo de los años setenta y ochenta produjo un número considerable de experiencias. La mayoría de ellas han llegado hasta nuestros días, pero el giro tomado por las sociedades digitalizadas y las prioridades medioambientales han dado un nuevo rostro a aquellas primeras experiencias centradas en el desarrollo rural endógeno. Este estudio investiga el complejo práctico-teórico que integra comunicación y desarrollo en contextos territoriales interculturales con población marginal y aplicación de políticas de desarrollo rural. En el capítulo I se recogen las modalidades de cómo se ha aplicado la comunicación en programas de desarrollo, para profundizar en el concepto de comunicación para el desarrollo, conocer sus actores y resultados, y concluir que el desarrollo “con rostro humano” se hace con personas no con políticas oficiales. El capítulo II presenta a los Pueblos Indígenas de la Sierra Ecuatoriana como actores de su proceso de desarrollo hacia el Sumak Kawsay. Los temas tratados en este capítulo muestran los valores y capacidades de las comunidades indígenas de la Sierra Ecuatoriana para la autogestión de su desarrollo, y deja constancia y denuncia de la lectura negativa que se ha venido haciendo de su cosmovisión. Se encuentra respuesta conceptual y metodológica en el Workng With People para optimizar aportes culturales de los Pueblos Indígenas al proceso comunicacional y participativo para mejorar las condiciones de vida y lograr mayores espacios de autonomía y libertad El conocimiento que explica la realidad sin cambiarla no tiene sentido para los pobres. La realidad requiere ser comprendida para construir el conocimiento que la explique y la cambie: ese es el aporte del modelo conocimiento/acción que se presenta en el capítulo III. En este capítulo se exponen metodologías abiertas a la creatividad y flexibles que responden a los principios del modelo conocimiento/acción. La comunicación para el desarrollo se abre a todas ellas como ágora pluricultural que requiere un lenguaje común que se construye desde el aprendizaje social. Los conceptos expuestos en el capítulo III se vinculan en una propuesta metodológica que integra el conocimiento y la acción con los principios del Working With People, propuesta que se expone en el capítulo IV. El modelo del Proyecto de Comunicación para el Desarrollo junta en un modelo de comunicación popular y prácticas liberadoras con métodos cognitivos de la realidad para planificar el cambio desde la población y con la población. Finalmente, el capítulo V recoge la experiencia de la Casa Campesina Cayambe ejecutora del Proyecto de Comunicación para el Desarrollo en la adaptación ejecutada con Radio Mensaje. La riqueza de la experiencia tiende a escaparse de los límites conceptuales y los esquemas dejan espacios de vida ignotos; pero los conceptos y esquemas constituyen el camino para que la experiencia pase a ser objeto conocido y conocimiento socializado. El Proyecto de Comunicación para el Desarrollo es resultado de un proceso de desarrollo construido desde la acción de la Casa Campesina Cayambe durante 25 años en Cayambe. En el capítulo V se describe el contexto del territorio de Cayambe, la identidad de la Casa Campesina Cayambe y de Radio Mensaje, y termina describiendo los logros de 25 años trabajando con la gente. El estudio concluye que la comunicación participativa, como ámbito de aprendizaje social aplicado en procesos de desarrollo rural, integra el conocimiento/acción e incorpora nuevos conocimientos en la población con los que se desarrollan competencias locales para planificar el desarrollo endógeno con flexibilidad y de abajo-arriba. La Figura 0-1 grafica los elementos bases sobre los que se construye el proceso de desarrollo. ABSTRACT Development as a policy of nations marks the postwar period which created several Rural Development Programs in Latin America. The initial model of economic growth was enriched with approaches focused on human beings and their multiple conceptions of development. In this regard, the development from cultural and anthropological diversity in Latin America, radio communication emerges as a common means for persuasion, socialization and collective appropriation of knowledge and scope for participation in order to agree on objectives and activities. Activism of the seventies and eighties generated a considerable number of experiences, most of which are present today. However, a turn taken by digitalized societies and environmental priorities has given those first experiences which focused on endogenous rural development a new face. This study researches the theoretical-practical status that integrates communication and development in intercultural contexts with marginal population and the use of rural development policies. Chapter one shows the modalities of how communication in development programs have been applied to deepen the concept of communication for development, to know those who are involved and its findings, and conclude that development “with a human face” is done with people not with official policies. Chapter two presents Indigenous communities in the Ecuadorian highlands, as people involved in their development process towards Sumak Kawsay. The topics in this chapter show the values and capacities indigenous communities in the Ecuadorian highlands have to self-manage their development, and proves, as well as denounces, that their cosmovision has been negatively perceived. A conceptual and methodological response is found in Working With People in order to optimize cultural contributions of Indigenous People to the communicational and participative process to improve life conditions and have greater spaces of autonomy and freedom. Knowledge which explains reality without changing it does not make any sense for the poor. Reality need to be understood in order to build the knowledge that will explain it and change it: that is the contribution of the knowledge/action model presented in chapter three. This chapter presents open methodologies to creativity which are flexible to respond to the principles of the knowledge/action model. Communication for development is open to all of them as pluricultural agora which requires a common language that is built from social learning. The concepts presented in chapter three are linked in a methodological proposal which integrates knowledge and action with principles of Working With People, proposal which is presented chapter four. The model of the Communication for Development Project includes popular communication elements and liberating practices with cognitive methods of reality to plan change from the population and with the population. Finally, chapter five presents the experiences from the Cayambe Country House, which conducted the Communication for Development Project in the adaptation implemented with Radio Mensaje. The wealth of experience tends to scape from the conceptual limits and the schemes leave gaps of unexplored life; but the concepts and schemes constitute the way so that experience becomes a known object and socialized knowledge. The Communication for Development Project is the result of a development process built from the actions of the Cayambe Country House during 25 years in Cayambe. Chapter five describes the context of Cayambe, the identity of the Cayambe Country House and Radio Mensaje, and the achievements after 25 years of working with its people. The study concludes that participatory communication, as an area of social learning applied to rural development processes, integrates knowledge/action and incorporates new knowledge in communities to develop local competencies to plan endogenous development with flexibility and from the bottom – up.
Resumo:
La calidad es uno de los principales retos de la construcción de software. En la Ingeniería del Software (IS) se considera a la usabilidad como un atributo de calidad. Al principio se veía a la usabilidad como un requisito no funcional.Se asumía que la usabilidad era una propiedad exclusiva de la presentación de la información.Se creía que separando la capa de presentación del resto, se podía desarrollar un producto software usable.Debido a la naturaleza del sistema y a las necesidades del usuario, a menudo se debe ir más lejos y no basta con tener en cuenta la presentación para obtener un software usable. La comunidad de la Interacción Personar Ordenador (IPO) ha propuesto recomendaciones para mejorar la usabilidad. Algunas de esas recomendaciones tienen impacto directo en la funcionalidad del producto software. En estudios recientes también se ha evaluado la relación entre la usabilidad y los requisitos funcionales. Estas investigaciones sugieren que la usabilidad debe ser tenida en cuenta desde las etapas iniciales de la construcción para evitar costosos cambios posteriores. La incorporación de las características de usabilidad agrega cierta complejidad al proceso de desarrollo. El presente trabajo evalúa la posibilidad de usar patrones para la incorporación de usabilidad en el desarrollo de un producto software. Concretamente se evalúan los siguientes patrones de programación de usabilidad (PPUs): Abort Operation,Progress Feedback y Preferences. Se utilizan unas Pautas de Desarrollo de Mecanismos de Usabilidad(PDMUs) para estos tres mecanismos de usabilidad. Estas pautas poponen patrones para la educción y posterior incorporación de la usabilidad en las distintas fases de la programación. En esta investigación se aborda el desarrollo de un producto software desde la deducción de requisitos hasta la implementación. En cada fase se incorporan los mecanismos de usabilidad de acuerdo a las recomendaciones de las PDMUs. Mediante el desarrollo de un software real se ha evaluado la factibilidad del uso de las PDMUs obteniendo como resultado propuestas de mejoras en estas pautas. Se evalúa asimismo el esfuerzo de incorporación de los mecanismos de usabilidad. Cada evaluación aporta datos que proporcionan una estimación del esfuerzo adicional requerido para incorporar cada mecanismo de usabilidad en el proceso de desarrollo del software.---ABSTRACT---Quality is a major challenge in software construction. Software engineers consider usability to be a quality attribute. Originally, usability was viewed as a nonr functional requirement. Usability was assumed to be simply an information presentation property. There was a belief that a usable software product could be developed by separating the presentation layer from the rest of the system. Depending on the system type and user needs, however, usability often runs deeper, and it is not enough to consider just presentation to build usable software. The humanrcomputer interaction (HCI) community put forward a list of recommendations to improve usability. Some such recommendations have a direct impact on software product functionality. Recent studies have also evaluated the relationship between usability and functional requirements. This research suggests that usability should be taken into account as of the early stages of software construction to prevent costly rework later on. The inclusion of usability features is an added complication to the development process. The research reported here evaluates the possibility of using patterns to incorporate usability into a software product. Specifically, it evaluates the following usability programming patterns (UPPs): Abort Operation, Progress Feedback and Preferences. Usability Mechanism Development Guides (USDG) are applied to these three usability mechanisms. These guides propose patterns for eliciting and later incorporating usability into the different software development phases, including programming. The reported research addresses the development of a software product from requirements elicitation through to implementation. Usability mechanisms are incorporated into each development phase in accordance with USDG recommendations. A real piece of software was developed to test the feasibility of using USDGs, outputting proposals for improving the guides. Each evaluation yields data providing an estimate of the additional workload required to incorporate each usability mechanism into the software development process.
Resumo:
Las compañías de desarrollo de software buscan reducir costes a través del desarrollo de diseños que permitan: a) facilidad en la distribución del trabajo de desarrollo, con la menor comunicación de las partes; b) modificabilidad, permitiendo realizar cambios sobre un módulo sin alterar las otras partes y; c) comprensibilidad, permitiendo estudiar un módulo del sistema a la vez. Estas características elementales en el diseño de software se logran a través del diseño de sistemas cuasi-descomponibles, cuyo modelo teórico fue introducido por Simon en su búsqueda de una teoría general de los sistemas. En el campo del diseño de software, Parnas propone un camino práctico para lograr sistemas cuasi-descomponibles llamado el Principio de Ocultación de Información. El Principio de Ocultación de Información es un criterio diferente de descomposición en módulos, cuya implementación logra las características deseables de un diseño eficiente a nivel del proceso de desarrollo y mantenimiento. El Principio y el enfoque orientado a objetos se relacionan debido a que el enfoque orientado a objetos facilita la implementación del Principio, es por esto que cuando los objetos empiezan a tomar fuerza, también aparecen paralelamente las dificultades en el aprendizaje de diseño de software orientado a objetos, las cuales se mantienen hasta la actualidad, tal como se reporta en la literatura. Las dificultades en el aprendizaje de diseño de software orientado a objetos tiene un gran impacto tanto en las aulas como en la profesión. La detección de estas dificultades permitirá a los docentes corregirlas o encaminarlas antes que éstas se trasladen a la industria. Por otro lado, la industria puede estar advertida de los potenciales problemas en el proceso de desarrollo de software. Esta tesis tiene como objetivo investigar sobre las dificultades en el diseño de software orientado a objetos, a través de un estudio empírico. El estudio fue realizado a través de un estudio de caso cualitativo, que estuvo conformado por tres partes. La primera, un estudio inicial que tuvo como objetivo conocer el entendimiento de los estudiantes alrededor del Principio de Ocultación de Información antes de que iniciasen la instrucción. La segunda parte, un estudio llevado a cabo a lo largo del período de instrucción con la finalidad de obtener las dificultades de diseño de software y su nivel de persistencia. Finalmente, una tercera parte, cuya finalidad fue el estudio de las dificultades esenciales de aprendizaje y sus posibles orígenes. Los participantes de este estudio pertenecieron a la materia de Software Design del European Master in Software Engineering de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid. Los datos cualitativos usados para el análisis procedieron de las observaciones en las horas de clase y exposiciones, entrevistas realizadas a los estudiantes y ejercicios enviados a lo largo del período de instrucción. Las dificultades presentadas en esta tesis en sus diferentes perspectivas, aportaron conocimiento concreto de un estudio de caso en particular, realizando contribuciones relevantes en el área de diseño de software, docencia, industria y a nivel metodológico. ABSTRACT The software development companies look to reduce costs through the development of designs that will: a) ease the distribution of development work with the least communication between the parties; b) changeability, allowing to change a module without disturbing the other parties and; c) understandability, allowing to study a system module at a time. These basic software design features are achieved through the design of quasidecomposable systems, whose theoretical model was introduced by Simon in his search for a general theory of systems. In the field of software design, Parnas offers a practical way to achieve quasi-decomposable systems, called The Information Hiding Principle. The Information Hiding Principle is different criterion for decomposition into modules, whose implementation achieves the desirable characteristics of an efficient design at the development and maintenance level. The Principle and the object-oriented approach are related because the object-oriented approach facilitates the implementation of The Principle, which is why when objects begin to take hold, also appear alongside the difficulties in learning an object-oriented software design, which remain to this day, as reported in the literature. Difficulties in learning object-oriented software design has a great impact both in the classroom and in the profession. The detection of these difficulties will allow teachers to correct or route them before they move to the industry. On the other hand, the industry can be warned of potential problems related to the software development process. This thesis aims to investigate the difficulties in learning the object-oriented design, through an empirical study. The study was conducted through a qualitative case study, which consisted of three parts. The first, an initial study was aimed to understand the knowledge of the students around The Information Hiding Principle before they start the instruction. The second part, a study was conducted during the entire period of instruction in order to obtain the difficulties of software design and their level of persistence. Finally, a third party, whose purpose was to study the essential difficulties of learning and their possible sources. Participants in this study belonged to the field of Software Design of the European Master in Software Engineering at the Escuela Técnica Superior de Ingenieros Informáticos of Universidad Politécnica de Madrid. The qualitative data used for the analysis came from the observations in class time and exhibitions, performed interviews with students and exercises sent over the period of instruction. The difficulties presented in this thesis, in their different perspectives, provided concrete knowledge of a particular case study, making significant contributions in the area of software design, teaching, industry and methodological level.