Buscar

Introdução à Modelagem

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Modelagem de Sistemas
Prof. Valentino D´Ambrosi Jr.
Seção 1
*
*
ACORDO
CONTEÚDO
ATIVIDADES
REGRAS
AVALIAÇÕES
*
*
CONTROLE DE FREQUÊNCIA
 Controle Diário – 10 minutos após o início da primeira aula e 10 minutos antes do término da quarta aula. 
 Esvaziamento da sala requer nova chamada a qualquer momento. Limite de faltas 12 (25% das aulas)
 Saída após a primeira chamada equivale a 2 faltas.
 Chegada após a chamada inicial dará direito ao aluno a 1 presença antes do intervalo e saída antes da segunda chamada também dará direito a somente uma presença após o intervalo.
 Abono com requerimento na secretaria (tratamento excepcional)
*
*
Média de aprovação: 6,0
Avaliação contínua, ao longo do trimestre
Mínimo de 75% de presença nas atividades
Prova substitutiva de avaliações durante o trimestre (N1 e N2): direto com professor.
SISTEMA DE AVALIAÇÃO
*
*
Seção 1
Avaliação Final (U2)
N1
Digitação de notas
Seção 2
Seção 4
Seção 5
Seção 6
Seção 7
Seção 8
N2
U1
Seção 3
Digitação 
de notas na 5ª semana
Estudo Dirigido = 20 %
40%
40%
Média Aritmética
COMPOSIÇÃO DE NOTAS
*
*
Nossas aulas
Seção 1 - 29/01/2014
Seção 2 - 05/02/2014 	
Seção 3 - 12/02/2014 – ED1
Seção 4 - 19/02/2014 
Seção 5 - 21/02/2014 – N1
Seção 6 - 26/02/2014 –ED2
Seção 7 - 05/03/2014 
Seção 8 – 12/03/2014 – N2
Seção 9 - 14/03/2014 – ED3
Seção 10 - 26/03/2014 – U2
*
*
ESTUDO DIRIGIDO
Seção 2 - ED = ED1+ED2+ED3
*
*
IMPORTÂNCIA DA PARTICIPAÇÃO NAS AULAS
explicação
raciocínio
Falta de interesse
*
*
Introdução
Modelo = é uma abstração de alguma coisa, que tem como propósito permitir o conhecimento dessa coisa antes de construí-la.
Modelos são representações simplificadas de objetos, pessoas, itens, tarefas, conceitos, idéias, etc., usados comumente por pessoas no seu dia-a-dia, independente do uso de computadores.
*
*
Introdução
 Podemos, por exemplo, construir modelos de hardware e software.
 Esta disciplina tem como objetivo a construção de modelos de software.
*
*
Introdução
A construção de sistemas complexos requer a construção de modelos que satisfaçam os requisitos do sistema.
 Ao longo do tempo o desenvolvedor deve acrescentar detalhes até transformar o modelo em uma implementação.
*
*
Introdução
Esta disciplina irá trabalhar:
Técnicas para modelagem de um sistema, utilizando a modelagem baseada em objetos.
Técnicas para documentação de um sistema.
Conceitos básicos de orientação a objetos.
Construção de modelos em UML (Linguagem Unificada de Modelagem).
*
*
Orientação a Objetos - Conceitos
*
*
Paradigma de Orientação a Objetos
Um programa de computador implementa uma solução para um problema do mundo real.
O paradigma de O.O. assume que o mundo é composto de objetos.
Todo objeto em O.O. é composto por:
Estado interno
Comportamento
*
*
Paradigma de Orientação a Objetos
Estado Interno de um Objeto = serve para registrar e permitir ao objeto se lembrar do efeito de sua operação.
 Comportamento de um Objeto = é definido pelo seu conjunto de operações. As operações de um objeto são utilizadas para responder mensagens internas ou externas.
 O resultado de uma operação depende da mensagem recebida e do estado interno do objeto.
*
*
Paradigma de Orientação a Objetos
Mensagem = é a chamada a um dos métodos de um objeto.
 Troca de mensagens = são enviadas de um objeto a outro para que o objeto receptor produza algum resultado.
 A execução de uma operação pode provocar:
Mudança no estado interno do objeto.
Envio de novas mensagens.
Criação de novos objetos.
*
*
Conceitos - Classe
Classe = é um modelo de objeto.
Consiste de descrições de estado e métodos.
Os métodos definem o comportamento dos objetos de uma classe.
Os atributos definem o estado do objeto de uma determinada classe.
 Exemplos: Carro, Cachorro, Pessoa.
*
*
Conceitos - Objeto
Objeto = é uma instância de uma classe.
Um objeto é capaz:
Armazenar seu estado através dos atributos.
Responder mensagens recebidas através de seus métodos.
Enviar mensagens a outros objetos.
 
