Metodologias Ágeis Extreme Programming e o Tratamento de Requisitos

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Metodologias Ágeis Extreme Programming e o Tratamento de Requisitos"

Transcrição

1 Categoria de Assunto INFORMÁTICA ENGENHARIA DE SOFTWARE Título Metodologias Ágeis Extreme Programming e o Tratamento de Requisitos Autores Carlos Renato Rocha Bueno, 26, é analista de sistemas com 8 anos de experiência em desenvolvimento de Softwares na GTCON, ATT/PS e Commitment Informática. Cursa o 4º semestre de Tecnologia em Informática no Centro Universitário Radial, onde é integrante do Programa de Iniciação Científica. Regina Sélia de Almeida Rodrigues Bueno, 27, é analista de sistemas com 7 anos de experiência em desenvolvimento de Softwares na IBM, Hospital Sírio Libanês e Network1. Cursa o 4º semestre de Tecnologia em Informática no Centro Universitário Radial, onde é integrante do Programa de Iniciação Científica. Paulo Sergio Borba, 39, é mestre em Engenharia da Computação com ênfase em Engenharia de Software pelo IPT da USP. Gerente de Projetos de Software na Alcoa Alumínio, Banco AGF e Banco Itaú. Professor da FIAP e do Centro Universitário Radial, onde coordena os cursos de graduação tecnológica de Informática e conduz dois projetos de iniciação científica. Este artigo foi gerado a partir do Programa de Iniciação Científica (PIC) da UniRadial, sob o título: Um Processo de Desenvolvimento de Software facilmente aplicável

2 Resumo Extreme Programming é uma metodologia ágil que veio para resolver os problemas de desenvolvimento de software existentes nas metodologias tradicionais, tais como a dificuldade no gerenciamento de mudanças e o tempo gasto com documentação extensa. A Extreme Programming possui uma forma particular de tratar com requisitos de software e possui um conjunto de práticas, muitas vezes contestadas, mas que se aplicadas em conjunto podem trazer grandes resultados. Palavras-chave: Extreme Programming, XP, Metodologia Ágil, Desenvolvimento de Software, Requisitos de software Abstract: Extreme Programming is a agile methodology emerged to solve existent software development problems with traditional methodologies, like problems in changing management and a lot of time expent with large documentation. The Extreme Programming holds a particular way to deal with software requirements and a whole of practices, sometimes controversy, but if applied a whole, can produce good results. Key-Words: Extreme Programming, XP, Agile Methodology, software development, software requirements

3 1. Introdução Uma das novas propostas para minimizar os atuais problemas com o desenvolvimento de software é o Extreme Programming, uma metodologia de desenvolvimento de software baseada em práticas que visam aumentar a eficiência da equipe dentro de um projeto. A Extreme Programming é a mais famosa entre as metodologias ágeis e busca produzir software com mais qualidade e com custo e prazos previsíveis. A Extreme Programming tem a proposta de focar mais em pessoas do que nos processos de desenvolvimento. Gasta menos tempo com documentação e mais com resolução de problemas. 2. Extreme Programming Processo de Desenvolvimento A Extreme Programming (XP) é uma metodologia ágil mais adequada para equipes pequenas e médias que desenvolvem software baseado em requisitos vagos e que se modificam rapidamente. Dentro dos ciclos de vida de desenvolvimento de software, a Extreme Programming é um processo ultra-iterativo incremental, conforme demonstrado na figura 1, onde o ciclo da XP está comparado ao tradicional processo Cascata e ao processo Espiral/Iterativo. Figura 1 - Comparação de Ciclo de Desenvolvimento Cascata x Iterativo x XP (baseado em Beck 1999)

4 Os processos iterativos, como o Processo Unificado, propõem várias entregas de software para o cliente durante o ciclo de desenvolvimento. A Extreme Programming potencializa isto, dividindo estas entregas em pacotes ainda menores para que o cliente faça sua avaliação e realimente a equipe de desenvolvimento com suas impressões. O primeiro projeto a usar Extreme Programming foi o C3, da Chrysler. Após anos de fracasso utilizando metodologias tradicionais, com o uso da Extreme Programming o projeto ficou pronto em pouco mais de um ano. A maioria das regras e práticas da Extreme Programming, à primeira vista, causa polêmica e muitas não fazem sentido se aplicadas isoladamente. É a sinergia de seu conjunto que sustenta o sucesso da Extreme Programming, encabeçando uma verdadeira revolução no desenvolvimento de software. A Extreme Programming enfatiza o desenvolvimento do projeto rápido e com qualidade, a fim de garantir a satisfação do cliente. A utilização da Extreme Programming favorece o cumprimento das estimativas de custo e prazo do projeto. As regras, práticas e valores da Extreme Programming proporcionam um agradável ambiente de desenvolvimento de software para os seus seguidores, que são conduzidos por quatro valores: comunicação, simplicidade, feedback e coragem. Estes valores estão resumidos na tabela 1. Valores da Extreme Programming Se a comunicação for intensa, podemos realmente dispensar muita documentação do projeto. Comunicação A finalidade é manter o melhor relacionamento possível entre clientes e desenvolvedores, preferindo conversas pessoais a outros meios de comunicação. A comunicação é um fator chave na Extreme Programming: é preferível comunicar-se pessoalmente o máximo possível, evitando-se o uso de telefone e o envio de mensagens por correio eletrônico (que não são proibidas, mas diminuem a proximidade e, por vezes, a união e o comprometimento dos interlocutores).

