Análise de Sistemas Unidade III A Engenharia de Software Desenvolvimento Ágil

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Análise de Sistemas Unidade III A Engenharia de Software Desenvolvimento Ágil"

Transcrição

1 Análise de Sistemas Unidade III A Engenharia de Software Desenvolvimento Ágil Conteúdo Programático Introdução O que é um processo ágil A política de desenvolvimento ágil Fatores humanos Modelos ágeis de processo Outros modelos ágeis de processo Introdução Introdução Em 2001, Kent Beck e 16 outros notáveis desenvolvedores, produtores e consultores de software (conhecidos como Aliança Ágil ) assinaram o Manifesto para o Desenvolvimento Ágil de Softwares Eles declararam: Estamos descobrindo melhores modos de desenvolvimento de software, fazendo-o e ajudando outros a fazê-lo. Por meio desse trabalho passamos a valorizar: Indivíduos e interações em vez de processos e ferramentas; Software funcionando em vez de documentação abrangente; Colaboração do cliente em vez de negociação de contratos; Respostas a modificações em vez de seguir um plano. Introdução Introdução Embora as idéias subjacentes que guiam o desenvolvimento ágil tenham estado conosco há muitos anos, somente durante a década de 1990 é que foram cristalizados em um movimento. Em essência os métodos ágeis foram desenvolvidos em um esforço para vencer as fraquezas percebidas e reais da engenharia de software convencional. O desenvolvimento ágil pode fornecer importantes benefícios, mas ele não é aplicável a todos os projetos, produtos, pessoas e situações. Ele também não é o contrário à sólida prática de engenharia de software e pode ser aplicado como uma filosofia prevalecente a todo trabalho do software. Na economia moderna é frequentemente difícil ou impossível prever como um sistema baseado em computador evoluirá com o passar do tempo. Condições de mercado mudam rapidamente, necessidades dos usuários finais evoluem e novas ameaças de competição emergem sem alerta. Em muitas situações, não podemos mais definir completamente os requisitos antes do início do projeto. Os engenheiros de software devem ser ágeis o suficiente para responder a um ambiente de negócio mutante. 1

2 Introdução Isso significa que o reconhecimento dessas causas realísticas modernas nos obrigam a descartar princípios, conceitos, métodos e ferramentas, todos importantes na engenharia de software? Certamente que não, como todas as disciplinas da engenharia, a engenharia de software continua a evoluir. Ela pode ser adequada facilmente para encarar os desafios colocados pela demanda por agilidade. O que é agilidade no contexto da engenharia de software? Ivan Jacobson fornece uma discussão útil: Agilidade tornou-se atualmente uma palavra mágica quando se descreve um processo moderno de software. Tudo é ágil. Uma equipe ágil é uma equipe esperta, capaz de responder adequadamente a modificações. Modificações (software, membros da equipe, tecnologias, etc) é o foco principal do projeto e tem impacto no produto final. O apoio para modificações deveria ser incorporado em tudo que fazemos em software, algo que se adota porque está no coração e na alma do software. Uma equipe ágil reconhece que o software é desenvolvido por indivíduos trabalhando em equipes e que as especialidades dessas pessoas e sua capacidade de colaborar estão no âmago do sucesso do projeto. Na visão de Jacobson, o acolhimento de modificações é o principal guia para a agilidade. Os engenheiros de software devem reagir rapidamente se tiverem de acomodar as rápidas modificações citadas. Agilidade é dinâmica, específica em conteúdo, agressiva no acolhimento de modificações e orientada a crescimento. Steven Goldman Não devemos cometer o erro de considerar que a agilidade nos dá licença de improvisar soluções. Um processo é necessário e disciplina é essencial Mas a agilidade é mais do que uma resposta efetiva à modificação. Ela encoraja estruturas e atitudes de equipe que tornam a comunicação mais fácil, entre todos os envolvidos no processo. Enfatiza a rápida entrega do software e dá menos importância para produtos intermediários (nem sempre uma boa coisa). Adota os clientes como parte da equipe de desenvolvimento. Admite que o planejamento em um mundo incerto tem seus limites e que um plano de projeto deve ser flexível. A Aliança Ágil define 12 princípios para aqueles que querem alcançar agilidade: 1- Nossa maior prioridade é satisfazer o cliente desde o início por meio de entrega contínua de software valioso. 2 - Modificações de requisitos são bem vindas, mesmo que tardias no desenvolvimento. Os processos ágeis aproveitam as modificações como vantagens para a competitividade do cliente. 3 - Entrega de softwares funcionando frequentemente, a cada duas semanas até dois meses, de preferência no menos espaço de tempo. 4 - O pessoal do negócio e os desenvolvedores devem trabalhar juntos diariamente durante todo o projeto. Cont.: 5 Construção de projetos em torno de indivíduos motivados. Forneça-lhes o ambiente e apoio que precisam e confie que eles farão o trabalho. 6 O método mais eficiente e efetivo de levar informações para dentro da equipe de desenvolvimento é a conversa face a face. 7 Softwares funcionando é a principal medida de progresso. 8 Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter um ritmo constante, indefinidamente. 2

