• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 402
  • 41
  • 3
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 446
  • 446
  • 182
  • 148
  • 84
  • 81
  • 58
  • 50
  • 50
  • 50
  • 44
  • 44
  • 43
  • 42
  • 41
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
431

MADAE-IDE: Um ambiente de desenvolvimento de software baseado no conhecimento para o reuso composicional no desenvolvimento de sistemas multiagente / MADA-IDE: An environment for developing software based knowledge for reuse in the development of compositional systems multiagent

Cavalcante, Uiratan Alves de Sousa 01 December 2009 (has links)
Made available in DSpace on 2016-08-17T14:53:06Z (GMT). No. of bitstreams: 1 UIRATAN ALVES DE SOUSA CAVALCANTE.pdf: 4868154 bytes, checksum: 71d6895bc849a94e0bac2dba2b713adf (MD5) Previous issue date: 2009-12-01 / The agent-oriented development paradigm has achieved a high maturity level over the last decade. However, integrated development environments supporting all phases of agent-oriented development are still missing. MADAE-Pro is a process for the development and reuse of family of multi-agent systems and integrates two complementary process. One is based on Domain Engineering concepts, aiming in creating artifacts of reusable software in the development of an application family in a particular domain problem, and the other is based on Application Engineering, which guides the construction of applications based on reusable software artifacts previously produced in the Domain Engineering process. The environment includes the ONTORMAS ontology and, through inference rules and semantic search over its instances, automates the modeling tasks of the MADAE-Pro process. These features allow for the developer productivity gains and for maintaining the consistence of the knowledge-base, ensuring the success of the reuse in future applications. / O paradigma de desenvolvimento orientado a agentes tem atingido um alto nível de maturidade na última década. Entretanto, ainda faltam ambientes integrados de desenvolvimento de software que suportem todas as fases do desenvolvimento orientado a agentes. MADAE-Pro é um processo para o desenvolvimento e reuso de famílias de sistemas multiagente e integra dois subprocessos complementares. Um é baseado nos conceitos da Engenharia de Domínio, isto é, visa construir artefatos reutilizáveis que representem uma família de aplicações e o outro, baseado na Engenharia de Aplicações, guia o desenvolvimento de uma aplicação específica reutilizando os produtos do primeiro subprocesso. Este trabalho propõe MADAEIDE, um ambiente integrado de desenvolvimento baseado no conhecimento que automatiza o processo desenvolvimento de software multiagente MADAE-Pro. O ambiente agrega a ontologia ONTORMAS e, através de regras de inferência e buscas semânticas diretamente sobre suas instâncias, automatiza as tarefas de modelagem do processo MADAE-Pro. Estas características levam a um ganho de produtividade por parte do desenvolvedor, além de manter uma base de conhecimento consistente, garantido o sucesso do reuso em futuras aplicações.
432

Aferição da disponibilidade de conexão e da audiência de Stream de vídeo em redes IP

