Plácido A. Souza Neto

Centro Federal de Educação Tecnológica do Rio Grande do Norte

Áreas de Interesse

Engenharia de software é uma área do conhecimento da informática voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de ciência da computação, gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.

Atualmente, essas tecnologias e práticas englobam linguagens de programação, bases de dados, ferramentas, plataformas, bibliotecas, padrões, processos e a questão da Qualidade de Software.

Os fundamentos científicos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Além disso, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento de um sistema de informação.

Métodos formais, na ciência da computação e engenharia de software, são técnicas matemáticas para o desenvolvimento e especificação dos sistemas de software e hardware. Para realizar tal tarefa no desenvolvimento, deve-se primeiro construir um modelo de solução especificada formalmente, utilizando uma linguagem formal.

Não é possível garantir a perfeição de nenhum programa, independentemente do método utilizado. Mesmo usando métodos formais, podem existir várias fases do projeto onde surgem imperfeições devido a existência de especificações que não são provadas. O ponto principal é que os benefícios de uma especificação formal são atingidos independentemente da garantia de sucesso do sistema.

O uso de um método formal ajuda a especificar melhor o produto, e por isso, tende a encurtar o tempo total de implementação. Realmente passa-se mais tempo detalhando a especificação e menos programando. Durante a fase inicial é menos custoso consertar problemas, logo é importante não ter pressa neste momento.

Orientação a objetos, também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos.

Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definidos nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.

Smalltalk, Python, Ruby, C++, Object Pascal, Java e C# são exemplos de linguagens de programação orientadas a objetos.

Programação orientada a aspecto ou POA, é um paradigma de programação de computadores que permite aos desenvolvedores de software separar e organizar o código de acordo com a sua importância para a aplicação (separation of concerns). Todo programa escrito no paradigma orientado a objetos possui código que é alheio a implementação do comportamento do objeto. Este código é todo aquele utilizado para implementar funcionalidades secundárias e que encontra-se espalhado por toda a aplicação (crosscutting concern). A POA permite que esse código seja encapsulado e modularizado

Compilador é um programa que, a partir de um código escrito em uma linguagem, o código fonte, cria um programa semanticamente equivalente porém escrito em outra linguagem, código objeto.

Um compilador é um dos dois tipos mais gerais de tradutores, sendo que o segundo tipo que a ele deve ser comparado é um interpretador.

Normalmente, o código fonte é escrito em uma linguagem de programação de alto nível, com grande capacidade de abstração, e o código objeto é escrito em uma linguagem de baixo nível, como uma sequência de instruções a ser executada por um sistema operacional.

O processo de compilação é composto de análise e síntese. A análise tem como objetivo entender o código fonte e representá-lo em uma estrutura intermediária. A síntese constrói o código objecto a partir desta representação intermediária.

http://del.icio.us/placido.neto

Research

  • Software Engeneering
  • Formal Methods
  • Programming Languages Semantics
  • Compilers
  • Languages for Web Services and XML
  • Aspect Oriented Programming

Other Areas

  • Theology
  • Philosophy
  • Sociology

Tools

Eventos 2008

Onde é acessado?

Locations of visitors to this page