3 Cont.: 9 Atenção contínua à excelência técnica e ao bom projeto facilitam a agilidade. 10 Simplicidade a arte de maximizar a quantidade de trabalho não efetuado é essencial. 11 As melhores arquiteturas, requisitos e projetos surgem de equipes auto organizadas. 12 Em intervalos regulares, a equipe reflete sobre como se tornar mais efetiva, então sintoniza e ajusta adequadamente seu comportamento. A agilidade pode ser aplicada a qualquer processo de software. Entretanto para conseguir isso é essencial que o processo seja de modo que permita à equipe de projeto adaptar tarefas e aperfeiçoálas. Conduzir o planejamento para que se entenda a fluidez de uma abordagem de desenvolvimento ágil, eliminar tudo, menos os produtos de trabalho mais essenciais e mantê-los simples. Enfatizar uma estratégia de entrega incremental que forneça o software funcionando ao cliente o mais rápido possível. O que é um Processo Ágil? O que é um Processo Ágil? Qualquer processo ágil de software é caracterizado de modo que atenda a três suposições chave: 1 É difícil prever antecipadamente quais requisitos de software vão persistir e quais serão modificados. É igualmente difícil prever como as prioridades do cliente serão modificadas a medida que o projeto prossegue. 2 Para muitos tipos de software, o projeto e a construção são intercalados, isto é, as duas atividades devem ser realizadas juntas de modo que os modelos de projeto sejam comprovados a medida que são criados. É difícil prever o quanto de projeto é necessário antes que a construção seja usada para comprovar o projeto. Cont. 3 Análise, projeto, construção e testes não são tão previsíveis (do ponto de vista do planejamento) como gostaríamos. Dadas essas três suposições surge uma questão importante, como criar um processo que possa gerenciar a imprevisibilidade? A resposta está na adaptabilidade do processo (as modificações rápidas do projeto e das condições técnicas). Um processo ágil, portanto, deve ser adaptável incrementalmente. O que é um Processo Ágil? O que é um Processo Ágil? Para realizar a adaptação incremental, uma equipe ágil requer o feedback do cliente (de modo que adaptações apropriadas possam ser feitas), isso pode ser feito através de protótipos operacionais. Assim, uma estratégia de desenvolvimento incremental deve ser instituída. Essa abordagem interativa habilita o cliente a avaliar o incremento de software regularmente, fornece o feedback necessário à equipe de software e influencia as adaptações do processo feitas para acomodar o feedback. Incrementos de software devem ser entregues em curtos períodos de tempo de modo que a adaptação acerte o passo com as modificações (imprevisibilidade). 3

4 A política do Desenvolvimento Ágil A política do Desenvolvimento Ágil Há um considerável debate sobre os benefícios e a aplicabilidade do desenvolvimento ágil de software em contraposição aos processos mais convencionais de engenharia de software. Os agilistas dizem: Os metodologistas tradicionais são um punhado de bitolados que preferem produzir documentação perfeita a um sistema funcionando que satisfaça às necessidades do negócio. Os tradicionalistas dizem: Os metodologistas levianos quer dizer, ágeis, são um punhado de gloriosos hackers que terão uma grande surpresa quando tiverem de ampliar seus brinquedos para chegar a um software que abranja toda a empresa. Como toda argumentação sobre tecnologia de software, esse debate metodológico arrisca-se a degenerar em uma guerra religiosa, se isso tiver início o pensamento racional desaparecerá e crenças, em vez de fatos, orientarão a tomada decisão. Ninguém é contra a agilidade. A verdadeira questão é: qual é o melhor modo de alcançá-la? Outra questão tão importante como essa é: como construir softwares que satisfaçam às necessidades do cliente atual e exiba característica de qualidade que lhe permitam ser estendido e ampliado para satisfazer às necessidades do cliente no longo prazo? A política do Desenvolvimento Ágil A política do Desenvolvimento Ágil Não existem respostas absolutas para qualquer uma dessas questões. Mesmo dentro da escola ágil, há muitos modelos de processo propostos, cada qual com uma abordagem sutilmente diferente para o problema da agilidade. Em cada modelo há um conjunto de idéias que representam um afastamento significativo da engenharia de software convencional. No entanto, muitos conceitos ágeis são simples adaptações, de bons conceitos da engenharia de software. Conclusão: há muito a ser ganho considerando o melhor de ambas as escolas, e quase nada a ser ganho denegrindo qualquer uma dessas abordagens. Você não tem que escolher entre agilidade e engenharia de software. Em vez disso, defina uma abordagem de engenharia de software que seja ágil. Fatores Humanos Fatores Humanos Os proponentes do desenvolvimento ágil de software sofrem muito para enfatizar a importância dos fatores pessoais no desenvolvimento ágil bem sucedido. O desenvolvimento ágil enfoca os talentos e habilidades dos indivíduos moldando o processo a pessoas e equipes específicas. O ponto chave dessa declaração é que o processo se molda às necessidades das pessoas e da equipe, e não o contrário. O que é considerado meramente suficiente por uma equipe é ou suficiente ou insuficiente para outra. Se os membros de uma equipe de software tiverem de estabelecer as características do processo que é aplicado para construir software, uma certa quantidade de características chave deve existir entre as pessoas de uma equipe ágil e na equipe em si. São elas: Competência Foco comum Colaboração Capacidade de tomada de decisão Habilidade de resolver problemas vagos (ambigüidades) Respeito e confiança mútua Auto organização 4

5 Fatores Humanos Fatores Humanos No contexto de desenvolvimento ágil, a auto organização implica três coisas: 1 a equipe ágil organiza-se para o trabalho a ser feito. 2 a equipe organiza o processo para melhor acomodar seu ambiente local. 3 a equipe organiza o cronograma de trabalho para conseguir melhor entrega do incremento do software. A auto organização tem um certo número de benefícios técnicos, porém, mas importante que isso, ela serve para aperfeiçoar a colaboração e aumentar a moral da equipe. Em essência, a equipe serve como sua própria gerência. A equipe seleciona quanto trabalho acredita que pode realizar dentro da iteração e a equipe se compromete com o trabalho. Nada desmotiva tanto uma equipe quanto alguém de fora assumir compromissos por ela. Nada motiva tanto uma equipe quanto a aceitação da responsabilidade de cumprir os compromissos que ela própria estabeleceu. Fatores Humanos Uma equipe auto organizada está no controle de trabalho que realiza. A equipe estabelece os seus próprios compromissos e define os planos para cumpri-los. O que é? Quem faz? Por que é importante? Quais são os passos? Qual é o produto do trabalho? Como tenho certeza que fiz corretamente? O que é? A engenharia de software ágil combina uma filosofia e um conjunto de diretrizes de desenvolvimento. A filosofia encoraja a satisfação do cliente e a entrega incremental do software logo de início, equipes de projeto pequenas, altamente motivadas, métodos informais, produtos de trabalho de engenharia de software mínimos e simplicidade global do desenvolvimento. As diretrizes de desenvolvimento enfatizam a entrega em contraposição à análise e ao projeto (apesar dessas atividades não serem desencorajadas) e a comunicação ativa e contínua entre desenvolvedores e clientes. Quem faz? Engenheiros de software e outros interessados no projeto (gerentes, clientes e usuários finais) trabalham juntos em uma equipe ágil uma equipe que é autoorganizada e controla seu próprio destino. Uma equipe ágil enfatiza a comunicação e a colaboração entre todos que a compõem. 5