5 Simplicidade Manter as coisas simples faz com que não haja medo de mudar, uma vez que requisitos são mutáveis. A idéia é que o trabalho produzido seja simples, pois caso seja necessário ser descartado ou refeito, não se tenha perdido investimento, ou que a perda seja a menor possível. A programação, como tudo, deve ser simples. Quanto mais simples for o código, mais fácil será fazer manutenção neste código. Deve-se evitar a utilização de comandos rebuscados se não houver necessidade explícita disto. Outra idéia importante da simplicidade é procurar implementar apenas requisitos atuais, evitando-se adicionar funcionalidades que podem ser importantes no futuro mas não são no presente momento. Para todas as atividades desenvolvidas, é preciso saber se o caminho tomado está correto. A XP promove, como parte da comunicação, feedback constante entre os envolvidos no desenvolvimento (usuários diretos e indiretos e desenvolvedores). Feedback Os desenvolvedores entregam software constantemente para os usuários, dando-lhe feedback de suas solicitações. Por sua vez, o cliente avalia rapidamente o software recebido e realimenta os desenvolvedores com informações necessárias para manter ou alterar a forma de trabalho. Eventuais erros e não conformidades são rapidamente identificados e corrigidos nas próximas versões. Desta forma, a tendência é que o produto final esteja de acordo com as expectativas reais do cliente. Coragem É preciso ter coragem para remover coisas que não agregam valor. Coragem de jogar fora um pedaço de código que não ficou bom e recomeçá-lo novamente, com a mente limpa. Coragem de alterar algo, se necessário, mesmo que isso implique ter que mudar outras coisas. É necessário apontar um problema, mesmo que seja de si próprio, para evitar que ele afete o desenvolvimento futuramente. Tabela 1 Valores da Extreme Programming A Extreme Programming baseia-se em 12 práticas, que são sua grande diferença em relação às demais metodologias de desenvolvimento de software:

6 Práticas da Extreme Programming Planejamento: consiste em decidir o que é necessário ser feito e o que pode ser adiado no projeto. A Extreme Programming baseia-se em requisitos atuais para desenvolvimento de software, não em requisitos futuros. Além disso, a Extreme Programming procura evitar os problemas de relacionamento entre a área de negócios (clientes) e a área de desenvolvimento. As duas áreas devem cooperar para o sucesso do projeto e cada uma deve focar em partes específicas do projeto. Desta forma, enquanto a área de negócios deve decidir sobre o escopo, a composição das versões e as datas de entrega, os desenvolvedores devem decidir sobre as estimativas de prazo, o processo de desenvolvimento e o cronograma detalhado para que o software seja entregue nas datas especificadas. Entregas freqüentes: visa à construção de um software simples, e conforme os requisitos surgem, há a atualização do software. Cada versão entregue deve ter o menor tamanho possível, contendo os requisitos de maior valor para o negócio. Idealmente devem ser entregues versões a cada mês, ou no máximo a cada dois meses, aumentando a possibilidade de feedback rápido do cliente. Isto evita surpresas caso o software seja entregue após muito tempo e melhora as avaliações do cliente, aumentando a probabilidade do software final estar de acordo com os requisitos do cliente. Metáfora são as descrições de um software sem a utilização de termos técnicos, com o intuito de guiar o desenvolvimento do software. Projeto simples: o programa desenvolvido pelo método Extreme Programming deve ser o mais simples possível e satisfazer os requisitos atuais, sem a preocupação de requisitos futuros. Eventuais requisitos futuros devem ser adicionados assim que eles realmente existirem. Testes: a Extreme Programming focaliza a validação do projeto durante todo o processo de desenvolvimento. Os programadores desenvolvem o software criando primeiramente os testes. Programação em pares: a implementação do código é feita em dupla, ou seja, dois desenvolvedores trabalham em um único computador. O desenvolvedor que está com o controle do teclado e do mouse implementa o código, enquanto o outro observa continuamente o trabalho que está sendo feito, procurando identificar erros sintáticos e semânticos e pensando estrategicamente em como melhorar o código que está sendo implementado. Esses papéis podem e devem ser alterados continuamente. Uma grande vantagem da programação em dupla é a possibilidade dos desenvolvedores estarem continuamente aprendendo um com o outro. Refatoração: focaliza o aperfeiçoamento do projeto do software e está presente em todo o desenvolvimento. A refatoração deve ser feita apenas quando é necessário, ou seja, quando um desenvolvedor da dupla, ou os dois, percebe que é possível simplificar o módulo atual sem perder nenhuma funcionalidade. Propriedade coletiva: o código do projeto pertence a todos os membros da equipe.

7 Isto significa que qualquer pessoa que percebe que pode adicionar valor a um código, mesmo que ele próprio não o tenha desenvolvido, pode fazê-lo, desde que faça a bateria de testes necessária. Isto é possível porque na Extreme Programming todos são responsáveis pelo software inteiro. Uma grande vantagem desta prática é que, caso um membro da equipe deixe o projeto antes do fim, a equipe consegue continuar o projeto com poucas dificuldades, pois todos conhecem todas as partes do software, mesmo que não seja de forma detalhada. Integração contínua: é a prática de interagir e construir o sistema de software várias vezes por dia, mantendo os programadores em sintonia, além de possibilitar processos rápidos. Integrar apenas um conjunto de modificações de cada vez é uma prática que funciona bem porque fica óbvio quem deve fazer as correções quando os testes falham: a última equipe que integrou código novo ao software. Esta prática é facilitada com o uso de apenas uma máquina de integração, que deve ter livre acesso a todos os membros da equipe. 40 horas de trabalho semanal: a Extreme Programming assume que não se deve fazer horas extras constantemente. Caso seja necessário trabalhar mais de 40 horas pela segunda semana consecutiva, existe um problema sério no projeto que deve ser resolvido não com aumento de horas trabalhadas, mas com melhor planejamento, por exemplo. Esta prática procura ratificar o foco nas pessoas e não em processos e planejamentos. Caso seja necessário, os planos devem ser alterados, ao invés de sobrecarregar as pessoas. Cliente presente: é fundamental a participação do cliente durante todo o desenvolvimento do projeto. O cliente deve estar sempre disponível para sanar todas as dúvidas de requisitos, evitando atrasos e até mesmo construções erradas. Uma idéia interessante é manter o cliente como parte integrante da equipe de desenvolvimento. Código padrão: padronização na arquitetura do código, para que este possa ser compartilhado entre todos os programadores. 3. Análise de Requisitos no Extreme Programming Muito ao contrário do que ocorre no modelo Cascata, na Extreme Programming as mudanças são bem vindas. Mas quanto mais cedo vierem, melhor, dentro do período em que o software está sendo desenvolvido. E isto é possível se o software é entregue constantemente durante o projeto e o usuário dá feedback para os desenvolvedores sobre o produto recebido. Na Extreme Programming, os requisitos são capturados através de User Stories (Estórias de Usuários) que são cartões simples (pequenas fichas retangulares de papel) utilizados para anotar os requisitos. O usuário escreve uma frase curta que

