Você está na página 1de 32

Análise e Projetos de Sistemas

Universidade FUMEC – 2016


Prof. Ugo Caputo
ugocaputo@fumec.br

Análise e Projetos de Sistemas - Universidade FUMEC 1


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

Década de 80 - 90:

Quantidade de
softwares
desenvolvidos com
linguagens OO

Análise e Projetos de Sistemas - Universidade FUMEC 2


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

• Entre 88 e 94:
Surgimento de várias técnicas orientadas a objetos.

• Início da década de 90:


Surge um novo paradigma de modelagem, a Análise
Orientada a Objetos.

Análise e Projetos de Sistemas - Universidade FUMEC 3


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

Entre 89 a 91 (Sally Shlaer e Stephen Mellor):


• Utiliza diagramas de entidade/relacionamento e de
transição de estados;
• Modelagem com enfoque bottom-up;
• A ordem das operações é definida pelas mensagens
passadas de um objeto a outro;
• Não trata o encapsulamento;
• Suporte a conceitos de tipo e herança pobre;

Análise e Projetos de Sistemas - Universidade FUMEC 4


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

1991 (Peter Coad e Ed Yourdon):


• Dividiram a AOO como sendo classes e objetos;
• Trata associações entre objetos:
generalização/especificação, todo/parte, instancias e
mensagens;
• Método ainda superficial em relação ao potencial
oferecido pela OO;

Análise e Projetos de Sistemas - Universidade FUMEC 5


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

1993 (Grady Booch ):


• Descreve um objeto como sendo um modelo do
mundo real que consiste de dados e habilidades para
tratar tais dados;
• Ao definir os objetos, eles servem como base para os
módulos do sistema;
• O projeto OO é organizado via abstrações
algorítmicas de forma parecida a POO.

Análise e Projetos de Sistemas - Universidade FUMEC 6


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

1993 (Ivar Jacobson):


• OOSE: Object Oriented Software Engineering;
• Foco em casos de uso e a categorização de pessoas
e equipamentos dependendo de seu papel no
sistema global;
• Notação ainda simplista, usada para objetos.

Análise e Projetos de Sistemas - Universidade FUMEC 7


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML


1995 (Rumbaugh):
• OMT – Object Modeling Technique;
• Baseado na modelagem semântica de dados, cobre
diversas fases do desenvolvimento OO;
• Notação parecida com métodos estruturados;
• Notação suporta conceitos de modelagem de dados:
atributos e relacionamentos, composição/agregação e
herança;
• Falha ao não fornecer notação para representar a
passagem de mensagem de um objeto a outro;
Análise e Projetos de Sistemas - Universidade FUMEC 8
Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

Outros autores que contribuíram com o desenvolvimento


de métodos de análise e projeto OO:

James Martin/Jim Odell (1994);


Rebecca Wirfs-Brock (Comunidade Smalltalk);

Análise e Projetos de Sistemas - Universidade FUMEC 9


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

• Grande diversidade de métodos (apesar de


semelhantes);

• Diferenças entre as notações causavam muita confusão


e dificuldades.

Análise e Projetos de Sistemas - Universidade FUMEC 10


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

1996:
• Rumbaugh e Jacobson se uniram a Booch na
Rational Software e fundiram seus métodos: UML –
Unified Modeling Language;
• Ocorre a Formação da OMG – Object Management
Group na tentativa de estabelecer um padrão entre
as metodologias OO;
• Submissão de várias propostas para um padrão de
metodologias.

Análise e Projetos de Sistemas - Universidade FUMEC 11


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML

Formação da OMG – Object Management Group, na


tentativa de estabelecer um padrão entre as
metodologias OO;

Análise e Projetos de Sistemas - Universidade FUMEC 12


Análise e Projetos de Sistemas

Histórico da Orientação a Objetos e UML


1997:
• Submissão de várias propostas para um padrão de
metodologias;
• Adoção da UML 1.1 como padrão oficial;
• UML 1.2 (julho/1998);
• UML 1.3 (1999);
• UML 1.4 (2001): A força-tarefa da OMG assumiu as
responsabilidades sobre a UML;
• UML 2.0;
• UML 2.4.
Análise e Projetos de Sistemas - Universidade FUMEC 13
Análise e Projetos de Sistemas

Análise e Projetos de Sistemas - Universidade FUMEC 14


Análise e Projetos de Sistemas

UML
• É a sucessora da onda de métodos de análise e projeto OO;
• Unifica os métodos de Booch, Raumbaugh e Jacobson;
• Passou por um processo de padronização pela OMG e agora
é um padrão OMG;
• É uma LINGUAGEM visual para modelar sistemas orientados
a objetos;
• É independente tanto das linguagens de programação quanto
do processo de desenvolvimento;
• A UML NÃO é um método nem tampouco um processo de
desenvolvimento de software.