6 Por que é importante? O ambiente moderno de negócios que cria sistemas baseados em computador e produtos de software é apressado e sempre mutável. A engenharia ágil de software representa uma alternativa razoável para a engenharia de software convencional para certas categorias de software e certos tipos de projeto de software. Tem sido demonstrado que ela entrega rapidamente sistemas bem sucedidos. Quais são os passos? As atividades básicas da engenharia de software: comunicação com o cliente, planejamento, modelagem, construção, entrega e avaliação permanecem. Porém, são reduzidas a um conjunto mínimo de tarefas que leva a equipe de projeto à construção e entrega. Qual é o produto do trabalho? Cliente e engenheiros de software que tem adotado a filosofia ágil tem a mesma impressão o único produto de trabalho realmente importante é um incremento do software operacional que é entregue ao cliente na data de entrega combinada. Como tenho certeza que fiz corretamente? Se a equipe ágil concordar que o processo funciona e produzir incrementos de software em condições de serem entregues e que satisfaçam ao cliente, você fez corretamente. Modelos ágeis de processo Modelos ágeis de processo A história da engenharia de software está congestionada com dúzias de descrições e metodologias obsoletas de processos, métodos de modelagem e notações, ferramentas e tecnologias. Cada uma delas ganhou notoriedade e foi depois eclipsada por algo mais novo e (pretensamente) melhor. Com a introdução de uma ampla gama de modelos ágeis de processo - cada qual lutando por aceitação na comunidade de desenvolvimento de software o movimento ágil está seguindo o mesmo caminho histórico. Os modelos ágeis de processo foram projetados de forma a atender aos quatro tópicos chave, de acordo com a filosofia ágil: A importância de equipes auto-organizadas que tem controle sobre o trabalho que executam; Comunicação e colaboração entre os membros da equipe e entre os profissionais e seus clientes; Um reconhecimento de que as modificações representam uma oportunidade; Ênfase na entrega rápida de softwares que satisfaçam ao cliente. Vejamos alguns: 6

7 O XP usa uma abordagem orientada a objetos como seu paradigma de desenvolvimento predileto. Inclui um conjunto de regras e práticas que ocorrem no contexto de quatro atividades: planejamento, projeto, codificação e teste. Vejamos cada uma das atividades: Começa com a criação de um conjunto de histórias (histórias do usuário) que descrevem as características e funcionalidades requeridas para o software a ser construído. Cada história é escrita pelo cliente e é colocada em um cartão de indexação. O cliente atribui um valor (prioridade) para a história, com base no valor de negócio global da característica ou da função. Membros da equipe XP avaliam então cada história e lhe atribuem um custo medido em semanas de desenvolvimento. Se a história precisar mais do que três semanas de desenvolvimento, pede-se ao cliente para dividir a história em histórias menores e a atribuição de valor e custo ocorre novamente. Novas histórias podem ser escritas a qualquer momento. Os clientes e a equipe XP trabalham juntos para decidir como agrupar histórias na versão seguinte (próximo incremento) a ser desenvolvido pela equipe XP. Uma vez feito um compromisso básico para a versão (acordo quanto às histórias incluídas, data de entrega e outros assuntos de projeto), a equipe XP determina as histórias que serão desenvolvidas seguindo os critérios a seguir: Histórias 7

8 1 todas as histórias serão implementadas imediatamente (dentro de poucas semanas); 2 as histórias com valor mais alto serão antecipadas no cronograma e implementadas primeiro; 3 as histórias de maior risco serão antecipadas no cronograma. Depois que a primeira versão do projeto (incremento) tiver sido entregue, a equipe XP calcula a velocidade do projeto. Isso pode ser usado principalmente para ajudar a estimar as datas de entrega e o cronograma para versões subseqüentes; A medida que o trabalho de desenvolvimento prossegue, o cliente pode adicionar histórias, mudar o valor de uma história existente, subdividir histórias ou eliminá-las. A equipe XP então reconsidera todas as versões remanescentes e modifica os seus planos adequadamente. O projeto XP segue rigorosamente o princípio KIS (keep it simple mantenha a simplicidade). Um projeto simples é sempre preferível em relação a uma representação mais complexa. Os cartões CRC identificam e organizam as classes orientada a objetos que são relevantes para o incremento do software atual; eles são o único produto de trabalho do projeto que é realizado como parte do processo XP. Além disso, o projeto fornece diretrizes de implementação para uma história como ela está escrita nada mais e nada menos. O XP encoraja o uso de cartões CRC (Class Responsability Colaborator) como um mecanismo efetivo para raciocinar sobre o software no contexto orientado a objetos. No trabalho de modelagem, cartões CRC (Classes, Responsabilidade, Colaborações) podem ser usados na etapa inicial de identificação de classes ou de candidatos a classe. São cartões (fichas de papel), cada ficha corresponde a uma classe. Cada ficha contém o nome da classe e 2 colunas com descrição de suas responsabilidades e colaborações. Colaborações apresentam outras classes que interagem com a classe descrita para o cumprimento de suas responsabilidades. Se um problema de projeto é encontrado como parte do projeto de uma história, o XP recomenda a criação imediata de um protótipo operacional daquela parte do projeto. Denominado solução de ponta, o protótipo de projeto é implementado e avaliado. A intenção é diminuir o risco quando a implementação verdadeira começar a validar as estimativas originais correspondentes à história que contém o problema de projeto. 8

