Вы находитесь на странице: 1из 6

SCRUM O Scrum um processo de desenvolvimento iterativo e incremental para gerenciament o de projetos e desenvolvimento gil de software.

. Apesar de a palavra no ser um acrn imo, algumas empresas que implementam o processo a soletram com letras maisculas como SCRUM. Isto pode ser devido aos primeiros artigos de Ken Schwaber, que capi talizava SCRUM no ttulo. Scrum no um processo prescribente, ou seja, ele no descreve o que fazer em cada si tuao. Ele usado para trabalhos complexos nos quais impossvel predizer tudo o que ir ocorrer. Apesar de Scrum ter sido destinado para gerenciamento de projetos de software, e le pode ser utilizado em equipes de manuteno de software ou como uma abordagem ger al de gerenciamento de projetos/programas Scrum um esqueleto de processo que contm grupos de prticas e papis pr-definidos. Os principais papis so: o ScrumMaster, que mantm os processos (normalmente no lugar de um gerente de proj eto) o Proprietrio do Produto, ou Product Owner, que representa os stakeholders e o ne gcio a Equipe, ou Team, um grupo multifuncional com cerca de 7 pessoas e que fazem a anlise, projeto, implementao, teste etc. Cada sprint uma iterao que segue um ciclo (PDCA) e entrega incremento de software pronto. Um backlog conjunto de requisitos, priorizado pelo Product Owner (responsvel pelo ROI e por conhecer as necessidades do cliente); H entrega de conjunto fixo de itens do backlog em srie de interaes curtas ou sprints ; Breve reunio diria, ou daily scrum, em que cada participante fala sobre o progress o conseguido, o trabalho a ser realizado e/ou o que o impede de seguir avanando ( tambm chamado de Standup Meeting ou Daily Meeting, j que os membros da equipe gera lmente ficam em p para no prolongar a reunio). Breve sesso de planejamento, na qual os itens do backlog para uma sprint (iterao) so definidos; Retrospectiva, na qual todos os membros da equipe refletem sobre a sprint passad a. O Scrum facilitado por um Scrum Master, que tem como funo primria remover qualquer impedimento habilidade de uma equipe de entregar o objetivo do sprint. O Scrum M aster no o lder da equipe (j que as equipes so auto-organizadas), mas atua como um m ediador entre a equipe e qualquer influncia desestabilizadora. Outra funo extremame nte importante de um Scrum Master o de assegurar que a equipe esteja utilizando corretamente as prticas de Scrum, motivando-os e mantendo o foco na meta da Sprin t. Scrum permite a criao de equipes auto-organizadas, encorajando a comunicao verbal en tre todos os membros da equipe e entre todas as disciplinas que esto envolvidas n o projeto. XP Extreme Programming (XP) uma metodologia de desenvolvimento de software que se d estina a melhorar a qualidade do software ea capacidade de resposta ao cliente m udar requisitos . Como um tipo de desenvolvimento gil de software , [ 1 ] [ 2 ] [ 3 ] defende freqentes "releases" em ciclos curtos de desenvolvimento ( timeboxin g ), que se destina a melhorar a produtividade e introduzir pontos de verificao on de os requisitos de novos clientes pode ser adotado. Outros elementos de programao extrema incluem: programao em pares ou fazendo extensa reviso de cdigo , testes unitrios de todo o cdigo, evitando a programao de recursos a

