Buscar

Engenharia de Software Modelagem Ágil

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Modelagem Ágil
O processo atual de desenvolvimento de software encontra-se em situação precária pois normalmente o sistema de software são entregues fora do prazo além de custo elevados e fora do previsto. Não atingindo assim uma qualidade de software desejável pelo cliente. Sendo assim os sistemas terá alto custo de manutenção e precisando ser corrigidos a todo momento até mesmo deixando as correções de bugs para próximas versões ao invés soluciona-los.
Uma das propostas é para solucionar tal problema é o modelo ágil, que visa aumentar a eficácia da equipe de um projeto de software. O modelo ágil é uma coleção de práticas de princípios e valores que pode ser aplicado no cotidiano do profissional.
Segundo Scott w.ambler o modelo ágil não define como criar modelos e sim orientações de como modelar. Podemos citar duas modificações principais para criação desta metodologia.
O principal objetivo de um projeto de software é o próprio software e não o grande conjunto documentação sobre ele;
O artefato é feio para troca de informações e discussões entre equipes e permitindo assim um refinamento do modelo. Se um artefato não contém informações uteis o projeto não se cumpre o objetivo;
Em cima destas duas constatações alguns pesquisadores com suporte de algumas empresas criaram a agile software development aliance onde foi definido um manifesto de melhores práticas de produção de software, definindo alguns valores:
Indivíduos e interação em vez de processos e ferramentas;
Software funcional à vez extensa documentação;
Colaboração com cliente ao invés de renegociação de contrato;
Aceitação das mudanças em vez de obediência a cega a um plano;
Definição de modelos Ágeis
A modelagem ágil, embora não seja uma metodologia, é um complemento dos processos existentes, focada em modelagem e documentação, atendendo seu proposito com eficiência, e sedo extremamente detalhado.
Uma de suas vantagens, é que se pode deixar em aberto, por exemplo, a necessidade de utilização de ferramentas case, caso implique na simplicidade do processo.
Modelagem Ágil
Coleção de práticas guiadas por princípios e valores;
Não é um processo positivo;
Prevê conselhos;
Objetivos:
Valores, princípios e práticas;
Exploração através do SCRUM, XP ou DSM;
Melhorar a modelagem (RUP);
AM na prática
A implantação da modelagem ágil, como todo processo que representa uma troca de paradigma, proporciona experiências interessantes, mas também traumáticas. A mudança pode representar a profissionais experientes, a saída da zona de conforto. Assim, estes podem apresentar resistência à mudança e lançar um olhar negativo sobre a alternativa. 
Princípios fundamentais:
Software que funcione é seu principal objetivo; 	 
Se comprometa com a simplicidade; 
Aceite as mudanças; 
Pensar no próximo passo é um objetivo secundário; 
Mudanças incrementais; 
Maximize o investimento do dono do produto; 
Modele com finalidade de melhorar a comunicação; 
Crie múltiplos modelos; 
Mantenha a qualidade do trabalho como requisito; 
Obtenha retorno do interessado no SW o mais rápido possível; 
Viaje com pouca bagagem, crie documentação essencial; 
Práticas fundamentais:
Participação ativa do dono do produto; 
Modele com outras pessoas; 
Aplique os artefatos corretos; 
Itere para outro artefato; 
Prove com código; 
Use as ferramentas mais simples; 
Modele em incrementos pequenos; 
Use apenas uma fonte de informação; 
Propriedade coletiva; 
Modelagem concorrente; 
Crie conteúdos simples; 
Descreva os modelos de forma simples; 
Mostre os modelos publicamente; 
Produtividade:
Utilize padrões e normas de modelagem;
 
 A ideia básica é que os desenvolvedores devem concordar e seguir os mesmos conjuntos de padrões de modelagem. Um código limpo e que segue as diretrizes de codificação escolhidas é mais fácil de entender e evoluir.
Aplique padrões (design patterns) com sabedoria;
 
 Modeladores efetivos aprendem e aplicam adequadamente padrões comuns de arquitetura, design e análise em seus modelos. No entanto, como Martin Fowler observa em Is Design Dead? os desenvolvedores devem considerar facilitar a aplicação de um padrão, aplicá-lo gentilmente. Isso reflete o valor da simplicidade. Em outras palavras, se você SUSPEITAR que um padrão se aplica, você deve modelá-lo de forma a implementá-lo de pouco em pouco. Em outras palavras não aplique o modelo de forma brusca.
Documentação:
Descarte Modelos temporários;
 
 A grande maioria dos modelos que você cria são modelos temporários / de trabalho - esboços de design, protótipos de baixa fidelidade, cartões de índice, alternativas possíveis de arquitetura / design, e assim por diante - modelos que tenham cumprido seu objetivo, mas já não agregam valor . Os modelos rapidamente se tornam sem sincronia com o código, e não há nada de errado com isso. Você deve então tomar a decisão de sincronizar os modelos se ele agregar valor ao seu projeto ou simplesmente descarte-os porque o investimento para atualizar os modelos não será recuperado.
Formalize os modelos de contrato “Contract Models”;
 
 Os modelos de contratos geralmente são necessários quando um grupo externo controla um recurso de informação que seu sistema requer, como um banco de dados, um aplicativo antigo ou um serviço de informações. Um modelo de contrato é algo que ambas as partes devem concordar mutuamente e mudar mutuamente ao longo do tempo, se necessário. Exemplos de modelos de contratos incluem a documentação detalhada de uma interface de programação de aplicativo (API), uma descrição de layout de arquivo, um XML DTD ou um modelo de dados físicos descrevendo um banco de dados compartilhado.
Atualize apenas quando realmente precisar;
 
 Você deve atualizar um modelo somente quando precisar para que o modelo não fique inconsistente.
Princípios suplementares
Conteúdo é mais importante que representação;
 O conteúdo é mais importante do que a representação. Qualquer modelo dado poderia ter várias maneiras de representá-lo. Por exemplo, uma especificação de interface do usuário pode ser criada usando Post-It em uma grande folha de papel (um protótipo essencial ou de baixa fidelidade), como um esboço em papel ou um quadro branco, como um protótipo "tradicional" construído usando uma ferramenta de prototipagem ou linguagem de programação, ou como um documento formal, incluindo tanto uma representação visual, bem como uma descrição textual da UI. Uma implicação interessante é que um modelo não precisa ser um documento. Mesmo um conjunto complexo de diagramas criados usando uma ferramenta CASE pode não se tornar parte de um documento, em vez disso eles são usados como entradas para outros artefatos, código fonte muito provável, mas nunca formalizados como documentação oficial. O objetivo é que você aproveite os benefícios da modelagem sem incorrer nos custos de criação e manutenção de documentação.
Cada um tem algo a aprender com o outro;
 As pessoas precisam ser livres e perceber que são livres, para oferecer sugestões. Isso inclui ideias relativas a um ou mais modelos, talvez alguém tenha uma nova maneira de abordar uma parte do projeto ou tenha uma nova visão sobre um requisito; entrega de más notícias, como estar atrasado; ou simplesmente o estado atual de seu trabalho. A comunicação aberta e honesta permite que as pessoas tomem melhores decisões porque a qualidade das informações que elas estão baseando é mais precisa.
Conheça seus modelos;
Conheça suas ferramentas;
Adapte o modelo à organização;
Conclusão
A modelagem Ágil é um modelo que abrange atitude, assim como seu nome sugere, trabalha de forma rápida e eficiente, visando trabalho em equipe, e um alto nível de detalhamento através da documentação.

Outros materiais