EA976A:2012 2S:programação

De DCA-Wiki

Programação das atividades


Aula

Dia

Tema/Metas

Leitura requerida

Referências complementares

1

02/08

Motivação - Metodologia - Visão geral da disciplina - Critérios de avaliação - Introdução a Software e Engenharia de Software

  • Ref. (1) - Cap. 1
2

07/08

Modelos de Ciclo de Vida de Software

  • Metas:
    • Ciclo de Vida de um Software
    • Modelo Ideal de Desenvolvimento: Requisitos, Análise, Projeto, Implementação
    • Iteração e Incremento
    • Ciclo de Vida Codificar e Corrigir
    • Ciclo de Vida em Cascata
    • Ciclo de Vida de Prototipagem Rápida
    • Ciclo de Vida com Software Aberto
    • Ciclo de Vida para Processos Ágeis
    • Ciclo de Vida Sincronizar e Estabilizar
    • Ciclo de Vida Espiral
    • Comparação entre os modelos de Ciclo de Vida

  • Ref. (1) - Cap. 2
3

09/08

O Processo de Software

  • Metas:
    • O Processo Unificado
      • História do UML (Unified Modeling Language)
      • A Importância da Modelagem
      • Fluxo de Trabalho de Levantamento de Requisitos
      • Fluxo de Trabalho de Análise
      • Fluxo de Trabalho de Projeto
      • Fluxo de Trabalho de Implementação
      • Fluxo de Trabalho de Testes
      • Manutenção Pós-entrega
      • Retirada do Produto
      • As Fases do Processo Unificado
      • Fase de Concepção
      • Fase de Elaboração
      • Fase de Construção
      • Fase de Transição
    • Modelos de Maturidade de Capacidade (CMM - Capability Maturity Model)
    • Outras iniciativas para o aperfeiçoamento de processos de software: ISO9000, ISO/IEC 15504, Seis Sigma, etc.

  • Ref. (1) - Cap. 3

4

14/08

Desenvolvimento Ágil

  • Metas:
    • A História da "Aliança Ágil"
    • O Manifesto para o Desenvolvimento Ágil de Software
    • O que é Agilidade ?
    • O que é um Processo Ágil
    • Modelos Ágeis de Processos
    • Extreme Programming

  • Ref. (2) - Cap. 4
5

16/08

Desenvolvimento Orientado a Aspectos

  • Metas:
    • O que é o Desenvolvimento Orientado a Aspectos ?
    • O que é um Aspecto ?
    • Separação de Assuntos
    • Aspectos, pontos de junção e de corte
    • Engenharia de Software com Aspectos
    • Engenharia de Requisitos orientada a assuntos
    • Projeto e Programação orientada a aspectos
    • Verificação e Validação com aspectos

  • Ref. (3) - Cap. 32
6

21/08

Equipes e Gerenciamento de Pessoal

  • Metas
    • Organização de Equipes
    • Abordagem de Equipe Democrática
    • Análise da Abordagem da Equipe Democrática
    • A Abordagem Clássica de Equipes com Programador-chefe
    • Impraticalidade da Abordagem Clássica da Equipe com Programador-chefe
    • Além das Equipes Democráticas e das Equipes com Programador-chefe
    • Equipes Sincronizar-e-Estabilizar
    • Equipes para Processos Ágeis
    • Equipes de Programação com Código-fonte Aberto
    • Escolha de uma Organização de Equipe Apropriada
    • Modelo de Maturidade de Capacidade de Pessoas

  • Ref. (1) - Cap. 4
23/08 Não haverá aula (participação no SIC 2012)
7

28/08

As Ferramentas de Trabalho

  • Metas:
    • Refinamento Gradual
    • Análise de Custo-Benefício
    • Métrica de Software
    • Ferramentas CASE
    • Taxonomia de Ferramentas CASE
    • Escopo do CASE
    • Versões de Software
    • Controle de Configurações
    • Ferramentas de Consolidação
    • Ganhos de Produtividade com a Tecnologia CASE

</small>

8

30/08