8 descreva um requisito do sistema. Pode ser que seja necessário escrever varias frases para completar o requisito. Mas todas devem ser simples e fazer sentido individualmente. Por exemplo, em um sistema de PDV de um supermercado, o usuário escreve um cartão: Emitir cupom com descrição quantidade, descrição resumida do produto, preço unitário e total, além do total da compra Em outro cartão: Ao passar o produto no leitor de código de barras, devem ser exibidos a descrição do produto, seu preço unitário e sua foto. Um conjunto de cartões simples, com frases diretas e simples é uma ótima forma de se levantar os requisitos do sistema e de forçar a discussão sobre eles, melhorando o levantamento dos mesmos. Na Extreme Programming, pode-se resumir a Análise de Requisitos pela seqüência a seguir, incluindo controle de mudanças nos requisitos: a) Captura de requisitos b) Organização por Assunto c) Estimativa de Prazos d) Priorização de Funcionalidades e) Planejamento das iterações e das releases f) Planejando as próximas iterações e releases 3.1. Seqüência de mapeamento de requisitos: 1- Captura de Requisitos - Usuário escreve as User Stories (US). Cada US deve conter uma breve descrição do comportamento do sistema. A figura 2 ilustra um exemplo de User Storie de um sistema que controla o check-out (caixa) de um supermercado. Deve ser criada uma User Storie para cada funcionalidade do sistema. Cartões novos podem ser incluídos a qualquer momento. Os cartões existentes podem ser removidos e reescritos para refletir uma nova compreensão do sistema.

9 Figura 2 - Exemplo de User Story 2- Organização por Assunto - Os cartões com as User Stories são separados por assunto ou organizados por módulos a desenvolver, como mostra a figura 3. Isso mantém os objetivos separados e ajuda a começar o planejamento das iterações e das releases. Figura 3 - Cartões separados por assunto. 3- Estimativa de Prazos - Estima-se prazos para desenvolvimento das funcionalidades contidas em cada grupo de cartões. A equipe de desenvolvimento debate quais as soluções possíveis para as User Stories e definem as estimativas e prazos, anotando-os no canto superior de cada cartão, como demonstra a figura 4. Neste ponto já é possível ter uma noção do prazo e custo total do sistema.

10 Figura 4 - Módulos com prazos 4- Priorização de Funcionalidades - O usuário define a prioridade de cada grupo de cartões. Com base nas suas necessidades e no que agregar maior valor ao negócio naquele momento (afinal ele é o dono do dinheiro ). A figura 5 mostra a prioridade de cada grupo de cartões, destacando-as no círculo no canto esquerdo de cada grupo de cartões. Figura 5 - Módulos priorizados 5- Planejamento das iterações e das releases Toma-se como base o primeiro modulo priorizado. As demais funcionalidades ficam para as próximas iterações. O usuário não pode mudar os requisitos durante uma iteração, todas as mudanças são agendadas para o próximo planejamento.

11 6- Planejando as próximas iterações e releases Após a conclusão da primeira iteração, tem-se uma boa idéia se o planejamento foi cumprido a contento ou não e tem-se também o ritmo de desenvolvimento, ou seja, com que velocidade a equipe trabalha. Ao final de cada iteração o planejamento é revisto. É o momento oportuno para o usuário, caso queira, redefinir as prioridades dos módulos restantes, como exemplificado na figura 6. O usuário pode incluir novas funcionalidades, escrevendo mais User Stories. mas deve estar atento às limitações de orçamento e prazo planejadas para o projeto. Figura 6 - Prioridades redefinidas 4. Extreme Programming X Processos de Desenvolvimento Tradicionais A diferença entre a Extreme Programming e as metodologias anteriores a ela tradicionais é o foco da XP e seus valores. A idéia das metodologias ágeis, sobretudo a XP, é focar nas pessoas e não em processos ou algoritmos. Além disso, existe a preocupação de gastar menos tempo com documentação e mais com a implementação, que é o objetivo primeiro do trabalho. Uma característica das metodologias ágeis é que elas são adaptáveis ao invés de serem preditivas, ou seja, enfatizam as mudanças e suas conseqüentes adaptações; os problemas são encarados à medida que eles chegam. Com isso, elas se adaptam a novos fatores decorrentes do desenvolvimento do projeto, ao invés de procurar analisar previamente tudo o que pode acontecer no decorrer do desenvolvimento. Essa análise prévia é difícil e apresenta alto custo. E

