Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Análise e Projeto de Software
Ádamo Santana
2
Conceitos Básicos OO
3
Orientação a Objetos Conceito: Classe Conceito: Objeto
Definição de um conjunto de objetos que compartilham estrutura e comportamento comuns Objetos são criados a partir das classes Conceito: Objeto Um objeto é um elemento da classe Objeto deve pertencer a somente uma classe É o elemento que efetivamente armazena as informações de um programa Objetos trocam mensagens entre si
4
Classe Objetos
5
Entidade Representada
Modelagem Conceitual Refere-se às convenções de representação Operação mental para observar um domínio e capturar sua estrutura REPRESENTAÇÃO ABSTRAÇÃO Entidade Representada Entidade Observada Avião Notação gráfica, linguagem de programação
6
Classificação - Instanciação
Estudante de Graduação CATEGORIA CLASSIFICAÇÃO Maria José INDIVÍDUO (Objeto)
7
Classificação - Instanciação
Estudante de Graduação CATEGORIA INSTANCIAÇÃO Maria José INDIVÍDUO (Objeto)
8
Conceitos Generalização (Especialização)
a partir de duas categorias abstrai-se uma categoria mais genérica sub-categorias satisfazem todas as propriedades das categorias das quais elas constituem especializações deve existir pelo menos uma propriedade que distingue duas categorias especializadas
9
Generalização - Especialização
Estudante CATEGORIA GENERALIZAÇÃO ESPECIALIZAÇÃO (herança) Estudante de Graduação Estudante de Pós- Graduação CATEGORIA
10
Generalização - Especialização
CATEGORIA Mamífero Atributos sangue quente vertebrado vivíparo GENERALIZAÇÃO ESPECIALIZAÇÃO (herança) Atributos Habitat: mar Tempo médio de vida: 200 anos Baleia CATEGORIA
11
Conceitos Agregação (Decomposição)
Associação entre 2 classes representa um relacionamento todo-parte entre o agregado (todo) e um componente (parte) A idéia é representar o relacionamento “tem um...”;
12
Agregação - Decomposição
Empresa CATEGORIA 1 AGREGAÇÃO * DECOMPOSIÇÃO Departamento INDIVÍDUO (Objeto)
13
Agregação - Decomposição
14
UML
15
Objetivos Explicar por que o conhecimento da UML é importante para as organizações Apresentar os conceitos básicos da UML Apresentar diagramas utilizados e seus componentes
16
Linguagem de Modelagem Unificada (UML)
17
Histórico UML Diversos métodos e técnicas OO, com muitos aspectos em comum, porém utilizando notações distintas Inconvenientes para a aprendizagem, aplicação, construção e uso de ferramentas, etc Luta entre distintos enfoques
18
Histórico UML Diferentes notações para o mesmo conceito
Ex: SHLAER & MELLOR (1989 e 1991); COAD & YOURDON (1991); COAD & NICOLA (1993); COAD et al. (1995); WIRFS-BROCK et al. (1990); BOOCH (1994 e 1995); RUMBAUGH et al. (1991 e 1996); MARTIN & ODELL (1994 e 1995); JACOBSON (1994 e 1995) Necessidade de uma padronização
19
Introdução Padrão de projeto para especificar, documentar aspectos de um sistema sob o paradigma OO Surgiu como união dos modelos: Object-modeling technique - OMT (James Rumbaugh) Métodos de Booch (Grady Booch) Object-oriented software engineering - OOSE (Ivar Jacobson)
21
Por que usar UML? Desenvolver o modelo de uma aplicação antes de construí-la, é tão essencial quanto ter uma planta para a construção de uma casa Bons modelos são essenciais para a comunicação entre os times de projetos e para assegurar a beleza arquitetural Dificuldade com o aumento da complexidade dos sistemas
22
Introdução UML é apenas uma parte de um método para desenvolvimento de software Análise de requisitos Análise Projeto Implementação Teste
23
Introdução Modelagem de forma padronizada
Documentação e visualização gráfica Composta por diversos diagramas de modelagem Destina-se a projetar sistemas complexos de software, como por exemplo: Sistemas que manipulam as grandes bases: INPE sobre desmatamento, Adepará sobre pecuária, Sagri sobre agricultura Transportes Defesa/ espaço aéreo ...
24
Linguagem de Modelagem Unificada (UML)
A UML define três tipos básicos de construção: Elementos: abstrações de um modelo Relacionamentos: definem como os itens se relacionam Diagramas: agrupam coleções de itens
25
Elementos da UML De estrutura (estático) De comportamento (dinâmico)
De agrupamento (organização) De anotação (explicativo)
26
Elementos de estrutura
Classes Interface Componentes Nós Classes Ativas
27
Elementos de estrutura
Classe Interface Descreve o comportamento visível externamente da classe A interface sempre é atachada a classe ou ao componente que realiza a interface
28
Elementos de estrutura
Componentes Partes físicas de um sistema, cujo comportamento é definido pelas suas interfaces O trabalho interno dos componentes deve ser invisível e seu uso ser independente de plataforma.
29
Elementos de estrutura
Nós Peça física de equipamento (hardware), representa um recurso computacional do sistema <nome>
30
Elementos de estrutura
Classes ativas Classes cujos objetos possuem seus próprios fluxos de controle (“threads”) Elementos cujo comportamento (tempo de execução) é concorrente com o de outros elementos
31
Elementos da UML De estrutura De comportamento De agrupamento
De anotação
32
Elementos de comportamento
Modelar o aspecto dinâmico do modelo Caso de uso Ator Interação Máquina de Estado
33
Elementos de comportamento
Caso de Uso Ação realizada pelo sistema em relação a um certo ator Ator Agente que vai interagir com o sistema Processar venda
34
Elementos de comportamento
Interação Troca de mensagens entre objetos Modela o comportamento de um conjunto de objetos Ordem temporal e sequência das operações <nome_da_operação>
35
Elementos de comportamento
Máquinas de estado Especifica o ciclo de execução de um objeto ou interação durante seu tempo de vida em resposta aos eventos, juntamente com suas respostas a estes eventos Estado Transição <nome>
36
Elementos da UML De estrutura De comportamento De agrupamento
De anotação
37
Elementos de agrupamento
Pacotes São as partes organizacionais dos modelos UML Organização do elementos em grupos Puramente conceitual <elementos> <nome>
38
Elementos da UML De estrutura De comportamento De agrupamento
De anotação
39
Elementos de anotação Notas Comentários do modelo UML
Observações sobre elementos do modelo <comentário>
40
Linguagem de Modelagem Unificada (UML)
A UML define três tipos básicos de construção: Elementos Relacionamentos Diagramas
41
Relacionamentos Características de relação e dependência entre os modelos UML Associação Herança Dependência
42
Relacionamentos Associação
A associação representa uma ligação entre dois elementos Expressas como uma linha sólida, de um elemento ao outro, e com um verbo (ou substantivo) que qualifique a associação Podem expressar a cardinalidade e o sentido da associação
43
Relacionamentos Especificam quantas instâncias de uma classe podem participar da associação Cardinalidade Significado 0..1 Zero ou um 1 Somente 1 0..* Maior ou igual a zero * 1..* Maior ou igual a um 1..20(m..n) De 1 até 20 (m a n), inclusive
44
Relacionamentos Exemplo:
Uma classe financeira esta associada a 0 ou mais vendas da classe venda através da associação financiamento. E a classe venda está associada a no máximo um elemento da classe vendedor através da associação venda.
45
Relacionamentos Financeira Venda Vendedor venda 0..1 0..n codigo nome
data hora número Senha nivel autorizacao financiamento 0..n 1
46
Relacionamentos Agregação Composição
47
Relacionamentos Características de relação e dependência entre os modelos UML Associação Herança Dependência
48
Relacionamentos Generalização (Herança)
Os elementos mais específicos possuem todas as características do seu elemento mais geral
49
Relacionamentos Características de relação e dependência entre os modelos UML Associação Herança Dependência
50
Relacionamentos Dependência
Conexão semântica entre dois elementos, um independente e outro dependente Qualquer alteração no elemento independente pode afetar o elemento dependente
51
Linguagem de Modelagem Unificada (UML)
A UML define três tipos básicos de construção: Elementos Relacionamentos Diagramas
52
Diagramas Uma representação gráfica de uma coleção de elementos de um modelo Um mesmo item pode aparecer em todos os diagramas ou em apenas alguns
53
Diagramas Diagrama de Casos de Uso; Diagrama de Classes;
Diagrama de Objetos; Diagrama de Estrutura Composta; Diagrama de Sequência; Diagrama de Comunicação; Diagrama de Transição de Estados; Diagrama de Atividades; Diagrama de Componentes; Diagrama de Desenvolvimento; Diagrama de Pacotes; Diagrama de Interface Geral; Diagrama de Tempo; ...
54
Diagramas Diagrama de classes Diagrama de objetos
Diagrama de caso de uso (use case) Diagrama de sequência Diagrama de colaboração ou comunicação Diagrama de transição de estados Diagrama de atividades Diagrama de componentes Diagrama de desenvolvimento
55
Diagramas
56
Diagrama de classes Oferece uma visão estática da estrutura do sistema
Exibe as classes do sistema e o grau do relacionamentos entre elas
57
Diagrama de Classes Um diagrama de classes pode oferecer três perspectivas, cada uma para um tipo de observador diferente Conceitual Especificação Implementação
58
Diagrama de Classes Conceitual (exemplo)
Representa os conceitos do domínio em estudo Perspectiva destinada ao cliente Especificação (exemplo) Tem foco nas principais interfaces da arquitetura, nos principais métodos, e não como eles irão ser implementados Perspectiva destinada as pessoas que não precisam saber detalhes de desenvolvimento, tais como gerentes de projeto Implementação - a mais utilizada de todas (exemplo) Aborda vários detalhes de implementação, tais como navegabilidade, tipo dos atributos, etc Perspectiva destinada ao time de desenvolvimento
59
Diagrama de objetos Muito similar ao Diagrama de Classes e utiliza quase a mesma notação. “Retrato” do diagrama de classes Este diagrama mostra uma “fotografia” dos objetos existentes na execução do sistema
60
Diagrama de caso de uso Serve para visualizar os relacionamentos e interações entre os atores e os casos de uso do sistema Especificam e documentam o comportamento de um elemento para se entender como este é utilizado Exemplo:
61
Diagrama de caso de uso Exemplo 2:
62
Diagrama de sequência Mostra a interação entre os objetos da aplicação arranjados numa linha do tempo Útil para se levantar quais são os envolvidos no fluxo e definir a interface de alguns objetos
63
Diagrama de sequência Mostrar como as mensagens entre os objetos são trocadas no decorrer do tempo para a realização de uma operação
64
Diagrama de colaboração
Semelhante ao diagrama de sequência Pode-se visualizar os relacionamentos entre os objetos
65
Diagrama de transição de estados
Apresenta os estados possíveis de uma classe do modelo, e que eventos do sistema causam essas mudanças de estado (ciclo de vida)
66
Diagrama de atividades
Mostra o fluxo das atividades do sistema
67
Diagrama de componentes
Explora o lado funcional, expondo a relação entre seus componentes e suas dependências Usado para modelar a visão de implementação estática de um sistema através da captura de dependências entre os diferentes tipos de componentes Usos comuns: Modelagem do código fonte Modelagem de executáveis Modelagem de bancos de dados físicos
68
Diagrama de componentes
69
Diagrama de desenvolvimento
Mostra o lado funcional, exibindo a arquitetura física do hardware e do software do sistema Um nó representa um recurso de processamento, tal como um computador. Nós podem conter instâncias de componentes, as quais podem conter objetos
70
Diagrama de desenvolvimento
71
CONSIDERAÇÕES FINAIS
72
Considerações Finais Linguagem de Modelagem Unificada (UML)
Padrão de projeto para especificar e documentar aspectos da modelagem de um sistema Criado pela necessidade de uma padronização Utilizam para sua construção: elementos, relacionamentos e diagramas
73
Considerações Finais Elementos
Caracterizam a forma que os objetos serão representados De estrutura: Classes, Interface, Componentes, Nós De comportamento: Caso de uso, Interação, Máquina de Estado De agrupamento: Pacotes De anotação: Notas
74
Considerações Finais Relacionamentos
Características de relação e dependência entre os modelos UML Associação Herança Dependência
75
Considerações Finais Diagramas
Uma representação gráfica de uma coleção de elementos de um modelo Diagrama de classes Diagrama de objetos Diagrama de caso de uso Diagrama de sequência Diagrama de colaboração Diagrama de transição de estados Diagrama de atividades Diagrama de componentes Diagrama de desenvolvimento
76
Considerações Finais Linguagem de modelagem de sistemas mais difundida no mercado para desenvolvimento de software Compatibilidade com orientação à objetos Extremamente importante ter uma representação visual de seu sistema antes que ele entre na etapa de implementação UML pode não só facilitar e agilizar a modelagem de seu sistema de informação, como também cria uma facilidade de comunicação entre os gestores e os analistas de sistemas
77
DÚVIDAS?
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.