BCC323 - Engenharia de Software II - 2024-2Carga horária da disciplina: 4 horas/aula Professor(es) em 2024-2
ObjetivosPropiciar 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.EmentaIntroduçã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