Oliveira, Vitor Chaves de 11 August 2017 (has links)
Submitted by Marta Toyoda (1144061@mackenzie.br) on 2018-02-16T18:40:42Z No. of bitstreams: 2 Vitor Chaves de Oliveira.pdf: 3871136 bytes, checksum: ecb40f1164646a21127f6de607806793 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Paola Damato (repositorio@mackenzie.br) on 2018-02-22T13:39:12Z (GMT) No. of bitstreams: 2 Vitor Chaves de Oliveira.pdf: 3871136 bytes, checksum: ecb40f1164646a21127f6de607806793 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2018-02-22T13:39:12Z (GMT). No. of bitstreams: 2 Vitor Chaves de Oliveira.pdf: 3871136 bytes, checksum: ecb40f1164646a21127f6de607806793 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2017-08-11 / In the current IP video scenario, the lack of mechanisms that record two technical parameters that influence the commercial chain that sustains this ecosystem related to the Internet, are: availability and audience. And the expressive growth of this type of transmission, continually rivals it with TV. Thus, with the objective of measuring this new medium of audiovisual offer, this work has developed methodologies to acquire such information at this consumer's point and to compare the viability of transitioning from traditional TV to IP Stream. And, this was accomplished through a technical-mathematical comparison and by the construction of two softwares each with a purpose, with their respective requirements analysis, as well as the method of how to interpret the results and infer how these parameters are related. One was programmed to verify the availability of any IP connections through an application that can be used on any browser platform. And the other, implemented as an extension to one of the most used browsers, Google Chrome, to capture the audience of Internet videos on the leading supplier of videos exists today, Google's YouTube. In this work, the abstractions of considerations around the Quality of Service (QoS) concept, is proposed to be interpreted as a measure of Quality of Experience (QoE) assimilated from the quantities of times and interactions with a video. This justification is founded on the concept that quality translates into a particular subjectivity for each user and their individual expectations, so a measure of time is shown to be an effective valuation. Such effectiveness is justified by a principle consolidated within TV broadcast for decades, audience measurement. That is, building something analogous to the People's meter, similar to the Television Rating Points, TRP, running to capture information that brings assertiveness to all stakeholders in this new delivery method. In this way, we can measure the reliability of the content for the Customer, the Content Producer, the Advertiser, the Platform holder, the Content Delivery Network owner (CDN) and the Internet Service Provider (ISP)). / No atual cenário de vídeo IP se destaca a falta de mecanismos que registrem dois parâmetros técnicos que influenciam a cadeia comercial que sustenta todo este ecossistema relativo à Internet, são eles: disponibilidade e audiência. E o expressivo crescimento deste tipo de transmissão, rivaliza-a continuamente com a TV. Sendo assim, e com o objetivo de metrificar esse novo meio de oferecimento de audiovisual, este trabalho desenvolveu metodologias para adquirir tais informações nesta ponta do consumidor e para comparar a viabilidade da transição de broadcast tradicional de TV por Stream IP. E, isto foi realizado através de um comparativo técnicomatemático e da construção de dois softwares cada qual com uma finalidade, com suas respectivas análises de requisitos, bem como o método de como interpretar os resultados e inferir como estes parâmetros se relacionam. Um foi concebido para aferir a disponibilidade de quaisquer conexões IP sendo uma aplicação passível de ser utilizada em diversas plataformas de navegadores, denominados Browsers. E, o outro, implementado como extensão para um dos Browsers mais utilizados, o Google Chrome, para capturar a audiência de vídeos da Internet no maior fornecedor de vídeos existente hoje, o YouTube do Google. Neste trabalho, a extração de considerações ao redor da Qualidade de Serviço, QoS, é proposta a ser interpretada como medida da Qualidade da Experiência, QoE a partir dos diversos tempos e interações totais de um vídeo. Para tanto, dado que o conceito de qualidade se traduz em uma subjetividade particular de cada usuário e suas expectativas individuais, a medida do tempo se mostra como uma eficaz valoração. Tal eficácia é justificada através do princípio da consolidada medida de audiência da difusão de TV há décadas. Isto é, a construção de algo análogo ao ‘People’s meter’ similarmente ao ‘Television Rating Points’, TRP, executando a captura de informações que tragam assertividade para todas as partes interessadas neste novo método de entrega. Propiciando, desse modo, a aferição com este mesmo nível confiabilidade para o usuário, o produtor de conteúdo, o anunciante, o detentor da plataforma, o proprietário da rede de entrega de conteúdo (CDN) e o provedor de acesso à internet (ISP).
433

Alinhamento de expectativas e desempenho organizacional: um estudo sobre os métodos ágeis de gestão