9 O XP encoraja a refabricação uma técnica de construção que é também uma técnica de projeto (altera e aperfeiçoa o código sem alterar o comportamento externo). Como o projeto XP praticamente não usa nenhuma notação e produz poucos ou nenhum produto de trabalho que não seja os cartões CRC e as soluções de ponta, o projeto é visto como um artefato provisório que pode e deve ser continuamente modificado à medida que a construção prossegue. A intenção da refabricação é controlar essas modificações sugerindo pequenas alterações de projeto que podem aperfeiçoar rapidamente o projeto. Deve-se notar, no entanto, que o reforço necessário à refabricação pode crescer sensivelmente à medida que o tamanho de uma aplicação cresce. Um noção central do XP é de que o projeto ocorre tanto antes quanto depois que a codificação começa. Refabricação significa que o projeto ocorre continuamente à medida que o sistema é construído. De fato, a atividade de construção em si vai fornecer à equipe XP diretrizes sobre como aperfeiçoar o projeto. Codificação: O XP recomenda que depois que as histórias forem desenvolvidas e o trabalho preliminar de projeto for feito, a equipe não avance para o código mas, em vez disso, desenvolva uma série de testes unitários que exercitarão cada uma das histórias que devem ser incluídas na versão atual (incremento). Codificação: Uma vez criados os testes unitários, o desenvolvedor esta melhor preparado para focalizar o que precisa ser implementado para passar no teste unitário. Completado o código, ele pode ser submetido imediatamente ao teste unitário, fornecendo assim feedback instantâneo para os desenvolvedores. Codificação: Um conceito chave durante a atividade de codificação é a programação em pares. 9

10 Codificação: O XP recomenda que duas pessoas trabalhem juntas em uma estação de trabalho de computador para criar o código correspondente a uma história. Isso fornece um mecanismo de solução de problemas em tempo real e de garantia de qualidade, também mantém os desenvolvedores focados no problema em mãos. Na prática, cada pessoa assume um papel ligeiramente diferente. Por exemplo, uma pessoa poderia pensar nos detalhes do código de uma parte específica do projeto, enquanto a outra garante que as normas de codificação estão sendo seguidas e que o código gerado vai se encaixar no projeto mais amplo da história. Codificação: À medida que os pares de programadores contemplam o seu trabalho, o código que eles desenvolvem é integrado ao trabalho dos outros. Em alguns casos, isso é realizado diariamente por uma equipe de integração. Em outros casos, os pares de programadores tem a responsabilidade de integração. Essa estratégia de integração contínua ajuda a evitar problemas de compatibilidade e interface e fornece um mecanismo de teste de fumaça que ajuda a descobrir rapidamente erros. Teste: Já mencionamos que a criação de um teste unitário antes da codificação começar é um elemento chave da abordagem XP. Os testes unitários que são criados devem ser implementados usando parâmetros que lhes permita ser automatizados. Isso encoraja uma estratégia de teste de regressão sempre que o código é modificado. Teste: A medida que os testes unitários individuais são organizados em uma seqüência universal de testes o teste de integração e validação do sistema pode ocorrer diariamente. Isso fornece à equipe XP uma indicação contínua de progresso e também pode levantar sinais de alerta se as coisas não estiverem bem. Resolver pequenos problemas a cada intervalo de umas poucas horas leva menos tempo do que resolver grandes problemas perto da data de entrega. Teste: Os testes de aceitação XP, também chamados de testes do cliente, são especificados pelo cliente e focalizam as características e funcionalidades do sistema global que são visíveis e passivos de revisão pelo cliente. Testes de aceitação são derivados das histórias do usuário que foram implementadas como parte de uma versão do software. Arquitetura XP 10

11 É um modo ágil de processo que foi desenvolvido por Jeff Sutherland e por sua equipe no início da década de Nos últimos anos foi realizado desenvolvimento adicional de métodos por Sewaber e Beedle. Os princípios são consistentes com o manifesto ágil: Pequenas equipes de trabalho são organizadas de modo a maximizar a comunicação, minimizar a supervisão e maximizar o compartilhamento de conhecimento tácito informal. O processo precisa ser adaptável tanto a modificações técnicas quanto de negócios para garantir que o melhor produto possível seja produzido. O processo produz frequentes incrementos do software que podem ser inspecionados, ajustados, testados, documentados e expandidos. O trabalho de desenvolvimento e o pessoal que o realiza é dividido em partições claras de baixo acoplamento, ou em pacotes. Testes e documentação constantes são realizados à medida que o produto é construído. O processo fornece a habilidade de declarar o produto pronto sempre que necessário (porque a concorrência acabou de entregar, porque a empresa precisa de dinheiro, porque o usuário/cliente precisa das funções, porque foi para essa data que foi prometido.) Os princípios são usados para guiar as atividades de desenvolvimento dentro de um processo que incorpora as seguintes atividades genéricas: Requisitos, Análise, Projeto, Evolução, Entrega. Em cada atividade, as tarefas de trabalho ocorrem dentro de um padrão de processo chamado de sprint. Sprint: consiste de unidades de trabalho que são necessárias para satisfazer a um requisito definido na pendência que precisa ser cumprido em um intervalo de tempo predefinido. Pendência: uma lista priorizada de requisitos ou características de projeto que fornecem valor de negócio para o cliente. Itens podem ser adicionados à pendência a qualquer momento (é assim que as modificações são introduzidas). O incorporou um conjunto de padrões de processo que enfatiza prioridade de projeto, unidades de trabalho compartimentalizadas, comunicação e feedback frequente do cliente. O gerente de produto avalia a pendência e atualiza as prioridades quando necessário. Fluxo de processo 11

12 O trabalho conduzido dentro de um sprint é adaptado ao problema em mãos e é definido, e frequentemente, modificado em tempo real pela equipe. A quantidade de sprints necessária para cada atividade varia dependendo da complexidade e do tamanho do produto. O permite a construção de softwares mais flexíveis. Reuniões são curtas (normalmente 15 minutos) feitas diariamente pela equipe. Três questões-chave são formuladas e respondidas por todos os membros da equipe. O que você fez desde a última reunião de equipe? Que obstáculos você está encontrando? O que você planeja realizar até a próxima reunião de equipe? Um líder da equipe, chamado de Master, lidera a reunião e avalia as respostas de cada pessoa. Essas reuniões diárias ajudam a equipe a descobrir problemas potenciais tão cedo quanto possível. Elas levam também à socialização do conhecimento e promovem, assim, uma estrutura de equipe autoorganizada. Demos entrega do incremento de software ao cliente de modo que a funcionalidade implementada possa ser demonstrada e avaliada pelo cliente. É importante observar que a demo talvez não contenha toda a funcionalidade planejada, mas, em vez disso, as funções que podem ser entregues dentro do intervalo de tempo estabelecido. Outros modelos ágeis de processo Beedle e seus colegas apresentam uma discussão abrangente desses padrões na qual eles declaram: O considera antecipadamente a existência do caos.... Os padrões de processo permitem à equipe de desenvolvimento de software trabalhar de modo bem sucedido em um mundo em que se busca a eliminação da incerteza. O DAS (Desenvolvimento Adaptativo de Software) ressalta a colaboração humana e a auto-organização da equipe. Organizado como três atividades de arcabouço: especulação, colaboração e aprendizado. Usa um processo iterativo que incorpora planejamento do ciclo adaptativo, métodos relativamente rigorosos para o levantamento de requisitos e um ciclo de desenvolvimento iterativo que incorpora grupos enfocados nos clientes e revisões técnicas formais como mecanismos de feedback em tempo real. 12