12 mesmo assim, não prevendo tudo, pode-se ter alteração no planejamento caso haja alguma mudança significativa Custo das Alterações em Requisitos Dentre os fatores responsáveis por alterações nos requisitos estão a dinâmica das organizações, as alterações nas leis e as mudanças pedidas pelos stakeholders, que geralmente têm dificuldades em definir de forma completa o escopo do futuro software. Para ser realmente considerada ágil, a metodologia deve aceitar as mudanças ao invés de tentar prever o futuro. O problema não é a mudança em si, mesmo porque ela ocorrerá de qualquer forma, a questão é o momento em que chegam as mudanças em um projeto. Quanto mais tarde vier a mudança, a tendência é que seja mais caro efetuá-la. Segundo Leffingwell (2000), citando Jones (Capers Jones, 1994), a diferença do custo entre reparar um erro na etapa de requisitos e na etapa de manutenção, em média, é de 200 vezes. A figura 7 ilustra o incremento do custo, em média, para reparar defeitos, à medida que o desenvolvimento do software avança.,1 -,2 Requerimentos,5 Design 1 Codificação 2 Testes de unidade 5 Testes de Aceitação 20 Manutenção Figura 7 - Custo Relativo para reparar um defeito nas diferentes fases do Ciclo de Vida de um Projeto (Leffingwell 2000, citando Capers Jones, 1994) A Extreme Programming é ideal para ser usada em projetos em que os stakeholders não sabem exatamente o que desejam e podem mudar muito de opinião durante o projeto. Com feedback constante, é possível adaptar rapidamente eventuais mudanças nos requisitos. Estas alterações nos requisitos são muitas vezes críticas nas

13 metodologias tradicionais, que não apresentam meios de se adaptar rapidamente às mudanças. Na Extreme Programming o custo das mudanças mantém-se baixo devido à forma de trabalho e à simplicidade de construção. A figura 9 compara a evolução do custo da mudança para a Extreme Programming e para Processos Tradicionais. Figura 8 - Mudanças custam menos com XP 4.2. Vantagens de Extreme Programming As entregas constantes dão grande vantagem à Extreme Programming, pois o cliente pode, constantemente, avaliar uma porção operacional do software, não esperando até o final do projeto, como nas metodologias tradicionais. A integração e o teste contínuos também possibilitam a melhora na qualidade do software. Não é mais necessário existir uma fase de integração de módulos, uma vez que eles são continuamente integrados e eventuais problemas são resolvidos constantemente. 5. Quando aplicar Extreme Programming Na teoria, a Extreme Programming pode ser aplicada a qualquer desenvolvimento, mas ela é mais adequada a certas condições, conforme demonstra a tabela 2:

14 Extreme Programming Metodologias Tradicionais Projetos pouco críticos Projetos altamente críticos Equipe experiente Equipe iniciante Com mudanças constantes Com poucas mudanças Pequena equipe (<=10) Equipes maiores (>= 20) Cultura de adaptação Cultura de controle Tabela 2 Quando usar o que? 6. Conclusão A Extreme Programming, muito mais que um processo de desenvolvimento de software, é um conjunto de práticas. A aplicação de tais exige grande mudança cultural na organização. Não dá para manter a mesma mentalidade e aplicar a XP com sucesso. Por exemplo, o cliente deve fazer parte da equipe e quem patrocina o projeto sempre quer saber exatamente o que será feito e quando. Não há tempo para reuniões demoradas e documentação extensa. Muita documentação é feita com o propósito de comunicar. A comunicação intensa proposta pela Extreme Programming diminui a necessidade de documentação, uma vez que todos estão cientes das informações e estão envolvidos e comprometidos com o projeto. Charete, 2001, comparou métodos ágeis com as metodologias tradicionais, pesadas, e demonstrou que os projetos que usam os métodos ágeis obtiveram melhores resultados em termos de cumprimento de prazos, custos e padrões de qualidade. As metodologias ágeis ainda estão em sua infância, mas já apresentam resultados efetivos. É uma aposta que vale a pena, pois pode trazer vantagens significativas para a empresa. Porém, as pessoas envolvidas devem estar cientes das diferenças de forma de trabalho impostas pela Extreme Programming, devendo ser devidamente treinadas e aculturadas

15 7. Referências Bibliográficas BECK,.K. et al. Agile Manifesto. disponível em BECK, K. Programação Extrema Explicada. Bookman, BORBA, Paulo S. Proposta de um Processo Ágil de desenvolvimento de software utilizando Processo Unificado e Extreme Programming. São Paulo, Dissertação (Mestrado) Universidade de São Paulo Instituto de Pesquisas Tecnológicas Brooks, F. No Silver Bullet: Essence and Accidents of Software Engineering. Proc. IFIP, IEEE CS Press, pp ; reprinted in IEEE Computer, pp , Apr CHARETTE, R. Fair Fight? Agile Versus Heavy Methodologies, Cutter Consortium E-project Management Advisory Service, 2, 13, COCKBURN, A.; HIGHSMITH, J. Agile Software Development: The Business of Innovation. IEEE Computer, Sept., pp , GILB, T. Principles of Software Engineering Management. Addison-Wesley, HIGHSMITH, J.; ORR, K.; COCKBURN, A. Extreme Programming. E-Business Application Delivery, Feb., pp. 4-17, LEFFINGWELL, D.; WIDRIG, D. Managing Software Requirements a unified approach. Addison Wesley, PRESSMAN, R. Engenharia de Software. McGraw-Hill, SOMMERVILLE, I. Engenharia de Software. Editora Addison-Wesley. 592p, STANDISH GROUP CHAOS report, 586 Olde Kings Highway. Dennis, MA 02638, USA, 1995.

SIMPLe: uma abordagem simples

SIMPLe: uma abordagem simples SIMPLe: uma abordagem simples orientada a problemas para o desenvolvimento de software Rafael Sabbagh Parte I!! Problemas e Soluções Aceitar Feature Request gera desperdício! Feature Request! Converse

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia 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 mais

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA 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 mais

XP EXTREME PROGRAMMING. AGO106 - Gestão

XP EXTREME PROGRAMMING. AGO106 - Gestão XP EXTREME PROGRAMMING AGO106 - Gestão de Processos de Desenvolvimento de Software DESENVOLVIMENTO TRADICIONAL Sequencial: Análise, Design, Implementação, Teste, Implantação e Manutenção Características:

