UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA808 DISCIPLINA: EI5 – ENGENHARIA DE SOFTWARE CARGA HORÁRIA: 180h EMENTA: Estudo da engenharia da produção de software, seus padrões, modelos e metodologias, num contexto de sistemas de informação organizados em torno de sistemas de bancos de dados. Este estudo integrado é composto dos seguintes módulos: M5.1 - Engenharia de Software M5.2 - Bancos de Dados M5.3 - Análise e Projeto de Sistemas MÓDULO 5.1 : ENGENHARIA DE SOFTWARE C.H.: 60 h Cred: 3 (2.1.0) A engenharia de software. A produção de software. Qualidade de software. Ciclo de vida do software. Especificação de requisitos. Projeto de software. Implementação, teste e verificação de software. Padrões de desenvolvimento e documentação de software. Alocação e administração de pessoal e recursos. Estudo e uso de metodologias, ambientes e ferramentas. Programação em grupo. MÓDULO 5.2 : BANCOS DE DADOS C.H.: 60 h Cred: 3 (2.1.0) Introdução a sistemas de bancos de dados. Projeto de bancos de dados: modelo de entidades e relacionamentos e suas extensões; modelo de dados relacional; algoritmos de decomposição e formas normais. Controle de restrições de integridade. Noções básicas de transações. Linguagens de consultas: cálculo relacional, álgebra relacional e SQL; visões e índices secundários. - 1 de 7 - UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 EMENTA (Continuação): MÓDULO 5.3 : ANÁLISE E PROJETO DE SISTEMAS C.H.: 60 h Cred: 3 (2.1.0) Técnicas de análise de sistemas. Levantamento de informações. Estudo de viabilidade. Projeto de interfaces. Mecanismos de coleta e disseminação de informações. Sistemas de informação gerenciais. Especificação lógica e física de sistemas. Técnicas de documentação do projeto e preparação de manuais. Ferramentas de desenvolvimento de sistemas. OBJETIVOS: Geral: • Capacitar o aluno na elaboração de artefatos de software e compreender as técnicas de desenvolvimento sistemático de software Específicos: • Compreender as etapas e fases necessárias para o desenvolvimento do artefato; • Compreender as relações entre custo, tempo, escopo e qualidade; • Desenvolver planos de qualidade, de projeto, de riscos, de testes, de configuração e de manutenção; • Aprender a planejar atividades, estimar o custo e o preço, documentar requisitos, controlar a qualidade e trabalhar em equipe; • Compreender os aspectos de construção (definição de requisitos, definição da arquitetura, etc.) e destruição (testes de componentes, de integração, etc.); • Compreender os níveis de abstração existentes arquitetural até o código-fonte propriamente dito; • Aprender a abstrair em modelos de sistemas as características necessárias para o desenvolvimento de um sistema a partir da análise do respectivo documento de requisitos; • Aprender a abstrair em modelos de sistemas as características contextuais, comportamentais e estruturais; • Compreender as mais tradicionais técnicas de projeto (estruturado, essencial e orientado a objetos); • Aprender a analisar e projetar sistemas orientados a objetos usando a UML (Linguagem de Modelagem Unificada); • Compreender as mais modernas técnicas de projeto com reuso (padrões, componentes e frameworks); • Aprender a planejar, projetar, executar e gerenciar testes: unidade, componentes, integração, aceitação e sistema; - 2 de 7 - UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 OBJETIVOS (Continuação): • Compreender as técnicas de manutenção e evolução; • Aprender a gerenciar a configurar um software; Implementar um software completo, cumprindo todas as etapas necessárias e recomendadas pela engenharia de software, análise e projeto de sistemas e tecnologias de persistência de informações (bancos de dados). METODOLOGIA: A metodologia será um híbrido de Grupos Tutoriais (GT), Consultorias Individuais (CI) e Coletivas (CC) e Aulas Expositivas (AE). A seguir apresentamos os alcances de cada uma destas estratégias metodológicas: • Durante todo o curso serão realizadas atividades seguindo a metodologia PBL (Aprendizagem Baseada em Problemas), a qual consistirá basicamente de grupos tutoriais (GT) que objetivam solucionar os problemas e/ou projetos que serão propostos. Esses problemas devem ser resolvidos conforme critérios determinados em documento anexo a cada problema; • Os GTs, baseados na estratégia de PBL (Aprendizagem baseada em problemas), permitirão ao aluno chegar ao conhecimento através do processo de reflexão consigo mesmo e das relações com os outros alunos do grupo; • As CIs e CCs permitirão ao aluno estabelecer diferentes canais de diálogo no processo de resolução de problemas. • As AEs serão aulas expositivas dialogadas com o objetivo de introduzir assuntos que serão tratados mais detalhadamente nos problemas, complementar o processo de aprendizagem após o final de um problema ou até mesmo discutir outros assuntos que não serão abordados no GT. Material Utilizado • • • Para os GTs: Salas acondicionadas para PBL, com quadro branco, kit para escrever no quadro, cadeiras e mesa de reunião. Para as AEs e CCs: Salas tradicionais de aula, com quadro negro ou branco, kit para escrever nos quadros, retro-projetor, computador e canhão multimídia. Para as CIs: Sala do professor com quadro branco, kit para escrever nos quadros, computador, impressora, cadeiras e mesa. - 3 de 7 - UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 AVALIAÇÃO: Para o estudo integrado, a nota final é calculada a partir de uma média ponderada (MPEI) de produtos de grupos tutoriais (PGT) e do desempenho nos grupos tutoriais (DGT), dada abaixo: MPEI= 0,7 PGT + 0,3 DGT A média PGT foi calculada a partir de uma ponderação das notas obtidas nos produtos. Durante os Grupos Tutoriais, os alunos foram avaliados por seu desempenho (DGT), sendo consideradas as dimensões de participação, contribuição efetiva, criatividade, entrosamento e respeito mútuo em cada um dos passos do ciclo PBL. A média ponderada de cada unidade é usada para a avaliação integrada dos alunos, correspondente a um dos requisitos para a aprovação no estudo integrado. As datas para entrega dos produtos da resolução dos problemas são definidas ao longo do curso. Avaliação dos Módulos do Estudo Integrado A nota final de cada módulo é calculada a partir de uma média ponderada (MPM) de produtos de grupos tutoriais referentes ao módulo (PGTM) e avaliações de conteúdo do módulo (AC), dada abaixo: • Engenharia de Software: MPM = 0,7 PGTM + 0,3 AC • Análise e Projeto de Sistemas: MPM = 0,7 PGTM + 0,3 AC Banco de Dados: MPM = 0,7 PGTM + 0,3 AC A média PGTM é calculada a partir de uma ponderação das notas obtidas nos produtos relativos ao módulo em questão. Cada problema (etapa) que agregue conteúdo do módulo tem uma avaliação específica dos aspectos relativos a este conteúdo e esta nota foi ponderada na média PGTM de acordo com a participação do conteúdo do problema no total do conteúdo do módulo. Por exemplo, para o módulo de Análise e Projeto de Sistemas, os dois primeiros produtos devem ter um peso maior do que o último, que tem foco na codificação e testes. As provas tratam dos conteúdos abordados no módulo e são provas escritas e individuais. As datas para entrega dos produtos da resolução dos problemas e provas são definidas ao longo do curso. • Provas Finais Não obtendo conceito suficiente na avaliação de competências do estudo integrado, o estudante tem a possibilidade de fazer prova final do estudo integrado, e o conceito final fica de acordo com o sistema de avaliação vigente na UEFS. Não obtendo nota igual o superior a 7,0 (sete) na avaliação da proficiência no módulo, o estudante pode fazer prova final do módulo. O conceito final do módulo é uma média ponderada do conceito anterior (peso seis) com a prova final (peso quatro). O conceito final do módulo deve ser igual ou superior a 5,0 (cinco) para aprovação no módulo. - 4 de 7 - UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 AVALIAÇÃO (Continuação): Aprovação no Estudo Integrado Para ser aprovado no estudo integrado, o estudante precisa cumprir os seguintes requisitos: • Ter freqüência igual ou superior a 75% da carga horária efetiva ministrada no estudo integrado, caso contrário haverá reprovação por freqüência e o estudo integrado completo deve ser cursado novamente; • Ser aprovado na avaliação integrada das competências para o estudo integrado, caso contrário haverá reprovação por conceito e o estudo integrado completo deverá ser cursado novamente. Caso os requisitos anteriores tenham sido cumpridos, o estudante deverá ainda ser aprovado na avaliação de proficiência de cada módulo componente do estudo integrado, caso contrário sua situação ficará pendente até que seja aprovado em novas avaliações do módulo em período(s) subseqüente(s), não necessitando, entretanto, freqüentar novamente as atividades regulares do estudo integrado, bastando realizar apenas as atividades de avaliação. CONTEÚDO PROGRAMÁTICO: 1. Padrões de desenvolvimento e documentação de software. 2. Programação em grupo. 3. Controle de restrições de integridade. 4. Estudo de viabilidade. 5. Sistemas de informação gerenciais. 6. Especificação lógica e física de sistemas. 7. Técnicas de documentação do projeto e preparação de manuais. 1. Qualidade de software 8. Estimativa de tempo e custo 9. Gerência de projeto 10. Gerência de pessoas 11. Processo de software a. Modelos de processo b. Ciclo de vida do software c. Ferramentas CASE d. Melhoria de Processo(CMM) 12. Engenharia de Requisitos a. Análise de requisitos b. Especificação 13. Testes de Sistema 14. Arquitetura - 5 de 7 - UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 CONTEÚDO PROGRAMÁTICO (Continuação): 15. Introdução a Modelos de Sistemas 16. Análise estruturada e essencial 17. Banco de dados Relacional • Introdução • modelo E-R • modelo relacional • cálculo relacional • álgebra relacional • normalização • Metadados • Manutenção • Linguagens de consulta - SQL • Visões • Índices secundários 18. Análise orientada a objetos • projeto com reuso 19. UML 20. Banco de Dados Avançados • SGBDOO • SGBDOR • Transações • Gatilhos 21. Projeto de interface com o usuário 22. Especificação formal 23. Testes de Software • Detecção de defeitos • Projetos • Integração 24. Verificação e Validação 25. Evolução do Software 26. Gerência de Manutenção 27. Gerência de Configuração 28. Reengenharia de Software REFERÊNCIA BIBLIOGRÁFICA: SOMMERVILLE, I. Engenharia de Software, 6a. Edição, Pearson, 2003. PFLEEGER, S. L. Engenharia de Software: Teoria e Prática, Pearson, 2004. PRESSMAN, R. S. Engenharia de Software, Pearson, ???? - 6 de 7 - UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA Autorizada pelo Decreto Federal nº 77.496 de 27/04/76 Reconhecida pela Portaria Ministerial nº 874/86 de 19/12/86 Recredenciada pelo Decreto Estadual Nº 9.271 de 14/12/2004 REFERÊNCIA BIBLIOGRÁFICA (Continuação): DATE, C. J. Introdução a Sistemas de Bancos de Dados, 1a. Edição, Campus, 2004. HEUSER, C. A. Projeto de Banco de Dados, 5a. Edição, Sagra-Luzzatto, 2001. KORTH, H. F., SUDARSHAN, S. e SILBERCHATZ, A. Sistema de Banco de Dados, 3a. edição, Macron, 1999. da ROCHA, A. R. C., MALDONADO, J. C. e WEBER, K. C. Qualidade de Software: Teoria e Prática, Pearson, 2004. - 7 de 7 -