Testes

  • Metas:
    • Questões relativas à Qualidade
    • Testes que não se baseiam em Execução
    • Testes baseados em Execução
    • O que deve ser testado ?
    • Testes versus Provas de Correção
    • Quem deve realizar os Testes baseados em Execução ?
    • Quando parar de fazer testes ?

  • Ref. (1) - Cap. 6
9 04/09

Módulos e Objetos - Parte 1

  • Metas:
    • O que é Módulo
    • Coesão
    • Acoplamento

  • Ref. (1) - Cap. 7
10 06/09

Módulos e Objetos - Parte 2

  • Metas:
    • Encapsulamento de Dados
    • Tipos de Dados Abstratos
    • Ocultamento de Informações
    • Objetos
    • Herança, Polimorfismo e Vinculação Dinâmica
    • O Paradigma de Orientação a Objetos

  • Ref. (1) - Cap. 7
11 11/09

Reusabilidade e Portabilidade

  • Metas:
    • Conceitos de reutilização
    • Impedimentos para a reutilização
    • Estudos de caso de reutilização
    • Os objetos e a reutilização
    • Reutilização durante o projeto e a implementação
    • Reutilização e manuteção pós-entrega
    • Portabilidade
    • Por que portabilidade ?
    • Técnicas para conseguir portabilidade

  • Ref. (1) - Cap. 8
12 13/09

Planejamento e Estimativas

  • Metas:
    • Planejamento e o Processo de Software
    • Estimativa de Custo e Duração
    • Componentes de um Plano de Gerenciamento de Projeto de Software
    • Estrutura do Plano de Gerenciamento de Projeto de Software
    • O Plano de Gerenciamento de Projeto de Software do IEEE
    • Planejamento de Testes
    • Planejamento de Projetos Orientados a Objetos
    • Necessidades de Treinamento
    • Padrões de Documentação
    • Ferrramentas CASE para Planejamento e Estimativas
    • Teste do Plano de Gerenciamento de Projeto de Software

  • Ref. (1) - Cap. 9
13 18/09

Interface Humano-Computador

  • Metas:
    • Interfaces e Interface Humano-Computador
    • Usabilidade
    • Tipos de Interação com o Usuário
      • Linguagem de Comando
      • Seleção de Menus
      • Preenchimento de Formulários
      • Manipulação Direta
      • Linguagem Natural
    • Princípios (Guidelines) de Projetos de Interface
      • Familiaridade de Usuários
      • Consistência
      • Surpresa Mínima
      • Facilidade de Recuperação
      • Guia de Usuários
      • Diversidade de Usuários
    • Abordagem MVC - Model-View-Controller
    • Projeto de Interfaces
      • Análise do Usuário
      • Prototipação de Interface
      • Avaliação de Interfaces

  • Ref. (3) - Cap. 16
  • Ref. (2) - Cap. 12
14 20/09 Modelagem – Estruturas – Diagrama de Classes
15 25/09 Modelagem – Estruturas – Diagrama de Componentes e Diagrama de Deployment
16 27/09 Modelagem – Comportamentos – Diagrama de Atividades, Diagrama de Estado
17 02/10 Modelagem – Comportamentos – Diagrama de Interação – Sequência e Comunicação
18 04/10 Modelagem – Comportamentos – Diagrama de Casos de Uso
19 09/10 Pré-Projeto e Modelagem de Negócios

  • Metas:
    • O Documento de Visão do Problema
    • Modelagem Conceitual de Domínio
    • Processos de Negócios
    • Modelagem de Processos de Negócios
    • Gerenciamento de Processos de Negócios

20 11/10 Levantamento de Necessidades/Requisitos

  • Metas:
    • Requisitos: o que o cliente quer e o que ele precisa?
    • Especificação de Requisitos Clássica X Orientada a Objetos
    • Elicitação/Especificação de Requisitos no Processo Unificado

21 16/10 Análise Clássica

  • Metas:
    • O Documento de Especificação
    • Especificações Informais
    • Análise de Sistemas Estruturada
    • Outras Técnicas Semiformais
    • Modelagem de Relações entre Entidades
    • Máquinas de Estado Finito
    • Redes de Petri
    • Z
    • Outras Técnicas Formais
    • Comparação entre Técnicas de Análise Clássica
    • Realização de Testes durante a Análise Clássica
    • Ferrametnas CASE para Análise Clássica
    • Métrica para Análise Clássica
    • Desafios da Análise Clássica

  • Ref. (1) - Cap. 11