Coelho, Mauricio Taves Cordeiro 20 December 2012 (has links)
Submitted by Mauricio Taves Cordeiro Coelho (mauricio.taves@gmail.com) on 2013-03-06T04:54:05Z No. of bitstreams: 1 MEX - Dissertação versão final - para submissão e impressão.pdf: 958516 bytes, checksum: 78a99a7592f57afeea670db87e854a41 (MD5) / Approved for entry into archive by Janete de Oliveira Feitosa (janete.feitosa@fgv.br) on 2013-04-09T17:43:26Z (GMT) No. of bitstreams: 1 MEX - Dissertação versão final - para submissão e impressão.pdf: 958516 bytes, checksum: 78a99a7592f57afeea670db87e854a41 (MD5) / Approved for entry into archive by Marcia Bacha (marcia.bacha@fgv.br) on 2013-04-11T11:42:55Z (GMT) No. of bitstreams: 1 MEX - Dissertação versão final - para submissão e impressão.pdf: 958516 bytes, checksum: 78a99a7592f57afeea670db87e854a41 (MD5) / Made available in DSpace on 2013-04-11T11:43:25Z (GMT). No. of bitstreams: 1 MEX - Dissertação versão final - para submissão e impressão.pdf: 958516 bytes, checksum: 78a99a7592f57afeea670db87e854a41 (MD5) Previous issue date: 2012-12-20 / The adoption of agile software development management methods has been a global trend, considering companies in the technology sector. Brazilian companies operating in this market are not detached from this tendency, since the goal of these methods is to address a common scenario to any of these organizations: dealing with the difficulty of adequately modeling the usually complex problems that are the goal of building a specific software and with the constant change of requirements that this situation represents, further enhanced by the frenetic dynamics of information dissemination in the XXI century, besides modifying a chronic perception of failure that pervades the sector, aiming to deliver quality products to its customers with maximum speed. Internal aspects such as increasing productivity and reducing rework are also part of the objectives of the adoption of these methodologies. This study aims to assess the human and cultural aspects involved and identify the convergence between the expectations of the company and employees when adopting agile management, based on field research that captured the reactions of a group of respondents to the implementation of these methods at Modulo Security Solutions, a Brazilian technology and services company, after two years of extensive internal use. The results indicate the success of the implementation, with positive reactions from employees, despite the need for addressing human aspects to adjust the model and that the negative impact of local and organizational cultures have been widely perceived. / A adoção dos métodos ágeis de gestão do desenvolvimento de software tem sido uma tendência mundial, considerando-se as empresas do setor de tecnologia. Empresas brasileiras atuando neste mercado não estão apartadas deste quadro, uma vez que o objetivo desses métodos é endereçar um cenário comum a qualquer uma dessas organizações: lidar com a dificuldade de modelar adequadamente os problemas usualmente complexos que são objetivo da construção de um software e com a mudança constante de requisitos que esta situação representa, potencializada ainda mais pela dinâmica frenética da disseminação da informação no século XXI, além de modificar um quadro crônico de fracassos e falhas no setor, visando entregar produtos de qualidade aos seus clientes com o máximo de velocidade. Aspectos internos como o aumento de produtividade e a redução de retrabalho também fazem parte dos objetivos de adoção destas metodologias. O presente estudo visa avaliar os aspectos humanos e culturais envolvidos e identificar a convergência entre as expectativas da empresa e dos empregados quando da adoção de métodos ágeis de gestão, a partir de pesquisa de campo que capturou as reações de um grupo de entrevistados à implantação desses métodos na Módulo Security Solutions, empresa brasileira de tecnologia e serviços, após dois anos de uso interno abrangente. Os resultados apontam para o sucesso da implantação, com reação positiva dos empregados, a despeito da necessidade de endereçamento de aspectos humanos para ajuste do modelo e do impacto negativo da cultura local e organizacional terem sido amplamente percebidos.
434

[en] COMMUNICATION THROUGH MODELS IN THE CONTEXT OF SOFTWARE DEVELOPMENT / [pt] COMUNICAÇÃO ATRAVÉS DE MODELOS NO CONTEXTO DO DESENVOLVIMENTO DE SOFTWARE

