6 resultados para Padrões de software
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
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.
Resumo:
Este trabalho apresenta um modelo genérico para o desenvolvimento de sistemas de gestão empresarial. O modelo foi criado com base na experiência profissional do autor do trabalho e revisão bibliográfica sobre a utilização de padrões de análise. O modelo proposto prioriza aspectos de simplicidade e flexibilidade no desenvolvimento de sistemas de informação. Sua utilização visa facilitar a reutilização de componentes, diminuir o tempo para o desenvolvimento de aplicativos e propiciar a criação de sistemas flexíveis que rapidamente possam se adaptar a novas necessidades dos processos de negócios. Os modelos estão descritos no corpo do trabalho e estendem a utilização dos padrões originais de onde os mesmos se originam, descrevendo os relacionamentos entre os modelos apresentados, suas classes e atributos. Exemplos da utilização prática dos modelos são apresentados em situações de negócios e conclusões sobre o potencial de utilização dos mesmos são discutidos ao final do trabalho.
Resumo:
Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.
Resumo:
O emergente mercado de desenvolvimento de software para jogos eletrônicos oferece um campo favorável para iniciativas empreendedoras, pois é um setor que vem apresentando franco crescimento em nível mundial, tendo ultrapassado, em faturamento, no ano de 2001, a receita da indústria cinematográfica dos Estados Unidos. Em função desse crescimento, novos produtos de software e também de hardware são constantemente lançados para atender à crescente demanda do setor. No Brasil, este mercado está evoluindo, apesar de ser ainda incipiente e apresentar problemas estruturais. Existem empreendimentos que estão tendo um bom desempenho, inclusive exportando produtos. O objetivo deste trabalho foi identificar as características dos empreendimentos como atores do mercado, bem como aquelas de seus empreendedores. São apresentados os resultados de um estudo de múltiplos casos com cinco empresas brasileiras que desenvolvem jogos eletrônicos. Este é um mercado em que predominam os negócios via rede de contatos, as exportações, com contratos de outsourcing, e os padrões de qualidade são estabelecido internacionalmente. As principais características identificadas são que as empresas são pequenas, elativamente novas no mercado, desenvolvem sua própria tecnologia, algumas transformando resultados de pesquisas acadêmicas em produtos, têm capacidade de inovação e a maioria começou suas atividades sem investimento de capital de risco. Os empreendedores têm, em geral, formação técnica e algumas habilidades gerenciais, e, além disso, utilizam suas redes de contatos para expandir os negócios no exterior e estão altamente determinados a ter sucesso no mercado de jogos eletrônicos.
Resumo:
O crescimento experimentado pela indústria do software nas últimas décadas, trouxe consigo o aumento das exigências do mercado. É exigido das organizações de software, que os sistemas sejam construídos de acordo com prazo e custos determinados, obedecendo-se certos padrões de qualidade. Para atender tais exigências e assim obter o diferencial competitivo, tornou-se necessário investir no processo de desenvolvimento de software, dada a relação cada vez mais evidente entre a qualidade do produto de software e a eficiência e eficácia do processo de desenvolvimento adotado. Uma estratégia na busca pela maturidade em termos de processos é a definição e adoção de um processo único a ser seguido em todos os projetos de uma organização, denominado processo padrão. Levando-se em consideração a singularidade de cada novo projeto de software, é natural presumir que o processo padrão tenha de ser adaptado para as necessidades específicas de cada situação, de forma a ser aceito, ter seu uso maximizado e garantir a qualidade do software a ser produzido. Este trabalho apresenta, assim, o APSEE-Tail, um modelo para apoiar o engenheiro de processos na tarefa de adaptar o processo padrão de uma organização de software para as particularidades de cada um de seus projetos, possibilitando maior efetividade e eficiência no uso do mesmo. Sua abordagem de adaptação é livre, orientada à atividades e baseada no raciocínio, através da combinação das técnicas de interpretação de regras e CBR (Case Based Reasoning), sobre o conhecimento necessário. Tal conhecimento, neste trabalho, é agrupado em três categorias: diretrizes de adaptação do processo padrão, tipos de característica usados para definir os projetos de software e informações sobre adaptações realizadas anteriormente. Os diferentes componentes envolvidos na definição do APSEE-Tail foram especificados algebricamente, o que constituiu uma base semântica de alto nível de abstração e possibilitou a construção de um protótipo, implementado no ADS (Ambiente de Desenvolvimento de Software) Prosoft-Java e fracamente acoplado ao APSEE, um ambiente de engenharia de software centrado no processo também prototipado no Prosoft-Java, tornando-se assim parte do meta-processo adotado pelo mesmo. O texto apresenta ainda alguma fundamentação teórica sobre a área de Adaptação de Processos de Software, considerações sobre as abordagens pesquisadas, enfatizando as que mais influenciaram o APSEE-Tail, e um exemplo de aplicação do protótipo construído. Por fim, são apresentadas as contribuições e limitações da proposta, na visão do autor, bem como os trabalhos futuros vislumbrados.
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.