Análise e Projetos de Sistemas - Universidade FUMEC 15


Análise e Projetos de Sistemas

UML

• A UML NÃO é um método nem tampouco um processo


de desenvolvimento de software. É uma linguagem de
modelagem designada para especificar, visualizar,
construir e documentar um sistema.
• A linguagem de modelagem é a notação que o método
utiliza para expressar projetos enquanto que o processo
indica quais passos seguir para desenvolver um projeto.

Análise e Projetos de Sistemas - Universidade FUMEC 16


Análise e Projetos de Sistemas

UML

A especificação da UML consiste de duas partes:


 Semântica - especifica a sintaxe abstrata e a semântica
dos conceitos de modelagem estática e dinâmica de
objetos;
 Notação – especifica a notação gráfica para a
representação visual da semântica.

Análise e Projetos de Sistemas - Universidade FUMEC 17


Análise e Projetos de Sistemas

UML
• A UML suporta o desenvolvimento iterativo e incremental.
Desenvolvimento iterativo e incremental é o processo de
desenvolvimento de sistemas em pequenos passos. Uma
iteração é um laço de desenvolvimento que resulta na
liberação de um subconjunto de produtos que evolui até o
produto final percorrendo as seguintes atividades:
– Análise de requisitos
– Análise
– Projeto
– Implementação
– Teste
• O detalhamento de cada etapa destas atividades define o
método de desenvolvimento de sistemas.

Análise e Projetos de Sistemas - Universidade FUMEC 18


Análise e Projetos de Sistemas

UML

• UML é uma linguagem visual para especificação


(modelagem) de sistemas orientados a objeto.
• A UML privilegia a descrição de um sistema seguindo três
perspectivas:
– Os diagramas de classes - (Dados estruturais);
– Os diagramas de casos de uso (Operações
funcionais);
– Os diagramas de sequencia, atividades e transição de
Estados (Eventos temporais).

Análise e Projetos de Sistemas - Universidade FUMEC 19


Análise e Projetos de Sistemas

UML

É composta por uma série de diagramas (elementos gráficos)


para desenhar os elementos do projeto. A versão 2.4 (atual)
define 13 tipos de diagramas.

Por que tantos diagramas?


• Cada diagrama possui uma semântica e uma sintaxe, ou
seja, cada diagrama é utilizado com uma finalidade
específica, representando uma determinada visão;
• Os diversos diagramas se complementam. A soma da
informação deles permite o entendimento global do software
a ser produzido.

Análise e Projetos de Sistemas - Universidade FUMEC 20


Análise e Projetos de Sistemas

UML
Blocos de Construção da UML

• O vocabulário da UML abrange três tipos de blocos de


construção: itens, relacionamentos e visões de um sistema.

Análise e Projetos de Sistemas - Universidade FUMEC 21


Análise e Projetos de Sistemas

UML
1) Itens

• Itens Estruturais: são os substantivos usados em modelos UML.


São as partes mais estáticas do modelo, representando modelos
conceituais ou físicos. São eles as classes, as interfaces, as
interações, os casos de uso, os componentes, um artefato, dentre
alguns outros elementos.

• Itens Comportamentais: são as partes dinâmicas do modelo de


UML. São os verbos de um modelo, representando comportamentos
no tempo e no espaço. São eles: “exibir” (mensagem), “aguardando”
(máquina de estado), “processar pedido” (ações), etc.

Análise e Projetos de Sistemas - Universidade FUMEC 22


Análise e Projetos de Sistemas

UML
1) Itens

• Itens de Agrupamento: são as partes organizacionais do modelo


UML. Também chamado de pacote, é um mecanismo de organização
do projeto, e existe apenas em tempo de desenvolvimento.

• Itens Anotacionais: são as partes explicativas dos modelos da UML.


São comentários, incluídos para descrever, esclarecer e fazer alguma
observação sobre qualquer elemento do modelo. Normalmente você
usará as notas para aprimorar seus diagramas com restrições ou
comentários que possam ser mais bem expressos por um texto.

Análise e Projetos de Sistemas - Universidade FUMEC 23


Análise e Projetos de Sistemas

UML
2) Relacionamentos

• Dependência: é um relacionamento semântico entre dois itens, nos


quais a alteração de um pode afetar a semântica do outro.

• Associação: é um relacionamento estrutural entre classes que


descreve um conjunto de ligações, em que as ligações são conexões
entre objetos que são instâncias das classes.

• Generalização: relacionamento de especialização / generalização,


no qual os objetos dos elementos especializados (os filhos) são
substituídos por objetos do elemento generalizado (os pais).

Análise e Projetos de Sistemas - Universidade FUMEC 24


