Á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
Idiomas ministrados:
Languages taught:
Tipo de oferecimento da disciplina:
Presencial
Class type:
Presencial