A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Análise e Projeto de Software

Apresentações semelhantes


Apresentação em tema: "Análise e Projeto de Software"— Transcrição da apresentação:

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)

20

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?

78

79

80


Carregar ppt "Análise e Projeto de Software"

Apresentações semelhantes


Anúncios Google