Leia mais

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa Desenvolvimento Ágil de Software Prof. Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Métodos Ágeis História Na início da década de 90 havia uma visão de que a melhor maneira para se criar software era

Leia mais

Modelos de Processo de Software

Modelos de Processo de Software Modelos de Processo de Software Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com PAE: Armando M. Toda armando.toda@gmail.com (material produzido e atualizado pelos professores

Leia mais

Prof. Luiz A. Nascimento

Prof. Luiz A. Nascimento Prof. Luiz A. Nascimento Qual a importância da Engenharia de Software? O desenvolvimento de um software envolve processos muitos complexos. A engenharia de software estabelece um modelo para se construir

Leia mais

Engenharia de Software II

Engenharia 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 mais

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia

Disciplina - 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 mais

Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)

Comparaçã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 mais

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta Garantia da Qualidade, Medição e Melhoria Leonardo Gresta Paulino Murta leomurta@ic.uff.br Exercício motivacional Leonardo Murta Garantia da Qualidade, Medição e Melhoria 2 Qualidade depende da perspectiva...

Leia mais

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

PROCESSOS 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 mais

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um. Aula 02 CICLO DE VIDA DO SOFTWARE O ciclo de vida de um software é uma estrutura contendo todos os processos e tarefas envolvendo o desenvolvimento e finalização, ou seja, as etapas de operação e manutenção

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 7 http://www.ic.uff.br/~bianca/engsoft2/ Aula 7-12/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Apresentação do Curso de Engenharia de Software 2

Apresentação do Curso de Engenharia de Software 2 Apresentação do Curso de Engenharia de Software 2 Leonardo Gresta Paulino Murta leomurta@ic.uff.br Quem sou eu? Apresentações Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome? Estágio?

Leia mais

Aula 2 Processo de Software

Aula 2 Processo de Software Aula 2 Processo de Software Processo de software O que é processo de software? Deve incluir 4 partes fundamentais Não existe um processo ideal Certo ou errado? O tipo de software influencia no tipo de

Leia mais

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario FDD Desenvolvimento dirigido a funcionalidades 2 Agenda FDD; Melhores práticas do FDD; Principais papéis; Processos. FDD Metodologia interativa e

Leia mais

Apresentação do Curso de Engenharia de So5ware II

Apresentação do Curso de Engenharia de So5ware II Apresentação do Curso de Engenharia de So5ware II Leonardo Gresta Paulino Murta leomurta@ic.uff.br Quem sou eu? Apresentações Leonardo Murta h>p://www.ic.uff.br/~leomurta Quem são vocês? Nome? Estágio?

Leia mais

Engenharia de Software. Ficha T. Prática nº 6

Engenharia de Software. Ficha T. Prática nº 6 Engenharia de Software Ficha T. Prática nº 6 Fonte: Eng. De Software, Colecção Schaum Objectivo: Garantia da qualidade do software 1. Introdução Existem muitas maneiras de definir a qualidade. Nenhuma

Leia mais

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Tecnologia em Sistemas de Informação DISCIPLINA: SOFT Engenharia de Software DATA: AULA NÚMERO: 01 PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Software...1 2.2 Engenharia

Leia mais

O 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 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 mais

Engenharia 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 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 mais

Analista de Sistemas S. J. Rio Preto

Analista de Sistemas S. J. Rio Preto Modelo em Cascata ou Clássico O modelo de ciclo de vida em cascata foi o primeiro modelo a ser conhecido em engenharia de software e está na base de muitos ciclos de vida utilizados hoje em dia. Este consiste

Leia mais

Processos de Software

Processos de Software Riscos Processos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Muitos problemas no desenvolvimento de software provêm de riscos Seriam problemas potenciais que poderão ocorrer em um futuro próximo

Leia mais

METODOLOGIAS DE DESENVOLVIMENTO: UM COMPARATIVO ENTRE EXTREME PROGRAMMING E RATIONAL UNIFIED PROCESS

METODOLOGIAS DE DESENVOLVIMENTO: UM COMPARATIVO ENTRE EXTREME PROGRAMMING E RATIONAL UNIFIED PROCESS 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

Leia mais

MODELOS DE PROCESSOS (PARTE 2)

MODELOS DE PROCESSOS (PARTE 2) MODELOS DE PROCESSOS (PARTE 2) Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Recordando nossas Datas Provas (novas datas): 3ª Prova (1ª chamada): 03/07 2ª Prova (2ª chamada):

Leia mais

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

Levantamento, Análise e Gestão Requisitos. Aula 02 Levantamento, Análise e Gestão Requisitos Aula 02 Agenda RUP Visão Geral Qualidade de software Estrutura Fases Disciplinas Principais papéis Atualização dos Requisitos Visão Geral Conjunto Subjacente de

Leia mais

Processo de Desenvolvimento de Software

Processo 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 mais

Apresentação do Curso de Engenharia de So5ware II

Apresentação do Curso de Engenharia de So5ware II Apresentação do Curso de Engenharia de So5ware II Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta h>p://www.ic.uff.br/~leomurta Quem são vocês? Nome? Estágio?

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 Plano de Ensino e Aprendizagem 2 3 Objetivos CONTEÚDO Se preparar para o inicio de um projeto Acompanhamento projeto Controles Métricas

Leia mais

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata 4//204 Engenharia de Software Luiz A. Nascimento Modelos de software Cascata (especificação/desenvolvimento/ validação e evolução) Na teoria:desenvolvimento linear Na prática: São necessárias várias iterações

Leia mais

Class Responsibilities and Collaborators

Class Responsibilities and Collaborators Class Responsibilities and Collaborators Cartões que representam as responsabilidades e as interações das classes Utilizados para estimular o aprendizado do paradigma da orientação a objetos Dimensões