22 18/10 Análise Orientada a Objetos

  • Metas:
    • O Fluxo de Trabalho de Análise
    • Extração de Classes de Entidades
    • Extração de Classes de Contorno e de Controle
    • Ferramentas CASE para Análise Orientada a Objetos
    • Desafios da Análise Orientado a Objetos
    • Atividades da Fase de Análise

  • Ref. (1) - Cap. 12
23 23/10 Projeto

  • Metas:
    • Projeto e Abstração
    • Projeto Orientado a Operações
    • Análise de Fluxo de Dados
    • Análise de Transações
    • Projeto Orientado a Dados
    • Projeto Orientado a Objetos
    • O Fluxo de Trabalho de Projeto

  • Ref. (1) - Cap. 13
24 25/10 Projeto Avançado: Aplicações X Aplicações Web
  • Ref. (2) - Cap. 16
25 30/10 Projeto Avançado: SOA - Service Oriented Architecture

  • Metas:
    • Arquitetura de Sistema Orientada a Serviços: SOAP, WSDL, UDDI
    • Serviços como Componentes reusáveis
    • Engenharia de Serviços
    • Identificação de Serviço Candidato
    • Projeto de Interface de Serviço
    • Implementação e Implantação de Serviço
    • Serviços de Sistemas Legados
    • Desenvolvimento de Software como Serviços
    • Projeto e Implementação de Workflow
    • Teste de Serviços

  • Ref. (3) - Seção 12.4.2 e Cap. 31
26 01/11 Projeto Avançado: Frameworks, Componentes e Design Patterns

  • Metas:
    • Componentes
    • Frameworks
    • Design Patterns
      • GRASP Patterns
      • GoF Patterns

27 06/11 Gerenciamento de Configurações

  • Metas:
    • Planejamento de Gerenciamento de Configurações
    • Gerenciamento de Mudanças
    • Gerenciamento de Versões e Releases
    • Construção de Sistemas
    • Ferramentas CASE para Gerenciamento de Configurações

  • Ref. (3) - Cap. 29
28 08/11 Implementação e Testes no Processo Unificado

  • Metas:
    • O Workflow de Implementação no Processo Unificado
      • Planejamento da Implementação - Diagramas de Componentes
      • Planejamento da Implementação - Diagrama de Deployment
      • Distribuição de Componentes para Implementação
      • Implementação de Componentes
      • Realização do Teste de Unidade do Componente
      • Integração do Sistema
    • O Workflow de Testes no Processo Unificado
      • Geração do Plano de Testes
      • Design dos Testes
      • Implementação e Execução de Componentes de Testes
      • Realização de Testes de Integração
      • Realização de Testes de Sistema
      • Avaliação dos Testes

29 13/11 Manutenção Pós-entrega

  • Metas:
    • Desenvolvimento e Manutenção
    • Por que a Manutenção Pós-entrega é necessária
    • O que se exige dos Programadores de Manutenção Pós-entrega
    • Gerenciamento da Manutenção Pós-entrega
    • Manutenção do Software no Paradigma de Orientação a Objetos
    • Habilidades para Manutenção Pós-entrega versus Habilidades para Desenvolvimento
    • Engenharia Reversa
    • Testes durante a Manutenção Pós-entrega
    • Ferramentas CASE para a Manutenção Pós-entrega
    • Métrica para a Manutenção Pós-entrega
    • Desafios da Manutenção Pós-entrega

  • Ref. (1) - Cap. 15
15/11 Não haverá aula (feriado)
20/11 Não haverá aula (feriado)
22/11 Não haverá aula (participação no SBSeg 2012)
30 27/11 Projeto de software de tempo real

  • Metas:
    • Projeto de sistemas
    • SO de tempo real
    • Monitoramento e controle
    • Aquisição de dados

  • Ref. (3) - Cap. 15
04/12 2ª chance para testes perdidos Os alunos que manifestarem interesse por e-mail poderão fazer os testes que perderam durante o semestre (só estes testes)
06/12 Semana de Estudos
11/12 Exame


Ferramentas pessoais