46 resultados para Desenvolvimento software

em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul


Relevância:

80.00% 80.00%

Publicador:

Resumo:

A crescente complexidade das aplicações, a contínua evolução tecnológica e o uso cada vez mais disseminado de redes de computadores têm impulsionado os estudos referentes ao desenvolvimento de sistemas distribuídos. Como estes sistemas não podem ser facilmente desenvolvidos com tecnologias de software tradicionais por causa dos limites destas em lidar com aspectos relacionados, por exemplo, à distribuição e interoperabilidade, a tecnologia baseada em agentes parece ser uma resposta promissora para facilitar o desenvolvimento desses sistemas, pois ela foi planejada para suportar estes aspectos, dentre outros. Portanto, é necessário também que a arquitetura dos ambientes de desenvolvimento de software (ADS) evolua para suportar novas metodologias de desenvolvimento que ofereçam o suporte necessário à construção de softwares complexos, podendo também estar integrada a outras tecnologias como a de agentes. Baseada nesse contexto, essa dissertação tem por objetivo apresentar a especificação de uma arquitetura de um ADS distribuído baseada em agentes (DiSEN – Distributed Software Engineering Environment). Esse ambiente deverá fornecer suporte ao desenvolvimento de software distribuído, podendo estar em locais geograficamente distintos e também os desenvolvedores envolvidos poderão estar trabalhando de forma cooperativa. Na arquitetura proposta podem ser identificadas as seguintes camadas: dinâmica, que será responsável pelo gerenciamento da (re)configuração do ambiente em tempo de execução; aplicação, que terá, entre os elementos constituintes, a MDSODI (Metodologia para Desenvolvimento de Software Distribuído), que leva em consideração algumas características identificadas em sistemas distribuídos, já nas fases iniciais do projeto e o repositório para armazenamento dos dados necessários ao ambiente; e, infra-estrutura, que proverá suporte às tarefas de nomeação, persistência e concorrência e incorporará o canal de comunicação. Para validar o ambiente será realizada uma simulação da comunicação que pode ser necessária entre as partes constituintes do DiSEN, por meio da elaboração de diagramas de use case e de seqüência, conforme a notação MDSODI. Assim, as principais contribuições desse trabalho são: (i) especificação da arquitetura de um ADS distribuído que poderá estar distribuído geograficamente; incorporará a MDSODI; proporcionará desenvolvimento distribuído; possuirá atividades executadas por agentes; (ii) os agentes identificados para o DiSEN deverão ser desenvolvidos obedecendo ao padrão FIPA (Foundation for Intelligent Physical Agents); (iii) a identificação de um elemento que irá oferecer apoio ao trabalho cooperativo, permitindo a integração de profissionais, agentes e artefatos.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Este trabalho apresenta uma arquitetura para Ambientes de Desenvolvimento de Software (ADS). Esta arquitetura é baseada em produtos comerciais de prateleira (COTS), principalmente em um Sistema de Gerência de Workflow – SGW (Microsoft Exchange 2000 Server – E2K) - e tem como plataforma de funcionamento a Internet, integrando também algumas ferramentas que fazem parte do grande conjunto de aplicativos que é utilizado no processo de desenvolvimento de software. O desenvolvimento de um protótipo (WOSDIE – WOrkflow-based Software Development Integrated Environment) baseado na arquitetura apresentada é descrito em detalhes, mostrando as etapas de construção, funções implementadas e dispositivos necessários para a integração de um SGW, ferramentas de desenvolvimento, banco de dados (WSS – Web Storage System) e outros, para a construção de um ADS. O processo de software aplicado no WOSDIE foi extraído do RUP (Rational Unified Process – Processo Unificado Rational). Este processo foi modelado na ferramenta Workflow Designer, que permite a modelagem dos processos de workflow dentro do E2K. A ativação de ferramentas a partir de um navegador Web e o armazenamento dos artefatos produzidos em um projeto de software também são abordados. O E2K faz o monitoramento dos eventos que ocorrem dentro do ambiente WOSDIE, definindo, a partir das condições modeladas no Workflow Designer, quais atividades devem ser iniciadas após o término de alguma atividade anterior e quem é o responsável pela execução destas novas atividades (assinalamento de atividades). A arquitetura proposta e o protótipo WOSDIE são avaliados segundo alguns critérios retirados de vários trabalhos. Estas avaliações mostram em mais detalhes as características da arquitetura proposta e proporcionam uma descrição das vantagens e problemas associados ao WOSDIE.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Este trabalho descreve PMT – Pattern-based Methodology Tailoring, uma abordagem para a adaptação de metodologias de desenvolvimento de software, baseada em padrões e em critérios de risco. Seu principal objetivo é estabelecer meios de se adaptar uma linguagem de padrões organizacionais ao contexto de um projeto específico, o que é obtido através da seleção sistemática dos padrões organizacionais mais adequados aos requisitos do projeto. O trabalho é motivado pelo levantamento de que os arcabouços de processos de software existentes pouco fazem para compreender as necessidades de um projeto antes de definir a metodologia a ser aplicada. PMT utiliza uma análise dos riscos e do contexto de criticalidade para guiar o processo de adaptação. Padrões organizacionais que descrevem técnicas preventivas para os riscos identificados são selecionados por um mecanismo sistemático de seleção, o qual é suportado por uma ferramenta, chamada PMT-Tool.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Este trabalho de conclusão apresenta um método e uma ferramenta para avaliação da maturidade e da capacitação de ambientes de desenvolvimento de software baseado no uso da abordagem Goal/Question/Metric-GQM combinada aos métodos tradicionais de avaliação já existentes para o modelo Capability Maturity Model-CMM. A aplicação deste método através da ferramenta proposta permitirá a organização avaliada estabelecer o grau de conformidade preliminar dos seus processos em relação às exigências do modelo CMM. Esta avaliação poderá ser utilizada como ponto de partida para o estabelecimento de um processo de melhoria. O modelo CMM descreve uma série de estágios de maturidade que são atingidos através da satisfação de metas estabelecidas para áreas-chave do processo de desenvolvimento de software da organização. A evolução deste modelo, chamada de CMMI, Capability Maturity Model Integrated, possibilita que as organizações optem pela forma de implementação do modelo. Esta opção pode se dar através do uso do CMMI em estágios, vertical utilizando os níveis tradicionais do modelo, ou contínua; horizontal baseada nas áreas-chave de processo. Da mesma forma, a avaliação pode ser realizada sobre qualquer modelo escolhido. O modelo GQM descreve uma estrutura hierárquica baseada na existência de metas de melhoria preestabelecidas das quais são extraídas métricas e questões que as satisfazem. O nível de satisfação dessas metas é obtido através da análise das métricas relativas às questões aplicadas ao foco da avaliação Algumas ferramentas para avaliação dos processos relativos ao modelo CMM são apresentadas, tais como o questionário da maturidade e os modelos existentes para a criação de métodos de avaliação, CMM Apraisal Framework-CAF e Apraisal Requirements for CMMI-ARC. O diferencial apresentado é o estabelecimento de métricas objetivas e regras de interpretação dessas para a definição da satisfação de uma determinada área-chave de processo, ACP, do nível 2 do modelo CMMI. Além dessas contribuições vale destacar o estabelecimento de questões adicionais ao questionário da maturidade com o objetivo de capturar essas métricas e a criação de grafos GQM para cada ACP do nível 2 do CMMI. Esses grafos permitem a visualização do relacionamento existente entre cada ACP do nível 2 do CMMI com suas metas, questões e métricas. A aplicação do método e da ferramenta será demonstrada através da utilização de um estudo de caso aplicado na empresa DWA Informática Ltda.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Desde o início dos anos 90, uma tendência no desenvolvimento de software tem despertado a atenção dos pesquisadores: a distribuição do desenvolvimento. Esse fenômeno é um reflexo de mudanças sociais e econômicas, que têm levado organizações a distribuírem geograficamente seus recursos e investimentos, visando aumento de produtividade, melhorias na qualidade e redução de custos no desenvolvimento de software. Em virtude dessa distribuição, equipes geograficamente dispersas cooperam para a obtenção de um produto final de software. A distribuição física das equipes agrava problemas já inerentes à gerência do processo de software. O desenvolvimento de ambientes, modelos e ferramentas para gerenciar processos conduzidos nesse contexto é um desafio cada vez mais importante nos estudos em Tecnologia de Processos de Software. Os ambientes de suporte a processos devem prover infra-estrutura para processos distribuídos. Este trabalho propõe um modelo de gerência de processos distribuídos, denominado APSEE-Global, que estende o APSEE, um ambiente de engenharia de software centrado no processo desenvolvido no contexto do grupo de pesquisa Prosoft, provendo um conjunto de funcionalidades para suporte a processos distribuídos. O APSEE-Global viabiliza o aumento da autonomia das equipes que participam do projeto, pela possibilidade de adotarem modelos de processo distintos e pela gerência descentralizada do processo de desenvolvimento; permite a documentação e facilita a análise e a gerência das relações entre as equipes; e provê um canal de comunicação formal para acompanhamento da execução do processo distribuído. Os diferentes componentes do APSEE-Global foram especificados formalmente, o que constitui uma base semântica de alto nível de abstração que deu origem à implementação de um protótipo integrado ao ambiente de desenvolvimento de software Prosoft. A especificação do modelo foi realizada pela combinação dos formalismos Prosoft-Algébrico e Gramática de Grafos.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Atualmente, um dos grandes desafios para qualquer desenvolvedor de software é projetar um sistema que reutilize ao máximo elementos de código e de projeto existentes, visando diminuir o tempo e o esforço exigidos na produção do software. Entre as inúmeras formas de possibilitar reuso no contexto do desenvolvimento segundo o paradigma da orientação a objetos, destaca-se a abordagem de frameworks. A grande importância da documentação de software utilizada no processo de desenvolvimento aliada às características de frameworks serviram como motivação para este trabalho. A documentação dentro do processo de desenvolvimento de software não faz parte de uma fase definida, mas ocorre durante toda sua existência, em paralelo com outras fases do ciclo de vida. A abordagem de frameworks dentro deste contexto enfoca o tratamento de templates e definições das características dos artefatos de software (incluindo não somente código mas também produtos de análise, projeto, frameworks, componentes, diagramas, entre outros), facilitando e acelerando o processo de documentação. Um framework, devido a suas características peculiares que serão examinadas e explicitadas no trabalho, contém uma série de informações que podem, além de apoiar a documentação, ser úteis para produção de outros artefatos (por exemplo, planejamentos de teste, scripts de bancos de dados, padrões de codificação, entre outros) do processo de desenvolvimento. Assim, em um processo de desenvolvimento evolutivo, que utiliza a geração de artefatos como recurso, a manutenção pode ser integralmente realizada somente na especificação e não diluída nos artefatos gerados. O objetivo deste trabalho é investigar, propor e desenvolver uma ferramenta de documentação e geração de artefatos de software, denominado FrameworkDoc. O termo documentação de software aqui utilizado se refere a documentação de desenvolvimento de software, incluindo artefatos, arquiteturas, ferramentas entre outros. Serão abordados dois principais aspectos: primeiramente, a geração automática de documentação dentro do processo de desenvolvimento de software e depois a geração de outros artefatos deste processo, a partir das definições de alto nível disponíveis através do framework. Exemplos de aplicações do FrameworkDoc em projetos reais são apresentados. No entanto, os documentos e artefatos de software considerados foram definidos de forma suficientemente genérica para serem aproveitados em outros contextos.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Os requisitos direcionam o desenvolvimento de software porque são cruciais para a sua qualidade. Como conseqüência tanto requisitos funcionais quanto não funcionais devem ser identificados o mais cedo possível e sua elicitação deve ser precisa e completa. Os requisitos funcionais exercem um papel importante uma vez que expressam os serviços esperados pela aplicação. Por outro lado, os requisitos não funcionais estão relacionados com as restrições e propriedades aplicadas ao software. Este trabalho descreve como identificar requisitos não funcionais e seu mapeamento para aspectos. O desenvolvimento de software orientado a aspectos é apontado como a solução para os problemas envolvidos na elicitação e modelagem dos requisitos não funcionais. No modelo orientado a aspectos, o aspecto é considerado o elemento de primeira ordem, onde o software pode ser modelado com classes e aspectos. As classes são comumente usadas para modelar e implementar os requisitos funcionais, já os aspectos são adotados para a modelagem e implementação dos requisitos não funcionais. Desse modo, é proposta a modelagem dos requisitos não funcionais através das fases do ciclo de vida do software, desde as primeiras etapas do processo de desenvolvimento. Este trabalho apresenta o método chamado FRIDA – From RequIrements to Design using Aspects, cujo objetivo é determinar uma forma sistemática para elicitar e modelar tanto os requisitos funcionais quanto os não funcionais, desde as fases iniciais do ciclo de desenvolvimento. Em FRIDA, a elicitação dos requisitos não funcionais é realizada usando-se checklists e léxicos, os quais auxiliam o desenvolvedor a descobrir os aspectos globais – utilizados por toda a aplicação – bem como, os aspectos parciais que podem ser empregados somente a algumas partes da aplicação. O próximo passo consiste na identificação dos possíveis conflitos gerados entre aspectos e como resolvê-los. No método FRIDA, a identificação e resolução de conflitos é tão importante quanto a elicitação de requisitos não funcionais, nas primeiras fases do ciclo de vida do software. Além disso, é descrito como usar a matriz de conflitos para automatizar esse processo sempre que possível. A extração dos aspectos e sua modelagem visual são características muito importantes, suportadas pelo método, porque elas possibilitam a criação de modelos que podem ser reutilizados no futuro. Em FRIDA, é demonstrado como transformar os requisitos em elementos da fase de projeto (classes e aspectos) e como traduzir esses elementos em código. Outra característica do método FRIDA é que a conexão entre diagramas, que pertencem a diferentes fases do processo de desenvolvimento do software, permite um alto nível de rastreabilidade. Em resumo, FRIDA requer que o desenvolvedor migre de uma visão puramente funcional para outra que contemple também os requisitos não funcionais.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