Exemplos:
Classe Cachorro Objetos Totó, Rex
Classe Pessoa Objetos Maria, José
*
*
Conceitos - Atributo
Atributos = são as características de um objeto.
O conjunto de atributos de um objeto é chamado de estado do objeto.
Exemplos:
Cachorro Cor, idade, nome.
Carro Cor, marca, ano.
Pessoa Data de Nascimento, nome, RG.
*
*
Conceitos - Atributo
Os atributos podem ser de instância ou de classe:
Atributos de Classe são constantes com valores pré-definidos e que não sofrem alteração ao longo da execução.
Atributos de Instância determinam o estado de cada objeto.
*
*
Conceitos - Método
Método = descrição das operações de um objeto.
 A relação que existe entre mensagens e métodos de um objeto é biunívoca.
Uma mesma mensagem só pode resultar em métodos diferentes quando enviada para um objeto diferente.
Exemplos:
Carro: Ligar, desligar, correr
Cachorro: Latir, comer, dormir
*
*
Orientação a Objetos - Implementação
*
*
Declaração de Classe
Utilizamos a palavra reservada “class” seguida pelo nome da classe.
Exemplo:
class Cachorro{
//Declaracao de atributos
//Declaracao de métodos
}
*
*
Declaração de Atributos
Devem ser declarados antes dos métodos em uma classe.
 Cada atributo deve possuir um tipo.
 Exemplo:
class Cachorro{
//Definicao de Atributos
int idade;
String cor, nome;
...
}
*
*
Declaração de Métodos
Devem ser declarados depois dos atributos.
Devem possuir um tipo de retorno. Se o método não retornar nada, seu tipo deve ser “void”.
 Exemplo:
class Cachorro{
//Definicao Atributos
//Definicao Metodos
String retornaNome(){ ... }
void latir(){ ... }
}
*
*
Declaração de Objeto
Normalmente declaramos objetos no programa principal (main), mas também podemos declarar em outras classes.
 Exemplo:
main(){
Cachorro rex;
...
}
*
*
Declaração de Objeto
A declaração de um objeto não cria automaticamente uma instância da classe para ser armazenada no objeto declarado.
 Para instanciar um objeto devemos utilizar o operador “new”.
 Exemplo:
main(){
Cachorro rex;
rex = new Cachorro();
//Ou
Cachorro rex = new Cachorro();
}
*
*
Modelagem e Modelos
*
*
Modelo
Um modelo é um protótipo do sistema que será construído.
Exemplos:
Maquetes de casas e edifícios
Modelos de aviões
Versões preliminares • de livros
E o que seria um modelo para software?
Resposta: Desenhos gráficos que seguem algum padrão lógico.
*
*
Modelo
Esses desenhos gráficos são chamados de diagramas.
Diagramas são partes do modelo 
Modelos também são compostos de informações textuais.
Documentação do Modelo = conjunto de diagramas + sua descrição textual
*
*
Modelo
Objetivos de se criar um modelo de sistema, antes de implementar o sistema final:
Testar o modelo antes de lhe dar forma final
Comunicação com os clientes
Visualização
Resultado: Redução da complexidade
*
*
Modelo
Abstração é examinar os aspectos fundamentais de um problema.
Objetivo = isolar aspectos que sejam importantes para algum propósito particular e suprimir os que não forem.
Não há um único modelo correto para a solução de um problema e sim modelos adequados e inadequados.
*
*
UML – Linguagem de Modelagem Unificada
*
*
UML- História
Os principais criadores da UML (Linguagem de Modelagem Unificada) foram os três amigos:
*
*
UML - História
No processo de definição da UML os três pesquisadores tentaram aproveitar o melhor das notações existentes.
Utilizaram muitas técnicas dos três métodos (Booch, OMT e OOSE) criados pelos próprios pesquisadores (G.B., J.R. e I.J.)
*
*
UML - História
Principais características de cada método:
*
*
UML - História
Em 1997 a UML foi aprovada como padrão pela OMG*.
Desde então a UML tem sido largamente usada para modelagem de sistemas.
A UML está em constante desenvolvimento.
Atualmente a especificação do padrão UML está na versão 2.0 (OMG 2003).
*OMG(Object Management Group) = Consórcio internacional de empresas que definem padrões na área de orientação a objetos.
*
*
UML
UML é uma linguagem visual para modelar sistemas orientados a objetos.
Linguagem que define elementos gráficos.
Esses elementos permitem • representar os conceitos do paradigma da orientação a objetos.
Através da UML podemos representar diversas perspectivas de um sistema.
*
*
UML
Cada elemento gráfico da UML possui uma sintaxe e uma semântica.
Sintaxe = define a forma de desenhar cada elemento.
Semântica = define o significado de cada elemento.
A UML é independente:
De linguagem de programação.
De processo de desenvolvimento.
*
*
UML
A definição completa da UML está contida na
“Especificação da Linguagem de Modelagem Unificada da OMG”.
Essa especificação pode ser obtida do site da OMG www.uml.org
Vantagem: Documentação extremamente completa…
Desvantagem: Documentação extremamente complexa.
*
*
UML - Visões de Um Sistema
É importante estudar e examinar o sistema a partir de diversas perspectivas.
 
