Propiciar um conhecimento global do processo de desenvolvimento de software e mais especificamente, das várias etapas do ciclo de vida de software. Apresentar e utilizar técnicas que aplicadas a cada fase deste ciclo.
- Introdução a Engenharia de Software - Modelos de Processo de Desenvolvimento de Software - Gerência de Projeto: Pessoas, Produto, Processo, Projeto e Métricas - Análise de Sistemas - Planejamento e Estimativas - Análise de Requisitos - Casos de Uso, Diagrama de Sequência, Modelo Conceitual, Diagrama de Colaboração, Diagrama de Classes - Projeto de Interfaces - Web Engeneering - Garantia de Qualidade de Software - Gerenciamento de Configuração de Software - Técnicas de Teste de Software
1- Introdução a Engenharia de Software: Definição, Histórico do Software, Crise do Software, Mitos e Problemas (E) 2- Modelos de Processo de Desenvolvimento de Software: Modelo Cascata, Prototipação, RAD, Modelo Incremental, Modelo Espiral, RUP, XP e Técnicas de 4a Geração (E) 3- Gerência de Projeto: Pessoas (E) 4- Gerência de Projeto: Produto, Processo e Projeto (E) 5- Gerência de Projeto: Métricas (E) 6- Análise de Sistemas (E) 7- Planejamento e Estimativas (E) 8- Planejamento: Gerência de Risco (E) 9- Planejamento: Cronograma (E) 10- Planejamento: Plano de Projeto (E) 11- Engenharia de Sistema (E) 12- Engenharia de Requisitos (E ) 13- Projeto de Software (E ) 14- Processo de Software (E) 15- Projeto de Interfaces (E) 16- Engenharia da Web (C ) 17- Garantia de Qualidade de Software (E) 18- Controle e garantia de qualidade de software (C) 19- Gerenciamento de Configuração de Software (E) 20- Técnicas de Teste de Software (E) 21- Estratégias de Testes (E) 22- Documentação (C ) 23- Manutenção (C ) 24- Reuso ( C) Legenda: (E) Essencial e (C) Complementar A introdução da disciplina (conteúdos 1 e 2) são conceitos fundamentais para o processo de aquisição cognitiva de conhecimento e mudança de atitude em relação a desenvolvimento de software, uma vez que o aluno verifica o cenário histórico, as motivações, as vantagens e as iniciativas inicias para a criação da de um processo sistematizado e controlado de desenvolvimento de software, denominado Engenharia de Software. Os conceitos de gerência (conteúdos 3 a 5) são fundamentais para o aluno entender (cognitivo) o funcionamento de uma empresa de software e verificar atitudes em diferentes papéis dessa empresa. Esses conceitos de gerência são complementados com os conteúdos 6 a 12 apresentados de forma sucinta, visto que podem se desmembrar em novas disciplinas ou até mesmo áreas: análise de sistema, planejamento de software e engenharia de requisitos. Os conceitos básicos dos conteúdos de 13, 14,15, 17, 19 20 e 21 são apresentados para aquisição do aluno (cognitivo), porém enfatiza-se o desenvolvimento de procedimentos que sustentam esses conceitos. Os conteúdos de 16, 18, 22, 23 e 24 são brevemente apresentados para que o aluno adquira (cognitivo) idéias básicas de cada um desses pontos conceituais.
PRESMAN, R.S. Engenharia de Software. 6ª Edição, Editora McGraw-Hill, 2004. LARMAN, C.; SALVADOR, L.M.A; Utilizando UML e padrões: uma introdução à análise e ao projeto orientado a objetos. Porto Alegre: Bookman, 2000.PFLEEGER, S.L. Engenharia de Software, 2003. SOMMERVILLE, I.; Software Engineering, Addison-Wesley, 2003.VON MAYRHAUSER, A.; Software Engineering: Methods and Management, Academic Press, 1990. GHEZZI, C.; JAZAYERI, M.; MANDRIOLI, D. Fundamentals of Software Engineering, Prentice Hall, 1991. PRESSMAN, R.S. Engenharia de Software, Makron Books, 2000. RUMBAUGH, J.; JACOBSON, I.; BOOCH, G.; The Unified Modeling Language Reference Manual, Addison-Wesley Publishing Company, 1999. CONALLEN, J.; Building Web Applications with UML, Addison-Wesley, 1999.FOWLER, M.; SCOTT, K.; UML Essencial, Bookman, 2000.FAIRLEY, R E. Software engineering concepts. McGraw-Hill 1987.