Leia mais

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds TS03 Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE COTI Informática Escola de Nerds Teste do Desenvolvedor O Teste do Desenvolvedor denota os aspectos de design e implementação de teste mais apropriados

Leia mais

1. Engenharia de Software: conceitos básicos

1. Engenharia de Software: conceitos básicos Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 1. Engenharia de Software: conceitos básicos.......... 1.1 Computador: problema ou solução? Por

Leia mais

Meios de Comunicação de Dados.

Meios de Comunicação de Dados. Meios de Comunicação de Dados www.profjvidal.com Instalação do ELASTIX Configurando a Máquina Virtual Abra o VirtualBox e clique em novo no canto superior esquerdo. Depois selecione conforme na imagem

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: 3 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos básicos como processo, projeto, produto, por que

Leia mais

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015 Gerência e Planejamento de Projeto Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto - aspectos gerais Parte 2: Plano

Leia mais

Uma Proposta para o Desenvolvimento Ágil de Ambientes Virtuais

Uma Proposta para o Desenvolvimento Ágil de Ambientes Virtuais Uma Proposta para o Desenvolvimento Ágil de Ambientes Virtuais Fernando E. R. Mattioli, Edgard A. Lamounier Jr., Alexandre Cardoso Universidade Federal de Uberlândia Uberlândia-MG, Brasil mattioli.fernando@gmail.com,

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. 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

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

RUP 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 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: 2 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO Nesta aula serão apresentados e discutidos os conceitos de Processo de desenvolvimento de software e ciclo

Leia mais

2. Processos em Engenharia de Software

2. Processos em Engenharia de Software Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 2. Processos em Engenharia de Software.......... 2.1. Visão Geral Conceito de processo conjunto

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Professor Virgílio Fries Muller E-mail: vfmnet@gmail.com Site: www.vfm.com.br Aplicações do software BÁSICO coleção de programas escritos para dar apoio a outros programas DE TEMPO

Leia mais

- Prototipação Iterativa - Observação Direta

- Prototipação Iterativa - Observação Direta - Prototipação Iterativa - Observação Direta Júnia Coutinho Anacleto Silva Maio/2004 Prototipação Iterativa A interface com o usuário é a porta de entrada da aplicação, e desempenha um papel fundamental

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 6 http://www.ic.uff.br/~bianca/engsoft2/ Aula 6-10/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Descrição Competências Organizacionais

Descrição Competências Organizacionais Descrição Competências Organizacionais Orientação para Resultados Sustentáveis Disciplina Operacional Competência Técnica Adaptabilidade e Flexibilidade Relacionamento e Colaboração Realiza tarefas dentro

Leia mais

SIGEPRO - Mini Curso sobre Métodos Ágeis de Gestão de Projetos

SIGEPRO - Mini Curso sobre Métodos Ágeis de Gestão de Projetos SIGEPRO - Mini Curso sobre Métodos Ágeis de Gestão de Projetos Jonas Analista de Negócios e Gerente de Projetos Fone:5184298411 Jonas.dc.cardoso@gmail.com 1 PROJETO Esforço temporário* para criar um produto,

Leia mais

Extreme Programming: Valores e Práticas

Extreme Programming: Valores e Práticas Programação Extrema Extreme Programming: Valores e Práticas Prof. Mauro Lopes 1-31 34 Objetivos Anteriormente trabalhamos os conceitos do Desenvolvimento Tradicional e do Desenvolvimento Ágil. Trouxemos

Leia mais

Vedação de fachadas, sem função estrutural. Painel pré-fabricado arquitetônico de concreto (PPAC) 1º FASE 2º FASE

Vedação de fachadas, sem função estrutural. Painel pré-fabricado arquitetônico de concreto (PPAC) 1º FASE 2º FASE UM PARALELO ENTRE A CONCEPÇÃO DOS PROJETOS DE PAINÉIS PRÉ- FABRICADOS ARQUITETÔNICOS DE CONCRETO E O CUMPRIMENTO DE SUAS FUNÇÕES COMO ELEMENTO DO SUBSISTEMA VEDAÇÃO VERTICAL Luciana Alves OLIVEIRA Mestranda

Leia mais

Verificação e Validação

Verificação e Validação Verificação e Validação Sistemas possuem restrições de qualidade e confiabilidade Qualidade de sw: satisfação dos requisitos funcionais, de desempenho e normas explicitamente declarados. Redução de custos

Leia mais

Processos Ágeis de Desenvolvimento de Software

Processos Á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 mais

Processo de desenvolvimento

Processo de desenvolvimento Processo de desenvolvimento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 19 Sumário 1 Desenvolvimento para a Web 2 / 19 1 Desenvolvimento

Leia mais

Engenharia 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 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 mais

Proposta do desenvolvimento de um software para apoio ao ensino da disciplina de programação orientada a objetos

Proposta do desenvolvimento de um software para apoio ao ensino da disciplina de programação orientada a objetos Anais do I Simpósio Interdisciplinar de Tecnologias na Educação [SInTE] IFSP Câmpus Boituva 24 a 26 de junho de 2015 Boituva SP Capital Nacional do Paraquedismo Proposta do desenvolvimento de um software

Leia mais

Apresentação do Curso de Engenharia de Software /2

Apresentação do Curso de Engenharia de Software /2 Apresentação do Curso de Engenharia de Software 1 2008/2 Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome?

Leia mais

Faculdade de Tecnologia de Sorocaba Tecnologia em Análise e Desenvolvimento de Sistemas

Faculdade de Tecnologia de Sorocaba Tecnologia em Análise e Desenvolvimento de Sistemas Faculdade de Tecnologia de Sorocaba Tecnologia em Análise e Desenvolvimento de Sistemas INTERAÇÃO HUMANO COMPUTADOR: INTERFACES ATIVIDADE 2 Prof.º Disciplina: Interação Humano Computador Sorocaba Março