A UML permite modelar um sistema de 5 visões diferentes:
Visão de Caso de Uso: mostra as interações
entre o sistema e agentes externos.
Visão de Projeto: mostra as características comportamentais e estruturais do sistema.
Visão de Implementação: cobre o gerenciamento das versões do sistema.
*
*
UML - Visões de Um Sistema
Visão de Implantação: mostra a distribuição física do sistema em subsistemas e a ligação entre as partes.
Visão de Processo: mostra as características de paralelismo, sincronização e desempenho do sistema.
Dependendo do sistema que será modelado nem todas visões precisam ser construídas.
*
*
Diagramas da UML 2.0
*
*
Diagramas da UML 2.0
Diagramas de Classes: representam a estrutura de classes e suas relações.
Diagramas de Objetos: representam os objetos e suas relações. Corresponde ao diagrama de colaboração simplificado, sem representar o envio de mensagens.
Diagramas de Pacotes: representam os pacotes do sistema.
Diagramas de Estruturas: representam a decomposição hierárquica de uma classe (sua estrutura interna).
*
*
Diagramas da UML 2.0
Diagramas de Implantação: representam a distribuição dos componentes nos dispositivos de hardware.
Diagramas de Componentes: representam os componentes físicos de um sistema.
Diagramas de Atividades: representam o comportamento de uma determinada operação.
Diagramas de Casos de Uso: representam a interação do usuário com o sistema.
*
*
Diagramas da UML 2.0
Diagramas de Estado: representam o comportamento de uma determinada classe.
Diagramas de Sequência: representação temporal dos objetos e suas interações.
Diagramas de Tempo: representam restrições de tempo.
Diagramas de Colaboração: representação espacial dos objetos, das relações e das interações.
Diagramas de Interatividade: representam a visão geral das interações do sistema.
*
*
UML – Classes
*
*
Classes
Classe = é a descrição de um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos.
Representada por uma caixa com no máximo 3 divisões:
*
*
Classes - Conceitos
Cada classe deve ter um nome que seja único, não pode existir outra classe com o mesmo nome.
O nome de uma classe deve ser um substantivo.
O nome de uma classe pode ser composto por mais de uma palavra.
A primeira letra de cada palavra do nome de uma classe deve ser em letra maiúscula.
Exemplos: “Carro” ou “ContaBancária”
*
*
Classes - Atributos
Uma classe pode ter quantos atributos forem necessários ou até mesmo nenhum atributo.
Representa alguma propriedade da classe que está sendo modelada.
Atributo é uma abstração do tipo de dados ou estados que os objetos da classe podem ter.
O nome de um atributo deve ser um substantivo.
A primeira letra de cada palavra, exceto da primeira palavra, deve ser em maiúscula.
Exemplos: marca, dataNascimento.
*
*
Classes - Atributos
Pode ser indicado o tipo de cada atributo e até mesmo o valor inicial dos atributos.
Sintaxe:
[visibilidade] nomeAtributo [:tipo] [=
valor inicial]
Valores de Visibilidade:
+ public (visível por todas as classes)
# protected (visível na classe e na subclasse)
- private (visível apenas na classe).
*
*
Classes - Atributos
Exemplo:
*
*
Classes - Operações
Operação é uma abstração do comportamentode um objeto.
Uma classe pode ter qualquer número de operações e até mesmo nenhum.
O nome de uma operação é um verbo ou uma locução verbal.
O primeiro caracter de cada palavra do nome de uma operação deve ser maiúsculo, exceto da primeira palavra.
Exemplos: mover(), estáVazio()
*
*
Classes - Operações
Podemos definir o tipo de retorno de uma operação (método).
Podemos definir o tipo e o nome de cada parâmetro de um método.
Sintaxe:
[visibilidade] nomeMetodo
[(parametro1:tipo, parametron : tipo)]
[:tipo de retorno]
Valores de Visibilidade:
+ public (visível por todas as classes)
# protected (visível na classe e na subclasse)
- private (visível apenas na classe).
*
*
Classes - Operações
Exemplo:
*
*
Classes - Organização
Quando representamos uma classe não é preciso exibir todos os atributos e todas as operações.
Não é adequado exibir tudo.
Exibimos somente o conjunto de atributos e operações que sejam relevantes para uma determinada visão.
Para deixar claro que existem mais atributos e operações do que os mostrados termine cada lista com reticências (…).
*
*
Classes - Técnicas de Modelagem
Identifique os itens que os usuários ou os implementadores usam para descrever o problema ou a solução.
Utilize a análise baseada em casos de uso para ajudar a descobrir as classes possíveis.
Forneça os atributos e métodos necessários para a execução correta da responsabilidade de cada classe.
*
*
Classes - Técnicas de Modelagem
Exemplo: conjunto de classes modeladas para um sistema de vendas de varejo.
*
*
Classes - Técnicas de Modelagem
Para modelos grandes, muitas das classes podem ser agrupadas de forma conceitualmente e semanticamente relacionadas.
Na UML podemos utilizar os pacotes para fazer a modelagem desses agrupamentos.
*
*
Exercícios
Modelar as classes para um sistema de gerenciamento de contas bancárias (pelo menos 3 classes).
Modelar as Classes para um sistema de locadora (pelo menos 4 classes).
*
*
Contato
valentino.junior@gmail.com	
Obrigado pela 
atenção de todos(as).
@
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando