METODOLOGIAS DE DESENVOLVIMENTO: UM COMPARATIVO ENTRE EXTREME PROGRAMMING E RATIONAL UNIFIED PROCESS
|
|
- Rafael Salazar Igrejas
- 6 Há anos
- Visualizações:
Transcrição
1 1 METODOLOGIAS DE DESENVOLVIMENTO: UM COMPARATIVO ENTRE EXTREME PROGRAMMING E RATIONAL UNIFIED PROCESS MOREIRA, Albert M. 1 RESUMO: Atualmente, no âmbito da engenharia de software, uma boa metodologia de projetos tem se tornado um fator diferencial, visto que influencia diretamente na qualidade do produto final. Este artigo apresenta o histórico do processo de desenvolvimento de software e faz uma comparação entre a metodologia rigorosa Rational Unified Process (RUP) e a ágil Extreme Programming (XP). Finalmente, são mostrados casos de sucesso das duas abordagens. PALAVRAS-CHAVE: Engenharia de Software, Metodologias Rigorosas, Metodologias Ágeis, Extreme Programming, Rational Unified Process. 1. INTRODUÇÃO O que se busca na Engenharia de Software é o incessante melhoramento do processo de desenvolvimento de software. Os prazos e custos estipulados podem não chegar a serem alcançados, mesmo com a crescente evolução da tecnologia, métodos e recursos. Um dos principais motivos é a excessiva formalidade nos modelos de processos colocados nos últimos 30 anos (LARMAN, 2004). Existe então a necessidade de desenvolver software de forma mais rápida, sem que se perca a qualidade. O novo paradigma em desenvolvimento de software é que se pode obter esse resultado por meio da utilização de métodos ágeis. Embora as metodologias ágeis tenham sido apontadas como alternativa às abordagens tradicionais para o desenvolvimento de software, as metodologias tradicionais, conhecidas também como rigorosas, pesadas ou orientadas a planejamentos, possuem utilização garantida no que diz respeito a situações em que os requisitos do sistema são complexos e estáveis e requisitos futuros são previsíveis. Este artigo aborda vantagens e desvantagens de metodologias ágeis e de metodologias rigorosas, particularmente, da metodologia rigorosa Rational Unified Process e da ágil Extreme Programming, além de citar casos de sucesso da aplicação de ambas. Na Seção 2, é apresentado o histórico do processo de desenvolvimento de software, desde o uso restrito das metodologias tradicionais até a criação do Manifesto Ágil. Na Seção 3 e 4, são apresentados conceitos básicos sobre os métodos ágeis e tradicionais, respectivamente, além de suas aplicações. Na Seção 5, é apresentado um comparativo entre o método RUP e o XP e, na sessão 6, casos de sucesso relacionados a estas. Por fim, na Seção 7, estão as considerações finais. 1 Albert Menezes Moreira é graduando do curso de Bacharelado em Sistemas de Informação da Faculdade Ruy Barbosa e realizou este trabalho sob a orientação da professora Izabel Cristina Andion Castro, mestra em redes pela UNIFACS.
2 2 2. HISTÓRICO Baseadas em mainframes e terminais burros, as metodologias tradicionais fizeram parte, inicialmente, de um contexto de desenvolvimento de software muito diferente do atual (ROYCE, 1970). O custo para que modificações fossem feitas era alto, devido às limitações dos computadores e falta de ferramentas modernas para apoiar a criação do software, tais como depuradores e analisadores de código. Sendo assim, o software era antes planejado e documentado para então ser implementado. O modelo Clássico caracterizado como metodologia tradicional é utilizado até hoje. Nos últimos anos, novas metodologias foram aplicadas, sempre visando a rapidez no fornecimento aliada à qualidade do processo e do produto. Surgem, então, os métodos ágeis, popularizados quando Beck et al. (2001) criaram o Manifesto Ágil indicando alguns princípios compartilhados por tais métodos: a) Indivíduos e interações são mais importantes que processos e ferramentas; b) Software funcionando é mais importante do que documentação detalhada; c) Colaboração dos clientes é mais importante do que negociação de contratos; d) Adaptação às mudanças é mais importante do que seguir um plano. Nesta nova abordagem a reutilização de software é uma prática comum durante o desenvolvimento. Os padrões de projeto contribuem para o reuso em situações em que é preciso um nível alto de abstração, sobretudo na fase de análise, na definição da arquitetura do sistema, em questões organizacionais e de otimização dos processos, sendo que esses dois últimos têm por objetivo apoiar a construção do software e melhorar o seu desenvolvimento. O uso de componentes é outro aspecto possível. Deste modo, a integração dos padrões organizacionais e de processo proporciona rapidez e qualidade no desenvolvimento. 3. METODOLOGIAS RIGOROSAS Essas metodologias são assim denominadas porque enfatizam o rigor nas premissas e propostas. Prezam pela documentação detalhada em todas as fases do desenvolvimento. Geralmente são implementadas em ambientes onde se deve exercer controle rígido, como por exemplo quando é grande o número de indivíduos que participam do projeto. Também são conhecidas como metodologias pesadas, uma referência à quantidade de documentos, papéis, atividades e processos considerados necessários para a implementação. O resultado disso é que os desenvolvedores passam boa parte do tempo ocupados com atividades que não são necessariamente ligadas à programação ou seu processo criativo. O modelo Clássico foi o primeiro processo de desenvolvimento de software publicado (PRESSMAN, 2001). É um modelo que apresenta uma seqüência a ser seguida. Cada etapa tem uma documentação que precisa ser aprovada para que se dê início à etapa seguinte. De uma forma geral fazem parte do modelo Clássico as etapas de definição de requisitos, projeto do software, implementação e teste unitário, integração e teste do sistema, operação e manutenção (SOMMERVILLE, 2003). A figura 1 mostra a disposição dessas fases, juntamente com a ordem de aplicação:
3 3 Figura 1: Fases do modelo Clássico Adaptado de: SOMMERVILLE, 2003 O problema deste modelo, também chamado de modelo em Cascata, é a impossibilidade de criação de fases intermediárias ou até mesmo revisão de fases anteriores antes que o processo termine. Fred Brooks em seu artigo No Silver Bullet: Essence and Accidents of Software Engineering, sustenta essa idéia na afirmação de que é impossível especificar totalmente um software antes da sua implementação (BROOKS, 1987). Isso dificulta alterações, fator comum no desenvolvimento de um projeto. Sua utilização é feita quando os requisitos estão bem compreendidos. O modelo Clássico ainda perdurou até a década de 90 como forma de desenvolvimento e foi utilizado com sucesso quando os requisitos estavam bem compreendidos Rational Unified Process Atualmente um grande representante das metodologias rigorosas é o RUP, um recurso de Engenharia de Software criado pela empresa Rational Software Corporation que descreve a maneira de desenvolver um software usando técnicas comerciais e objetivando o aumento da qualidade do produto gerado. É classificado também como um processo de engenharia de software que tem como principal objetivo garantir o desenvolvimento de sistemas com qualidade, respeitando os requisitos solicitados pelo cliente, em prazos e custos determinados. Pode ser considerado como um conjunto de experiências e boas práticas adquiridas por diversas pessoas e empresas envolvidas com o desenvolvimento de softwares. Sua primeira versão, o RUP 5.0, surgiu em 1998, oriunda da evolução de projetos anteriores, como o Rational Objectory Process, iniciado em Várias características foram melhoradas e acrescentadas até a versão RUP A aplicação do RUP se dá em variados projetos, sendo tratado como um arcabouço (framework) genérico para os processos de desenvolvimento, considerando a configuração adequada para o tamanho e a necessidade do projeto e os padrões aplicados na empresa. Associada a este modelo, a Rational Software construiu também um conjunto de ferramentas de suporte ao desenvolvimento (RUP, 2007). A Unified Modeling Language - UML, que oferece um conjunto de modelos para auxiliar o desenvolvimento de software, é um exemplo de linguagem que foi criada para apoiar a utilização do RUP.
4 4 Como bases para a criação deste método foram adotadas algumas características de qualidade de software, que permitem atingir os objetivos desejados. Dentre elas, seis características merecem destaque especial: a) O uso de interações com o cliente para desenvolvimento de softwares; b) Gerenciamento de requisitos; c) Utilização de artefatos visuais, a exemplo de modelos UML; d) Controle de qualidade; e) Controle de mudanças; f) A necessidade da utilização de uma metodologia de desenvolvimento de sistemas. No modelo RUP, um projeto é dividido diversas fases, desde a Modelagem do Negócio até o Ambiente. Estas ainda possuem outras 4 subdivisões, que constituem o ciclo de construção de uma versão, como é mostrado na figura 2: Figura 2: Ciclo de construção de uma versão usando RUP Adaptado de: KRUCHTEN, 2000 A fase de Concepção, Inception phase, é onde deve ser definido o escopo da versão, especificando o produto a ser gerado. É nessa etapa que se avaliará a viabilidade do projeto, pois neste momento os requisitos operacionais e os critérios de aceitação serão apresentados. Devem ser levantados os riscos que possam comprometer o andamento do projeto, levando em consideração questões de arquitetura. É pertinente também a aplicação de um cronograma preliminar. Dentre os produtos finais desta fase estão o cronograma, o diagrama de caso de uso inicial, o caso de uso do negócio, que quando aplicado em sistemas comerciais deve fornecer uma estimativa de retorno do investimento e o protótipo preliminar (MAGALHÃES, 2003). O objetivo da fase de Elaboração, Elaboration Phase, é analisar o domínio do problema, criar o plano de projeto, a arquitetura e remover os elementos de alto risco. Tratam-se de riscos de requerimentos, tecnológicos em relação à capacidade das ferramentas disponíveis, de habilidades dos integrantes do projeto e políticos (RUP, 2007). É uma etapa crítica, pois o que for definido nesta fase será utilizado como base para as próximas e à medida que o projeto avança aumenta o custo de modificações.
5 5 A fase de Construção, Construction phase, consiste no desenvolvimento do produto. É a etapa de construção do código, com ênfase no gerenciamento de recursos e controle das operações, adotando medida de redução dos custos. Nesta fase, os componentes gerados são também testados e submetidos aos critérios de aceitação que foram definidos na fase anterior. Ao fim desta fase, o produto estará pronto para ser entregue ao usuário, integrado às plataformas necessárias, com manual de usuários e uma descrição sobre esta versão (MAGALHÃES, 2003). Na fase final do processo que é chamada de Transição, Transition phase, o produto será entregue. Engloba também os procedimentos de treinamento, suporte e manutenção. Esta fase inclui os testes finais de aceitação, no intuito de captar o feedback do usuário a respeito dos resultados, além de comparações com outros sistemas antigos, conversões de banco de dados (se for o caso) e a divulgação do novo produto. As interações mostradas na figura 2 evidenciam o compromisso do RUP com o desenvolvimento incremental, que é construir o código e fazer os testes com componentes do sistema, gerando releases a cada fase. No fim da fase de elaboração, o protótipo da arquitetura está disponível para avaliação. Durante cada iteração da fase de construção, componentes terminados são integrados ao projeto. O ponto chave para este elemento é um conjunto de testes que acompanham a construção do produto (PROBASCO, 2000). O RUP permite a divisão do projeto em partes que serão desenvolvidas através de iterações, ou seja, repetição de todo o ciclo para cada uma das partes que serão integradas e incrementadas até o produto final. O RUP também pode ser utilizado no desenvolvimento e manutenção de projetos de pequeno ou de médio porte. Para que isso seja possível, alguns etapas ou passos podem ser eliminados a depender das características do projeto para simplificar ou diminuir as necessidades de documentação, minimizando a formalização (KOHRELL e WONCH,2005). As diferentes configurações do RUP possibilitam o suporte de equipes grandes e pequenas, além de técnicas de desenvolvimento disciplinadas ou menos formais (KRUCHTEN, 2000). Vale ressaltar que existe a coerência do modelo de processos RUP com os requisitos para certificação do processo de desenvolvimento Capability Maturity Model - CMM, onde as empresas de desenvolvimento podem certificar seu modelo de processo de desenvolvimento no quesito de maturidade e garantia de qualidade dos produtos gerados. Por exemplo, no terceiro nível do CMM, o conceito de processo é fortemente introduzido na organização. A arquitetura implantada do CMM nível 3 servirá como base para a execução das práticas de todas as áreas chave. Essa arquitetura torna-se, então, peça fundamental para a organização dos processos e sucesso do projeto. Com a adoção do RUP uma empresa já possui os prérequisitos para passar para o nível 3 do CMM (PIRES et al., 2007). 4. METODOLOGIAS ÁGEIS Como foi apresentado no segundo capítulo, o termo Metodologias Ágeis se tornou popular quando dezessete especialistas em processos de desenvolvimento de software, estabeleceram conceitos comuns a serem compartilhados por todos esses métodos. Foi então criada por BECK et al. (2007) a Aliança Ágil e instaurado o Manifesto Ágil.
6 6 O objetivo do Manifesto Ágil não é desconsiderar processos, ferramentas, documentação, negociação de contratos ou planejamento, mas mostrar o valor secundário que estes possuem diante dos indivíduos e interações, do bom funcionamento do software, da colaboração do cliente e das respostas velozes às modificações. Esses conceitos estão mais relacionados à forma que as pequenas e médias empresas trabalham, devido a estarem habituadas a mudanças. A mais conhecida dentre as metodologias ágeis é a Extreme Programming Extreme Programming A Extreme Programming - XP - é uma metodologia ágil voltada às equipes pequenas e médias que desenvolvem software baseado em requisitos vagos e que se alteram com rapidez (BECK, 1999). As principais diferenças da XP em relação às outras metodologias são feedback constante e abordagem incremental. A figura 3 mostra algumas das características da Extreme Programming: Figura 3: Características da XP Adaptado de: XP, 2007 Nesta prática, é interessante que haja comunicação entre os indivíduos. O projeto C3, da Chrysler, foi o primeiro a usar a XP. Depois de anos tentando outras metodologias sem resultado, o uso da nova metodologia trouxe resultados satisfatórios em pouco mais de um ano. (HIGHSMITH et al., 2000). Grande parte das regras aplicadas á metodologia XP podem não fazer sentido à primeira vista, no entanto o diferencial são as partes que se complementam, o conjunto. A preocupação maior é com o rápido de desenvolvimento e satisfação do cliente, cumprindo as estimativas de tempo e custo. Os valores aplicados na Extreme Programming oferecem um ambiente propício para o progresso no trabalho. De acordo com definições da metodologia XP (2007), seus principais valores são: comunicação, simplicidade, feedback e coragem. O objetivo da comunicação é criar e manter o melhor relacionamento possível entre cliente e provedor de serviços, dando preferência, neste caso, a conversas pessoais do que através de outros meios. É encorajada também a comunicação entre desenvolvedores e gerente do
7 7 projeto. Este se caracteriza como um dos fatores principais na XP: conversar ao máximo pessoalmente, evitando o uso do telefone e mensagens de . A simplicidade visa a minimizar do código, desprezando funções consideradas desnecessárias ou não essenciais. Isto quer dizer que deve ser implementado o menor número de classes e métodos. Deve-se também estar sempre procurando atender os requisitos emergenciais, evitando adicionar funcionalidades ligadas à evolução do produto. O importante é ter em mente que os requisitos são mutáveis. Sendo assim, o interessante na prática da Extreme Programming é implementar apenas que é estritamente necessário. O contato incessante com o cliente a respeito do projeto é o que se pode chamar de feedback constante. Informações sobre o código são dadas por testes periódicos, os quais indicam erros tanto individuais quanto do software integrado. Além disso, o cliente terá sempre uma parte do software funcional para avaliar. Com isso, novas características e informações são repassadas aos desenvolvedores, que por sua vez devem implementá-las nas próximas versões. Desta maneira, o que se pretende é entregar o software de acordo com as expectativas do cliente. A coragem se encaixa na implantação dos três valores anteriores. São necessários profissionais comunicativos e com facilidade de se relacionar. A coragem auxilia a simplicidade, quando a possibilidade de simplificar o software é detectada. Por fim, a coragem é necessária para garantir que o feedback do cliente ocorra com freqüência, pois esta abordagem implicará na possibilidade de mudanças constantes do produto. A orientação para o perfil das equipes no XP é de programadores experientes, já que é necessária a boa utilização do tempo de desenvolvimento do projeto. No que diz respeito à certificação CMM, a metodologia XP não possui os pré-requisitos necessários para sua implementação. 5. COMPARATIVO ENTRE RUP E XP E SUAS APLICAÇÕES No que diz respeito ao quesito tempo, é provável que o que é gasto pelas versões usando XP coincida com as iterações do RUP. Tal ocorrência não se aplica a projetos grandes, por se caracterizarem pela grande duração de suas iterações. Em projetos maiores, as equipes no RUP são geralmente divididas para se desenvolver paralelamente, cada uma com um subsistema. Embora a XP aplique a programação em duplas, o projeto é tratado como um todo, não em subsistemas. Na visão de Kruchten (2000), artefato é uma parte de uma informação produzida, modificada ou usada por um processo. São exemplos de artefato modelos, documentação, código fonte e arquivos executáveis. No Rational Unified Process, a comunicação é feia por meio de artefatos. A XP é baseada em comunicação oral, direta, restringindo ou limitando o uso da XP em projetos nos quais os desenvolvedores se encontram geograficamente dispersos. A partir da premissa de que os artefatos da XP possuem foco em estórias de usuário e código, o risco de projeto pode aumentar. Neste momento, a confiança recíproca é um fator vital. Acerca das atividades e dos papéis dentro do desenvolvimento do projeto, o RUP divide as tarefas de forma específica, ao passo que a divisão da XP não distingue funções específicas dentro das atividades. Isto quer dizer que o programador de um projeto que adote a Extreme
8 8 Programming não está necessariamente preso a determinada atividade, podendo se encaixar em outra, caso seja necessário. O RUP especifica a utiliza softwares da IBM, como o Rational Rose, embora já existam várias ferramentas que podem ser utilizadas. Por outro lado, a XP não especifica uma ferramenta para o processo, ainda que possa utilizar ferramentas livres como o Junit e o XPlanner (XP, 2007). Para tratar o código, o Rational Unified Process o subdivide em subsistemas (quando se trata de um sistema grande), delegando também membros responsáveis para cuidar de cada uma das partes (IBM, 2007). O XP trata o código coletivamente, permitindo que qualquer programador modifique o código caso encontre algum problema ou solução de otimização. Para garantir a veracidade do conhecimento nas metodologias, existem as certificações, que têm como finalidade atestar publicamente e por escrito que o produto, serviço, sistema, ou neste caso, o indivíduo, está em conformidade com as normas, requisitos ou regulamentos. No caso do RUP, o Rational Unified Process v2003 Certification test é considerado o ponto de partida, por ser a certificação base desta metodologia (IBM, 2007). Por outro lado, de acordo com Brewer (2007), não existe entidade certificadora para a Extreme Programming, não havendo, então, um teste para abordar conhecimentos desta metodologia. A tabela 1 apresenta algumas características presentes nas metodologias RUP e XP: Tabela 1: Comparativo entre RUP e XP. Adaptado de: RAWSTHORNE, 2007 Prática ou conceito RUP XP Iterativo e incremental SIM SIM Voltado para a arquitetura SIM NÃO Voltado para a validação NÃO SIM Interação desenvolvedor/cliente NÃO SIM Interação desenvolvedor/gerente SIM NÃO Interação desenvolvedor/suporte SIM SIM Gerenciamento de risco SIM SIM Qualidade de código NÃO SIM Gerenciamento dos pontos-chave SIM NÃO Equipes grandes SIM NÃO Equipes pequenas NÃO SIM Projetos complexos SIM NÃO Casos de uso SIM SIM De acordo com as comparações da tabela 1, pode-se concluir que ambas as abordagens têm pontos fortes e fracos (MOLPECERES, 2007). Enquanto o foco do Rational Unified
9 9 Programming são projetos complexos, onde são necessárias especificações maiores do projeto, a Extreme Programming possui seu foco em projetos mais simples, nos quais a burocracia e o excesso de documentos se caracterizam como perda de tempo. O objetivo futuro dos representantes das metodologias ágeis é eliminar os pontos fracos, como por exemplo a falta de análise de riscos, sem que isso as tornem metodologias pesadas. Não está no escopo da Extreme Programming a preocupação formal com o planejamento de riscos. Visto que riscos acontecem com freqüência em projetos desenvolvimento de software, a falta de análise de risco torna-se um fator negativo (SOARES, 2004). Outro aspecto é que para tornar as metodologias ágeis soluções para grandes empresas e equipes, visto que nestas empresas cada vez mais os indivíduos que participam de equipes se encontram dispersos geograficamente será importante resolver os problemas de comunicação. 6. CASOS DE SUCESSO Os tópicos abaixo apresentam dois casos de sucesso. O primeiro deles do sistema de desenvolvimento para negócio da empresa Ford Moto Credit, usando o RUP. O segundo do sistema de apoio a RH, na Assembléia Legislativa do Estado de São Paulo, desenvolvido pelos membros da AgilCoop - formada por professores e alunos da USP - usando a XP A empresa Ford Motor Credit padroniza metodologia de desenvolvimento usando IBM Rational Unified Process Ford Motor Credit é uma das maiores empresas de financiamento de automóveis do mundo, com operações em 36 países. Promove financiamento para produtos de montadoras como Ford, Aston Martin, Jaguar, Land Rover, Mazda, dentre outros. O departamento de TI da Ford Motor Credit estava procurando por um software de processo de desenvolvimento consistente. Cada equipe do projeto usou sua metodologia própria, dificultando o compartilhamento de conhecimento e rodízio entre as equipes. Além disso, os processos estabelecidos ofereciam suporte pobre ao desenvolvimento em Java 2 Enterprise Edition - J2EE, o que resultou em riscos de projeto (IBM, 2007). Como solução a companhia adotou o Rational Unified Process, personalizando para as necessidades específicas. O departamento de TI também implantou um programa para prover treinamento e servir como guia para equipes de projeto. Desta forma a Ford Motor Credit padronizou suas iniciativas de TI para desenvolvimento de software na metodologia IBM Rational Unified Process. Tomando como base um viés similar ao de outras empresas, o RUP foi customizado de acordo com as necessidades específicas. A equipe utilizou a metodologia RUP com gerentes de projetos, times de serviço e experts para customizá-la e adequá-la às suas necessidades. Com base em Java 2 Enterprise Edition, o departamento de TI implantou a Metodologia de Entrega de Soluções Unificada - Unified Solution Delivery Methodology (USDM), para seus projetos de software. Para viabilizar a adoção da USDM, a qual é baseada na abordagem iterativa característica do RUP, a empresa criou um detalhado programa de treinamento. Durante o processo, os instrutores ensinavam ao time de desenvolvimento os primeiros passos para usar a nova metodologia. Depois que os membros das equipes adquirem experiência com um ou dois projetos com a ajuda dos
10 10 instrutores, eles já se tornam preparados para desenvolver sem acompanhamento (IBM, 2007). Para lidar com os riscos de projeto foi criada uma ferramenta para mapeamento de caso de uso para riscos. Dirigindo-se a riscos precocemente no ciclo de vida do desenvolvimento, e dando prioridade aos casos do uso baseados no retorno no investimento, as equipes do desenvolvimento da Ford Motor Credit estabeleceram uma arquitetura estável, dando mais prioridade à entrega das funcionalidades críticas. Com isso, o departamento de TI da Ford Motor Credit passou a identificar e endereçar os riscos de projeto com mais rapidez no processo de desenvolvimento e as equipes passaram a entregar as soluções a tempo e atingir os padrões de qualidade Assembléia Legislativa do Estado de São Paulo: Assessoria e capacitação em desenvolvimento de software Durante o ano de 2005, uma equipe professores e alunos da AgilCoop, uma empresa de desenvolvimento formada por alunos e professores da USP que utiliza metodologias ágeis, prestaram uma assessoria à Assembléia Legislativa do Estado de São Paulo - ALESP. Iniciouse o desenvolvimento de um projeto para a área de Recursos Humanos. Por se tratar de um projeto de grande complexidade, com diversas especificações, foi preciso fazer antes uma minuciosa análise de requisitos. Ao invés de entender e documentar a lógica do negócio, o grupo optou por desenvolver este entendimento ao mesmo tempo em que capacitava a equipe, através de um treinamento intensivo. Depois de três meses de treinamento já se começava a notar os primeiros resultados, explicitados nas linhas de código iniciais. Após oito meses de assessoria, com o uso dos princípios da XP, o projeto foi entregue com resultados satisfatórios (AGILCOOP, 2007). No período de 2006, foi expandida a parceria com a ALESP: são mais membros da AgilCoop e alunos da USP implementando métodos ágeis na criação e manutenção do sistema de Recursos Humanos, do portal e do sistema de apoio ao legislativo. Este projeto conta com a participação de programadores experientes, dentre os quais Alfredo Goldman e Fabio Kon, professores doutores do departamento de ciência da computação da Universidade de São Paulo (AGILCOOP, 2007). Isso mostra que o desenvolvimento usando a XP demanda profissionais com considerável conhecimento em programação. 7. CONSIDERAÇÕES FINAIS O objetivo deste artigo não é apontar um método nem mostrar que um anula o outro, visto que suas características devem ser adotadas em situações de desenvolvimento diversas. É importante para o desenvolvedor conhecer o que há de melhor nos dois mundos e suas limitações a fim de que a adoção de um método possa atender suas expectativas de gerenciamento, custo e prazo. Para que surja interesse nas grandes organizações pela abordagem dos métodos ágeis muitas respostas ainda devem ser obtidas como por exemplo: como gerenciar o risco, como viabilizar a comunicação em locais dispersos, como garantir a certificação, dentre outras. Todo novo
11 11 paradigma exige um tempo de maturação, em que os pioneiros acreditam na idéia e quebram barreiras no intuito de adquirir a confiança do mercado. 8. REFERÊNCIAS AGILCOOP. Assembléia Legislativa do Estado de São Paulo: Assessoria e capacitação em desenvolvimento de software. Disponível em: < Acesso em: 18/03/07. BECK, K. et al. Manifesto for Agile Software Development Disponível em: < Acesso em: 15/03/07. BREWER, J. Extreme Programming FAQ. Disponível em: < Acesso em: 24/03/07. BROOKS, F. No Silver Bullet: Essence and Accidents of Software Engineering. Proc. IFIP, IEEE CS Press, pp ; reprinted in IEEE Computer, pp , Apr CAMPELO, R.E.C. XP-CMM2: Um Guia para Utilização de Extreme Programming em um Ambiente Nível 2 do CMM. Dissertação de Mestrado HIGHSMITH et al. Extreme Programming. E-Business Application Delivery, Feb., pp. 4-17, IBM. Rational Unified Process. Disponível em: < Acesso em: 16/03/07. KOHRELL, D.; WONCH, B. Using RUP to manage small projects and teams. Rational Software White Paper KRUCHTEN, Philippe. The Rational Unified Process An Introdution. Massachusetts, Addison Wesley, LARMAN, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3. ed. Prentice Hall, MAGALHÃES, A.P.F. RUXP: Integrando o RUP e o XP em uma metodologia para o desenvolvimento de software. Monografia de Especialização MOLPECERES, A. Procesos de Desarollo: RUP, XP y FDD. Disponível em: < Acesso: 18/03/07. PIRES, C. G. et al. Uma Arquitetura de Processos para SW-CMM Nível 3 Baseada no RUP. Disponível em: <
12 12 Acesso em: 23/03/07. PRESSMAN, R. Engenharia de Software. McGraw-Hill, PROBASCO, L. The Ten Essentials of RUP: The Essence of an Effective Development Process. Rational Software White Paper RAWSTHORNE, D. Comparing/Combining RUP, XP and Scrum Disponível em: < Acesso em: 18/03/07. ROYCE, W.W. Managing the development of large software systems: concepts and techniques. Proc. IEEE Westcon, Los Angeles, CA. SMITH, J. A Comparison of the IBM Rational Unified Process and Extreme Programming. Rational Software White Paper SOARES, M. S. Metodologias Ágeis Extreme Programming e Scrum para o Desenvolvimento de Software. Revista Eletrônica de Sistemas de Informação, SOMMERVILLE, I. Engenharia de Software. Editora Addison-Wesley XP. Extreme Programming. Disponível em: < Acesso em: 24/03/07.
Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata
Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo
Leia maisRational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Leia mais22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis
Professor Ariel da Silva Dias RUP e Modelos Ágeis Modelo de processo de software proprietário. Desenvolvido pela empresa Rational Software Corporation. Em 2003 a empresa foi adquirida pela IBM. Então O
Leia maisProcesso. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)
Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível
Leia mais! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado
Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!
Leia maisVisão Geral do RUP (Rational Unified Process)
Visão Geral do RUP (Rational Unified Process) Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis,
Leia maisEngenharia de Software II
Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos
Leia maisVisão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação
- Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação COM06852 - Introdução aos SI Prof.
Leia maisEngenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. A figura abaixo representa, simplificadamente, as fases do Modelo de Ciclo de Vida Cascata.
Leia maisConhecendo um pouco sobre RUP
Aluno: Rainei Santos Costa Prof :Marcio Borges Faculdade Santíssimo Sacramento (FSSS) Alagoinhas -BA -Brasil R.Mal. Deodoro, 118 - Centro, Alagoinhas - BA, 48005-020 Turma de Sistemas De Informação IV
Leia maisRUP Unified Process. Profª Jocelma Rios
RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software
Leia maisVisão Geral do RUP.
Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos
Leia maisIntrodução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions
Introdução ao RUP Livar Correia de O. C. Cunha livarcocc@gmail.com 1 Rational Unified Process (RUP) É um framework de processo de desenvolvimento de software Uma metodologia é uma instanciação dos processos
Leia maisProcessos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Leia maisProcessos de Software
Processos de Software Um processo de software é um conjunto de atividades que leva à produção de um produto de software Um modelo de processo de software é uma representação abstrata de um processo de
Leia maisINF014 Análise e Projeto de Sistemas Processos Unificado -RUP
INF014 Análise e Projeto de Sistemas Processos Unificado -RUP Maurício Pitangueira antoniomauricio@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
CI 221 DISCIPLINA: Engenharia de Software AULA NÚMERO: 3 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos básicos como processo, projeto, produto, por que
Leia maisRUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp
RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp web@cercomp.ufg.br 1. Introdução É um processo proprietário de Engenharia de software criado pela Rational Software Corporation,
Leia maisEscolhendo um Modelo de Ciclo de Vida
Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto
Leia maisEngenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia
Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento
Leia maisEngenharia de Software. Herbert Rausch Fernandes
Engenharia de Software Herbert Rausch Fernandes O Processo Unificado É uma tentativa de unir os melhores recursos e características dos modelos convencionais; Reconhece a importância da comunicação com
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático RUP (Rational Unified Process) PRAXIS Introdução Foi proposto como uma resposta aos problemas
Leia maisAula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil
Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:
Leia maisDepartamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)
Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Prof. Seiji Isotani (sisotani@icmc.usp.br) Modelos de Processo de
Leia maisEngenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada
Leia maisRUP/PSDS. Introdução e Comparação
RUP/PSDS Introdução e Comparação Agenda RUP Introdução Mlehores Práticas Estrutura Tempo Conteúdo Contraponto PSDS Introdução Objetivos Promover planejamento, medição e controle dos projetos Reduzir riscos
Leia maisCAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner
CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,
Leia maisENGENHARIA DE SOFTWARE
CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser
Leia maisMODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Apresentação Etapas e Disciplina Técnicas e modelos aplicados Definição de iterações Introdução Foi proposto como uma resposta
Leia maisComparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)
Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP) Fundamentos de Engenharia de Software PPGIA Carlos G. Vasco, Marcelo H. Vithoft, Paulo R. Estante Design and programming
Leia maisO Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisEngenharia de Software
Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia maisRUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Leia maisConteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 09289 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 3. Especificação e Análise de Requisitos
Leia maisAnálise e Projeto. Prof. Erinaldo Sanches Nascimento
Análise e Projeto Prof. Erinaldo Sanches Nascimento Objetivos Apresentar o ciclo de vida de desenvolvimento de sistemas. Descrever as metodologias de desenvolvimento de sistemas. 2 Introdução Programação
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades
Leia maisEngenharia de Software
Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo
Leia maisFábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias
Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas
Leia maisRequisitos de Sistemas
Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional
Leia maisUML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla
UML 2.0 Método, Linguagem e Ferramenta Prof. Cesar Augusto Tacla Conteúdo do Curso MÉTODO RUP FERRAMENTA Visual Paradigm Enterprise Architect LINGUAGEM UML UML: Unified Modeling Language Linguagem padrão
Leia maisInformática I. Aula Aula 21-29/11/06 1
Informática I Aula 21 http://www.ic.uff.br/~bianca/informatica1/ Aula 21-29/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisINTRODUÇÃO A ENGENHARIA DE SOFTWARE
Universidade Estadual Vale do Acaraú AGENDA INTRODUÇÃO A ENGENHARIA DE SOFTWARE Processos Modelos de Desenvolvimento de Software Engenharia de Requisitos Projeto de Interface com o Usuário Projeto Arquitetural
Leia maisAula 3.1 Introdução e Visão Geral do Processo Unificado
PDS Aula 3.1 Introdução e Visão Geral do Processo Unificado Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Definição O Processo Unificado (Unified Process, UP) é um tipo de processo de desenvolvimento de
Leia maisProcessos de Software
DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas
Leia maisENGENHARIA DE SOFTWARE. Aula 03 Processos de Software
ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisProcesso Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução
Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução 1 Processo Unificado (PU) 1.1 Bibliografia Autoria:Aristófanes
Leia maisProcesso Unificado. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior
Processo Unificado Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Medeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books,
Leia maisEngenharia de Software
PLANO DE AVALIAÇÕES Engenharia de Software 1ª AP: 08 de setembro 2ª AP: 13 de outubro 3ª AP: 10 de novembro NAF: 17 de novembro Referência bibliográfica: SOMMERVILLE, I. Engenharia de Software. 8ª ed.
Leia maisUNIVERSIDADE FEDERAL DE PERNAMBUCO. Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum
UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2012.1 Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum PROPOSTA DE TRABALHO
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo
Leia maisBibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.
Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa
Leia maisExtreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira
Projeto de Desenvolvimento Software Extreme Programming Prof.: Ari Oliveira O Extreme Programming (XP) é uma metodologia de desenvolvimento de software que auxilia na produção de sistemas de maior qualidade,
Leia maisAula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas
Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Nome da disciplina:
Leia maisProcesso Unificado (PU) Unified Process
Processo Unificado (PU) Unified Process 10 de junho de 2011 Adonai Canêz One comment Introdução O Processo Unificado (PU) surgiu para realizar o desenvolvimento de software visando a construção de sistemas
Leia maisEngenharia de Software II
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 07 (rogerio@fct.unesp.br) Conceitos Básicos do Rational Unified
Leia maisRUP RATIONAL UNIFIED PROCESS CONCEITOS CHAVES. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS CONCEITOS CHAVES Prof. Fabiano Papaiz IFRN Conceitos Chaves do RUP Fases Iterações Disciplinas (ou Workflow / Fluxo de Trabalho) Papéis Atividades / Tarefas Artefatos / Produtos
Leia maisMETODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP
Tecnologia em Análise e Desenvolvimento de Sistemas METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP Definição, aplicações, vantagens e desvantagens Marcelo Buratti de Freitas Vitor Matheus Buratti
Leia maisPROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO CONTEÚDO Conceitos básicos Caracterização de um processo Estágios básicos Linha do tempo Cascata Espiral Prototipação Modelo-V Orientado
Leia maisPerguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Leia maisAnálise e Projeto Orientado a Objetos
Análise e Projeto Orientado a Objetos Contextualizando Por que Análise e Projeto? Análise versus Projeto Análise e Projeto OO Processo de Desenvolvimento de Software Alguns Processos de Desenvolvimento
Leia maisICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:
Leia maisModelos de Gestão de Projetos
Modelos de Gestão de Projetos Gestão de Projetos Tradicionais Criados para situações de baixo risco e incertezas, já existe conhecimento sobre o que será desenvolvido, o escopo envolvido e o objetivo proposto
Leia maisEngenharia de Software Processo de Desenvolvimento de Software
Engenharia de Software Processo de Desenvolvimento de Software Prof. Elias Ferreira Elaborador por: Prof. Edison A. M. Morais Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar
Leia maisProblemas e Práticas Recomendadas no Desenvolvimento de Software
Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento
Leia maisDisciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia
Disciplina - Requisitos Grupo Yuni Luiz Eduardo Káthia RUP(Rational Unified Process) 1. Introdução. 2. Introdução a disciplinas no RUP. 3. Requisitos. 4. Gerenciamento de Requisitos. 5. Relação com outras
Leia maisProcesso de Desenvolvimento de Software
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Fases do Processo. Ciclo de vida do processo. Processo Unificado Orientado por Casos de Uso, surgiu para realizar o
Leia maisProcessos Ágeis de Desenvolvimento de Software
Processos Ágeis de Desenvolvimento de Software -Focono XP - Rodrigo Rebouças de Almeida rodrigor@rodrigor.com Processo Conjunto de atividades ordenadas, restrições e recursos que produzem um resultado
Leia maisIntrodução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua
Modelagem de Processos de Negócio Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento de Ciência da Computação - UFMG Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML:
Leia maisDesenvolvimento Ágil de Software
DCC / ICEx / UFMG Desenvolvimento Ágil de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Agenda Métodos ágeis Histórico e Motivação Manifesto ágil Desenvolvimento dirigido a planos e ágil
Leia maisIntrodução ao RUP Rational Unified Process
Introdução ao RUP Rational Unified Process UML Diagramas de Classes v.1.1, João Pascoal Faria, 2001 1 O que é Um processo (de engenharia) de software é a definição de um conjunto completo de actividades
Leia maisENGENHARIA DE SOFTWARE
ENGENHARIA DE SOFTWARE Curso: Sistemas de Informação Profª: Janaide Nogueira ENGENHARIA DESOFTWARE APRESENTAÇÃO Formação Técnica: Informática(IFCE-Campus Tianguá-CE) Secretária Escolar(FDR) Graduação:
Leia maisProcessos de. Desenvolvimento de Software
Processos de Desenvolvimento de Software O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento de um sistema de software
Leia maisAnálise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Leia maisParadigmas de Software
Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo
Leia maisALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix
Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;
Leia maisPDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.6 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento
Leia maisProcessos de Software
Processos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos profs. Márcio Cornélio, Vinicius
Leia mais1.1. Melhoria Contínua
1 Introdução Um dos desafios enfrentados pela Engenharia de Software é o de criar instrumentos para que um produto de software possa ser desenvolvido com qualidade e de forma eficiente, consumindo o mínimo
Leia mais2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.
Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisMetodologias Ágeis de Desenvolvimento. Fernando Trinta
Metodologias Ágeis de Desenvolvimento Fernando Trinta Contextualização A Engenharia de software vêm recorrentemente enfrentando o cenário onde... as aplicações são cada vez mais complexas... o tempo de
Leia maisRUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Leia maisAPLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA
APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA Guilherme de Souza Ferreira Discente do curso Tecnologia em Análise e Desenvolvimento de Sistemas
Leia maisAinda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:
Prof. Edson dos Santos Cordeiro 1 Tópico: Objetivo: Introdução a Ciclo de Vida do Software Conhecer os principais conceitos relacionados a ciclo de vida do software. Bibliog. Base: McCONNEL, Steve. Rapid
Leia maisENGENHARIA DE SOFTWARE
EMENTA ENGENHARIA DE SOFTWARE DISCIPLINA: Estrutura e Fluxo de Informação EMENTA: A disciplina Estrutura e Fluxo de Informação se propõe a capacitar o aluno sobre os fundamentos da Gestão da Informação
Leia maisPDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.5 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisRATIONAL UNIFIED PROCESS RUP
RATIONAL UNIFIED PROCESS RUP Criado na década de 90 (a partir do Objectory [ver Jacobson, 1990] e utilizando os conceitos do Modelo em Espiral [ver Boehm, 1988]) como alternativa para resolução dos problemas
Leia maisHalison Miguel Edvan Pontes
Halison Miguel Edvan Pontes Apresentação Surgimento; Conceitos; Características; Elementos Básicos; Estrutura; Disciplina. Surgimento O Processo Unificado Aberto, do inglês Open Unified Process (OpenUP)
Leia maisAnálise e Projeto Orientados a Objetos Professora: Elisa Yumi Nakagawa PAE: Cristiane Aparecida Lana 2 semestre de 2015
Professora: Elisa Yumi Nakagawa PAE: Cristiane Aparecida Lana 2 semestre de 2015 Agenda Modelos de Processos de Software Desenvolvimento Iterativo Incremental Processo Unificado PU Rational Unified Process
Leia maisModelos Prescritivos de Processo
"Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Modelos Prescritivos de Processo Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha
Leia maisPROCESSO DE SOFTWARE
PROCESSO DE SOFTWARE Allan Senna Costa dos Santos Discente do Curso Tecnologia em Análise e Desenvolvimento de Sistemas Faculdades Integradas de Três Lagoas (AEMS) Jhonatan Ricardo Ferraris da Silva Discente
Leia maisEngenharia de Software II
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 04 (rogerio@fct.unesp.br) 2 Conteúdo: Parte 1: Gerenciamento
Leia maisespecificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje
1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria
Leia maisDesenvolvimento de Projetos
Desenvolvimento de Projetos Aula 1.3 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; Modelo Incremental; Desenvolvimento Evolucionário;
Leia maisDesenvolvimento ágil de software
Desenvolvimento ágil de software Prof. Cristiane Aparecida Lana slide 1 Bibliografia utilizada: Mais opções visite meu site, clique aqui para acessá-lo. slide 2 2011 Pearson 2011 Pearson Prentice Prentice
Leia mais