O documento apresenta uma introdução às técnicas e metodologias de desenvolvimento orientadas a objetos, descrevendo características como reuso de objetos, modelagem baseada em classes e herança. Também resume diversas metodologias como Booch, OMT, OOSE/Objectory, Coad/Yourdon e UML.
2. Tecnicas e Metodologias
OO
Uma das preocupações da indústria
de software é a necessidade de
criar software e sistemas
corporativos muito rapidamente e a
um custo baixo. Este software
deverá ainda ser confiável.
Os meios para se conseguir um
software que preencha essas
exigências não é a aplicação de
uma só técnica mas a combinação
de muitas ferramentas e técnicas
necessárias para o desenvolvimento
de um determinado software.
2/16/2007 2
3. Técnicas OO
As técnicas Orientadas a Objecto
permitem que o software seja
construído de "objectos" que tenham
um comportamento específico.
Os próprios objectos podem ser
construídos a partir de outros, os quais
por sua vez, podem ainda ser
construídos a partir de outros.
2/16/2007 3
4. Técnicas OO
O mundo das técnicas orientadas a
objecto executadas com ferramentas
CASE baseadas em repositórios é
diferente.
O desenvolvedor deverá pensar em
termos de objectos e seu
comportamento, e o código será
gerado.
2/16/2007 4
5. Características das Técnicas OO (1)
De acordo com Martin (1995) :
Sistemas podem ser frequentemente
construídos de objectos existentes;
A complexidade de objectos que podemos
usar continua a crescer, visto que objectos
são construídos dentro de outros objectos;
O repositório CASE deve conter uma
biblioteca sempre crescente de tipos de
objectos;
2/16/2007 5
6. Características das Técnicas
OO (2)
Recriar sistemas que
funcionem de forma correcta é
mais fácil com as técnicas OO.
Isto porque as classes são
independentes e projectadas
para serem reusadas;
As técnicas OO têm um ajuste
2/16/2007 natural com a tecnologia CASE. 6
7. Metodologias de
Desenvolvimento de Sistemas
As metodologias estruturadas
Modelo de dados relacional
Técnicas e notações
As metodologias orientadas a
objectos(OO)
Modelo de Dados OO
A Linguagem de Modelação UML
2/16/2007 7
8. Metodologias de AOO
Destacam-se das diversas metodologias:
Método de Booch [Booch,1994],
Object Modeling Technique – OMT
[Rumbaugh et al, 1994],
Método de Coad/Yourdon [Coad &
Yourdon, 1990],
Object-Oriented Software Engineering –
OOSE/Objectory [Jacobson, 1992]
Object-Oriented Analysis/Design –
OOA/D [Shlaer-Mellor, 1988],
Unified Modeling Language – UML
[OMG, 2001].
2/16/2007 8
9. Método Booch (1)
A notação captura os aspectos
estáticos e dinâmicos de um
sistema
O processo possui 4 fases:
Identificar classes e objectos
Identificar a semântica das classes e
dos objectos
Identificar os relacionamentos entre
classes e objectos
Implementar classes e objectos.
2/16/2007 9
10. Método Booch (2)
Diagramas: classes, objectos,
módulos, processos, transição de
estados e interacção
Um diagrama de classes mostra as
classes, seus relacionamentos e
cardinalidades
2/16/2007 10
11. Método Booch (3)
Um diagrama de objectos (e
template) mostra os objectos, seus
relacionamentos, sua visibilidade
(global, parâmetro, local), e
sincronização (síncrona, assíncrona,
timeout) de mensagens
2/16/2007 11
12. Método Booch (4)
Um diagrama de módulos é usado
p/ mostrar a alocação de classes e
objectos em módulos (e.g.
programa principal, especificação,
corpo, subsistema) no desenho
físico do sistema
2/16/2007 12
13. Método Booch (5)
Um diagrama de processos é usado
para mostrar a alocação de
processos em processadores no
desenho físico de um sistema.
Conexões também são mostradas
2/16/2007 13
14. OMT (1)
OMT (Object Modeling Technique)
consiste de 3 modelos: Modelo de
Objecto, Modelo Dinâmico e o Modelo
Funcional
Na definição do modelo de objectos:
O analista identifica classes e objectos,
Constrói um dicionário de dados,
Adiciona associações entre classes,
Adiciona atributos a objectos,
Organiza classes através de herança,
Testa passos de acesso usando cenários
Refina o modelo e agrupa classes em
módulos
2/16/2007 14
15. OMT (2)
A definição do modelo dinâmico
consiste em:
Escrever cenários de interacções
típicas
Identificar eventos entre objectos
Preparar um event trace diagram para
cada cenário
2/16/2007 15
16. OMT (3)
Preparar um event flow diagram do
sistema
Preparar diagramas de estados p/
classes
Verificar consistência e completude
entre diagramas de estados.
Concorrência também é descrita neste
modelo
2/16/2007 16
17. OMT (4)
Na definição do modelo funcional,
o analista
Identifica valores de entrada e saída,
Utiliza diagramas de fluxos de dados
para mostar dependências funcionais,
Descreve cada função, e
Identifica restrições
Estes 3 modelos têm de ser
verificados, integrados, e refinados
2/16/2007 17
18. OOSE/Objectory
Desenvolvido por Ivar Jacobson
É uma abordagem orientada a use
cases
O modelo de use case contém
actores e descrições dos use cases
É utilizado para desenvolver outros
modelos (modelo de objectos, de
interacção, transição de estados)
O sistema é visto como um conjunto
de blocos conectados, cada bloco
representando um serviço do
2/16/2007 sistema 18
19. Coad and Yourdon (1)
O método de análise OOA de Coad
and Yourdon é composto por 5
camadas de análise:
As camadas são:
Classe-Objecto,
Estrutura,
Assunto,
Atributo e
Serviço
2/16/2007 19
20. Coad and Yourdon (2)
A camada Classe-Objecto consiste em
identificar classes e objectos de uma
aplicação através de documentos,
unidades organizacionais, outros
sistemas, etc.
A camada Estrutura consiste em definir
os relacionamentos de generalização,
especialização e agregação
A camada Assunto (Subject) consiste no
agrupamento de objectos/classes
relacionados
2/16/2007 20
21. Coad and Yourdon (3)
A camada Atributo consiste em
identificar as propriedades de classes e
objectos a fim de dar mais detalhes às
suas descrições. Conexões de instância
tb são definidas: são associações entre
objectos + restrições de cardinalidade
A camada Serviço consiste em
identificar os estados dos objectos, os
serviços disponíveis para cada classe e
conexões de mensagens.
Um serviço é uma processo a ser realizado
quando uma mensagem é recebida
2/16/2007 21
22. UML (1)
Um força de trabalho da OMG
foi estabelecida para
standardização na área de
métodos
Em 1997, várias organizações
submeteram propostas
UML tornou-se um standard
para modelação OO
2/16/2007 22
23. UML (2)
Desenvolvido por autores de
métodos de análise e desenho
largamente utilizados (Booch,
Rumbaugh, Jacobson)
UML no estado actual define uma
notação e um metamodelo; ou seja,
UML não é um método
A notação é gráfica; é a sintaxe da
linguagem de modelação
2/16/2007 23
24. UML (3)
O meta-modelo é usado para
aumentar o rigor dos modelos,
normalmente utilizando um
diagrama de classes para definir a
notação
Relacionamento
Agregação Associação
2/16/2007 24
25. Bibliografia
Larman, C. (2001); Applying UML and Patterns: An
Introduction to Object-Oriented Analysis and Design
and the Unified Process, USA, Prentice Hall PTR –
2ª Edição
Martin, J. e Odell, J. J. (1995) Análise e Projeto
Orientados a Objeto, São Paulo: Makron Books
Page-Jones, M. (2001) Fundamentos do Desenho
Orientado a Objeto com UML, São Paulo: Makron
Books
Pereira, R.(1996) Avaliacao de metodologias de
análise e projecto orientadas a objectos voltadas ao
desenvolvimento de aplicações sob a ótica de sua
utilização no desenvolvimento de frameworks
orientados a objetos, http://www.inf.ufsc.br
http://www.mat.ua.pt
2/16/2007 25