JULIANA SOARES JANSEN FERREIRA 02 August 2016 (has links)
[pt] Desenvolvimento de software é um processo altamente colaborativo, no qual a construção do software é o objetivo comum. É apoiado em várias fases por ferramentas computacionais, dentre elas as ferramentas de modelagem de software. Modelos são parte importante do processo de desenvolvimento de software e o foco desta pesquisa, que tem como objetivo investigar a comunicabilidade de modelos de software que são produzidos e consumidos através de ferramentas de modelagem. A comunicabilidade de modelos de software é a capacidade que estes artefatos têm de efetuar o processo de comunicação entre pessoas, ou a de serem usados como instrumentos para realizar parte significativa deste processo. As ferramentas de modelagem têm impacto direto nessa comunicabilidade, já que os produtores e consumidores de modelos interagem com tais ferramentas ao longo do processo de desenvolvimento do software. Durante essa interação, os modelos de software, que são artefatos intelectuais, são criados, alterados, evoluídos, transformados e compartilhados pelas pessoas envolvidas nas atividades de especificação, análise, design e implementação do software em desenvolvimento. Além da influência das ferramentas, a modelagem de software também deve considerar a utilização de notações previamente definidas como premissas para as atividades de modelagem. Esta pesquisa é uma investigação como ferramentas e notações de modelagem influenciam e apoiam o processo intelectual de produção e consumo de modelos de software. Temos a Engenharia Semiótica como teoria guia desta pesquisa, tendo em conta um aspecto essencial para esta que é: um estudo criterioso das ferramentas que os envolvidos no desenvolvimento do software utilizam para construir, usar e divulgar modelos através dos quais coordenam o seu trabalho de equipe. O uso de modelos no processo de desenvolvimento de software é um fenômeno que apresenta vários fatores que não podem ser isolados. Portanto, propomos a tripla Tool-Notation-People (TNP) como um recurso de articulação para caracterizar questões observadas sobre modelos no desenvolvimento de software, ao longo de toda a pesquisa. Junto com a tripla TNP, apresentamos um método que combina as perspectivas cognitiva e semiótica para avaliar as ferramentas de modelagem de software, produzindo dados sobre a metacomunicação designer-usuário, sendo os usuários, neste caso, os desenvolvedores de software. Nosso objetivo é rastrear potenciais relações entre a experiência de interação humano-computador dos evolvidos no processo de desenvolvimento de software no momento de criar/ler/editar modelos com: (a) o produto (tipos de modelo) gerado neste processo; e (b) as interpretações que tais modelos evocam quando usados efetivamente em situações práticas do cotidiano para comunicar e expressar ideias e entendimentos . A Engenharia Semiótica apresenta duplo interesse nesta pesquisa. Por um lado, como uma lente de observação , ela nos oferece diversos recursos para investigar e compreender a construção e uso de artefatos computacionais, seus significados e seus papéis no processo de comunicação. Por outro lado, um melhor entendimento sobre o processo completo que resulta, em última análise, na experiência do usuário durante a interação com o software é relevante para a evolução da própria teoria. Ou seja, esta pesquisa produziu mais conhecimento sobre as condições de comunicação e mútuo entendimento daqueles que, segundo a teoria, comunicam sua intenção e princípios de design através da interface , uma fonte potencialmente valiosa de explicações sobre problemas de comunicabilidade em IHC. / [en] Software development is a highly collaborative process where software construction is the common goal. It is supported at several stages by computer tools, including software modeling tools. Models are important artifacts of the software development process and constitute the focus of this research, which aims to investigate the communicability of software models produced and consumed with the support of modeling tools. Software model communicability is the capacity that such artifacts have of carrying and effecting a communication process among people, or of being used as an instrument to perform a significant part of such process. Modeling tools have a direct impact in that communicability, since model s producers and consumers interact with those tools throughout the software development process. During that interaction, software models, which are intellectual artifacts, are created, changed, evolved, transformed and shared by people involved in activities of specification, analysis, design and implementation of the software under development. Besides the influence of tools, software modeling also needs to take into consideration previously defined notations as premises for modeling activities. This research is an investigation on how tools and notations influence and support the intellectual process of production and consumption of software models. We have Semiotic Engineering as our guiding theory given the essence of it that is: a careful study of tools people interact with to build, use and publish models through which they coordinate teamwork. The use of models in the software development process is a phenomenon that includes several factors that cannot be isolated from each other. Therefore, we propose a Tool-Notation-People triplet (TNP triplet) as a means of articulation to characterize observed issues about models in the software development. Along with the TNP triplet, we introduce a method that combines semiotic and cognitive perspectives to evaluate software modeling tools, producing data about the emission of designer-user metacommunication, users in this case being software developers. We aim to track potential relations between the human-computer interaction experience of those involved in the software development process while creating/reading/editing models with: (a) the product (types of models) generated in the process; and (b) the interpretations that such models evoke when used effectively in everyday practical situations to communicate and express ideas and understandings. The interest of working with Semiotic Engineering in this research is twofold. First, as an observation lens, the theory offers many resources to investigate and understand the construction and use of computational artifacts, their meanings and roles in the communication process. Second, a better perspective about the complete process that results, ultimately, in the user experience during the interaction with the software is relevant for the theory s own evolution. In other words, this research has produced further knowledge about the communication conditions and mutual understanding of those who, according to the theory, communicate their intent and design principles through the interface, a potentially valuable source of explanations about communication problems in HCI.
435

Caracterização de um processo de software para projetos de software livre / Characterizing a software process for Free Software projects.

