BCC323 - Engenharia de Software II - 2024-2

Carga horária da disciplina: 4 horas/aula


Professor(es) em 2024-2

Turma 11 Professor:
Daniel Ludovico Guidoni - e-mail

Horários:
Terça-feira (15h20 - 17h00)
Quinta-feira (15h20 - 17h00)

Objetivos

Propiciar conhecimento e prática acerca dos processos e metodologias envolvidos na obtenção de um produto de software, passando pela análise do problema, definição do projeto, seu planejamento, desenvolvimento e manutenção. Selecionar e aplicar padrões de projeto de software na construção de produtos de software. Avaliar projetos de software a partir da perspectiva do reuso. Explicar o valor das Interfaces para Programação de Aplicações (APIs) no desenvolvimento de software. Analisar e escolher criticamente ferramentas de suporte ao desenvolvimento de software. Praticar atividades de desenvolvimento de software em equipe e de forma colaborativa.

Ementa

Introdução à Engenharia de Software; processo de desenvolvimento de software; qualidade e métricas; especificação de requisitos; gestão de projeto de software; planejamento e estimativas; verificação e validação de software; gestão de configuração de software; ferramentas para apoiar a Engenharia de Software.

Conteúdo Programático

- Introdução à Engenharia de Software
        - O que é e para que serve a Engenharia de Software.
        - Como engenharia de software se compara com outras engenharias.
        - História da Engenharia de Software.
        - Dificuldades envolvidas na Engenharia de Software.
        - Aspectos econômicos e administrativos da Engenharia de Software
- Processo de Desenvolvimento de Software
        - Processos, modelos de processos, ciclo de vida de software
        - Ciclo em cascata
        - Iteração e incrementação
        - Espiral
        - Codificar-e-corrigir
        - Prototipagem rápida
        - Processo unificado
        - Métodos ágeis
        - Representação de processos
- Qualidade e métricas
        - Controle e garantia de qualidade
        - Modelo de maturidade: CMMI e MPSBR
        - Fatores de qualidade: McCall. ISO 9126. ISO 9000.
        - Medidas, métricas e indicadores
        - Princípios de medição
        - Medições de software orientado a objetos
        - Métricas para o modelo de análise
        - Métricas para o modelo de projeto
        - Métricas de código fonte
        - Métricas para teste
        - Métricas de manutenção
- Especificação de Requisitos
        - Elicitação de requisitos
        - Técnicas de análise modelagem de requisitos
        - Requisitos funcionais, não-funcionais e regras de negócio
        - Prototipagem
        - Técnicas para especificação formal de software
        - Técnicas de levantamento de requisitos (Questionário, Entrevistas, entre outras)
        - Documentação de requisitos e casos de uso
        - Gerenciamento de requisitos
        - Avaliação de requisito
        - Estudo de viabilidade e matriz de rastreabilidade
        - Ferramenta de suporte a análise de requisitos
- Gestão de Projeto de Software
        - Métodos e técnicas para gestão de projetos baseado nas 10 áreas do PMI
        - Montagem e estruturação e gestão de equipes: processos, organização, papéis e responsabilidades, rastreabilidade, solução de problemas
        - Cronograma de projeto
        - Cronograma
        - Acompanhamento de progresso
        - Gestão de riscos
        - Gestão de qualidade e gestão de configuração.
- Planejamento e Estimativas
        - Técnicas de medição e estimação
        - Estimativa de custo e duração
        - Recursos humanos, de software e de ambiente
        - Técnicas de decomposição
        - Pontos por função
        - COCOMO
        - Estimativa empírica
        - Métricas
        - Plano de gerenciamento e retrospectiva.
- Verificação e Validação de Software
        - Distinguir entre verificação e validação
        - Diferente tipos de testes: interface humano-computador, usabilidade, confiabilidade, segurança, conformidade com a especificação
        - Conceitos básicos: criação de plano de teste, geração de casos de teste caixa-preta e caixa-branca e Test-Driven Development.

Bibliografia

- SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Addison Wesley, 2011. 529 p. ISBN 8588639076.
- PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional. 7. ed. Porto Alegre: AMGH, 2011. 780 p. ISBN 9788563308337.
- MYERS, Glenford J.; BADGETT, Tom; SANDLER, Corey. The art of software testing. 3. ed. Hoboken, N.J.: John Wiley & Sons, 2012. ISBN 9788126557905.

Bibliografia complementar

- BASTOS, Aderson. Base de conhecimento em teste de software. 2. ed. São Paulo: Martins Fontes, 2007. 263 p. ISBN 9788599102893.
- AHERN, Dennis M; CLOUSE, Aaron; TURNER, Richard. CMMI distilled: a practical introduction to integrated process improvement. 3. ed. Upper Saddle River, N.J.: Addison Wesley, 2008. 263 p. (SEI series in software engineering). ISBN 9780321461087.
- CHRISSIS, Mary Beth; KONRAD, Mike; SHRUM, Sandy. CMMI for development: guidelines for process integration and product improvement. 3. ed. Upper Saddle River, N.J.: Addison Wesley, 2011. 650 p. (SEI series in software engineering). ISBN 9780321711502.
- AIELLO, Bob; SACHS, Leslie. Configuration management best practices: practical methods that work in the real world. Upper Saddle River, N.J.: Addison Wesley, 2010. 229 p. ISBN 9780321685865.
- SCHWABER, Ken. Agile project management with Scrum. Redmond, Wash.: Microsoft Press, 2004. 163 p. ISBN 073561993X.
- BLACK, Rex. Managing the testing process: practical tools and techniques for managing software and hardware testing. 3. ed. New York: Wiley, 2009. 638 p. ISBN 9780470404157.
- VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira; ALBERT, Renato Machado. Análise de pontos de função: medição, estimativas e gerenciamento de projetos de software. 13. ed. São Paulo: Érica, 2013. 272 p.

Departamento de Computação  |  ICEB  |  Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro  |  CEP 35400-000  |  Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692  |  decom@ufop.edu.br