13 Outros modelos ágeis de processo Outros modelos ágeis de processo O DSDM (Método de Desenvolvimento Dinâmico de Sistemas) define três diferentes ciclos interativos iteração do modelo funcional, iteração de projeto e construção e implementação procedidos por duas atividades de ciclo de vida adicionais estudo de viabilidade e estudo do negócio. Recomenda o uso de cronogramação a cada intervalo de tempo e sugere que, em cada incremento de software, é necessário apenas o trabalho suficiente a fim de facilitar o avanço para o incremento suficiente. O Crystal é uma família de modelos ágeis de processo que podem ser adotados para as características específicas de um projeto. Como outras abordagens ágeis, o Crystal adota uma estratégia iterativa, mas ajusta o rigor do processo de modo a acomodar projetos de diferentes tamanhos e complexidades. Outros modelos ágeis de processo Outros modelos ágeis de processo O FDD (Desenvolvimento Guiado por Características) é algo mais formal do que outros métodos ágeis, mas ainda mantém agilidade por concentrar a equipe de projeto no desenvolvimento das características funções valiosas para o cliente que podem ser implementadas em duas semanas ou menos. Fornece maior ênfase em gestão do projeto e qualidade do que outras abordagens ágeis. A Modelagem Ágil (AM) sugere que a modelagem é essencial para todos os sistemas, mas que a complexidade, tipo e tamanho do modelo devem estar sintonizados com o software a ser construído. Por meio da proposição de um conjunto de princípios de modelagem centrais e suplementares, a AM fornece uma guia útil para os profissionais durante as tarefas de análise e do projeto. Exercício 1 - Quais pontos principais o "Manifesto para o Desenvolvimento Ágil de Softwares" valoriza? 2 - Qual o seu entendimento a partir da afirmação: "O Desenvolvimento ágil não é o contrário à sólida prática de engenharia de software e pode ser aplicado como uma filosofia prevalecente a todo trabalho do software"? 3 - Quais princípios definidos pela Aliança Ágil chamam mais a sua atenção? 4 - Qual o seu conceito para Agilidade, no cenário da Engenharia de Software? 5 - Um processo ágil de software é caracterizado de modo que atenda a três suposições chave, quais são elas? 6 - "Há um considerável debate sobre os benefícios e a aplicabilidade do desenvolvimento ágil de software em contraposição aos processos mais convencionais de engenharia de software." Qual a sua opinião sobre isso? 7 - Que características principais uma equipe ágil deve ter? 8 - Qual é o produto de trabalho realmente importante no desenvolvimento ágil? 9 - Que pontos importantes você destacaria no Modelo ágil XP? 10 - Que pontos importantes você destacaria no Modelo ágil? 11 - O que é refabricação? 12 - Que outros modelos ágeis de processo você destacaria? Bibliografia PRESSMAN, Roger S. Engenharia de Software. Rio de Janeiro: McGraw- Hill, Palestra Vinicius Teles. Notas de aula 13

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James

Leia mais

Prof. Me. Marcos Echevarria

Prof. Me. Marcos Echevarria Prof. Me. Marcos Echevarria Nas décadas de 80 e 90 a visão geral sobre a melhor maneira de desenvolver software era seguir um cuidadoso planejamento para garantir uma boa qualidade; Esse cenário era aplicável

Leia mais

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu. "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Práticas de Engenharia de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução. Introdução Métodos Ágeis em Engenharia de Software Thiago do Nascimento Ferreira Desenvolvimento de software é imprevisível e complicado; Empresas operam em ambiente global com mudanças rápidas; Reconhecer

Leia mais

Com metodologias de desenvolvimento

Com metodologias de desenvolvimento Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 06

Levantamento, Análise e Gestão Requisitos. Aula 06 Levantamento, Análise e Gestão Requisitos Aula 06 Agenda Técnicas de Levantamento de Requisitos: Entrevista Workshop, Brainstorming, Storyboarding e Roleplaying Prototipação JAD Joint Application Design

Leia mais

Metodologias Ágeis de Desenvolvimento de Software

Metodologias Ágeis de Desenvolvimento de Software "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software de Desenvolvimento de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Engenharia da WEB 16/08/2011. Vida moderna. Sistemas WEB

Engenharia da WEB 16/08/2011. Vida moderna. Sistemas WEB Engenharia da WEB Fernando Schütz Especialização 2010 UTFPR Vida moderna Sistemas WEB Início Arquivos hipertexto Hoje Bancos! Powell Sistemas WEB envolvem uma mistura de publicação impressa e desenvolvimento

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Metodologias Ágeis. Aécio Costa

Metodologias Ágeis. Aécio Costa Metodologias Ágeis Aécio Costa Metodologias Ágeis Problema: Processo de desenvolvimento de Software Imprevisível e complicado. Empírico: Aceita imprevisibilidade, porém tem mecanismos de ação corretiva.

Leia mais

Programação Extrema. Luis Fernando Machado. Engenharia de Software