Christian Robottom Reis 23 April 2003 (has links)
Software Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores. / Free Software (or Open Source) is software provided with source code that may be freely used, modified and redistributed. Free Software Projects are virtual communities of developers that work on a specific free software product. These developers work geographically dispersed, using simple tools to communicate and coordinate their actions over the Internet. This work analyzes these projects with respect to their software process; in other words, the activities they do to produce, manage and ensure the quality of their software. In the initial sections, I perform a large review of related work in this field, and provide an overview of the main characteristics of free software projects. The main contents of this dissertation is based on two years of participation in free software projects, and on a survey based on a questionnaire that describes over five hundred different free software projects. 1 present thirteen initial hypothesis, using them as a framework to analyze the results of the survey. Among the projects evaluated in this survey, some common aspeets were observed. For instance, most projects have a small team, with less than five developers. I also found a balanced distribution of leadership systems described in other works, including Eric Raymond\'s \'benevolent dictator\' and the committee exemplified by the Apache project. The domains in which these projects tend to concentrate are software engineering and development, networks and security, and multimédia applications. Concerning the software process activities, most projects have their functional requirements established by their authors: the user base for most of the projects includes the development team and the free software community. A large proportion of the projects surveyed are based on pre-existing software, or on previously published standards. Little emphasis is placed on usability and conventional fornis of quality assurance. Remarkably, this lack of emphasis on conventional process includes activities like review and testing. Among the tools used by the projects, mailing lists and versioning systems such as CVS come out ahead by a strong margin. A correlation was identified between the size of the project\'s team and the software engineering activities that it realizes, but I could not establish a link between the age of the project and these activities. Other correlations were established between the size of the project\'s codebase (in terms of lines of code) and its age, size and application domain. The dissertation concludes describing essential parts of the software process in free software projects, and offering suggestions for future work.
436

Experiências com desenvolvimento ágil / Experiences with agile development

Dairton Luiz Bassi Filho 18 March 2008 (has links)
A crescente demanda por sistemas e a alta velocidade com que seus requisitos evoluem têm evidenciado que desenvolvimento de software exige flexibilidade, pois muitas decisões precisam ser tomadas durante o projeto. Além disso, as dificuldades para a produção de sistemas vão muito além das questões técnicas. Fatores estratégicos, comerciais e humanos são responsáveis por algumas das variáveis que contribuem para tornar o desenvolvimento de sistemas de software uma atividade altamente complexa. Modelos tradicionais de desenvolvimento de software propõem processos prescritivos que não consideram toda essa complexidade. Por outro lado, Métodos Ágeis de desenvolvimento de software sugerem uma abordagem mais humanística com foco na entrega rápida e constante de software com valor de negócios. Porém, para conseguir isto, é preciso escolher um conjunto de práticas de desenvolvimento adequado às características do projeto e da equipe. Desta forma, a natureza única de cada projeto e a necessidade de alta qualidade e produtividade tornam importante a busca por práticas de desenvolvimento. A partir de projetos que conduzimos usando métodos ágeis na academia e na indústria, identificamos e descrevemos 22 práticas para desenvolvimento de software que podem ser adotadas por equipes para aumentar o seu desempenho e/ou a qualidade do software. / The growing demand for systems and the high speed with which their requirements evolve has shown that software development requires flexibility because many decisions need to be taken during the project. Also, the difficulties for the production of software systems go far beyond the technical issues. Strategic, commercial and human factors are responsible for some variables that contribute to make the software development a highly complex activity. Traditional models of software development propose prescritive processes that do not consider all this complexity. On the other hand, Agile Methods of software development suggest an humanistic approach focused on fast and often business valuable software deliveries. But, in order to get it, one needs to choose an appropriated group of development practices accordingly to the project and team features. In this way, the individuality of each project and the need for better quality and productivity motivate the search for software development practices. Based on projects that we conducted by using agile methods in academic and industry environments we identified and described 22 software development practices that can be used by teams to increase their performance and/or the software quality.
437

Reflexões sobre o ensino de metodologias ágeis na academia, na indústria e no governo / Reflections on teaching agile methodologies in academy, industry, and government.

