Desenvolvimento de projeto em engenharia de software utilizando conceitos técnicos abordados em diferentes componentes curriculares.

Banco de dados Objeto Relacional. Linguagem de Definição de Banco de Dados. Linguagem de Manipulação de Banco de Dados. Gatilhos. Procedimentos armazenados. Concorrência. Recuperação. Segurança física e lógica dos dados. Administração de Sistemas de banco de dados. Desenvolvimento de aplicação. Outros Paradigmas de Banco de Dados.

Abordar conceitos relacionados a técnicas avançadas de programação e estruturas de dados. A disciplina caracteriza-se como um importante embasamento conceitual para outras disciplinas do curso, como Sistemas Operacionais e Banco de Dados.


Introdução aos conceitos fundamentais da interação entre o usuário e o computador. Definição de usabilidade. Gerações de interfaces e de dispositivos de interação. A evolução dos tipos de interfaces para interação usuário-computador. Aspectos humanos. Aspectos tecnológicos. Métodos e técnicas de design. Ciclo de vida da engenharia de usabilidade. Heurísticas para usabilidade. Ferramentas de apoio. Métodos para avaliação da usabilidade. Padrões para interfaces. Interação do usuário com sistemas multimídia e hipertexto. Conscientização da importância do projeto da interface no impacto ambiental.

Modelagem de software orientada a objetos. Conceitos software, qualidade, requisitos e projeto de software. Notações para registro de modelos orientados a objetos. Processo de requisitos, definições básicas, elicitação, análise, especificação, verificação e validação de requisitos. Modelos e métodos da engenharia de requisitos. Gerência de projetos de engenharia de requisitos. Relação do processo de projeto arquitetural com requisitos.

Principais conceitos do paradigma orientado a objeto. Elementos de uma classe: atributos, métodos e construtores. Conceitos e objetivos do encapsulamento. Abstração de entidades de um Sistema de Informação para identificar classes. Diferença entre elementos de uma classe e de um objeto. Herança e associação de classes. Definição de um método com comportamentos distintos pela sobrecarga e sobreposição. Coesão e acoplamento de uma classe. Princípios para projetar classes com responsabilidade e reusabilidade. Preparar o aluno para a prática do desenvolvimento de aplicações orientadas a objeto com persistência de dados e emissão de relatórios.