t que eles so realmente necessrios, uma estrutura de gesto plana, simplicidade e cla reza no cdigo, esperando mudanas nos requisitos do cliente como o tempo passa eo p roblema mais bem compreendida, e uma comunicao freqente com o cliente e entre os pr ogramadores. [ 2 ] [ 3 ] [ 4 ] A metodologia leva o seu nome a partir da idia de que os elementos positivos das prticas de engenharia de software tradicionais so l evados a "extrema "os nveis, na teoria de que se algum bom, mais melhor. Os crticos observaram vrias desvantagens potenciais, [ 5 ] , incluindo problemas c om requisitos instveis, sem compromissos documentados de conflitos entre os usurio s, ea falta de uma especificao de projeto total ou documento. Extreme Programming Explained descreve Extreme Programming como uma disciplina d e desenvolvimento de software que organiza as pessoas a produzir software de alt a qualidade de forma mais produtiva. XP tenta reduzir o custo das mudanas nas exigncias por ter mltiplos ciclos curtos d e desenvolvimento, em vez de um longa. Nesta doutrina mudanas so um aspecto natura l, inevitvel e desejvel de projetos de desenvolvimento de software, e deve ser pla nejado para em vez de tentar definir um conjunto estvel de requisitos. Extreme programming tambm introduz uma srie de valores bsicos, princpios e prticas no topo do quadro de programao gil. [ editar ] Atividades XP descreve quatro atividades bsicas que so executadas dentro do processo de desen volvimento de software: codificao, testes de audio, e projetar. Cada uma dessas ativ idades descrita abaixo. [ editar ] Codificao Os defensores do XP argumentam que o nico produto verdadeiramente importante do p rocesso de desenvolvimento do sistema o cdigo - Instrues de software de um computad or pode interpretar. Sem cdigo, no h produto de trabalho. Codificao pode tambm ser usado para descobrir a soluo mais adequada. Codificao tambm e ajudar a comunicar pensamentos sobre problemas de programao. Um programador de l idar com um problema de programao complexa e encontrando dificuldade para explicar a soluo para colegas programadores pode codific-lo e usar o cdigo para demonstrar o que ele ou ela significa. Cdigo, dizem os defensores desta posio, sempre claro e c onciso e no pode ser interpretado em mais de uma maneira. Outros programadores po dem fazer comentrios sobre este cdigo, de codificao tambm seus pensamentos. [ editar ] Teste Abordagem de programao extrema que se um pequeno teste pode eliminar algumas falha s, uma srie de testes pode eliminar muitas falhas mais. Testes de unidade determinar se um determinado recurso funciona como previsto. U m programador escreve como muitos testes automatizados como eles podem pensar qu e podem "quebrar" o cdigo, se todos os testes executados com xito, ento a codificao c oncluda. Cada parte do cdigo que est escrito testado antes de passar para o prximo r ecurso. Testes de aceitao verificar se os requisitos como entendido pelos programadores sa tisfazer necessidades reais do cliente. Estes ocorrem na fase de explorao de plane jamento de lanamento. A "testathon" um evento, quando os programadores se renem para fazer teste de esc rita colaborativa, um tipo de relao de brainstorming para teste de software. [ editar ] Listening Programadores devem ouvir o que os clientes precisam do sistema para fazer, o qu e "a lgica do negcio" necessrio. Eles devem entender essas necessidades bem o sufic iente para dar o feedback dos clientes sobre os aspectos tcnicos de como o proble ma pode ser resolvido, ou no pode ser resolvido. Comunicao entre o cliente eo progr amador tambm abordada no o Jogo do Planejamento . [ editar ] Projetando Do ponto de vista da simplicidade, claro que algum poderia dizer que o desenvolvi mento do sistema no precisa mais de codificao, testes e ouvir. Se essas actividades forem executadas bem, o resultado deve ser sempre um sistema que funciona. Na p rtica, isso no vai funcionar. Pode-se percorreu um longo caminho, sem projeto , ma s em um determinado momento um vai ficar preso. O sistema se torna muito complex o e as dependncias dentro do sistema deixa de ser clara. Pode-se evitar isso cria

ndo uma estrutura de projeto que organiza a lgica do sistema. Bom projeto vai evi tar muitas dependncias dentro de um sistema, o que significa que a mudana de uma p arte do sistema no afetar outras partes do sistema. [ carece de fontes? ] [ editar ] Valores Extreme Programming reconhecidos inicialmente quatro valores em 1999. Um novo va lor foi adicionado na segunda edio do Extreme Programming Explained . Os cinco val ores so: [ editar ] Comunicao Construo de sistemas de software exige requisitos do sistema de comunicao com os des envolvedores do sistema. Em metodologias formais de desenvolvimento de software, esta tarefa realizada por meio de documentao. Tcnicas de programao extrema pode ser visto como mtodos para a construo rpida e disseminao do conhecimento institucional ent re os membros de uma equipe de desenvolvimento. O objetivo dar a todos os desenv olvedores de uma viso compartilhada do sistema, que coincide com a viso mantida pe los usurios do sistema. Para este fim, programao extrema favorece projetos simples, metforas comuns, a colaborao dos usurios e programadores, a comunicao verbal freqente e feedback. [ editar ] Simplicidade Extreme Programming incentiva comeando com a soluo mais simples. Funcionalidade ext ra pode ser adicionada mais tarde. A diferena entre esta abordagem e mtodos de des envolvimento mais convencional do sistema o foco sobre a concepo e codificao para as necessidades de hoje em vez de os de amanh, na prxima semana ou no prximo ms. Isso s vezes resumido como o "voc no vai precisar dele" . abordagem (YAGNI) [ 9 ] Os def ensores do XP reconhecer a desvantagem de que s vezes isso pode implicar um maior esforo de amanh para mudar o sistema, a sua alegao que isto mais do que compensado pela vantagem de no investir em possveis necessidades futuras que possam mudar ant es que se tornem relevantes. Codificao e design para necessidades futuras incertas implica o risco de gastar recursos em algo que pode no ser necessrio. Relacionada com a "comunicao" de valor, simplicidade de design e de codificao devem melhorar a qualidade da comunicao. Um projeto simples com um cdigo muito simples poderia ser f acilmente entendida pela maioria dos programadores na equipe

RUP O RUP, abreviao de Rational Unified Process (ou Processo Unificado Racional), um p rocesso proprietrio de Engenharia de software criado pela Rational Software Corpo ration, adquirida pela IBM, ganhando um novo nome IRUP que agora uma abreviao de I BM Rational Unified Process e tornando-se uma brand na rea de Software, fornecend o tcnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade no processo de desenvolvimento. O RUP usa a abordagem da orientao a objetos em sua concepo e projetado e documentado utilizando a notao UML (Unified Modeling Language) para ilustrar os processos em ao. Utiliza tcnicas e prticas aprovadas comercialmente. um processo considerado pesado e preferencialmente aplicvel a grandes equipes de desenvolvimento e a grandes projetos, porm o fato de ser amplamente customizvel to rna possvel que seja adaptado para projetos de qualquer escala. Para a gerncia do projeto, o RUP prov uma soluo disciplinada de como assinalar tarefas e responsabili dades dentro de uma organizao de desenvolvimento de software. O RUP , por si s, um produto de software. modular e automatizado, e toda a sua met odologia apoiada por diversas ferramentas de desenvolvimento integradas e vendid as pela IBM atravs de seus "Rational Suites". Mtodos concorrentes no campo da engenharia de software incluem o "Cleanroom" (con siderado pesado) e os Mtodos geis (leves) como a Programao Extrema (XP-Extreme Progr amming), Scrum, FDD e outros.

At agora estas linhas de guia so gerais, a serem aderidas ao percorrer do ciclo de vida de um projeto. As fases[1] indicam a nfase que dada no projeto em um dado i nstante. Para capturar a dimenso do tempo de um projeto, o RUP divide o projeto e m quatro fases diferentes: Concepo: nfase no escopo do sistema; Elaborao: nfase na arquitetura; Construo: nfase no desenvolvimento; Transio: nfase na implantao. O RUP tambm se baseia nos 4 Ps: Pessoas Projeto Produto Processo As fases so compostas de iteraes. As iteraes so janelas de tempo; as iteraes possuem zo definido enquanto as fases so objetivas. Todas as fases geram artefatos. Estes sero utilizados nas prximas fases e document am o projeto, alm de permitir melhor acompanhamento. UML A Unified Modeling Language (UML) uma linguagem de modelagem no proprietria de ter ceira gerao. A UML no uma metodologia de desenvolvimento, o que significa que ela no diz para voc o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicao entre objetos. Basicamente, a UML permite que desenvolvedores visualizem os produtos de seus tr abalhos em diagramas padronizados. Junto com uma notao grfica, a UML tambm especific a significados, isto , semntica. uma notao independente de processos, embora o RUP ( Rational Unified Process) tenha sido especificamente desenvolvido utilizando a U ML. importante distinguir entre um modelo UML e um diagrama[1] (ou conjunto de diagr amas) de UML. O ltimo uma representao grfica da informao do primeiro, mas o primeiro ode existir independentemente. O XMI (XML Metadata Interchange) na sua verso corr ente disponibiliza troca de modelos mas no de diagramas. [editar]Objetivos da UML

