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:

Acompanhamento dos Projetos:

  • https://docs.google.com/spreadsheet/viewform?formkey=dE5VcDl0WGhnR3AzS1hlNFlFRWxNZEE6MQx