Programação Extrema. Luis Fernando Machado. Engenharia de Software Programação Extrema Luis Fernando Machado Engenharia de Software Desenvolvimento Ágil Programação Extrema, ou Extreme Programming (XP) é um modelo de desenvolvimento ágil. Desenvolvimento ágil foi criado

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br Comparativo entre Processos Ágeis Daniel Ferreira dfs3@cin.ufpe.br O que discutiremos: Histórico Os Princípios Ágeis Comparação Do ponto de vista incremental Do ponto de vista funcional Vantagens e Desvantagens

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CI 221 DISCIPLINA: Engenharia de Software AULA NÚMERO: 5 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO Nesta aula serão apresentados e discutidos os conceitos de Gestão de projetos de software, riscos de software,

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2015 Desenvolvimento Rápido de Software 2 1 Para quê o Desenvolvimento Rápido de Software? Os negócios

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Disciplina: INF5008 Prof.: (monalessa@inf.ufes.br) Conteúdo 8. Metodologias

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1141 Processo e qualidade de software I Prof. Me. Elias Ferreira Sala: 210 F Quarta-Feira:

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES Marcelo Augusto Lima Painka¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Especialização em Engenharia de Software e Banco de Dados

Especialização em Engenharia de Software e Banco de Dados Especialização em Engenharia de Software e Banco de Dados Disciplina: Engenharia de Software Tópico: Metodologias Ágeis Prof. Rodolfo Miranda de Barros rodolfo@uel.br O que é agilidade? Agilidade: Rapidez,

Leia mais

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira SCRUM Gerência de Projetos Ágil Prof. Elias Ferreira Métodos Ágeis + SCRUM + Introdução ao extreme Programming (XP) Manifesto Ágil Estamos descobrindo maneiras melhores de desenvolver software fazendo-o

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO Santa Maria, 24 de Setembro de 2013. Revisão aula anterior Processos de Software Engenharia de Requisitos, Projeto,

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Abstract. Resumo. 1. Introdução Vinicius A. C. de Abreu 1 Departamento de Ciência da Computação - DCC Universidade

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Figura 5 - Workflow para a Fase de Projeto

Figura 5 - Workflow para a Fase de Projeto 5. Fase de Projeto A Fase de Projeto caracteriza-se por transformar as informações modeladas durante a Fase de Análise em estruturas arquiteturais de projeto com o objetivo de viabilizar a implementação

Leia mais

INTRODUÇÃO A PROJETOS

INTRODUÇÃO A PROJETOS INTRODUÇÃO A PROJETOS Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br GESTÃO DE PROJETOS Gestão Ágil de projetos Gestão de projetos com PMBOK GESTÃO ÁGIL DE PROJETOS GESTÃO ÁGIL

Leia mais

Desenvolvimento Ágil de Software em Larga Escala

Desenvolvimento Ágil de Software em Larga Escala Desenvolvimento Ágil de Software em Larga Escala Jutta Eckstein Encontro Ágil 2009 1 Agilidade é Quente Gerenciamento Ágil de Projetos Testes Ágeis Arquitetura Ágeis Offshore Ágil Investimento Ágil PLM

Leia mais

MINISTÉRIO DA FAZENDA SECRETARIA EXECUTIVA

MINISTÉRIO DA FAZENDA SECRETARIA EXECUTIVA PROGRAMA DE MODERNIZAÇÃO INTEGRADA DO MINISTÉRIO DA FAZENDA - PMIMF MINISTÉRIO DA FAZENDA SECRETARIA EXECUTIVA ATORES DA REDE DE INOVAÇÃO 2 O MODELO CONTEMPLA: Premissas e diretrizes de implementação Modelo

Leia mais

UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009)

UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009) GESTÃO DE PROCESSOS UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009) 1. O QUE É PROCESSO? Processos têm sido considerados uma importante ferramenta de gestão, um instrumento capaz de aproximar

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Profa. Dra. Ana Paula Gonçalves Serra prof.anapaula@saojudas.br

Profa. Dra. Ana Paula Gonçalves Serra prof.anapaula@saojudas.br Modelos de Processo Pessoal e de Equipe na Melhoria da Qualidade em Produção de Software Profa. Dra. Ana Paula Gonçalves Serra prof.anapaula@saojudas.br Agenda Importância das Pessoas / Constatações Compromisso

Leia mais

METODOLOGIAS ÁGEIS - SCRUM -

METODOLOGIAS ÁGEIS - SCRUM - METODOLOGIAS ÁGEIS - SCRUM - André Roberto Ortoncelli ar_ortoncelli@hotmail.com 2010 Organização da Apresentação Introdução as Metodologias Ágeis Scrum Conceitos Básicos Artefatos Papeis Cerimônias Estórias

Leia mais

Desenvolvimento Ágil de Software com Programação extrema (XP) Ricardo Argenton Ramos

Desenvolvimento Ágil de Software com Programação extrema (XP) Ricardo Argenton Ramos Desenvolvimento Ágil de Software com Programação extrema (XP) Ricardo Argenton Ramos Novos ventos no mundo do Desenvolvimento de Software Sociedade demanda grande quantidade de sistemas/aplicações software

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 4 Projeto de Teste 1 SUMÁRIO INTRODUÇÃO... 3 ANÁLISE E PROJETO DE TESTE... 3 1.

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Gerenciamento de Projetos Modulo II Clico de Vida e Organização Gerenciamento de Projetos Modulo II Clico de Vida e Organização Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos

Leia mais

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software Módulo 1 SCE186-ENGENHARIA DE SOFTWARE Profª Rosely Sanches rsanches@icmc.usp.br CONSTRUÇÃO Planejamento do Codificação Teste MANUTENÇÃO Modificação 2003 2 Planejamento do Gerenciamento CONSTRUÇÃO de Codificação

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Capítulo 23 Planejamento de Projeto. Aula 1 Cronograma do Projeto

Capítulo 23 Planejamento de Projeto. Aula 1 Cronograma do Projeto Capítulo 23 Planejamento de Projeto Aula 1 Cronograma do Projeto Tópicos ² Preço de software ² Desenvolvimento dirigido a planejamento ² Agendamento de projeto ² Planejamento ágil ² Técnicas de estimativa

Leia mais

NORMA NBR ISO 9001:2008

NORMA NBR ISO 9001:2008 NORMA NBR ISO 9001:2008 Introdução 0.1 Generalidades Convém que a adoção de um sistema de gestão da qualidade seja uma decisão estratégica de uma organização. O projeto e a implementação de um sistema

Leia mais

ISO 14004:2004. ISO14004 uma diretriz. Os princípios-chave ISO14004. Os princípios-chave