As organizações desenvolvedoras de software, na sua maioria, têm grande dificuldade de identificar e adotar um processo adequado de gestão de mudanças de requisitos. Durante todo o ciclo de vida de desenvolvimento de um software existem inúmeras solicitações de mudanças de escopo e de requisitos (técnicos ou não). Isso provoca muitos transtornos aos projetos e aos envolvidos. Por isso, há uma necessidade determinante de que essas organizações utilizem um processo adequado de acompanhamento e de controle de requisitos. Com base nisso, este trabalho procura apresentar uma metodologia de gerenciamento de mudanças dos requisitos, desde a base conceitual, que envolve os requisitos ( tipos, problemas, técnicas de elicitação e visão geral sobre modelo de gerência de requisitos), até a aplicação da metodologia proposta em um estudo de caso. O desenvolvimento deste trabalho teve como objetivo principal desenvolver a estrutura de uma metodologia que fosse de fácil aplicação nas organizações, dando uma noção de como devem ser gerenciadas as mudanças de requisitos, sua documentação, os modelos de documentos a serem utilizados e um exemplo prático de aplicação da metodologia.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A presente tese visa contribuir na construção de ambientes de desenvolvimento de software através da proposição de uma arquitetura reflexiva para ambiente de suporte a processo, nomeada WRAPPER (Webbased Reflective Architecture for Process suPport EnviRonment). O objetivo desta arquitetura é prover uma infra-estrutura para um ambiente de suporte a processo de software, integrando tecnologias da World Wide Web, objetos distribuídos e reflexão computacional. A motivação principal para esta arquitetura vem da necessidade de se obter maior flexibilidade na gerência de processo de software. Esta flexibilidade é obtida através do uso de objetos reflexivos que permitem a um gerente de processo obter informações e também alterar o processo de software de forma dinâmica. Para se obter um ambiente integrado, a arquitetura provê facilidades para a agregação de ferramentas CASE de plataformas e fabricantes diversos, mesmo disponibilizadas em locais remotos. A integração de ferramentas heterogêneas e distribuídas é obtida através do uso de tecnologias Web e de objetos distribuídos. Reflexão computacional é usada no ambiente tanto para extrair dados da execução do processo, quanto para permitir a adaptação do mesmo. Isto é feito através da introdução e controle de meta-objetos, no metanível da arquitetura, que podem monitorar e mesmo alterar os objetos do nível base. Como resultado, a arquitetura provê as seguintes características: flexibilidade na gerência de processo, permitindo o controle e adaptação do processo; distribuição do ambiente na Web, permitindo a distribuição de tarefas do processo de software e a integração de ferramentas em locais remotos; e heterogeneidade para agregar componentes ao ambiente, permitindo o uso de ferramentas de plataformas e fornecedores diversos. Neste contexto, o presente trabalho apresenta a estrutura da arquitetura reflexiva, bem como os mecanismos usados (e suas interações) para a modelagem e execução de processo dentro do ambiente de suporte ao processo de software.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Braços robóticos articulados são cada vez mais utilizados hoje em dia e consistem de dispositivos mecânicos programáveis, equipados com sensores e atuadores sob o controle de um sistema computacional. Existem atualmente no mercado inúmeros fabricantes e modelos destes braços, cada um adequado a uma determinada utilização ou faixa de mercado. Para que se saiba operar devidamente este robô é necessário um período de aprendizagem. Essa necessidade pode ser suprida pelo emprego dos simuladores de braços robóticos.Desenvolver um simulador é uma atividade complexa, mas alguns elementos de sua estrutura e de seu comportamento são comuns a vários tipos de simuladores e podem idealmente ser reusados. Permitir reuso de código e de projeto é exatamente um dos principais fatores que motivaram a construção de um framework. Este trabalho descreve a definição e a construção do fwWorkCell , um framework que permita agilizar a construção destes simuladores. Tal agilidade será obtida através da implementação de um ambiente de edição e de classes genéricas para controle, visualização e programação dos robôs. A proposta deste framework inclui definição de classes genéricas e de controle, a construção de todo um ambiente de suporte à manipulação e visualização das células de trabalho e suas simulações e visa dar suporte à construção de uma grande variedade de simuladores. O framework proposto foi utilizado em uma aplicação real: através dele foi feita a migração de um simulador já existente.