Os objetivos da UML so: especificao, documentao, estruturao para sub-visualizao e ma isualizao lgica do desenvolvimento completo de um sistema de informao. A UML um modo de padronizar as formas de modelagem. [editar]O Futuro da UML Embora a UML defina uma linguagem precisa, ela no uma barreira para futuros aperf eioamentos nos conceitos de modelagem. O desenvolvimento da UML foi baseado em tcn icas antigas e marcantes da orientao a objetos, mas muitas outras influenciaro a li nguagem em suas prximas verses. Muitas tcnicas avanadas de modelagem podem ser defin idas usando UML como base, podendo ser estendida sem se fazer necessrio redefinir a sua estrutura interna. A UML ser a base para muitas ferramentas de desenvolvimento, incluindo modelagem visual, simulaes e ambientes de desenvolvimento. Em breve, ferramentas de integrao e padres de implementao baseados em UML estaro disponveis para qualquer um. A UML integrou muitas ideias adversas, e esta integrao acelera o uso do desenvolvi mento de softwares orientados a objetos Processo Unificado Origem: Wikipdia, a enciclopdia livre. O processo unificado (Unified Process - UP) de desenvolvimento de software o con junto de atividades necessrias para transformar requisitos do usurio em um sistema de software. O UP de desenvolvimento de sistemas combina os ciclos iterativo e

incremental para a construo de softwares. fundamental na viso de que o avano de um p rojeto deve estar baseado na construo de artefatos de software, e no apenas em docu mentao. [editar]Histrico Como sabemos existem centenas de pessoas pesquisando sobre vrios assuntos em toda s as reas; a partir deste ponto comeam os congressos, publicaes, convocaes de imprensa sobre estes assuntos. Geralmente os pesquisadores no esto sozinhos nesta empreita da. Trs grandes equipes trabalhavam na tentativa de criar um melhor processo de desen volvimento e uma notao, enquanto cada uma trabalhava em um processo diferente, des cobriram que cada uma das equipes tinha desenvolvido suas vantagens e desvantage ns. Depois de um determinado tempo resolveram juntar os seus trs processos criand o um quarto e melhorado processo nesta mescla. Este processo unificado estabelec eu uma notao conhecida como UML (Unified Modeling Language). - UP um framework* genrico de um processo de desenvolvimento. - UP baseado em com ponentes. - UP utiliza toda da definio da UML. - UP dirigido pelos casos de uso, c entrado na arquitetura, iterativo e incremental(conceitoschave). Framework: padro de arquitetura que fornece um template extensvel para aplicaes em um domnio. [editar]Funcionamento Ele baseado em componentes, o que significa o sistema ser construdo a partir de c omponentes de software interconectados via interfaces muito bem definidas. O pro cesso unificado utiliza a Linguagem de Modelagem Unificada (Unified Modeling Lan guage UML) no preparo de todos os artefatos do sistema. [editar]Aspectos Os aspectos direcionado centrado na iterativo e que distinguem o processo unificado so trs conceitos chave, a saber: a casos de uso; arquitetura; incremental.

