Download - Aula desesenvolvimento segunda semana
![Page 1: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/1.jpg)
Conhecendo as técnicas do estudo de análise
Profª Taliane Lima
![Page 2: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/2.jpg)
Os paradigmas de desenvolvimento de sistemas
Primeiros sistemas – até 70
• Aplicações não tinham grandes dimensões • Limitações das máquinas existentes • Análise sem métodos e formalismos • Praticamente a ferramenta era o fluxograma • Derivação da fase de análise para fase de
projeto sem critérios
![Page 3: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/3.jpg)
Os paradigmas de desenvolvimento de sistemas
Mais tarde – década de 70
• Conceito de Engenharia de Software surge em repulsa à crise de informática – 1968
• Dijkstra escreve sobre a programação
estruturada dando importância à complexidade dos sistemas.
• Codd descreve o modelo Relacional para
banco de dados – 1978
• Niklaus Wirth desenvolve o Pascal
![Page 4: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/4.jpg)
Os paradigmas de desenvolvimento de sistemas
• A linguagem C e desenvolvida por Ritchie
• A análise estruturada é popularizada por Tom Demarco
• Passamos a conviver com Diagramas de Fluxo de Dados (DFD), Diagramas de Entidades e Relacionamento (DER) e outros naquilo que ficou conhecido como Análise Essencial
![Page 5: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/5.jpg)
Porém...
•Existia uma dificuldade em garantir a compatibilidade entre as fases de análise e projeto e desta para a de implementação. Alteração ou extensões dos modelos criados necessitam de grande esforço.
•A comunicação entre desenvolvedores e usuários era difícil, os modelos fugiam à compreensão dos usuários.
![Page 6: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/6.jpg)
O início de novo paradigma
• Ainda na década de 70, métodos orientados a objetos começaram a surgir amadurecendo nova mudança de paradigma com o conceito de análise orientada a objetos.
• E mais, melhorou a comunicação entre desenvolvedores e usuários, com estes conseguindo participar mais ativamente do desenvolvimento, pela análise e validação dos diagramas apresentados.
![Page 7: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/7.jpg)
• Na tentativa de reverter à crise foram propostas metodologias de desenvolvimento de sistema:
Análise Estruturada ( processos e dados);
Análise Essencial (processos, dados e controle);
Análise Orientada a Objetos (paradigma de objeto);
![Page 8: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/8.jpg)
![Page 9: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/9.jpg)
Análise Estruturada•A analise estruturada consiste na
construção de um modelo lógico de sistemas, utilizando técnicas gráficas capazes de levar usuários, analistas e projetistas a formarem um quadro claro e geral do sistema e de como suas partes se encaixam para atender às necessidades daqueles que dele precisam.
![Page 10: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/10.jpg)
Análise Essencial•A Análise Essencial de Sistemas pode ser
considerada uma evolução da análise estruturada, propondo o reparticionamento do sistema, utiliza-se das mesmas ferramentas de modelagem da análise estruturada, mas com mecanismos diferentes.
![Page 11: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/11.jpg)
OS MÉTODOS...Análise Estruturada Análise Essencial
Diagrama de Fluxo de Dados(DFD)
Diagrama de Estrutura de Dados) Modelo Conceitual
Miniespecificações Normalização Dicionário de Dados
Diagrama de Fluxo de Dados(DFD)
Lista de Eventos Diagrama de Entidade –
Relacionamento(DER) Diagrama de Transição de
Estado(DTE) Miniespecificações Normalização Dicionário de Dados
![Page 12: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/12.jpg)
Linguagens tradicionais
![Page 13: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/13.jpg)
Análise Orientada a Objetos• A Análise Orientada a Objetos parte do paradigma de que o mundo é formado de objetos e de que desenvolver um sistema nada mais é que criar uma simulação dos objetos e de seu comportamento.
![Page 14: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/14.jpg)
![Page 15: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/15.jpg)
OO•A orientação a objetos propicia aumento
de produtividade, menor custos de desenvolvimento e de manutenção e, ainda, maior portabilidade e reutilização de código.
•Classes – de onde se originam os objetos – bem escritas reduzem tempo e custo de desenvolvimento.
![Page 16: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/16.jpg)
•MER OOA
Entidade ------------------> Classe
Ocorrência ----------------> Objeto
Atributo -------------------> Atributo
![Page 17: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/17.jpg)
EXEMPLO:
Sistema de cadastramento de veículos
![Page 18: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/18.jpg)
O COMEÇO...1. A crise do software aconteceu em meados da
década de 1970.2. Causadas pelo aumento da demanda e da
necessidade de uso de softwares.3. Essa crise foi desencadeada a partir de um
conjunto de problemas como: muitas descrições textuais de difícil
compreensão e manutenção ocorrendo ambiguidades prazos e custos extrapolados dificuldades envolvendo a construção
implantação e manutenção dos softwares.
![Page 19: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/19.jpg)
•Os estudos sobre a tecnologia de objetos iniciaram-se na década de 1980 com ênfase nas linguagens de programação. No final da mesma década começaram a surgir os métodos de análise e projeto. Os principais métodos foram de:
![Page 20: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/20.jpg)
• 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).
![Page 21: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/21.jpg)
•Guerra dos métodos.•Durante 1996 eles trabalharam no
método que passou a chamar de Unified Modeling Language (UML)
•Object Management Group (OMG) iniciou um esforço para padronização na área de métodos.
![Page 22: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/22.jpg)
UML – A Linguagem de Modelagem Unificada •“A UML proporciona uma forma padrão
para a preparação de planos de arquitetura de projetos de sistemas, incluindo aspectos conceituais tais como processos de negócios e funções do sistema, além de itens concretos como as classes escritas em determinada linguagem de programação, esquemas de bancos de dados e componentes de software reutilizáveis”
![Page 23: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/23.jpg)
UML – A Linguagem de Modelagem Unificada
•Os elementos gráficos têm sintaxe – forma predeterminada – evitando ambiguidades. Com isto evita que um analista modele uma classe como um retângulo e outro como um cubo. Elementos também possuem semântica – significado e função.
![Page 24: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/24.jpg)
Diagramas da UML
![Page 25: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/25.jpg)
Diagramas de Casos de Uso (Use Case)
•É um diagrama usado para se identificar como o sistema se comporta em várias situações que podem ocorrer durante sua operação.
![Page 26: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/26.jpg)
![Page 27: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/27.jpg)
•Ator: Representa qualquer entidade que interage com o sistema durante sua execução essa interação se dá através de comunicações (troca de mensagens).
•Um ator pode ser uma pessoa (usuário, secretaria, aluno...), um dispositivo (impressora, máquina...), hardware (placa de modem, scaner...), softwares (sistema de bd, aplicativos...), etc.
![Page 28: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/28.jpg)
Algumas de suas características são descritas abaixo:
Ator não é parte do sistema. Representa os papéis que o usuário do sistema pode desempenhar. Ator pode interagir ativamente com o sistema. Ator pode ser um receptor passivo de informação. Ator pode representar um ser humano, uma máquina ou outro sistema.
![Page 29: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/29.jpg)
Representação:
![Page 30: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/30.jpg)
•Como foi exemplificado acima, é uma sequencia de ações que o sistema executa e produz um resultado de valor para o ator. Modela o dialogo entre os atores e o sistema; é um fluxo de eventos completos.
![Page 31: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/31.jpg)
Algumas de suas características são descritas abaixo:Um "Use Case" modela o diálogo entre atores e o sistema.Um "Use Case" é iniciado por um ator para invocar uma certa funcionalidade do sistema.Um "Use Case" é fluxo de eventos completo e consistente.O conjunto de todos os "Use Case" representa todas as situações possíveis de utilização do sistema.
![Page 32: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/32.jpg)
•Os relacionamentos ligam as classes/objetos entre si criando relações lógicas entre estas entidades. Os relacionamentos podem ser dos seguintes tipos:
![Page 33: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/33.jpg)
•Os relacionamentos em um diagrama de casos de uso podem envolver dois atores e dois casos de uso ou um ator e um caso de uso e assim sucessivamente. O relacionamento é representado através de uma seta :
![Page 34: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/34.jpg)
EXEMPLO DE CASO DE USOSistema automatizado de Matrícula num Curso
![Page 35: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/35.jpg)
•Um Caso de Uso é uma fatia de funcionalidade do sistema, sem superposição nem lacunas, que representam algo de valor para os usuários finais.
•Um Ator é representação dos usuários e outros sistemas que interagem com o produto
![Page 36: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/36.jpg)
•Os Diagramas de Caso de Uso exibe os relacionamentos entre atores e casos de uso, deixando claro que grupos utilizam quais
funções.
![Page 37: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/37.jpg)
![Page 38: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/38.jpg)
Diagrama de Casos de Uso
•Esse diagrama documenta o que o sistema faz do ponto de vista do usuário. Em outras palavras, ele descreve as principais funcionalidades do sistema e a interação dessas funcionalidades com os usuários do mesmo sistema.
•Nesse diagrama não nos aprofundamos em detalhes técnicos que dizem como o sistema faz.
![Page 39: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/39.jpg)
EXERCITANDO...Desenvolver um diagrama de caso de uso, de acordo com as características abaixo:1)Certa agência, possui um atendente onde este é responsável pelo abastecimento de dinheiro ao caixa eletrônico.2)Nesta mesma agência um cliente verifica o saldo da conta3)O cliente solicita extrato4)O cliente realiza saque5)O cliente realiza deposito6)O atendente recolhe o envelope de depósito do cliente
![Page 40: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/40.jpg)
Análise
O fluxo da Análise tem como objetivos:• modelar de forma precisa os conceitos
relevantes do domínio do problema, identificados a partir do levantamento de requisitos;
• verificar a qualidade dos requisitos identificados;
• detalhar esses requisitos o suficiente para que atinjam o nível de detalhe adequado aos desenvolvedores.
![Page 41: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/41.jpg)
•Quando se usa um Modelo de Análise orientado a objetos, os requisitos funcionais são tipicamente descritos e verificados através dos seguintes recursos de notação:
![Page 42: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/42.jpg)
• Os casos de uso descrevem o comportamento esperado do produto.
• Os diagramas de casos de uso descrevem os relacionamentos dos casos de uso entre si e com os atores.
• As classes representam os conceitos do mundo da aplicação que sejam relevantes para a descrição mais precisa dos requisitos, exibindo os relacionamentos entre essas.
• As realizações dos casos de uso mostram como objetos das classes descritas colaboram entre si para realizar os principais roteiros que podem ser percorridos dentro de cada caso de uso.
![Page 43: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/43.jpg)
UML – Diagrama de Classes
• Introdução – Diagrama de classes• Elementos do diagrama de classes• Exemplo: Sistema de matrícula
![Page 44: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/44.jpg)
Introdução - Diagrama de Classes
• Mostra um conjunto de classes e seus relacionamentos.
• É o diagrama central da modelagem orientada a objetos.
![Page 45: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/45.jpg)
![Page 46: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/46.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação •Agregação • Composição Generalização Dependência
![Page 47: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/47.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes RelacionamentosAssociação •Agregação • Composição Generalização Dependência
![Page 48: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/48.jpg)
Elementos – Diagrama de ClassesClasses• Graficamente, as classes são
representadas por retângulos incluindo nome, atributos e métodos.
![Page 49: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/49.jpg)
• Devem receber nomes de acordo com o vocabulário do domínio do problema.
• É comum adotar um padrão para nomeá-las
Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula
![Page 50: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/50.jpg)
Elementos – Diagrama de ClassesClasses Atributos Representam o conjunto de
características (estado) dos objetos daquela classe
![Page 51: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/51.jpg)
Visibilidade: + público: visível em qualquer classe de
qualquer pacote # protegido: visível para classes do
mesmo pacote - privado: visível somente para classe
Exemplo: + nome : String
![Page 52: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/52.jpg)
Elementos – Diagrama de Classes
ClassesMétodos – Representam o conjunto de operações
(comportamento) que a classe fornece Visibilidade:+ público: visível em qualquer classe de
qualquer pacote# protegido: visível para classes do mesmo
pacote- privado: visível somente para classe
![Page 53: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/53.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação •Agregação • Composição Generalização Dependência
![Page 54: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/54.jpg)
Elementos – Diagrama de Classes
Relacionamentos•Os relacionamentos possuem:– Nome: descrição dada ao
relacionamento (faz, tem, possui,...)– Sentido de leitura– Navegabilidade: indicada por uma seta
no fim do relacionamento
![Page 55: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/55.jpg)
– Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7– Tipo: associação (agregação, composição), generalização e dependência– Papéis: desempenhados por classes em um relacionamento
![Page 56: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/56.jpg)
Relacionamentos
![Page 57: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/57.jpg)
Relacionamentos
•O cliente sabe quais são seus endereços, mas o endereço não sabe a quais clientes pertence
![Page 58: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/58.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação •Agregação • Composição Generalização Dependência
![Page 59: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/59.jpg)
Elementos – Diagrama de Classes
Relacionamentos: - Associação Uma associação é um relacionamento
estrutural que indica que os objetos de uma classe estão vinculados a objetos de outra classe.
Uma associação é representada por uma linha sólida conectando duas classes.
![Page 60: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/60.jpg)
Associação
![Page 61: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/61.jpg)
Elementos – Diagrama de Classes
Relacionamentos: Associação Indicadores de multiplicidade: – 1 Exatamente um – 1..* Um ou mais– 0..* Zero ou mais (muitos) – * Zero ou mais (muitos) – 0..1 Zero ou um – m..n Faixa de valores (por exemplo: 4..7)
![Page 62: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/62.jpg)
![Page 63: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/63.jpg)
•Relacionamentos: AssociaçãoExemplo:Um Estudante pode ser um aluno de
uma Disciplina eum jogador da Equipe de Futebol
• Cada Disciplina deve ser cursada por no mínimo 1 aluno
• Um aluno pode cursar de 0 até 8 disciplinas
![Page 64: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/64.jpg)
![Page 65: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/65.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação •Agregação • Composição Generalização Dependência
![Page 66: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/66.jpg)
•Relacionamento: Agregação
– É um tipo especial de associação – Utilizada para indicar “todo-parte”
![Page 67: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/67.jpg)
– um objeto “parte” pode fazer parte de vários objetos “todo”
![Page 68: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/68.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação •Agregação • Composição Generalização Dependência
![Page 69: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/69.jpg)
•Relacionamento: Composição
– É uma variante semanticamente mais “forte” da agregação
– Os objetos “parte” só podem pertencer a um único objeto “todo” e têm o seu tempo de vida coincidente com o dele
![Page 70: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/70.jpg)
Elementos – Diagrama de Classes
Quando o “todo” morre todas as suas “partes” também morrem
![Page 71: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/71.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação • Agregação • Composição Generalização Dependência
![Page 72: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/72.jpg)
Elementos – Diagrama de Classes
•Relacionamento: Generalização É um relacionamento entre itens gerais
(superclasses) e itens mais específicos (subclasses)
![Page 73: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/73.jpg)
Elementos – Diagrama de Classes
Elementos de um diagrama de classes :Classes Relacionamentos Associação •Agregação • Composição Generalização Dependência
![Page 74: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/74.jpg)
Elementos – Diagrama de Classes
•Relacionamento: Dependência Representa que a alteração de um
objeto (o objeto indepedendente) pode afetar outro objeto (o objeto dependente)
![Page 75: Aula desesenvolvimento segunda semana](https://reader036.vdocuments.net/reader036/viewer/2022062412/589bba6a1a28ab082b8b485f/html5/thumbnails/75.jpg)
Elementos – Diagrama de Classes
Obs: o A classe cliente depende de algum
serviço da classe fornecedoro A mudança de estado do fornecedor afeta
o objeto cliente