INSTITUTO DE COMPUTAÇÃO

 

Disciplinas - Especialização em Engenharia de Software

Apresentação - Inscrições - Disciplinas - Docentes - Livros - FAQs - Eventos - Alunos e Ex-Alunos - Vídeos


Conheça aqui a descrição das disciplinas oferecidas.

 


 

INF-0318 - Análise Orientada a Objetos e Projeto Arquitetural

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


 

INF-0319 - Projeto e Implementação Orientados a Objetos

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


 

INF-0320 - Interfaces Homem Computador

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


 

INF-0321 - Verificação e Validação de Software

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



INF-0323 - Linguagens e Ambientes para Programação de Software

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


 

INF-0325 - Modelagem e Projeto de Bancos de Dados

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


 

INF-0326 - Qualidade de Software

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


 

INF-0328 - Manutenção de Software

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


 

INF-0329 - Prática em Engenharia de Software

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


 

INF-0330 - Requisitos de Software e Modelos de Especificação

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


 

INF-0331 - Componentização e Reuso de Software: Conceitos e Práticas

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


 

INF-0332 - Arquitetura Orientada a Serviços - SOA & WebServices: Conceitos e Práticas

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


 

INF-0333 - Gerenciamento de Projetos de Software: Aspectos Econômicos e Planejamento

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

Instituto de Computação :: Universidade Estadual de Campinas :: Av. Albert Einstein, 1251 - Cidade Universitária, Campinas/SP - Brasil, CEP 13083-852 • Fone: [19] 3521-5838