Disciplina Discipline MAC5716
Laboratório de Programação Extrema

Extreme Programming Laboratory

Área de Concentração: 45134

Concentration area: 45134

Criação: 26/06/2020

Creation: 26/06/2020

Ativação: 26/06/2020

Activation: 26/06/2020

Nr. de Créditos: 8

Credits: 8

Carga Horária:

Workload:

Teórica

(por semana)

Theory

(weekly)

Prática

(por semana)

Practice

(weekly)

Estudos

(por semana)

Study

(weekly)

Duração Duration Total Total
4 2 4 12 semanas 12 weeks 120 horas 120 hours

Docentes Responsáveis:

Professors:

Alfredo Goldman Vel Lejbman

Fabio Kon

Objetivos:

Familiarizar o estudante com metodologias ágeis de desenvolvimento de software orientado a objetos. Através do desenvolvimento de um sistema em equipe para um cliente real.

Objectives:

This course will introduce the students to agile software development methodologies by developing a team system for an actual client.

Justificativa:

As metodologias ágeis de desenvolvimento de software tem se mostrado bastante eficazes para o desenvolvimento de sistemas de software de pequeno e médio porte. Neste curso, os estudantes utilizam a metodologia de Programação eXtrema (XP), sob a orientação do professor, para desenvolver um sistema de software orientado a objetos de alta complexidade. Através desta experiência prática no laboratório, se faz possível a aquisição de conhecimentos e a assimilação de práticas das metodologias ágeis que serão extremamente importantes para o estudante em sua futura carreira, seja ela acadêmica ou empresarial, como desenvolvedor de software.

Rationale:

The course concerns the practical and pragmatic application of techniques, principles, and values for managing and developing high-quality software using agile methods. The student will be able to understand and apply agile principles and values through developing a software project with real "customers" and users, employing, in particular, eXtreme Programming practices.

Conteúdo:

O Manifesto Ágil. - As Práticas de XP. - Testes Automatizados. - Refatoração: técnicas sistemáticas para melhorar o desenho de software pré-existente. - Planejamento Ágil. - Padronização de Estilo. - Ferramentas para Desenvolvimento Colaborativo de Software, incluindo métricas de código fonte. - Integração Contínua. - Melhoria Contínua.

Content:

The Agile Manifesto. The principles and values of agile methods; XP Practices. The twelve initial practices. Leading practices and current corollaries; Automated Tests: how to make and tools; Refactoring: systematic techniques to improve pre-existing software design; Agile Planning. Story, estimation, and prioritization cards; Clean code and style standardization; Tools for Collaborative Software Development, including continuous integration tools and software quality assessment tools.

Forma de Avaliação:

Observação:

Pré-requisito: ter cursado a disciplina de Programação Orientada a Objetos (MAC 5714) ou equivalente, ou ter bons conhecimentos de programação orientada a objetos em uma linguagem como C++, Java ou Smalltalk.

Bibliografia:

1- Kent Beck, eXtreme Programming: Explained, Addison-Wesley, 2000. 2- Kent Beck, Test-Driven Development: By Example, Addison-Wesley, 2002. 3- Alistair Cockburn, Agile Software Development: The Cooperative Game (2nd Edition), Addison-Wesley Professional, 2006. 4- Martin, Robert C. and Coplien, James O.. Clean code: a handbook of agile software craftsmanship. Upper Saddle River, NJ [etc.]: Prentice Hall, 2009. 5- Martin Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2000. 6- Kent Beck and Cynthia Andres. Extreme Programming Explained: Embrace Change (2nd Edition), Addison-Wesley Professional, 2004. 7- Kent Beck and Martin Fowler. Planning Extreme Programming, Addison-Wesley Professional, 2000. 8- Esther Derby and Diana Larsen. Agile retrospectives making good teams great, Pragmatic Bookshelf, 2006. 9- Maurício F. Aniche. Effective software testing : a developer's guide. Shelter Island, NY, Manning, 2022. 10- A. Goldman, V. Santos, Continuous Improvement of an XP Laboratory course: An 18-year history, Agile Alliance, 2019

Bibliography:

1- Kent Beck, eXtreme Programming: Explained, Addison-Wesley, 2000. 2- Kent Beck, Test-Driven Development: By Example, Addison-Wesley, 2002. 3- Alistair Cockburn, Agile Software Development: The Cooperative Game (2nd Edition), Addison-Wesley Professional, 2006. 4- Martin, Robert C. and Coplien, James O.. Clean code: a handbook of agile software craftsmanship. Upper Saddle River, NJ [etc.]: Prentice Hall, 2009. 5- Martin Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2000. 6- Kent Beck and Cynthia Andres. Extreme Programming Explained: Embrace Change (2nd Edition), Addison-Wesley Professional, 2004. 7- Kent Beck and Martin Fowler. Planning Extreme Programming, Addison-Wesley Professional, 2000. 8- Esther Derby and Diana Larsen. Agile retrospectives making good teams great, Pragmatic Bookshelf, 2006. 9- Maurício F. Aniche. Effective software testing : a developer's guide. Shelter Island, NY, Manning, 2022. 10- A. Goldman, V. Santos, Continuous Improvement of an XP Laboratory course: An 18-year history, Agile Alliance, 2019

Tipo de oferecimento da disciplina:

Presencial

Class type:

Presencial