ISO 14004:2004. ISO14004 uma diretriz. Os princípios-chave ISO14004. Os princípios-chave ISO14004 uma diretriz ISO 14004:2004 Sistemas de Gestão Ambiental, Diretrizes Gerais, Princípios, Sistema e Técnicas de Apoio Prof.Dr.Daniel Bertoli Gonçalves FACENS 1 Seu propósito geral é auxiliar as

Leia mais

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

Metodologia de Desenvolvimento de Sistemas (Versão 2.0) SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA INTEGRAÇÃO NACIONAL DEPARTAMENTO NACIONAL DE OBRAS CONTRA AS SECAS Metodologia de Desenvolvimento de Sistemas (Versão 2.0) 1 Sumário 1Introdução... 5 1.1 Objetivo...

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Gerenciamento de Requisitos Gerenciamento de Requisitos

Gerenciamento de Requisitos Gerenciamento de Requisitos Gerenciamento de Requisitos Objetivos da disciplina Descrever o processo de Gerenciamento e Engenharia de Requisitos para projetos Treinar alunos no Gerenciamento de Requisitos Apresentar estudos de caso

Leia mais

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu. "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Introdução à Engenharia de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Estratégia de Desenvolvimento de Pessoas em Ação

Estratégia de Desenvolvimento de Pessoas em Ação Estratégia de Desenvolvimento de Pessoas em Ação Caros colegas, orienta o modo como nossa organização trabalha para selecionar, desenvolver, motivar e valorizar o bem mais importante da Bausch + Lomb nossas

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 11 APRESENTAÇÃO Nesta aula serão discutidos os conceitos relacionados

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP Planejamento - 7 Planejamento do Gerenciamento do Risco Identificação dos riscos 1 O que é risco? Evento que representa uma ameaça ou uma oportunidade em potencial Plano de gerenciamento do risco Especifica

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Slide 05 Modelos de Processos Maurício Archanjo Nunes Coelho mauricio.coelho@ifsudestemg.edu.br Instituto Federal Análise de Sistemas Por que surgiu a Engenharia de Software? Resposta

Leia mais

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos Março de 2010 UM NOVO PARADIGMA PARA AS AUDITORIAS INTERNAS Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos por Francesco De Cicco 1 O foco do trabalho dos auditores internos

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução aos Processos de Software: modelos e ciclo de vida de software Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados

Leia mais

Desenvolvimento Ágil. O Manifesto para o Desenvolvimento de Software Ágil

Desenvolvimento Ágil. O Manifesto para o Desenvolvimento de Software Ágil Desenvolvimento Ágil 02561-5 Engenharia de Software Profa. Rosângela Penteado Aula de 24/8/2006 1 O Manifesto para o Desenvolvimento de Software Ágil Nós estamos descobrindo melhores maneiras de desenvolver

Leia mais

Novidades do Guia PMBOK 5ª edição

Novidades do Guia PMBOK 5ª edição Novidades do Guia PMBOK 5ª edição Mauro Sotille, PMP O Guia PMBOK 5 a edição (A Guide to the Project Management Body of Knowledge (PMBOK Guide) Fifth Edition), em Inglês, foi lançado oficialmente pelo

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

Capítulo 1. Extreme Programming: visão geral

Capítulo 1. Extreme Programming: visão geral Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento

Leia mais

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Objetivos da Aula 1 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Entendimento sobre os processos essenciais do

Leia mais

Realização. Conselho Brasileiro de Manejo Florestal FSC Brasil. www.fsc.org.br

Realização. Conselho Brasileiro de Manejo Florestal FSC Brasil. www.fsc.org.br C e rtificação gr u p o em Realização Apoio Conselho Brasileiro de Manejo Florestal FSC Brasil www.fsc.org.br 28 01 C er t ifi ca çã o emgrupo em Realização Apoio Conselho Brasileiro de Manejo Florestal

Leia mais

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Metodologias Ágeis Gerenciando e Desenvolvendo Projetos de forma eficiente Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Introdução Ao longo dos anos a indústria de desenvolvimento

Leia mais

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante 1 - Q193183 ( Prova: FCC - 2011 - TRT - 19ª Região (AL) - Analista Judiciário - Tecnologia da Informação / Engenharia de Software / Análise de Requisitos; Engenharia de Requisitos; ) De acordo com Sommerville,

Leia mais

Medindo a Produtividade do Desenvolvimento de Aplicativos

Medindo a Produtividade do Desenvolvimento de Aplicativos Medindo a Produtividade do Desenvolvimento de Aplicativos Por Allan J. Albrecht Proc. Joint SHARE/GUIDE/IBM Application Development Symposium (October, 1979), 83-92 IBM Corporation, White Plains, New York

Leia mais

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

Leia mais

Aula 2 Introdução ao Scrum

Aula 2 Introdução ao Scrum Curso Preparatório para a certificação Scrum Fundamentals Certified (SFC ) da ScrumStudy www.scrumstudy.com Aula 2 Introdução ao Scrum www.sitecampus.com.br - Cadastre-se gratuitamente para acessar ao

Leia mais

Jonas de Souza H2W SYSTEMS

Jonas de Souza H2W SYSTEMS Jonas de Souza H2W SYSTEMS 1 Tecnólogo em Informática Fatec Jundiaí MBA em Gerenciamento de Projetos FGV Project Management Professional PMI Mestrando em Tecnologia UNICAMP Metodologia de apoio à aquisição

Leia mais

NORMA ISO 14004. Sistemas de Gestão Ambiental, Diretrizes Gerais, Princípios, Sistema e Técnicas de Apoio

NORMA ISO 14004. Sistemas de Gestão Ambiental, Diretrizes Gerais, Princípios, Sistema e Técnicas de Apoio Página 1 NORMA ISO 14004 Sistemas de Gestão Ambiental, Diretrizes Gerais, Princípios, Sistema e Técnicas de Apoio (votação 10/02/96. Rev.1) 0. INTRODUÇÃO 0.1 Resumo geral 0.2 Benefícios de se ter um Sistema

Leia mais

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos SENAC Pós-Graduação em Segurança da Informação: Análise de Riscos Parte 2 Leandro Loss, Dr. Eng. loss@gsigma.ufsc.br http://www.gsigma.ufsc.br/~loss Roteiro Introdução Conceitos básicos Riscos Tipos de

