2. Definição de Análise
Análise é o estudo do domínio de um
problema;
Analisar é obter as necessidades de
um sistema a ser desenvolvido para
satisfazer as necessidades do usuário.
Analisar não é definir como o sistema
será desenvolvido, mas sim investigar
o problema;
3. Paradigma Estruturado vs OO
Estruturado OO
Enfoque em Enfoque em objectos
módulos
(procedimentos e
funções)
O sistema é um O sistema é uma
conjunto de colectânea de objectos
programas que interagem entre si
Instáveis face a Estáveis face a
mudança de alterações futuras
requisitos
Manutenção difícil Manutenção controlada
4. Propósitos da AOO
Formalizar uma “visão” do mundo real
para o desenvolvimento de sistemas,
estabelecendo os objectos como as
principais estruturas.
5. Conceitos de OO
Objectos
Atributos e Métodos
Classes e Instâncias
Estado
Abstracção – concentração nos
aspectos relevantes de um
conjunto de objectos
Encapsulamento – Ocultação da
Informação
Herança – atributos da classe
mãe para a filha
Polimorfismo – varias formas
6. Princípios da OO
Qualquer coisa é um objecto.
Objectos realizam tarefas através da
requisição de serviços a outros
objectos.
Cada objecto pertence a uma
determinada classe. Uma classe
agrupa objectos similares.
A classe é um repositório para
comportamento associado ao objecto.
Classes são organizadas em
hierarquias.
7. 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].
8. TPC (da aula passada)
Estude uma das Metodologias
OO, tendo em conta:
Historia de surgimento;
Caracteristicas;
Enfoque principal;
Ciclo de Vida;
Seu contributo para a UML;
10. Surgimento de UML
Os sistemas constituídos usando
OO são flexíveis a mudanças,
possuem estruturas bem conhecidas
e provêem a oportunidade de criar e
implementar componentes
totalmente reutilizáveis.
As várias metodologias OO
existentes tem causado “conflitos”
entre a comunidade de
desenvolvedores OO, devido à falta
de delineamento das ideias de cada
uma destas.
11. Surgimento de UML
É na tentativa de padronizar a
metodologia OO de uma forma
que qualquer sistema, seja qual
for o tipo, possa ser modelado
correctamente, com
consistência, fácil de comunicar
com outras aplicações, simples
de ser actualizado e
compreensível que surgiu a
UML.
14. O que é UML
1. Linguagem visual para
especificação (modelação) de
sistemas orientados a
objectos;
Fornece representação gráfica
para os elementos essenciais do
paradigma objectos:
Classes, atributos, objectos, troca de
mensagens, ...
15. O que é UML
2. De propósito geral
Não está presa a uma etapa do desenvolvimento
de software
Análise
Desenho
Implementação
Testes
Não está presa a um processo
Ciclo de vida em cascata
Incremental
Processo Unificado e outros
Não está presa a uma linguagem de
programação
UML apoia o desenvolvimento incremental
17. O que é UML
3. Padrão OMG
Em http://www.omg.org estão
disponíveis documentos
eletrônicos que contém:
Sumário da UML
Semântica
Guia da Notação
Extensões da Linguagem
18. O que é UML
4. Privilegia a descrição de um
sistema segundo três perspectivas
Dados (estrutural):
Diagrama de Classes
Operações (funcional)
Diagrama de Caso de Uso
Eventos (temporal)
Diagramas de Sequência, Atividades, de
Transição de Estados
19. O que é UML
5. Em termos práticos, a UML é
uma linguagem formal que
permite que usuários,
analistas, desenhadores e
programadores falem a
mesma língua.
20. O que é UML
6. A UML não é um método de
desenvolvimento, o que significa que ela
não diz para você o que fazer primeiro e
em seguida ou como desenhar seu
sistema, mas ele lhe auxilia a visualizar
seu desenho e a comunicação entre
objectos.
7. A UML é controlada pelo Grupo de
Gestão de Objeto (Object Management
Group - OMG) e é um padrão da
indústria para descrever graficamente
software.
21. UML pode ser usada para
Mostrar as fronteiras de um sistema e
suas funções principais - actores e casos
de uso;
Ilustrar a realização de casos de uso -
diagramas de interacção;
Representar uma estrutura estática de
um sistema - diagramas de classe;
Modelar o comportamento de objectos -
diagramas de transição de estado;
Revelar a arquitectura de implementação
física - diagramas de componente e de
implementação;
22. Ferramentas Case da UML
Grande variedade de ferramentas
com diferentes recursos
Mais conhecidas
Rational Rational Rose Rose (http://www.
http://www.rational)
TogetherSoft ControlCenter – Java
(http://www.togethersoft.com)
Open Open
Source Source
Argo UML – Java (http://argouml.tigris.org)
Fujaba – Java (http://www.fujaba.de)
Gratuito Gratuito
Poseidon – Java
(http://www.gentleware.com)
23. Limitações da UML
UML é parte duma metodologia;
Disponibiliza ferramentas para criar
e ler modelos, não aponta quais
modelos devem ser criados, nem
quando;
Necessita interagir com uma
metodologia especifica, para
maximizar o uso de recursos;
Assim foi criado o processo
unificado (RUP);
O RUP responde:
Quem faz, o quê, como e estabelece um padrão
de desenvolvimento.
24. Bibliografia
Bibliografia
[1] JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James;
UML Guia do Usuário. Rio de Janeiro, 2000.
[2] JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James;
The Unified Software Development Process. Massachusetts:
Addison-Wesley, 1999.
[3] Rational - The e-development company. [On-line].
Disponível em http://www.rational.com/index.jsp
[4] Page-Jones, Meilir. Fundamentos do Desenho Orientado
a Objeto com UML. Makron Books, 2001.
[5] QUATRANI, TERRY. Modelagem visual com Rational
Rose 2000 e UML. Rio de Janeiro: Editora Ciência Moderna,
2001.
[6] LARMAN, CRAIG. Utilizando UML e Padrões. Porto
Alegre: Bookman, 2001.
[7] Bezerra, E. Princípios de Análise e Projeto de Sistemas
com UML. Campus, 2002.
[8] Matos, A. V. UML Prático e Descomplicado. Érica, 2002.
25. TPC
1. As metodologias OO surgiram muito
antes da UML. Explique as razões que
levaram a criação da UML (apresente os
problemas que ainda persistiram, mesmo
com o aparecimento das metodologias
OO);
2. Que complemento a UML necessita para
o desenvolvimento de sistemas?
Porquê?
3. O que é um diagrama de casos de uso?
Quais os elementos que o compõe?
4. No sistema de gestão de biblioteca da
USTM, identifique 3 casos de uso e
descreva, detalhadamente, um deles.