Alexandre Freire da Silva 14 September 2007 (has links)
As metodologias ágeis e em especial a Programação eXtrema (XP) surgem como um contraponto aos métodos tradicionais de desenvolvimento de software. Nos encontramos em um momento no qual considera-se aceitável encontrar defeitos em programas de computador, até mesmo naqueles sistemas pelos quais temos que pagar muito dinheiro. Melhorar o ensino de técnicas para que equipes possam colaborar no desenvolvimento de software de qualidade é essencial para que esta área do conhecimento alcance a maturidade que esperamos. O ensino de XP é uma tarefa relativamente complexa pois exige que pessoas passem por uma mudança cultural, para aceitar seus valores, princípios e práticas. Diferentes organizações precisam adaptar a metodologia para que ela funcione bem em seu contexto local. Encontrar maneiras de facilitar o ensino e a adoção das práticas ágeis é fundamental para melhorar a qualidade do software desenvolvido no país. Este trabalho pesquisa o ensino de XP em contextos acadêmicos, governamentais e industriais. Três estudos de caso foram conduzidos e analisados para sugerir padrões que podem auxiliar o ensino da metodologia por um educador em qualquer contexto. / Agile methodologies, specially eXtreme Programming (XP), appear as a counterpoint to traditional software development methods. We live in a moment were it is considered acceptable to find bugs in computer programs, even those for which we pay a lot of money. It is essential to improve the way we teach techniques with which teams can collaborate on the development of quality software so that this area of knowledge reaches the maturity we wish. Teaching XP is a relatively complex task because it implies that people must go through a cultural change to accept its values, principles, and practices. Different organizations need to adapt the methodology so that it will work well in their local context. Finding ways to facilitate teaching and adopting agile practices is fundamental to improve the quality of software being developed in the country. This work researches the process of teaching XP in academic, governmental and industrial con- texts. Three case studies were conducted and analyzed so that we could suggest patterns that can support educators teaching the methodology in any context.
438

[en] A FRAMEWORK FOR SOFTWARE ENGINEERING PROCESS REPRESENTATION AND ANALYSIS / [pt] UM FRAMEWORK PARA A REPRESENTAÇÃO E ANÁLISE DE PROCESSOS DE SOFTWARE

LEANDRO RIBEIRO DAFLON 16 August 2004 (has links)
[pt] Diversas organizações buscam por padrões e guias de trabalho para atingir um processo de desenvolvimento maduro. Entretanto, mudanças e evoluções no negócio e na tecnologia implicam constantemente em mudanças e evoluções no processo. Esta dissertação propõe um framework que permite as organizações definirem e analisarem seus processos de desenvolvimento de software no contexto da organização ou projeto. Dessa forma, integração, alteração e evoluções do processo são facilitadas. A definição de um processo está baseada no conceito de Unidades de Processo. As Unidades de Processo representam blocos de construção utilizados na elaboração de novos modelos de processo, podendo utilizar partes de modelos de processos existentes ou não. A análise do processo é baseada em normas de qualidade ou modelos de maturidade, como SW-CMM, CMMI, ISO 12207. / [en] Many organizations search for standards and guidance to achieve a mature process. However, change and evolution of business and technology imply constant change and evolution of development processes. In this dissertation we propose a framework that offers an infrastructure allowing organizations to define and analyze software engineering process at organization level or project level. Besides that, it facilitates integration, change and process evolution. The definition of a process is based on a concept Process Units. These represent building blocks for tailoring integrated development processes, by reusing or not parts of existing process models. The process analysis is based on quality standards or maturity models, such as SW-CMM, CMMI, ISO 12207.
439

Habilitando a checagem estática de conformidade arquitetural de software em evolução. / Enabling static architectural compliance checking of evolving software.