Leia mais

Qualidade de Software

Qualidade de Software de Software Gerenciamento de de Software Dedica-se a assegurar que o nível requerido de qualidade seja atingido Em um produto de software Envolve a definição de padrões e procedimentos apropriados de qualidade

Leia mais

Módulo 4: Gerenciamento dos Riscos, das Aquisições, das Partes Interessadas e da Integração

Módulo 4: Gerenciamento dos Riscos, das Aquisições, das Partes Interessadas e da Integração Diretoria de Desenvolvimento Gerencial Coordenação Geral de Educação a Distância Gerência de Projetos - Teoria e Prática Conteúdo para impressão Módulo 4: Gerenciamento dos Riscos, das Aquisições, das

Leia mais

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Guia para elaboração do Modelo de Domínio Metodologia Celepar Guia para elaboração do Modelo de Domínio Metodologia Celepar Agosto 2009 Sumário de Informações do Documento Documento: guiamodelagemclassesdominio.odt Número de páginas: 20 Versão Data Mudanças Autor

Leia mais

Palestra 03. O ICBv3 da IPMA como Instrumento para a Auto Avaliação Avaliação de Competências do

Palestra 03. O ICBv3 da IPMA como Instrumento para a Auto Avaliação Avaliação de Competências do Palestra 03 O ICBv3 da IPMA como Instrumento para a Auto Avaliação Avaliação de Competências do Gerente de Projetos O ICBV3 DA IPMA COMO INSTRUMENTO PARA A AUTO AVALIAÇÃO DE COMPETÊNCIAS DO GERENTE DE

Leia mais

Capítulo 22 Gerência de Projetos. Aula 1

Capítulo 22 Gerência de Projetos. Aula 1 Capítulo 22 Gerência de Projetos Aula 1 1 Tópicos ² Gerência de Risco ² Gerenciando Pessoas ² Trabalho em Equipe 2 Gerência de Projetos em Software ² A gerência de projetos em softwares envolve atividades

Leia mais

Gestão dos Prazos e Custos do Projeto

Gestão dos Prazos e Custos do Projeto Gestão dos Prazos e Custos do Projeto Prof. Sérgio Ricardo do Nascimento Aula 4 14 de Novembro de 2013 1 Gestão dos Prazos e Custos do Projeto - Prof. Sérgio Ricardo do Nascimento Informações iniciais

Leia mais

PMBoK Comentários das Provas TRE-PR 2009

PMBoK Comentários das Provas TRE-PR 2009 PMBoK Comentários das Provas TRE-PR 2009 Comentário geral: As provas apresentaram grau de dificuldade médio. Não houve uma preocupação da banca em aprofundar os conceitos ou dificultar a interpretação

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 18 http://www.ic.uff.br/~bianca/engsoft2/ Aula 18-23/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Como os Modelos Atuais Podem Combater Novas Formas de Fraude?

Como os Modelos Atuais Podem Combater Novas Formas de Fraude? Como os Modelos Atuais Podem Combater Novas Formas de Fraude? Uma camada adaptativa, que aprende novos padrões de fraude, pode ser adicionada ao modelo para melhorar a sua capacidade de detecção Número

Leia mais

Perfil Caliper SUPER de Vendas The Inner Seller Report

Perfil Caliper SUPER de Vendas The Inner Seller Report Perfil Caliper SUPER de Vendas The Inner Seller Report Avaliação de: Sr. João Vendedor Preparada por: Consultor Caliper consultor@caliper.com.br Data: Copyright 2012 Caliper & Tekoare. Todos os direitos

Leia mais

Gerenciamento de Projetos Modulo III Grupo de Processos

Gerenciamento de Projetos Modulo III Grupo de Processos Gerenciamento de Projetos Modulo III Grupo de Processos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

Processo de Desenvolvimento de Software Workshop de Engenharia de Software UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Processo de Desenvolvimento de Software Engenharia de Software Auxiliar

Leia mais

UNIFEOB. Centro Universitário da Fundação de Ensino Octávio Bastos PROJETO DE PRÁTICAS BEM SUCEDIDAS EM SALA DE AULA CURSOS DE ARQUITETURA E URBANISMO

UNIFEOB. Centro Universitário da Fundação de Ensino Octávio Bastos PROJETO DE PRÁTICAS BEM SUCEDIDAS EM SALA DE AULA CURSOS DE ARQUITETURA E URBANISMO UNIFEOB Centro Universitário da Fundação de Ensino Octávio Bastos PROJETO DE PRÁTICAS BEM SUCEDIDAS EM SALA DE AULA CURSOS DE ARQUITETURA E URBANISMO PROFESSOR MARINA APARECIDA DE MELO ANDRADE SÃO JOÃO

Leia mais

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Programação Extrema Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Prof. Mauro Lopes Programação Extrema Prof. Mauro Lopes 1-31 45 Manifesto Ágil Formação da Aliança Ágil Manifesto Ágil: Propósito

Leia mais

OS NOVOS PARADIGMAS DA FORMAÇÃO CONTINUADA: DA EDUCAÇÃO BÁSICA À PÓSGRADUAÇÃO

OS NOVOS PARADIGMAS DA FORMAÇÃO CONTINUADA: DA EDUCAÇÃO BÁSICA À PÓSGRADUAÇÃO OS NOVOS PARADIGMAS DA FORMAÇÃO CONTINUADA: DA EDUCAÇÃO BÁSICA À PÓSGRADUAÇÃO Profa. Drª. Ana Maria Maranhão 1 Resumo: A tecnologia da Informação e de modo específico o computador, oferece as diferentes

Leia mais

Introdução ao Processo Unificado (PU)

Introdução ao Processo Unificado (PU) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução ao Processo Unificado (PU) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin

Leia mais

Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto.

Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto. Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto. Um risco tem uma causa e, se ocorre, uma conseqüência. Se um ou outro

Leia mais

O GERENTE DE PROJETOS

O GERENTE DE PROJETOS O GERENTE DE PROJETOS INTRODUÇÃO Autor: Danubio Borba, PMP Vamos discutir a importância das pessoas envolvidas em um projeto. São elas, e não os procedimentos ou técnicas, as peças fundamentais para se

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta

Leia mais