Relevância:

60.00% 60.00%

Publicador:

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A Educação a Distância (EAD) vem recebendo atenção dos pesquisadores de várias áreas, na busca de modelos e ferramentas que possam aumentar a eficiência desta modalidade de educação. Mas, ferramentas tecnologicamente avançadas não são suficientes para isso. A atuação do docente é fundamental para o sucesso de um curso a distância. O problema é que falta preparo a muitos professores que atuam em EAD, para planejar os cursos, estimar recursos e organizar o conteúdo. Além da dificuldade na criação dos cursos, os professores também enfrentam o problema de avaliar os cursos já oferecidos. Esta tese apresenta um modelo para gerência de cursos a distância. O modelo de “Processo de Curso”, nomenclatura proposta neste trabalho, engloba o projeto, criação, execução e avaliação de cursos a distância. O modelo proposto pretende ser uma alternativa de solução para a seguinte questão de pesquisa: Que elementos um modelo, embasado pela Engenharia de Software, precisa conter para representar as atividades envolvidas na gerência de cursos a distância? A definição desse modelo foi fundamentada em duas áreas distintas: A Ciência da Computação e a Informática na Educação, mais especificamente na Engenharia de Software e na Educação a Distância. Como a tese baseia-se na analogia de Processo de Software e Processo de Curso e, por isso, o estudo da área de Tecnologia de Processo de Software foi de fundamental importância. O modelo de Processo de Curso é constituído pelas atividades que compõem um curso a distância (projeto, execução, avaliação e outras), os agentes que realizam essas atividades, produtos gerados e recursos necessários para a realização da atividade. Um dos destaques dessa abordagem é a possibilidade de reutilização de cursos anteriores, utilizando conceitos herdados da Engenharia de Software. A comprovação da viabilidade de implementação do modelo foi realizada através da implementação, no ambiente PROSOFT-APSEE, de um protótipo para gerência de cursos a distância. Para avaliar o modelo e o protótipo, foram selecionados professores especialistas que modelaram cursos no PRO-EAD e responderam a um questionário de avaliação Acredita-se que as contribuições deste trabalho tragam avanços significativos na busca de métodos e ferramentas que venham a auxiliar os professores na criação de cursos a distância com mais qualidade.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Esta dissertação aborda a utilização de métodos de concepção e avaliação ergonômica no desenvolvimento da interface gráfica de um sistema de Correio e Agenda Corporativo. Além dos métodos tradicionais, foi utilizado o método do Design Macroergonômico (DM), proposto por Fogliatto & Guimarães (1999), desenvolvido para auxiliar no projeto ergonômico de produtos e postos de trabalho, que tem como bases a macroergonomia e a ergonomia participativa. No estudo de caso abordado neste trabalho, o DM permitiu que fossem coletadas e analisadas as demandas e os índices de satisfação dos usuários e especialistas quanto à qualidade ergonômica. Os resultados obtidos demonstraram que o Design Macroergonômico, usado de forma integrada com outros métodos, é uma ferramenta útil para a administração do processo de melhoria contínua no desenvolvimento de sistemas com ênfase ergonômica.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Este trabalho apresenta uma ferramenta para gerenciamento de projetos, priorizando as fases de planejamento e o controle do desenvolvimento de software. Ao efetuar o planejamento de um projeto é necessário estimar o prazo, o custo e o esforço necessário, aplicando técnicas já aprovadas, existentes na literatura, tais como: Estimativa do Esforço, Estimativa de Putnam, Modelo COCOMO, Análise de Pontos por Função, Pontos de Particularidade e PSP. É necessária a utilização de uma ferramenta que automatizem o processo de estimativa. Hoje no mercado, encontram-se várias ferramentas de estimativas, tais como: ESTIMACS, SLIM, SPQR/20, ESTIMATE Professional. O controle do desenvolvimento do projeto está relacionado ao acompanhamento do projeto, do profissional e da própria estimativa de custo e esforço de desenvolvimento. Nenhuma das ferramentas estudadas permitiu o controle do projeto por parte da gerência, por isto esta se propondo o desenvolvimento uma nova ferramenta que permita o planejamento e controle do processo de desenvolvimento. Esta ferramenta deve permitir a comparação entre as diversas técnicas de estimativas, desde que baseadas na mesma medida de tamanho: pontos por função. Para exemplificar o uso desta ferramenta, foram aplicados dois estudos de casos desenvolvidos pela empresa Newsoft Consultoria de Informática.