Análise e Projetos de Sistemas

UML
2) Relacionamentos

• Realização: relacionamento semântico entre classificadores, em que


um classificador especifica um contrato que o outro classificador
garante executar. São encontrados em dois locais: entre interfaces e
as classes ou componentes que as realizam; e entre casos de uso e
as colaborações que os realizam.

Análise e Projetos de Sistemas - Universidade FUMEC 25


Análise e Projetos de Sistemas

UML
2) ) Visões de um Sistema

• Os autores da UML sugerem que um sistema pode ser descrito por


cinco visões interdependentes (Booch et. al., 2006):

• Visão de Casos de Uso: descreve o sistema de um ponto de vista


externo como um conjunto de interações entre o sistema e os
agentes externos ao sistema. Essa visão é criada inicialmente e
direciona o desenvolvimento das outras visões do sistema.

• Visão de Projeto: enfatiza as características do sistema do sistema


que dão suporte tanto estrutural quanto comportamental, às
funcionalidades externamente visíveis do sistema.

Análise e Projetos de Sistemas - Universidade FUMEC 26


Análise e Projetos de Sistemas

UML
2) Visões de um Sistema

• Visão de Implementação: abrange o gerenciamento de versões do


sistema, construídas pelo agrupamento dos módulos e subsistemas.

• Visão de Implantação: corresponde à distribuição física do sistema


em seus subsistemas e à conexão entre essas partes.

• Visão de Processo: esta visão enfatiza as características de


concorrência (paralelismo), sincronização e desempenho do sistema.

Análise e Projetos de Sistemas - Universidade FUMEC 27


Análise e Projetos de Sistemas

UML
2) Visões de um Sistema

• Dependendo das características e da complexidade do sistema, nem


todas as visões precisam ser construídas.

• Por exemplo, se o sistema tiver de ser instalado em um ambiente


computacional de processador único, não há necessidade da visão
de implantação.

• Outro exemplo: se um sistema é construído segundo a visão de um


único processo, a visão de processo é irrelevante.

Análise e Projetos de Sistemas - Universidade FUMEC 28


Análise e Projetos de Sistemas

UML
Visões de um Sistema

Visão de Visão de
Projeto Implementação

Visão de Casos
de Uso

Visão de Visão de
Processo Implantação

Fonte: Visões (perspectivas) de um sistema de software. BEZERRA, E. Princípios de Projeto e Análise de Sistemas com UML. 2008. 2 ed, p. 17.

Análise e Projetos de Sistemas - Universidade FUMEC 29


Análise e Projetos de Sistemas

UML
Regras da UML
• A UML dispõe de regras semânticas para:
1) Nomes: quais nomes podem ser atribuídos a itens, relacionamentos e
diagramas.
2) Escopo: o contexto que determina um significado específico para um
nome.
3) Visibilidade: como esses nomes podem ser vistos e utilizados pelos
outros.
4) Integridade: como os itens se relacionam entre si de forma adequada
e consistente.
5) Execução: o que significa executar ou simular um modelo dinâmico.
Análise e Projetos de Sistemas - Universidade FUMEC 30
Análise e Projetos de Sistemas

UML
Diagramas da UML

• Um diagrama é a representação gráfica de um conjunto de elementos, geralmente representados por itens e


seus relacionamentos.

• Na UML, temos 13 diagramas:

1. Diagrama de classes: conjunto de classes, interfaces e colaboração, bem como relacionamentos.


2. Diagrama de objetos: conjunto de objetos e seus relacionamentos
3. Diagrama de componentes: exibe uma classe encapsulada e suas interfaces
4. Diagrama de estruturas compostas: exibe uma classe encapsulada e suas interfaces.
5. Diagrama de casos de uso: conjunto de casos de uso, atores e seus relacionamentos.
6. Diagrama de sequências: exibe uma interação cuja ênfase está na ordenação temporal.
7. Diagrama de comunicações: exibe uma interação cuja ênfase está na organização estrutural dos objetos.
8. Diagrama de gráficos de estados: exibe uma máquina de estados formada por estados, transições e eventos.
9. Diagrama de atividades: exibe a estrutura de um processo
10. Diagrama de implantação: mostra a configuração dos nós de processamento em tempo de execução.
11. Diagrama de pacote: mostra os constituintes físicos do sistema (arquivos, bancos de dados, etc.)
12. Diagrama de temporização: diagrama de interação que mostra os tempos em diferentes objetos e papéis.
13. Diagrama de visão geral da interação: híbrido de diagrama de atividades e diagrama de sequências.

Análise e Projetos de Sistemas - Universidade FUMEC 31


Análise e Projetos de Sistemas

Dúvidas???

Análise e Projetos de Sistemas - Universidade FUMEC 32

Você também pode gostar