BITTENCOURT, Roberto Almeida. 03 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-03T17:58:25Z No. of bitstreams: 1 ROBERTO ALMEIDA BITTENCOURT - TESE PPGCC 2012..pdf: 33887570 bytes, checksum: 348d0986ffb03c3554fefac4ab926a5a (MD5) / Made available in DSpace on 2018-08-03T17:58:25Z (GMT). No. of bitstreams: 1 ROBERTO ALMEIDA BITTENCOURT - TESE PPGCC 2012..pdf: 33887570 bytes, checksum: 348d0986ffb03c3554fefac4ab926a5a (MD5) Previous issue date: 2012-02-29 / A técnica dos modelos de reflexão é um processo de checagem de conformidade entre visões arquiteturais modulares e implementação que permite prevenir e remediar o envelhecimento de software através do combate à deterioração arquitetural. Contudo, o esforço manual necessário para aplicar a técnica pode terminar evitando seu uso na prática, especialmente no contexto de evolução de software em processos de desenvolvimento leves. Em termos mais específicos, a técnica é custosa para: i) produzir um modelo de alto nível e o mapeamento entre as entidades do código-fonte e este modelo; ii) manter tanto o modelo como o mapeamento atualizados à medida que o software evolui; e Ui) analisar a normalmente longa lista de violações arquiteturais no código fonte. Este trabalho procura habilitar a checagem de conformidade estática de software em evolução através da automação parcial do esforço manual para aplicar a técnica de modelos de reflexão. Para fazê-lo, primeiramente é avaliado o potencial de técnicas de agrupamento para a geração e manutenção de modelos de alto nívei. Também é proposta e avaliada uma técnica de mapeamento incremental entre entidades do código-fonte e modelos de alto nível baseada na combinação da recuperação de informação de vocabulário de software com dependências estruturais. Por fim, uma técnica de priorização baseada na história do software para recomendar as violações arquiteturais no código-fonte mais provavelmente relevantes do ponto de vista dos desenvolvedores de software é relatada e avaliada. Técnicas de agrupamento são avaliadas através de medidas de acurácia e estabilidade. Os resultados para quatro diferentes algoritmos de agrupamento mostram que nenhum deles consegue o melhor desempenho para todas as medidas, e que todos eles apresentam limitações para prover a geração automática de modelos de alto nível. Por outro lado, a avaliação sugere que a etapa de mapeamento da técnica de modelos de reflexão pode ser habilitada pela técnica proposta de mapeamento incremental automático que combina estrutura e vocabulário. Em dois estudos de caso, esta técnica obteve os maiores valores de medidaF em mudanças de código-fonte unitárias, pequenas ou grandes. Finalmente, a avaliação da técnica de priorização de violações mostra que, de cinco fatores estudados, a duração da violação e a co-locação da violação correlacionam bem com a relevância das violações. Os resultados sugerem que estes fatores podem ser usados para ordenar as violações mais provavelmente relevantes, com uma melhoria de pelo menos 57% em relação a uma linhabase de violações selecionadas aleatoriamente. A análise dos resultados sugere que a produção de modelos de alto nível para checagem estática de conformidade arquitetural pode ser auxi'iada por um processo semi-automático de recuperação arquitetural, e, à medida que o software evolui, por técnicas incrementais de agrupamento/mapeamento. Por outro lado, a análise dos resultados para a técnica de priorização sugere a eficácia de uma abordagem automatizada para a recomendação de violações arquiteturais a serem analisadas pelos desenvolvedore: do software. / The refíexion model technique is a static conformance checking technique to keep architecture module views and implementation conformant. It can either prevent or remedy software aging by combating architecture deterioration. However, the amount of manual effort to apply the technique may prevent its use in practice, especially in the context of software evolution in lightweight development methods. More specifically, it can be time-consuming and costly to: i) produce a high-level model and the mapping between source code entities and this model; ii) keep both model and mapping up-to-date as software evolves; and Ui) analyze the usual large number of architectural violations in the source code reported by the technique. This work tries to enable static conformance checking of evolving software by partially automating the manual effort to apply the refíexion model technique. To do so, the potential of clustering techniques to generate high-level models and keep them up-to-date is evaluated. It is also proposed and evaluated an incremental mapping approach between source code entities and high-level models based on the combination of information retrieval of software vocabulary and structural dependencies. Last, a prioritizing technique based on software history to recommend architectural violations in the source code most likely to be relevant to software developers is reported and evaluated. Clustering techniques are evaluated by measures of accuracy and stability, and results for four different clustering algorithms show that none of them performs best for ali measures, and that they are limited to provide fully automated generation of high-level models. On the other hand, evaluation suggests that the mapping step in the refíexion model technique can be enabled by the proposed incremental automated mapping technique that combines structure and vocabulary. In two case studies, the combined technique showed the highest F-measure values for both singleton, small and large source code changes. Finally, evaluation for the prioritizing technique shows that, from five studied factors, violation duration and violation co-location correlate well with violation relevance. Results suggest that these factors can be used to rank the violations most likely to be relevant, with an improvement of at least 57% against a baseline of randomly selected violations. Analysis of the results suggests that the producton of high-level models for static conformance checking can be aided by a semi-automated architecture recovery process, and, as software evolves, by incremental clustering/mapping techniques. On the other hand, analysis of the results for the prioritizing technique suggests the effectiveness of an automated approach to recommend architectural violations to bí analyzed by software developers.
440

MDWA : Uma abordagem guiada por modelos para desenvolvimento de software Web

