Nome do Componente Curricular: Engenharia de Software
Pr-requisitos: Programao Orientada a Objetos
Carga horria total: 72h Carga Horria Prtica: 36h Carga Horria Terica: 36h Objetivos Geral: O objetivo desta disciplina apresentar aos alunos uma viso geral sobre a Engenharia de Software, bem como capacit-los na escolha ou definio de processos de software para o planejamento, conduo e gerenciamento de projetos de software. Especficos: Apresentar aos alunos os principais conceitos que embasam a Engenharia de Software; Apresentar aos alunos as principais fases e atividades do processo de desenvolvimento de software; Introduzir os alunos ao uso das boas prticas de desenvolvimento de software; Capacitar os alunos a pensar no processo de desenvolvimento de software como um processo de engenharia. Capacitar os alunos na escolha de modelos de processos de software; Instrumentalizar os alunos para o uso das tcnicas e mtodos consolidados de planejamento, anlise, projeto, implementao, testes e evoluo de software. Ementa: Viso geral sobre a Engenharia de Software; Processos de desenvolvimento de software; Prticas de desenvolvimento de software; Modelos de processo; Engenharia de requisitos; Planejamento e gerenciamento de projetos; Especificao de software; Projeto de software; Metodologias de desenvolvimento de software; Verificao, Validao e Teste de Software; Evoluo de software; Gerenciamento de configurao de software; Ferramentas CASE. Contedo Programtico: Histrico e evoluo da Engenharia de Software. Conceitos e premissas da Engenharia de Software. Processos de software: conceitos, artefatos, atividades, fases e etapas. Modelos de processos: clssico, baseado em prototipao, baseado em verificaes (Modelo em V), iterativo e incremental, espiral (framework de processos). Mtodos geis: Programao Extrema e SCRUM. Engenharia de Requisitos: elicitao, anlise, especificao e modelagem, validao e gerenciamento. Planejamento: definio de cronograma e estimativas de prazos e custos. Projeto de software: arquitetural, de dados, procedural e interface com o usurio. Projeto de software de tempo-real. Implementao: padronizao de cdigo, boas prticas de codificao. Testes: estruturais e funcionais. Evoluo: manuteno de software corretiva, adaptativa e evolutiva. Modelos de maturidade e capacidade de software. Metodologia de Ensino Utilizada: O curso ser baseado em aulas expositivas com auxlio do quadro e projetor multimdia. A participao dos alunos em sala de aula ser estimulada atravs de perguntas e sesses de exerccios. Para fixao dos tpicos estudados, os alunos recebero, ao longo do curso, listas de exerccios para entrega em sala de aula. Por fim, destacam-se as aulas prticas nos laboratrios de informtica para fixao dos contedos atravs de do uso de ambientes de desenvolvimento de software. Anlise de estudos de caso e desenvolvimento prtico de projetos de software. Recursos Instrucionais Necessrios: Quadro branco, projetor multimdia e laboratrio de informtica. Critrios de Avaliao: O sistema de avaliao ser definido pelo docente responsvel pela unidade curricular no incio das atividades letivas devendo ser aprovado pela Comisso de Curso e divulgado aos alunos. O sistema adotado deve contemplar o processo de ensino e aprendizagem estabelecido neste Projeto Pedaggico, com o objetivo de favorecer o progresso do aluno ao longo do semestre. A promoo do aluno na unidade curricular obedecer aos critrios estabelecidos pela Pr-Reitoria de Graduao, tal como discutido no Projeto Pedaggico do Curso. Bibliografia Bsica: 1. Sommerville, I. Software Engineering. Addison-Wesley, 9th edition, 2011. ISBN-13: 978- 0137035151. 2. Pressman, R. Software Engineering: A Practitioner's Approach. McGraw Hill, 7th edition, 2009. ISBN-13: 978-0073375977. 3. Beck, Kent. Programao extrema (XP) explicada: acolha as mudanas. Porto Alegre: Bookman, 2004. 182 p. ISBN 978-85-363-0387-1. Complementar: 1. PFLEEGER, S. L. Engenharia de Software: Teoria e Prtica. Prentice Hall Brasil, 2a edio, 2004. ISBN-13: 9788587918314. 2. Jacobson, Ivar; Raumbaugh, James; Booch, Grady. UML: the unified software development process. Indianpolis: Addison-Wesley, 1998. 463 p. ISBN 978-0-201-57169-1. 3. Bass, Len; Clements, Paul; Kazman, Rick. Software architecture in practice. 2nd. ed. Boston: Addison-Wesley, 2003. 528 p. (SEI series in software engineering). ISBN 978-0-321-15495-8. 4. FOWLER, Martin. Refactoring. Massachsetts: Addison-Wesley, 1999. 431 p p. ISBN 978-0-201- 48567-7. 5. Schuffele, Jrg; Zurawka, Thomas. Automotive software engineering: principles, processes, methods, and tools. traduzido por Roger Carey. Warrendale (USA): SAE International, c2005. 385 p. ISBN 9780768014905.