Orientao a objetos A orientao a objetos um paradigma de anlise, projeto e programao de sistemas de softw are baseado na composio e interao entre diversas unidades de software chamadas de ob jetos. Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de pr ogramao. De fato, o paradigma "orientao a objeto", tem bases conceituais e origem no campo de estudo da cognio, que influenciou a rea de inteligncia artificial e da lin gustica, no campo da abstrao de conceitos do mundo real. Na qualidade de mtodo de mo delagem, tida como a melhor estratgia para se eliminar o "gap semntico", dificulda de recorrente no processo de modelar o mundo real do domnio do problema em um con junto de componentes de software que seja o mais fiel na sua representao deste domn io. Facilitaria a comunicao do profissional modelador e do usurio da rea alvo, na me dida em que a correlao da simbologia e conceitos abstratos do mundo real e da ferr amenta de modelagem (conceitos, terminologia, smbolos, grafismo e estratgias) foss e a mais bvia, natural e exata possvel. A anlise e projeto orientados a objetos tm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se d atravs do relacionamento e troca de mensagens entre estes objetos. Na programao orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportame nto (definido nos mtodos) e estados possveis (atributos) de seus objetos, assim co mo o relacionamento com outros objetos. C++, C?, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider, Ruby e Smalltalk so exemplos de linguagens de programao orientadas a objetos. ActionScrip t, ColdFusion, Javascript, PHP (a partir da verso 4.0), Perl (a partir da verso 5) e Visual Basic 6,5 e 4 so exemplos de linguagens de programao com suporte a orient

ao a objetos. Classe representa um conjunto de objetos com caractersticas afins. Uma classe def ine o comportamento dos objetos atravs de seus mtodos, e quais estados ele capaz d e manter atravs de seus atributos. Exemplo de classe: Os seres humanos Subclasse uma nova classe que herda caractersticas de sua(s) classe(s) ancestral( is) Objeto / instncia de uma classe. Um objeto capaz de armazenar estados atravs de se us atributos e reagir a mensagens enviadas a ele, assim como se relacionar e env iar mensagens a outros objetos. Exemplo de objetos da classe Humanos: Joo, Jos, Ma ria Atributo so caractersticas de um objeto. Basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionrio: nome, endereo, telefone, CPF,...; Carr o: nome, marca, ano, cor, ; Livro: autor, editora, ano. Por sua vez, os atributos possuem valores. Por exemplo, o atributo cor pode conter o valor azul. O conjun to de valores dos atributos de um determinado objeto chamado de estado Mtodo definem as habilidades dos objetos. Bidu uma instncia da classe Cachorro, po rtanto tem habilidade para latir, implementada atravs do mtodo deUmLatido. Um mtodo em uma classe apenas uma definio. A ao s ocorre quando o mtodo invocado atravs do to, no caso Bidu. Dentro do programa, a utilizao de um mtodo deve afetar apenas um objeto em particular; Todos os cachorros podem latir, mas voc quer que apenas Bid u d o latido. Normalmente, uma classe possui diversos mtodos, que no caso da class e Cachorro poderiam ser sente, coma e morda Mensagem uma chamada a um objeto para invocar um de seus mtodos, ativando um comp ortamento descrito por sua classe. Tambm pode ser direcionada diretamente a uma c lasse (atravs de uma invocao a um mtodo esttico) Herana (ou generalizao) o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (mtodos) e variveis possveis (atributos). Um exemplo de herana: Mamfero super-classe de Humano. Ou sej a, um Humano um mamfero. H herana mltipla quando uma sub-classe possui mais de uma s uper-classe. Essa relao normalmente chamada de relao " um" Associao o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar -se de uma associao simples "usa um" ou de um acoplamento "parte de". Por exemplo: Um humano usa um telefone. A tecla "1" parte de um telefone Encapsulamento consiste na separao de aspectos internos e externos de um objeto. E ste mecanismo utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os mtodos que alter am estes estados. Exemplo: voc no precisa conhecer os detalhes dos circuitos de um telefone para utiliz-lo. A carcaa do telefone encapsula esses detalhes, provendo a voc uma interface mais amigvel (os botes, o monofone e os sinais de tom) Abstrao a habilidade de concentrar nos aspectos essenciais de um contexto qualquer , ignorando caractersticas menos importantes ou acidentais. Em modelagem orientad a a objetos, uma classe uma abstrao de entidades existentes no domnio do sistema de software Polimorfismo consiste em quatro propriedades que a linguagem pode ter (atente pa ra o fato de que nem toda linguagem orientada a objeto tem implementado todos os tipos de polimorfismo):

Вам также может понравиться