Leia mais

Este documento requer uma compreensão do ARP e de ambientes Ethernet.

Este documento requer uma compreensão do ARP e de ambientes Ethernet. Proxy ARP Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Como o Proxy ARP Funciona? Diagrama de Rede Vantagens do Proxy ARP Desvantagens do Proxy ARP Introdução Este documento

Leia mais

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Gerência e Planejamento de Projeto Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto Aspectos Gerais Parte 2: Plano de

Leia mais

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos

Leia mais

Engenharia de Software I - Aula 04

Engenharia de Software I - Aula 04 Engenharia de Software I - Aula 04 Prof. Denis Carvalho Instituto Federal de Educação, Ciência e Tecnologia de Minas Gerais Campus São João Evangelista Conteúdo 1 Introdução 2 Paradigmas 3 Referências

Leia mais

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento

Leia mais

Português Estruturado

Português Estruturado Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,

Leia mais

TEXTO AULA 7: Cronograma e Orçamento.

TEXTO AULA 7: Cronograma e Orçamento. TEXTO AULA 7: Cronograma e Orçamento. 7.1 Cronograma (Prazos) Quando se pergunta a alguém o que faz um projeto ser bem-sucedido, temos como uma das respostas mais freqüentes: prazos realistas. E o que

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado.

O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado. Modelagem de casos de uso Casos de uso O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado. O que é Segundo Ivar Jacobson, um caso de uso

Leia mais

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana Estágio II Aula 04 Testes Ágeis Prof. MSc. Fred Viana Agenda Manifesto dos Testes Ágeis Testes Ágeis x Testes Tradicionais Sinais de que os Testes Não São Ágeis Testador Ágil Testador Ágil em Equipe Independente

Leia mais

APLICAÇÃO DO SOFTWARE ELIPSE E3 NA LUMINAR TINTAS E VERNIZES LTDA.

APLICAÇÃO DO SOFTWARE ELIPSE E3 NA LUMINAR TINTAS E VERNIZES LTDA. APLICAÇÃO DO SOFTWARE ELIPSE E3 NA LUMINAR TINTAS E VERNIZES LTDA. Este case apresenta a aplicação da solução Elipse E3 para automatizar o controle da dosagem dos componentes utilizados no processo de

Leia mais

Engenharia de Softaware para Realidade Virtual: Avaliação de Aprendizado em Ambientes 3D

Engenharia de Softaware para Realidade Virtual: Avaliação de Aprendizado em Ambientes 3D Engenharia de Softaware para Realidade Virtual: Avaliação de Aprendizado em Ambientes 3D UDESC Universidade do Estado de Santa Catarina Bacharelado em Ciência da Computação Projoto de Iniciação Científica

Leia mais

Modelos de Processo de Software. Profª Jocelma Rios

Modelos de Processo de Software. Profª Jocelma Rios Modelos de Processo de Software Profª Jocelma Rios Jun/2013 O que pretendemos: Apresentar os conceitos básicos de processos de software Descrever os principais modelos de processos de software, elucidando

Leia mais

Diagrama de Comunicação

Diagrama de Comunicação Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros, E. Desenvolvendo Software

Leia mais

Processo Unificado (PU) Unified Process

Processo 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 mais

Desenvolvimento dirigido por Funcionalidades(FDD), Desenvolvimento de Software Enxuto(LSD) e Processo Unificado Agil (AUP)

Desenvolvimento dirigido por Funcionalidades(FDD), Desenvolvimento de Software Enxuto(LSD) e Processo Unificado Agil (AUP) Desenvolvimento dirigido por Funcionalidades(FDD), Desenvolvimento de Software Enxuto(LSD) e Processo Unificado Agil (AUP) José Cláudio Moretti Junior - GRR20093177 Será apresentado os conceitos de desenvolvimento

Leia mais

MODELAGEM DE UM NOVO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM BASE EM METODOLOGIAS ÁGEIS.

MODELAGEM DE UM NOVO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM BASE EM METODOLOGIAS ÁGEIS. MODELAGEM DE UM NOVO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM BASE EM METODOLOGIAS ÁGEIS. WESLEY NOVAES FIOREZE COSTA 1 RESUMO A maioria das micro e pequenas empresas (MPEs 2 ) não utilizam processos

Leia mais

Projeto e Desenvolvimento de SAD (2)

Projeto e Desenvolvimento de SAD (2) Universidade do Contestado Campus Concórdia Curso de Sistemas de Informação Prof.: Maico Petry Projeto e Desenvolvimento de SAD (2) DISCIPLINA: Sistemas de Apoio a Decisão Metodologias de projeto e desenvolvimento:

Leia mais

Desenvolvimento ágil de software

Desenvolvimento á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

RUP RATIONAL UNIFIED PROCESS

RUP 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 mais

Prof. Dr. Thiago Jabur Bittar

Prof. Dr. Thiago Jabur Bittar Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de

Leia mais

PLANO DE ENSINO. ANO LETIVO/SEMESTRE: 2016/2 PROFESSOR: Leandro da Silva Camargo

PLANO DE ENSINO. ANO LETIVO/SEMESTRE: 2016/2 PROFESSOR: Leandro da Silva Camargo PLANO DE ENSINO ANO LETIVO/SEMESTRE: 2016/2 PROFESSOR: Leandro da Silva Camargo I DADOS DE IDENTIFICAÇÃO 1. Instituto Federal de Educação Ciência e Tecnologia 2. Campus: IFSUL Bagé 3. Endereço: Av. Leonel

Leia mais

PROCESSO RUP. Progessora Lucélia