Theodoro Júnior, Marcelo Brandão 13 November 2012 (has links)
Made available in DSpace on 2016-06-02T19:06:01Z (GMT). No. of bitstreams: 1 4801.pdf: 4117819 bytes, checksum: b4df67024157ee1a2c79256315a97e7d (MD5) Previous issue date: 2012-11-13 / Universidade Federal de Sao Carlos / Software development techniques continually evolve in order to improve development and maintenance processes in addition to lower costs and higher quality. The goal of MDD is to reduce the semantic distance between a problem and its solution specification. Therefore MDD focuses on high-level abstraction modeling and successive model transformations, until finally, generate code. Studies assert that model-driven development can be significantly more efficient than traditional source code-driven software development and still reduce the possibility of occurrence of several problems during the software life-cycle. Likewise, Web engineering can also be benefited by MDD adoption, especially when supported by approaches that facilitate MDD use. Web development is usually agile with frequent releases, these approaches must be flexible to adapt to this context. However, generally, the approaches proposed by the academic community have complex processes which involve many different model definitions, programming languages, plug-ins and IDEs. These features contradict the practices adopted by Web developers. This paper presents the MWDA (Model-Driven Web Applications) approach that provides a simple process to support model-driven web development. This approach does not depend on tools, technologies or plug-ins and encourage combination with other forms of reuse and development processes. Furthermore, the Ruby- MDWA was developed with Ruby language and Ruby on Rails framework support, in order to create Web applications with MDWA assistance. This tool provides a set of textual models and defines M2M and M2C transformation tools, maintaining the requirements traceability since its specification to its construction and further maintenance. In order to show the use of the approach and tool, it was performed a real study case with a software company, from São Carlos SP, where a project management system was developed. In parallel, two experiments were conducted with undergraduate students in Computer Science and Computer Engineering and a Masters in Computer Science, to evaluate the gains and limitations of the Ruby-MDWA tool. / As técnicas de desenvolvimento de software evoluem continuamente com a finalidade de melhorar processos de construção e manutenção de software, além de obter ganhos em tempo, custo e qualidade. O objetivo do MDD é reduzir a distância semântica entre um problema e a especificação de sua solução. Para isso, MDD tem enfoque na modelagem de alto nível de abstração e em sucessivos refinamentos dos modelos construídos em artefatos mais detalhados, até enfim, gerar código. Há afirmações de que o desenvolvimento orientado a modelos pode ser significativamente mais eficiente que o desenvolvimento tradicional guiado por código fonte, além de reduzir a possibilidade de ocorrência de uma série de problemas durante o ciclo de vida do software. Da mesma forma, a engenharia de aplicações Web também pode ser beneficiada pela adoção de MDD, em especial com o apoio de abordagens que facilitem sua utilização. Como o desenvolvimento de aplicações Web comumente é ágil e com publicações freqüentes, essas abordagens devem ser flexíveis para que se adaptem a esse contexto. Entretanto, em geral, as abordagens propostas pela comunidade acadêmica apresentam processos complexos que envolvem diversos modelos, linguagens de programação, plug-ins e ambientes de programação. Essas características contrariam as práticas aprovadas pelos desenvolvedores Web. Esta dissertação apresenta a abordagem MDWA (Model-Driven Web Applications) que fornece um processo simples para desenvolvimento de software Web com apoio de MDD. A abordagem não depende de ferramentas, tecnologias ou plug-ins e estimula a combinação com outras formas de reuso e processos de desenvolvimento. Além disso, foi construída uma ferramenta, denominada Ruby-MDWA, baseada na linguagem Ruby e no framework Ruby on Rails destinada à criação de aplicações Web com auxílio da abordagem MDWA. Essa ferramenta fornece um conjunto de quatro modelos textuais e define transformadores M2M e M2C, que mantém a rastreabilidade de um requisito desde sua especificação até sua construção e posterior manutenção. Para mostrar o uso da abordagem e da ferramenta, foi realizado um estudo de caso real em conjunto com uma empresa de software de São Carlos SP, onde um sistema de gerenciamento de projetos foi desenvolvido. De forma paralela, foram conduzidos dois experimentos com alunos de graduação em Bacharelado em Ciência da Computação e Engenharia de Computação e mestrado em computação da UFSCar, visando avaliar os ganhos e as limitações da ferramenta Ruby-MDWA.

Page generated in 0.1502 seconds