Spelling suggestions: "subject:"desenvolvimento dde software"" "subject:"desenvolvimento dee software""
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 multiagentCavalcante, 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 IPOliveira, 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ãoCoelho, 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 SOFTWAREJULIANA 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 developmentDairton 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 SOFTWARELEANDRO 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 WebTheodoro 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.0736 seconds