Requisitos de Software
Introdução a Análise Orientada a Objetos
Centro Universitário Franciscano - UNIFRA
Introdução a Orientação a Objetos
“ Nós percebemos o mundo como uma
coleção de objetos que interagem
Introdução a Orientação a Objetos
O Paradigma da Orientação a Objetos
Um paradigma é uma forma de abordar um problema;
O paradigma da orientação a objetos surgiu no fim dos anos 60;
Hoje em dia, praticamente suplantou o paradigma anterior, o
Introdução a Orientação a Objetos
Princípios básicos da orientação a objetos:
Qualquer coisa é um objeto; Objetos realizam tarefas através da requisição de serviços a outros objetos;
Cada objeto pertence a uma determinada classe, onde cada classe agrupa objetos similares;
A classe é um repositório para comportamento associado ao objeto; e
Introdução a Orientação a Objetos
Uma analogia...
Há diversos objetos na História (1 princípio);
Todos colaboram com uma parte e o objetivo é alcançado quando todos trabalham juntos (2 princípio);
O comportamento esperado do EntregadorX é o mesmo esperado de qualquer entregador. Diz-se que EntregadorX é um objeto da classe Entregador (3 princípio);
Um comportamento comum a todo entregador é o de entregar a mercadoria no endereço especificado (4 princípio);
O EntregadorX é um ser humano, também mamífero, também um animal, etc... (5 princípio).
O paradigma da orientação a objetos visualiza
um sistema de
software
como uma coleção de
agentes interconectados chamados
objetos
.
Cada objeto é responsável por realizar tarefas
específicas. É através da interação entre objetos
que uma tarefa computacional é realizada.
Introdução a Orientação a Objetos
Principais Conceitos:
Classes e Objetos; Mensagens; Abstração Encapsulamento; Polimorfismo; e Herança.
Principais Conceitos – Classes e Objetos
O mundo real é formado de “coisas”;
Na terminologia de orientação a objetos, estas “coisas”
do mundo real são denominadas objetos;
Seres humanos costumam agrupar os objetos para
entendê-los;
A descrição de um grupo de objetos é denominada
classe de objetos, ou simplesmente classe.
Principais Conceitos – Classes e Objetos
Uma classe é um molde para objetos. Diz-se que um
objeto é uma instância de uma classe;
Introdução a Orientação a Objetos
Principais Conceitos – Classes e Objetos
Uma classe é uma abstração das características relevantes
de um grupo de coisas do mundo real;
Uma abstração é uma representação das características
relevantes de um conceito do mundo real para um
determinado problema.
Carro (para uma transportadora de cargas); Carro (para uma fábrica de automóveis); Carro (para um colecionador);
Introdução a Orientação a Objetos
Características:
cor das penas: azuis formato do bico: fino
velocidade de vôo: rápida
Comportamento:
Identidade::
beija-flor da Unifraclasse
instância da
classe (objeto)
Introdução a Orientação a Objetos
Identidade::
pombo da praça Saldanha MarinhoCaracterísticas:
cor das penas: cinza formato do bico: curto
classe
instância da
classe (objeto)
Introdução a Orientação a Objetos
Principais Conceitos – Mensagens
Objetos não executam suas operações aleatoriamente: deve haver um estímulo enviado a este objeto;
o objeto pode responder a estímulos a ele enviados;
Independente da origem do estímulo, quando ele ocorre, diz-se que o objeto está recebendo uma mensagem requisitando que ele realize alguma operação;
“objetos de um sistema estão trocando mensagens” significa que estes objetos estão enviando mensagens uns aos outros com o objetivo de realizar alguma tarefa dentro do sistema no qual estão inseridos.
Introdução a Orientação a Objetos
Introdução a Orientação a Objetos
Abstração
Uma abstração é qualquer
modelo que inclui os
aspectos relevantes de
alguma coisa, ao mesmo
tempo em que ignora os
menos importantes.
Introdução a Orientação a Objetos
Encapsulamento
Objetos possuem comportamento;
O termo comportamento diz respeito a que operações são
realizadas por um objeto e também de que modo estas operações são executadas.
O encapsulamento é uma forma de restringir o acesso ao comportamento interno de um objeto.
Um objeto que precise da colaboração de outro objeto para
realizar alguma tarefa simplesmente envia uma mensagem a este último.
Introdução a Orientação a Objetos
Polimorfismo
Do grego “muita formas”;
Tais formas se referem aos vários comportamentos que um mesmo método pode assumir;
É a possibilidade de dar a um mesmo método, por exemplo, variadas formas, de acordo com o momento em que se decide utilizá-lo;
Por exemplo, a operação consultar saldo() pode atuar de forma diferente nas classes ContaPoupança e ContaCorrente;
Introdução a Orientação a Objetos
Polimorfismo
Características - Herança
Compartilhamento de atributos e operações entre
classes com base em um relacionamento hierárquico;
Uma classe pode ser definida de forma abrangente (classe
mãe ou super classe) e depois refinada em sucessivas
subclasses mais definidas;
Cada subclasse incorpora, ou herda, todas as
características da superclasse, podendo acrescentar suas
próprias características.
Introdução a Orientação a Objetos
A herança facilita o
compartilhamento de
comportamento entre
classes semelhantes.
As
diferenças
ou
variações
de
uma
classe em particular
podem ser organizadas
de forma mais clara.
Introdução a Orientação a Objetos
Benefícios da OO
Facilidade de extensão, visto que os objetos tem sua estrutura bem definida;
Por todas as características acima, ocorre um aumento da
produtividade, qualidade e flexibilidade.
Produtividade, pela facilidade de reutilização a partir de componentes já desenvolvidos;
Qualidade, pela independência entre os objetos, que permite uma maior organização; e
Flexibilidade, pelos mecanismos de herança e polimorfismo, que permitem menor redundância de código e fácil manutenção;
Linguagem para Construção
A UML não é uma linguagem visual de programação, mas seus modelos podem ser diretamente conectados a diversas
linguagens de programação;
Permite a geração de código a partir de um modelo UML, seja para uma linguagem orientada a objetos ou para um banco de dados relacional;
Linguagem para Documentação
Com seus diagramas, que englobam todas as fases de produção de software, a UML permite que todas as etapas possam ser documentadas formalmente.
Formada por três elementos básicos :
os blocos básicos de construção: itens, relacionamentos e diagramas;
as regras que determinam como estes blocos de construção deverão ser aplicados; e
alguns mecanismos básicos que se aplicam a toda a linguagem.
UML – Elementos Básicos - Diagramas
UML 1.X UML 2.0
1. Diagrama de Casos de Uso
1. Diagrama de Casos de Uso
2. Diagrama de Classes 2. Diagrama de Classes
3. Diagrama de Objetos 3. Diagrama de Objetos
4. Diagrama de Seqüência 4. Diagrama de Seqüência
5. Diagrama de Colaboração 5. Diagrama de Comunicação
6. Diagrama de Transição de Estados 6. Diagrama de Transição de Estados
7. Diagrama de Atividades 7. Diagrama de Atividades
8. Diagrama de Componentes 8. Diagrama de Componentes
9. Diagrama de Implantação 9. Diagrama de Implantação
--- 10. Diagrama de Pacotes
--- 11. Diagrama de Interação – Visão Geral