
Apresentação - Inscrições - Disciplinas - Docentes - Livros - FAQs - Eventos - Alunos e Ex-Alunos - Vídeos
Conheça aqui a descrição das disciplinas oferecidas.
Carga Horária: 32
Professor: Cecília Mary F. Rubira
Pré-Requisitos Desejáveis: Conhecimento de conceitos básicos de Programação Orientada a Objetos
Ementa:
Conceitos fundamentais da análise orientada a objetos para a estruturação e modelagem de sistemas através da construção de diagramas de classes
Diagramas dinâmicos da UML, como por exemplo, diagramas de seqüência e de colaboração.
Modelagem estática e modelagem dinâmica
identificação de objetos e sua classificação em classes,especificação de atributos e operações;
identificação dos relacionamentos de generalização/especialização, agregação e associação entre as classes.
Noções de tipos abstratos de dados, encapsulamento, polimorfismo, herança simples e múltipla, classes abstratas, interfaces, pacotes, metaclasses, delegação, e padrões de projeto.
Projeto arquitetural
- Conceitos básicos de arquitetura de software
- Definição de componentes, conectores e configurações arquiteturais
- Atributos de qualidade associadas à arquitetura de software
- Desenvolvimento de sistemas centrados na arquitetura
Objetivos:
Ao final da disciplina o aluno deve ter aprendido os conceitos fundamentais de orientação a objetos e deve ser capaz de, partindo da especificação de um problema, criar um diagrama de classes que represente uma solução para o problema. Também o aluno deve ser capaz de definir a arquitetura de software do sistema alvo, de acordo com os requisitos de qualidade priorizados durante o projeto arquitetural.
Bibliografia:
Rumbaugh, J. et al., Object-Oriented Modeling and Design, Prentice Hall, 1991.
Booch, G., Object-Oriented Design with Applications, Benjamin-Cummings, 1991.
Meyer, B., Object-Oriented software construction, Prentice-Hall, 1988.
Stroustrup, B., The C + + Programming Language, Second Edition, Addison-Wesley, 1992.
Graham, N., Learning C + +, McGraw-Hill, 1991.
Daconta, M.C., Java for C/C + + Programmers, John Wiley&Sons, 1996.
Arnold, K. & Gosling, J., Programando em Java, Makron Books, 1997.
<< VOLTAR
Carga Horária: 32 horas
Professor: Luiz Eduardo Buzato
Pré-Requisitos Desejáveis: INF-0318 e INF-0323
Ementa:
Introdução ao Projeto Orientado a Objetos
Projeto de Sistema: Organização de um sistema em sub-sistemas; estruturação; Identificação de concorrência inerente ao problema; Identificação de problemas de redes, banco de dados e interface com o usuário.
Projeto de objetos: Definição completa das classes, padrões de objetos; Projeto dos algoritmos para implementar as operações;Particionamento em classes e relacionamentos em módulos; Iteração, verificação e refinamento do modelo
Projeto de Sistema: Arquitetura de Software, padrões arquiteturais
Requistos para organização da arquitetura de software: Persistência e Bancos de Dados; Apresentação e Interface para Aplicações Web; Controle de Concorrência; Controle do Estado; Distribuição
Padrões Arquiteturais associados a cada requisito organizacional: Padrões arquiteturais básicos; Padrões para Controle; Padrões para fontes de dados; Padrões para mapeamento objeto-relacional; Padrões para apresentação web; Padrões para controle de concorrência, etc
Implementação: Escolha do ambiente alvo para a implementação;
Programação orientada a objetos: Ambientes para programação orientada a objetos;
Estudo de casos
Objetivos:
Ao final da disciplina o aluno deve ser capaz de traduzir uma especificação de um problema para um sistema orientado a objetos e também deve ter adquirido uma visão completa do ciclo de desenvolvimento de software orientado a objetos: análise, projeto e implementação. Esta visão inclui um estudo comparativo das principais linguagens orientadas a objetos existentes atualmente.
Bibliografia:
Rumbaugh, J. et al., Object-Oriented Modeling and Design, Prentice Hall, 1991.
Booch, G., Object-Oriented Design with Applications, Benjamin-Cummings, 1991.
Meyer, B., Object-oriented software construction, Prentice-Hall, 1988.
Stroustrup, B., The C + + Programming Language, Second Edition, Addison- Wesley, 1992. Graham, N., Learning C + +, McGraw-Hill, 1991.
Daconta, M.C. Java for C/C + + Programmers, John Wily & Sons, 1996.
Arnold, K. & Gosling, J. Programando em Java, Makron Books, 1997.
<< VOLTAR
Carga Horária: 24 horas
Professor: Hans Kurt Edmund Liesenberg
Pré-Requisitos Desejáveis: INF-0330
Ementa:
Introdução
- Conceitos básicos e terminologia empregada
- Porque interfaces são importantes
- Dificuldades com o projeto e implementação de Interfaces
- Visão geral da área
Projetos de interfaces
- Princípios de projeto
- Resumo sucinto de algumas propostas de projeto
- Visão detalhada de projeto de interfaces com ênfase em tarefas (análise do usuário, de tarefas, protótipos,...)
Ferramentas
- Visão geral (objetivos, classificação, ênfase, etapa onde são empregadas e outros).
Objetivos:
Ao final da disciplina espera-se que o aluno tenha adquirido um "nível de consciência" acerca da área, sua problemática e abordagens empregadas.
Bibliografia:
Bass, L. e Coutaz, J., Developing Software for the User Interface, Addison-Wesley, 1991.
Downton, A. (ed), Engineering the Human-Computer Interface, McGraw-Hill, 1991.
<< VOLTAR
Carga Horária: 28 horas
Professor: Eliane Martins
Pré-Requisitos Desejáveis: INF-0318, INF-0319 e INF-0323
Ementa:
Introdução: Definição; Importância da Verificação e Validação ao longo do ciclo de vida;
Classificação das técnicas
Revisões técnicas: Passeio (walkthrough); Inspeção do produto
Abordagens formais: Prova de correção; O processo sala limpa (clean room)
Testes: Fundamentos; Os testes e o ciclo de vida
Testes unitários: Testes Estruturais; Testes Funcionais
Outras estratégias de teste
- Testes de Integração
- Testes Validação
- Testes de Sistemas
Testes de sistemas Orientados a Objeto
- Testes de classes
- Testes de grupos de classes
Objetivos:
Ao final da disciplina espera-se que o aluno tenha adquirido consciência sobre a importância da Verificação e Validação para a qualidade do software que é produzido. Com relação aos testes, espera-se que o aluno tenha compreendido a importância dos mesmos, seu impacto nos custos de desenvolvimento do software e também que se trata de uma atividade a ser levada em conta desde cedo no desenvolvimento do software. É esperado também que o aluno conheça as atividades de teste, bem como as principais técnicas empregadas.
Bibliografia:
Beizer, B., Sottware Testing Techniques, International Thomson Computer Press. 2th Edition, 1990.
Beizer, Boris. Black Box Testing. John Wiley, 1995.
Myers, G. M. The Art of Software Testing. Wiley, 1979.
Siegel, Shel. Object Orientd Software Testing: a Hierarchical Approach. John Wiley, 1996.
Andrioli, S.J. Software Validation, Verification, Testing and Documentation, Petrocelli Books. 1986.
Hetzel, W. Teste de Software, Campus, 1987.
<< VOLTAR
Carga Horária: 28 horas
Professor: Sandro Rigo
Pré-Requisitos Desejáveis: Conhecimento básico em Programação
Ementa:
Conceitos básicos de programação orientada a objetos
- encapsulamento,
- tipos abstratos de dados,
- herança,
- classes abstratas,
- agregação,
- acoplamento dinâmico,
- polimorfismo e noções de interface, pacotes e tratamento de exceções.
Para exemplificar os conceitos, a disciplina toma como base uma linguagem de programação moderna (Java), e um ambiente de projeto amplamente utilizado (Eclipse).
Objetivos:
Espera-se que ao final do curso o aluno tenha compreendido os conceitos principais de uma linguagem OO moderna, e saiba utilizá-los para programar aplicações de médio porte em um ambiente de programação realista.
Bibliografia:
G. Araújo, Programando em Java, apostila, IC-Unicamp, 2007.
C.M.F.Rubira & P.H.S.Brito, Introdução à Programação Orientada a Objetos usando Java, apostila, IC-Unicamp, 2007.
Ken Arnold & James Gosling, The Java Programming Language, 2nd, Addison-Wesley, 1997.
Bruce Eckel, Thinking in Java, 3a Edição, 2002.
<< VOLTAR
Carga Horária: 24 horas
Professores: Célio Cardoso Guimarães e André Santanchè
Pré-Requisitos Desejáveis: Conhecimento básico em Ciência da Computação
Ementa:
Conceitos básicos
Modelagem de dados (MER)
Projeto lógico de dados (Modelo Relacional)
Linguagens de manipulação de dados relacionais (AR)
Conceitos de normalização de dados relacionais
A Linguagem SQL - Teoria e prática
Objetivos:
Ao final da disciplina o aluno deverá estar familiarizado com a Tecnologia de Banco de Dados de forma que possam desenvolver modelos de sistemas baseados nesta tecnologia.
Bibliografia:
Fundamentos de banco de dados. Guimarães, Célio. UNICAMP. 2003.
Elmasri, R. and Navathe, S.B. -- Sistemas de Banco de Dados, Addison-Wesley, 4a.edição, 2005.
Korth, H.F. e Silberschatz, A. -- Sistemas de Bancos de Dados, Makron Books, 5.ªedição, 2006.
Ramakrishnan, R. -- Database management systems, McGraw-Hill, 1998.
Ullman, J.D. and Widom, J. -- A first course in database systems, Prentice-Hall, 1997.
Garcia-Molina, H. and Ullman, J.D. and Widom, J. – Database System Implementation, Prentice-Hall, 2000.
Date, C.J. – Introdução a sistemas de Banco de Dados, Campus, 8.ª edição, 2003.
<< VOLTAR
Carga Horária: 24 horas
Professor: Mário Lúcio Côrtes
Pré-Requisitos Desejáveis: INF-0321
Ementa:
Conceitos de qualidade de produto e de processo
Qualidade do produto de software: ISO/IEC 9126 e ISO 25000
Sistemas da Qualidade: ISO 90003 e ISO 9001
Modelos de qualidade de software
- CMMI (Capability Maturity Model Integration)
- PSP ( Personal Software Process)
- SPICE - ISO 15504
Evoluções recentes
Objetivos:
Ao final da disciplina o aluno deverá ter refinado suas instituições a respeito de quais aspectos são importantes para a qualidade de um software, e estar familiarizado com vários modelos de qualidade do processo de desenvolvimento do software.
Bibliografia:
Modelos de Qualidade. Cortes, M. L., Chiossi, T. C., Ed da Unicamp, 2001.
Software Engineering Metrics and Models. Conte. S. D et al. 1986.
Software Quality assurance and Evaluation. Dobbins. J. H ed ASQC Quality Press. 1990.
Software Quality Assurance and Manegement. Evans. M. W and Marcianic. J. J., John Wiley and Sons. 1987.
Software Quality: theory & management. Gillies, A. C., Chap, am and Hall, 1992.
Software Quality Management and ISO 9001. Jenner, M. G., Wiley-QED, 1995.
<< VOLTAR
Carga Horária: 24 horas
Professor: Regina Lúcia de Oliveira Moraes
Pré-Requisitos Desejáveis: INF-0319, INF-0321 e INF-0323
Ementa:
Introdução
Manutenção: definição e características
Manutenabilidade
Processos de Manutenção
Técnicas de Desenvolvimento para a Manutenabilidade – Padrões de Desenvolvimento
Padrões de Manutenção
Desenvolvimento Baseado em Componentes e Impactos na Manutenção
Desenvolvimento Orientado a Aspectos e Impactos na Manutenção
Atividades de Apoio a Manutenção
Gestão de Configuração
Compreensão de Programas
Objetivos:
Ao final da disciplina espera-se que o aluno tenha adquirido consciência da importância da manutenção no ciclo de vida de um software e que esta atividade envolve não somente o código, mas também todos os documentos do projeto. O aluno deverá estar ciente da importância da automatização do processo de desenvolvimento e manutenção do software.
Bibliografia:
Pressman, Roger. Software Engineering: a Practitioner's Approach. MC-Graw Hill, 3th Edition, 1992.
Software Engineering. Sommerville,I., 5th. ed., Addison-Wesley, 1996.
Gorla, N.- Techniques for Application Software Maintenance-Information and Software Technology, Vol. 33, No. 1, p. 65-73, 1991.
Sanches, R.- Manutenção de Sistemas: Problemas e Alternativas - Anais do 24º Congresso Nacional de Informática, p. 191 - 196, 1991.
Brown, A. W. et. al . Principles of CASE Tool Integration. Oxford University Press, NY, 1994.
<< VOLTAR
Carga Horária: 32 horas
Professor: Luiz Eduardo Buzato
Pré-Requisitos Desejáveis: INF-0319, INF-0321 e INF-0323
Ementa:
Definição de um problema
Elaboração de uma proposta de desenvolvimento
Análise e projeto do sistema
Implementação e teste
Objetivos:
Ao final da disciplina o aluno terá praticado noções teóricas envolvidas na construção de módulos de software.
Bibliografia:
Engenharia de Software. Pressman, R.S., Makron Books, 1995.
Software Validation, Verification, Testing and Documentation. Andrioli, S. J., Petrocelli Books, 1986.
Modelagem e projetos Baseados em Objetos. Rumbaugh, J et al. Campus, 1994.
Sistemas de Bancos de Dados. Korth, H.F.et al., McGraw Hill, 1989.
Software Testing Techniques, Beizer, B. International Thomson Computer Press. 2th ed, 1990.
Developing Software for the User Interface, Bass, L. & Coutaz, J., Addison- Wesley, 1991.
<< VOLTAR
Carga Horária: 32 horas
Professores: Ariadne Maria Brito Rizzoni Carvalho e Sindo Vasquez Dias
Pré-Requisitos Desejáveis: Conhecimento básico em Ciência da Computação
Ementa:
Introdução à engenharia de software
Paradigmas de desenvolvimento;
Elicitação, especificação, documentação e validação de requisitos.
Modelos para especificação de sistemas de software.
Objetivos:
Ao final da disciplina o aluno deve compreender as diferentes atividades envolvidas no desenvolvimento de um software, e como o paradigma de desenvolvimento escolhido afeta estas atividades. Finalmente, o aluno deve ser capaz de levantar, avaliar e especificar os requisitos do usuário utilizando modelos.
Bibliografia:
Introdução à Engenharia de Software, Carvalho, A e Chiossi, T,. Editora da UNICAMP, 2001.
Software Engineering: A practitioner’s Approach, Pressman, R. 4ª ed., McGraw-Hill,2004.
Requirements Engineering, Hull, E, Jackson, K.,Dick, J., SpringerVerlag, 2004.
Requirements Engineering: A Good Practice Guide, Sommerville, I. and Sawyer, P. John Wiley & Sons, 1997.
Issues in Requirements Elicitation. Chistel, M.G. and Kang, K.C. Software Engineering Institute, Technical Report CMU/SEI-92-Tr-12, Pittsburgh, PA.Carnegie Mellon University, Sep, 1992.
Applying Use Cases- A practical guide, Schneider, G., Winters, J., Addison-Wesley, 1998.
<< VOLTAR
Carga Horária: 28 horas
Professor: Maurício Borges
Pré-Requisitos Desejáveis: Conhecimento em análise o projeto Orientados a Objetos.
Ementa:
Introdução a componentização, reúso e CBSE
Componentes de software: principais características, propriedades e categorias
Especificação, modelagem e arquiteturas de componentes utilizando a UML
Componentes e a Arquitetura Orientada a Serviços (SOA)
Implementação, modelos (padrões) e frameworks de componentes. Padrão SCA.
Manutenção, evolução e gerência de configuração (CM) de componentes e soluções componentizadas.
Gestão estratégica de componentes
Objetivos:
Apresentar aos alunos uma visão ampla dos conceitos e técnicas da engenharia de software baseada em componentes, desde a identificação e arquitetura de componentes, passando-se pela sua especificação, modelagem, implementação, implantação e evolução. Os laboratórios da disciplina exercitam a modelagem de componentes, utilizando uma abordagem extremamente prática.
Bibliografia:
UML Components: A Simple Process for Specifying Component-Based Software. John Cheesman, John Daniels - Addison-Wesley Professional; 1ST edition (October 13, 2000)
Large Scale Component Based Development (Paperback). Alan W. Brown - Prentice Hall Ptr; 1ST edition (December 15, 2000)
Core J2EE Patterns: Best Practices and Design Strategies, Second Edition. Deepak Alur, Dan Malks, John Crupi - Prentice Hall Ptr; 2 edition (May 10, 2003)
Enterprise Unified Process: The Strategic Reuse Discipline. Scott Ambler, John Nalbone e Michel J. Vizdos - Prentice Hall (Fevereiro, 2005)
Measuring Software Reuse: Principles, Practices and Economic Models. Jeffrey S. Poulin - Addison-Wesley Professional; Primeira edição (Novembro, 1996)
Software Reuse: Architecture, Process and Organization for Business Success. I. Jacobson, M. Griss, P. Jonsson - Addison-Wesley Professional; Primeira edição (Maio, 1997)
UML Components: A Simple Process for Specifying Component-Based Software. John Cheesman, John Daniels - Addison-Wesley Professional; 1ST edition (October 13, 2000)
Large Scale Component Based Development (Paperback). Alan W. Brown - Prentice Hall Ptr; 1ST edition (December 15, 2000)
Core J2EE Patterns: Best Practices and Design Strategies, Second Edition. Deepak Alur, Dan Malks, John Crupi - Prentice Hall Ptr; 2 edition (May 10, 2003)
Enterprise Unified Process: The Strategic Reuse Discipline. Scott Ambler, John Nalbone e Michel J. Vizdos - Prentice Hall (Fevereiro, 2005)
Measuring Software Reuse: Principles, Practices and Economic Models. Jeffrey S. Poulin - Addison-Wesley Professional; Primeira edição (Novembro, 1996)
Software Reuse: Architecture, Process and Organization for Business Success. I. Jacobson, M. Griss, P. Jonsson - Addison-Wesley Professional; Primeira edição (Maio, 1997).
<< VOLTAR
Carga Horária: 20 horas
Professor: Kleber Bacili
Pré-Requisitos Desejáveis: Conhecimento em análise o projeto Orientados a Objetos.
Ementa:
Introdução SOA: motivadores, definições, benefícios e desafios
Principais características: provider, consumer & registry;
Estudo de Casos nacionais e internacionais;
Identificação e modelagem de serviços;
Principais tecnologias de Web Services: XML, WSDL, SOAP e UDDI;
Interoperabilidade em Web Services, especificações emergentes e ferramentas;
Governança SOA e Métricas de Reúso;
Infra-estrutura SOA (ESB, Registries and Repositories etc.);
Roadmap de adoção nas empresas e tendências de mercado.
Objetivos:
Apresentar aos alunos a forma de construção de aplicações através da utilização de arquitetura orientada a serviços (SOA) e das principais tecnologias WebServices. Trata-se de uma abordagem que vem atraindo muita atenção do mercado pois permite a aplicação dos conceitos de componentização e reúso reduzindo custo e prazo de novos projetos de desenvolvimento. Os alunos serão capacitados nos principais conceitos, benefícios, técnicas, boas práticas, aplicações em estudo de casos e exercícios. O objetivo é que os alunos estejam capacitados a planejar a implantação do conceito SOA dentro de suas empresas e a projetar aplicações orientadas a serviços lançando mão de um amplo leque de tecnologias e produtos.
Bibliografia:
Understanding SOA with Web Services (Independent Technology Guides). Eric Newcomer, Greg Lomow - Addison-Wesley Professional (December 14, 2004)
Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Thomas Erl - Prentice Hall Ptr (August 2, 2005)
Service-Oriented Architecture (SOA): A Planning and Implementation Guide for Business and Technology. Eric A. Marks and Michael Bell - Wiley (April 28, 2006)
Enterprise SOA : Service-Oriented Architecture Best Practices. Dirk Krafzig, Karl Banke, Dirk Slama - Prentice Hall Ptr (November 9, 2004)
<< VOLTAR
Carga Horária: 32
Professor: Thelma Cecília dos Santos Chiossi
Pré-Requisitos Desejáveis: INF-0330 - Requisitos de Software e Modelos de Especificação
Ementa:
Conceitos de Gerenciamento de Projetos de Software. Métricas de processo e de produto. Modelos de previsão de custo/duração. Planejamento: estudo de viabilidade, organização de projetos, análise de risco, acompanhamento e controle de projetos.
Objetivos:
Ao final da disciplina o aluno deve ter aprendido:
- Elaborar medição do produto de software utilizando Pontos de Função e Pontos de Caso de Uso.
- Elaborar estimativas de custo do produto baseando-se nas medidas realizadas.
- Produzir um plano de desenvolvimento do produto de software baseado nas estimativas.
Bibliografia:
Software Management, Reifer, D. J., Computer Society, 6ª ed, 2002.
Software Metrics - A Rigorous & Practical Approach. Fenton, E. N. and Pfleeger, L. S., 2ª ed., PWS Publishing Company, 1998.
Análise de Pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software, Simões, C. V., Albert, R.,G., ed Érica, 2003.
Planejamento de Sistemas de Informação e Informática, Rezende, D. A., ed Atlas S.A, 2003.
The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition. Brooks, F., Addison-Wesley, 1995.
Managing the Software Process. Humphrey. W. S., Addison-Wesley. 1990.
Software Engineering Economics. Boehm, B. W., Prentice Hall. 1981.
<< VOLTAR