PROCESSO RUP. Progessora Lucélia PROCESSO RUP Progessora Lucélia RUP É UM PROCESSO: Dirigido por casos de uso (use cases) Centrado na arquitetura Iterativo e incremental COMO FUNCIONA: A arquitetura provê a estrutura para guiar o desenvolvimento

Leia mais

Engenharia de Software. Tema da Aula. A Crise do Software. Principais problemas da área de Informática

Engenharia de Software. Tema da Aula. A Crise do Software. Principais problemas da área de Informática Tema da Aula A Crise do Prof. Cristiano R R Portella portella@widesoft.com.br Principais problemas da área de Informática Questionário aplicado à alta direção de 200 empresas de porte médio/grande, sobre

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade I - Engenharia de Requisitos Definição de Requisitos (Continuação) Processos de Engenharia de Requisitos (Cont.) - Análise - Registro - Validação - Gerência 1 Processo de

Leia mais

Sistema Gerenciador de Fichamentos. Descrição geral do projeto (em poucas palavras)

Sistema Gerenciador de Fichamentos. Descrição geral do projeto (em poucas palavras) Sistema Gerenciador de Fichamentos Neste semestre, vocês implementarão um sistema de informação para registro e consulta de s de textos científicos. Os textos científicos estão sempre contidos em um veículo

Leia mais

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha. ENGENHARIA DE SOFTWARE I AULA 3 Análise e diagramação professor Luciano Roberto Rocha www.lrocha.com.br POR QUE DIAGRAMAR A maioria dos problemas encontrados em sistemas tem sua origem na construção do

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE DESENVOLVIMENTO DE SOFTWARE Prof. Sales Filho GERÊNCIA DE PROJETOS AULA 04 1 Objetivos Apresentar a gerência de projetos de software e descrever as suas características particulares; Discutir o planejamento

Leia mais

Algoritmos. Grupos de Slides No 1. Prof. J. M. SIMÃO. Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS

Algoritmos. Grupos de Slides No 1. Prof. J. M. SIMÃO. Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS Algoritmos Grupos de Slides No 1. Prof. J. M. SIMÃO Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS Algoritmos Algoritmo é a essência lógica de cada programa. Algoritmo pode

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

Fá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. 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 mais

Estratégias de Testes Parte I

Estratégias de Testes Parte I Engenharia de Software III 5º. Semestre ADS Capítulo 9 Estratégias de Testes Parte I Profa. Dra. Ana Paula Gonçalves Serra Prof. Ms. Edson Saraiva de Almeida Agenda Exercício Profa. Dra. Ana Paula G. Serra

Leia mais

ORGANIZAÇÃO DO TEMPO planejamento. aprenda a planejar

ORGANIZAÇÃO DO TEMPO planejamento. aprenda a planejar ORGANIZAÇÃO DO TEMPO Por detrás de cada realização, pequena ou grande, encontra-se um planejamento. Lembre-se, se você realmente quer ver suas metas se concretizarem, aprenda a planejar. Mary Kay Ash ORGANIZAÇÃO

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

INSTITUTO 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 mais

Disciplina: Engenharia de Software. 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE

Disciplina: Engenharia de Software. 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE Disciplina: Engenharia de Software 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE Quando termina o desenvolvimento de um software? A maioria das grandes empresas gasta mais na manutenção de sistemas existentes

Leia mais

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Conteú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 mais

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO. Semestre letivo. 1. Identificação Código

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO. Semestre letivo. 1. Identificação Código MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO Ano Semestre letivo 2016 2 1. Identificação Código 1.1 Disciplina: Engenharia da Informação 1640066 1.2

Leia mais

7 Passos para um Conteúdo Incrível

7 Passos para um Conteúdo Incrível 7 Passos para um Conteúdo Incrível 7 Passos para um Conteúdo Incrível Olá, Meu nome é Tamiris Cristina, sou criadora do Nova Vida Digital, Fico muito feliz por você esta nos companhado. Estou aqui com

Leia mais

Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana

Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana Estágio II Aula 02 Conceitos de Teste de Software Prof. MSc. Fred Viana Agenda Teste de Software Defeito, Erro ou Falha? Dimensões do Teste Níveis de Teste Tipos de Teste Técnicas de Teste Teste de Software

Leia mais

GUIA DE COMPRA NORSBORG. Gama de Sofás. MODELOS/ FUNÇÕES Módulo de 2 lugares Módulo de 3 lugares Módulo de chaise-longue Módulo de canto Braços Pernas

GUIA DE COMPRA NORSBORG. Gama de Sofás. MODELOS/ FUNÇÕES Módulo de 2 lugares Módulo de 3 lugares Módulo de chaise-longue Módulo de canto Braços Pernas GUIA DE COMPRA NORSBORG Gama de Sofás MODELOS/ FUNÇÕES Módulo de 2 lugares Módulo de 3 lugares Módulo de chaise-longue Módulo de canto Braços Pernas Capa amovível Escolha de capa Capa lavável Mais informação

Leia mais

Razões de Fracasso e Sucesso de Projetos

Razões de Fracasso e Sucesso de Projetos Razões de Fracasso e Sucesso de Projetos Agenda Filme O Reino Perdido Contexto Atual - CHAOS Report Conceitos Fundamentais Projeto Projeto versus Operação Gerenciamento de Projetos Stakeholders Sucesso

Leia mais

CADÊ MEU LUCRO? Controle Financeiro! Como administrar seu próprio negócio Mary Kay

CADÊ MEU LUCRO? Controle Financeiro! Como administrar seu próprio negócio Mary Kay CADÊ MEU LUCRO? Controle Financeiro! Como administrar seu próprio negócio Mary Kay Muitas consultoras não conseguem contabilizar o seu lucro em Mary Kay Motivos mais frequentes: 1- Misturam conta pessoal

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com PAE: Armando M. Toda armando.toda@gmail.com Qualidade de Software n O que é qualidade de software? Visão

Leia mais