Engenharia de Software Aplicada (2011.1)
UFPB - Campus IV - Curso de Licenciatura em Ciência da Computação
Carga Horária: 45h
Período: 2011.1
Horário:
Quinta: 13h-15h (Sala BC 5)
Sexta: 8h-10h (Sala BC 5)
Horários de Atendimento: A definir com a turma
Grupo de Discussões: https://groups.google.com/a/dce.ufpb.br/group/esa_si?hl=pt
Notas: Clique aqui
Plano de Curso: Baixe aqui
Ementa: Aplicação dos conceitos de Engenharia de Software em projetos práticos: elicitação de requisitos, análise, projeto, verificação, validação e testes, uso de ferramentas case, processos de desenvolvimento de software, métricas, qualidade e manutenção de software.
Objetivos Programáticos: Aplicar na prática os conhecimentos teóricos adquiridos na disciplina de Engenharia de Software, focando especialmente em processos de desenvolvimento e seus papéis, atividades, disciplinas e artefatos, assim como em ferramentas para auxiliar nas atividades de desenvolvimento de software.
Objetivos Específicos: Fazer com que os alunos vivenciem na prática a definição e execução de um processo de software e entendam a importância do uso das práticas da engenharia de software para que um projeto seja desenvolvido com sucesso. Ao final da disciplina espera-se que os alunos:
Saibam definir um processo de desenvolvimento, com seus papéis e atividades;
Saibam definir as iterações de um projeto, com os artefatos a serem entregues em cada release e também a forma como deve ser feita a gerência de configuração;
Tenham tido vivência no uso de ferramentas de apoio ao desenvolvimento, como ferramentas de gerência de projeto, de controle de versão, de teste automático e de integração.
Conteúdo Programático:
Unidade I: Definição de um processo ágil de desenvolvimento de software (papéis, responsabilidades, artefatos utilizados, métodos de garantia de qualidade) e planejamento de um projeto (com definição de iterações e deliverables) e de sua gerência de configuração. Elicitação de requisitos, análise, projeto, desenvolvimento e V&V na prática.
Unidade II: Seguindo um processo de desenvolvimento na prática: coletando métricas, acompanhando o andamento do projeto, seus deliverables e gerenciando os seus riscos. Uso de ferramentas CASE de apoio ao desenvolvimento.
Unidade III: Manutenção, verificação e validação de um produto de software na prática e dos artefatos desenvolvidos ao longo de um projeto.
Aulas:
18/08: Apresentação do planejamento da disciplina e introdução aos métodos ágeis de desenvolvimento.
19/08: Princípios dos métodos ágeis e introdução a Extremme Programming (XP).
25/08: Práticas de XP.
26/08: Práticas de XP e XP na Prática (especificação do projeto a ser desenvolvido usando práticas do XP)
01/09: Não houve aula. Interdição da entrada de Rio Tinto. Exercício: Montar página do projeto com User Stories, Metáfora do Projeto, Planejamento de Releases e Práticas XP a serem adotadas.
02/09: Sem aula. Só o Exercício: Montar página do projeto com User Stories, Metáfora do projeto, Planejamento de Releases e Práticas a serem adotadas. Planejamento da primeira iteração e início do projeto.
08/09: Revisão sobre práticas de XP. Test-Driven Development na Prática.
09/09: Refinamento de User Stories. Técnicas de gerência de configuração e ferramentas de controle de versão. Mais detalhes sobre metáfora do projeto.
15/09: Acompanhamento dos projetos e refinamento de user stories.
16/09: Acompanhamento dos projetos e exercício de avaliação parcial.
22/09: Acompanhamento dos projetos.
23/09: Scrum.
29/09: Exercício de planejamento de Sprint utilizando Scrum e Redmine.
30/09: Ferramentas de "Issue Tracking" e de "Gerência de Projetos": Idéia geral e alguns exemplos (Bugzilla, Redmine, ferramenta do Google Code).
06/10: Acompanhamento e avaliação parcial dos projetos. Automação de processos utilizando a ferramenta Apache Ant.
07/10: Avaliação individual escrita dos projetos. Exemplos do uso da ferramenta "Ant".
13/10: Acompanhamento e avaliação parcial dos projetos.
14/10: Avaliação escrita sobre Scrum.
20/10 e 21/10: Sem aula. SESITEAC
27/10: Sem aula. Continuação dos projetos.
28/10: Planejamento: V&V na prática.
03/11: Acompanhamento dos projetos.
04/11: Discussão sobre o "Chaos Report": Causas de sucesso e fracasso de projetos.
10/11: Acompanhamento dos projetos.
11/11: KanBan e Gerência de Riscos
17/11: Acompanhamento de Projetos e exercício sobre Burndown Chart.
18/11 (dia inteiro): Visita ao CESAR.
24/11: Acompanhamento de Projetos
25/11: Gerência de Infra-estrutura de TI (aula Rodrigo)
01/12: Acompanhamento de Projetos
02/12: Estimativa
08/12: Feriado
09/12: Apresentação dos Projetos
15/12: Apresentação dos Projetos
16/12: Reposição de Exercícios
22/12: PROVA FINAL
Sites dos Projetos:
ESA1: https://sites.google.com/a/dce.ufpb.br/projetoesa/ Repositório em: http://code.google.com/p/projeto-esa-ufpb-si/
ESA2: https://sites.google.com/a/dce.ufpb.br/projeto_fjbg/ Repositório em: http://code.google.com/p/projetofjbg/
ESA3: https://sites.google.com/a/dce.ufpb.br/sistema-alocacao/ Repositório em: http://code.google.com/p/project-esa-team/
ESA4: http://code.google.com/p/projetoaloka Repositório em: http://code.google.com/p/projetoaloka e https://github.com/projetoaloka
ESA5: http://www.projetoaloka.com/ Repositório em: http://code.google.com/p/projetoaloka-esa5/
ESA6: https://sites.google.com/a/dce.ufpb.br/alokaheitor/ Repositório em: https://code.google.com/p/projetoesa-heitor/
Acompanhamento dos Projetos:
https://docs.google.com/spreadsheet/viewform?formkey=dE5VcDl0WGhnR3AzS1hlNFlFRWxNZEE6MQx